diff --git a/Toxic Comments LSTM GloVe.ipynb b/Toxic Comments LSTM GloVe.ipynb
new file mode 100644
index 0000000..17f13bc
--- /dev/null
+++ b/Toxic Comments LSTM GloVe.ipynb
@@ -0,0 +1,693 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "Using TensorFlow backend.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import re\n",
+ "from tqdm import tqdm_notebook\n",
+ "\n",
+ "from nltk.corpus import stopwords\n",
+ "\n",
+ "from tensorflow.keras import regularizers, initializers, optimizers, callbacks\n",
+ "from tensorflow.keras.preprocessing.sequence import pad_sequences\n",
+ "from tensorflow.keras.preprocessing.text import Tokenizer\n",
+ "from keras.utils.np_utils import to_categorical\n",
+ "from tensorflow.keras.layers import *\n",
+ "from tensorflow.keras.models import Model"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "MAX_NB_WORDS = 100000 # max no. of words for tokenizer\n",
+ "MAX_SEQUENCE_LENGTH = 200 # max length of each entry (sentence), including padding\n",
+ "VALIDATION_SPLIT = 0.2 # data for validation (not used in training)\n",
+ "EMBEDDING_DIM = 100 # embedding dimensions for word vectors (word2vec/GloVe)\n",
+ "GLOVE_DIR = \"glove/glove.6B.\"+str(EMBEDDING_DIM)+\"d.txt\""
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "train = pd.read_csv('data/toxic_train.csv')\n",
+ "test = pd.read_csv('data/toxic_test.csv')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " id | \n",
+ " comment_text | \n",
+ " toxic | \n",
+ " severe_toxic | \n",
+ " obscene | \n",
+ " threat | \n",
+ " insult | \n",
+ " identity_hate | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 | \n",
+ " 0000997932d777bf | \n",
+ " Explanation\\nWhy the edits made under my usern... | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 1 | \n",
+ " 000103f0d9cfb60f | \n",
+ " D'aww! He matches this background colour I'm s... | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 2 | \n",
+ " 000113f07ec002fd | \n",
+ " Hey man, I'm really not trying to edit war. It... | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 3 | \n",
+ " 0001b41b1c6bb37e | \n",
+ " \"\\nMore\\nI can't make any real suggestions on ... | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 4 | \n",
+ " 0001d958c54c6e35 | \n",
+ " You, sir, are my hero. Any chance you remember... | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " id comment_text toxic \\\n",
+ "0 0000997932d777bf Explanation\\nWhy the edits made under my usern... 0 \n",
+ "1 000103f0d9cfb60f D'aww! He matches this background colour I'm s... 0 \n",
+ "2 000113f07ec002fd Hey man, I'm really not trying to edit war. It... 0 \n",
+ "3 0001b41b1c6bb37e \"\\nMore\\nI can't make any real suggestions on ... 0 \n",
+ "4 0001d958c54c6e35 You, sir, are my hero. Any chance you remember... 0 \n",
+ "\n",
+ " severe_toxic obscene threat insult identity_hate \n",
+ "0 0 0 0 0 0 \n",
+ "1 0 0 0 0 0 \n",
+ "2 0 0 0 0 0 \n",
+ "3 0 0 0 0 0 \n",
+ "4 0 0 0 0 0 "
+ ]
+ },
+ "execution_count": 4,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "train.head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "id 0\n",
+ "comment_text 0\n",
+ "toxic 0\n",
+ "severe_toxic 0\n",
+ "obscene 0\n",
+ "threat 0\n",
+ "insult 0\n",
+ "identity_hate 0\n",
+ "dtype: int64"
+ ]
+ },
+ "execution_count": 5,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "train.isnull().sum()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "id 0\n",
+ "comment_text 0\n",
+ "dtype: int64"
+ ]
+ },
+ "execution_count": 6,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "test.isnull().sum()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "labels = ['toxic', 'severe_toxic', 'obscene', 'threat', 'insult', 'identity_hate']\n",
+ "y = train[labels].values\n",
+ "comments_train = train['comment_text']\n",
+ "comments_test = test['comment_text']"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "comments_train = list(comments_train)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def clean_text(text, remove_stopwords = True):\n",
+ " output = \"\"\n",
+ " text = str(text).replace(\"\\n\", \"\")\n",
+ " text = re.sub(r'[^\\w\\s]','',text).lower()\n",
+ " if remove_stopwords:\n",
+ " text = text.split(\" \")\n",
+ " for word in text:\n",
+ " if word not in stopwords.words(\"english\"):\n",
+ " output = output + \" \" + word\n",
+ " else:\n",
+ " output = text\n",
+ " return str(output.strip())[1:-3].replace(\" \", \" \")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "application/vnd.jupyter.widget-view+json": {
+ "model_id": "fb26a74c31cf451dac8bbe6515492e2d",
+ "version_major": 2,
+ "version_minor": 0
+ },
+ "text/plain": [
+ "HBox(children=(IntProgress(value=0, max=159571), HTML(value='')))"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "texts = [] \n",
+ "\n",
+ "for line in tqdm_notebook(comments_train, total=159571): \n",
+ " texts.append(clean_text(line))"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Sample data: aww matches background colour im seemingly stuck thanks talk 2151 january 11 2016 [0 0 0 0 0 0]\n"
+ ]
+ }
+ ],
+ "source": [
+ "print('Sample data:', texts[1], y[1])"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "tokenizer = Tokenizer(num_words=MAX_NB_WORDS)\n",
+ "tokenizer.fit_on_texts(texts)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Vocabulary size: 324669\n"
+ ]
+ }
+ ],
+ "source": [
+ "sequences = tokenizer.texts_to_sequences(texts)\n",
+ "word_index = tokenizer.word_index\n",
+ "print('Vocabulary size:', len(word_index))"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Shape of data tensor: (159571, 200)\n",
+ "Shape of label tensor: (159571, 6)\n"
+ ]
+ }
+ ],
+ "source": [
+ "data = pad_sequences(sequences, padding = 'post', maxlen = MAX_SEQUENCE_LENGTH)\n",
+ "\n",
+ "print('Shape of data tensor:', data.shape)\n",
+ "print('Shape of label tensor:', y.shape)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "indices = np.arange(data.shape[0])\n",
+ "np.random.shuffle(indices)\n",
+ "data = data[indices]\n",
+ "labels = y[indices]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "num_validation_samples = int(VALIDATION_SPLIT*data.shape[0])\n",
+ "x_train = data[: -num_validation_samples]\n",
+ "y_train = labels[: -num_validation_samples]\n",
+ "x_val = data[-num_validation_samples: ]\n",
+ "y_val = labels[-num_validation_samples: ]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Number of entries in each category:\n",
+ "training: [12259 1274 6777 389 6288 1136]\n",
+ "validation: [3035 321 1672 89 1589 269]\n"
+ ]
+ }
+ ],
+ "source": [
+ "print('Number of entries in each category:')\n",
+ "print('training: ', y_train.sum(axis=0))\n",
+ "print('validation: ', y_val.sum(axis=0))"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 18,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Tokenized sentences: \n",
+ " [ 870 136 3 136 3 119 613 242 27 442 34 1281\n",
+ " 19 406 59 10384 164 103 121 98 9 2 16 358\n",
+ " 42 98 118 32 1006 42 2 2081 42 5177 736 2266\n",
+ " 1873 242 1040 31 193 810 1469 1763 2540 35 42 164\n",
+ " 1068 98 164 4782 1161 166 300 5765 3933 300 485 743\n",
+ " 3053 300 5821 4058 7204 375 300 239 302 42 553 3\n",
+ " 1068 42 395 2409 300 5568 1937 1204 2603 8 348 732\n",
+ " 9 33 343 644 605 1184 1876 527 317 4707 2174 1729\n",
+ " 2073 300 171 45 3314 11 4 6 679 193 32 127\n",
+ " 2357 486 24 1380 0 0 0 0 0 0 0 0\n",
+ " 0 0 0 0 0 0 0 0 0 0 0 0\n",
+ " 0 0 0 0 0 0 0 0 0 0 0 0\n",
+ " 0 0 0 0 0 0 0 0 0 0 0 0\n",
+ " 0 0 0 0 0 0 0 0 0 0 0 0\n",
+ " 0 0 0 0 0 0 0 0 0 0 0 0\n",
+ " 0 0 0 0 0 0 0 0 0 0 0 0\n",
+ " 0 0 0 0 0 0 0 0]\n",
+ "One hot label: \n",
+ " [0 0 0 0 0 0]\n"
+ ]
+ }
+ ],
+ "source": [
+ "print('Tokenized sentences: \\n', data[10])\n",
+ "print('One hot label: \\n', labels[10])"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Loading GloVe from: glove/glove.6B.100d.txt ...Done.\n",
+ " Proceeding with Embedding Matrix... Completed!\n"
+ ]
+ }
+ ],
+ "source": [
+ "embeddings_index = {}\n",
+ "f = open(GLOVE_DIR)\n",
+ "print('Loading GloVe from:', GLOVE_DIR,'...', end='')\n",
+ "for line in f:\n",
+ " values = line.split()\n",
+ " word = values[0]\n",
+ " embeddings_index[word] = np.asarray(values[1:], dtype='float32')\n",
+ "f.close()\n",
+ "print(\"Done.\\n Proceeding with Embedding Matrix...\", end=\"\")\n",
+ "\n",
+ "embedding_matrix = np.random.random((len(word_index) + 1, EMBEDDING_DIM))\n",
+ "for word, i in word_index.items():\n",
+ " embedding_vector = embeddings_index.get(word)\n",
+ " if embedding_vector is not None:\n",
+ " embedding_matrix[i] = embedding_vector\n",
+ "print(\" Completed!\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 20,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "sequence_input = Input(shape=(MAX_SEQUENCE_LENGTH,), dtype='int32')\n",
+ "embedding_layer = Embedding(len(word_index) + 1,\n",
+ " EMBEDDING_DIM,\n",
+ " weights = [embedding_matrix],\n",
+ " input_length = MAX_SEQUENCE_LENGTH,\n",
+ " trainable=False,\n",
+ " name = 'embeddings')\n",
+ "embedded_sequences = embedding_layer(sequence_input)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 21,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "x = LSTM(60, return_sequences=True,name='lstm_layer')(embedded_sequences)\n",
+ "x = GlobalMaxPool1D()(x)\n",
+ "x = Dropout(0.1)(x)\n",
+ "x = Dense(50, activation=\"relu\")(x)\n",
+ "x = Dropout(0.1)(x)\n",
+ "preds = Dense(6, activation=\"sigmoid\")(x)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 22,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Model: \"model\"\n",
+ "_________________________________________________________________\n",
+ "Layer (type) Output Shape Param # \n",
+ "=================================================================\n",
+ "input_1 (InputLayer) [(None, 200)] 0 \n",
+ "_________________________________________________________________\n",
+ "embeddings (Embedding) (None, 200, 100) 32467000 \n",
+ "_________________________________________________________________\n",
+ "lstm_layer (UnifiedLSTM) (None, 200, 60) 38640 \n",
+ "_________________________________________________________________\n",
+ "global_max_pooling1d (Global (None, 60) 0 \n",
+ "_________________________________________________________________\n",
+ "dropout (Dropout) (None, 60) 0 \n",
+ "_________________________________________________________________\n",
+ "dense (Dense) (None, 50) 3050 \n",
+ "_________________________________________________________________\n",
+ "dropout_1 (Dropout) (None, 50) 0 \n",
+ "_________________________________________________________________\n",
+ "dense_1 (Dense) (None, 6) 306 \n",
+ "=================================================================\n",
+ "Total params: 32,508,996\n",
+ "Trainable params: 41,996\n",
+ "Non-trainable params: 32,467,000\n",
+ "_________________________________________________________________\n"
+ ]
+ }
+ ],
+ "source": [
+ "model = Model(sequence_input, preds)\n",
+ "model.compile(loss = 'binary_crossentropy',\n",
+ " optimizer='adam',\n",
+ " metrics = ['accuracy'])\n",
+ "model.summary()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 23,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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P/8kImtr68OHD1+9epWIXF1d33vvvdLS0t9++42IRo8erZ2/udVVVlYOHDjQzc2ttrY2JCTk+vXr+terVqsTExO7d+9ORAsXLkxNTd27dy/7M3769Gk9e0P/jmqw1br3zDk5OexxH2vXrr1z585XX31FRL6+voYcpib3Z319va+v75w5c9hgZmamXC7XnhIHDx40Nzc/dOhQk5uvVCp79uzZYOTZs2c3/098fHxlZaXYsWcIK37z5s1EtGnTJjby66+/3rx5s9jUnVfbTgYi8vT0VKvVRUVF33//vYuLS48ePTIyMozioOsZKYqio6OjnZ1d4/GNUbv0uYSEhJiYmNTV1Yn/u7308/NrXOWbb75JRHfv3tVO+uKLL4ho2bJl4v+Oq/b+nF21RkVFiaK4ZcuWffv2iaKo0Wg8PDwUCkXjxg3ZVO2cffv21d2u3r17674N9KzuwoULcrl8+PDhO3fuNGSloih6enoSEXsXiaIYHx9PRFOnTtWzN/TvqMZbrTvo5eWlu2kODg6mpqbstf7D1GTL27ZtI6L09PQGm6MdrK+vb27De/bs2adPn8bjL1y4QETdunUrKChosNIOOENY8SUlJZaWlkqlUqVSiaIYFBRUXFwsNhUubTsZtH+qzczM+vXrN3v2bJY+RnHQ9YwURVGpVDo5OTUe31jjcGnLbVFgYKBGo2GXwWZmZkQ0duzYxrOxj/p078ADAgKI6MyZM9ox2qmTJk0iInaVsWTJkgkTJvzzn/9cu3ZtbW2tSqVqQ5G6GvQC2Nra6l5/6lndk08++cYbb5w7d+7xxx83cF0mJiZExD6GIKKQkBAiunHjhp69YciOak6DK14bG5va2lr22sDDpItdALu6ujbYHC2ZTNbcsgMGDLh3717jb6awXefq6mpvb99gUoedIdbW1i+99FJ2dva33377n//8x93d3cbGpsk523wysHdmdXX1nTt3Pv300/79++vfwM5z0PVQqVT5+flDhgxp2+JtCZdXX331s88+e+WVV/72t7/FxsauXr169erVTTRtYkJEt2/f1o5xcHAgImtr68Yzs0n9+vUjovPnz/v4+Li7u69atYpdAXKlZ3WiKGZmZiqVylmzZtXV1bWhcScnJyJSKpV69kardpThDDxMulgfZFFRURtWN2bMGPpfPOliW9cgpHQndcwZsmjRIhMTkw8++GDb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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 23,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "tf.keras.utils.plot_model(model)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 23,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Training progress:\n",
+ "Train on 127657 samples, validate on 31914 samples\n",
+ "Epoch 1/2\n",
+ "127657/127657 [==============================] - 537s 4ms/sample - loss: 0.1277 - accuracy: 0.9650 - val_loss: 0.1040 - val_accuracy: 0.9699\n",
+ "Epoch 2/2\n",
+ "127657/127657 [==============================] - 533s 4ms/sample - loss: 0.0967 - accuracy: 0.9720 - val_loss: 0.0890 - val_accuracy: 0.9734\n"
+ ]
+ }
+ ],
+ "source": [
+ "print('Training progress:')\n",
+ "history = model.fit(x_train, y_train, epochs = 2, batch_size=32, validation_data=(x_val, y_val))"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 25,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAY4AAAEWCAYAAABxMXBSAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+17YcXAAAgAElEQVR4nOzdd3wVddbH8c9JI0AgCSG0BEjovYYmHZFFXUVcVJoIq2Lv7LOu21x2fR51EVHEwrrAqii6sqxYECyUIDUgHUMoAUKvoQZyk/P8MRMSYoAEcnNTzvv1mpe5M3Pnnkkk38z8Zs6IqmKMMcbkl5+vCzDGGFOyWHAYY4wpEAsOY4wxBWLBYYwxpkAsOIwxxhSIBYcxxpgCseAwPici/iJySkTqFOa6viQiDUSk0K91F5G+IpKc43WiiHTPz7pX8VnvishzV/v+y2z3byIyrbC3a4pOgK8LMCWPiJzK8bICcA7IcF8/oKrTC7I9Vc0AQgp73bJAVRsXxnZE5D5guKr2yrHt+wpj26b0seAwBaaqF35xu3/R3qeq315qfREJUFVPUdRmjPE+O1VlCp17KuJjEflIRE4Cw0Wki4gsE5HjIrJPRF4XkUB3/QARURGJcV9/4C6fIyInRWSpiMQWdF13+Y0iskVEUkVkooj8ICIjL1F3fmp8QES2isgxEXk9x3v9ReRVETkiItuB/pf5/vxeRGbkmjdJRMa7X98nIpvd/dnmHg1calspItLL/bqCiLzv1rYRaJ9r3T+IyHZ3uxtF5FZ3fkvgDaC7exrwcI7v7fM53v+gu+9HROS/IlIzP9+bKxGRgW49x0XkexFpnGPZcyKyV0ROiMhPOfa1s4isducfEJG/5/fzTCFQVZtsuuoJSAb65pr3N+A8cAvOHyflgQ5AJ5yj3HrAFuBRd/0AQIEY9/UHwGEgDggEPgY+uIp1qwEngQHusqeBdGDkJfYlPzV+BoQCMcDRrH0HHgU2AtFABLDI+eeV5+fUA04BFXNs+yAQ576+xV1HgD7AWaCVu6wvkJxjWylAL/frccACIByoC2zKte6dQE33ZzLUraG6u+w+YEGuOj8Anne/7ufW2AYIBt4Evs/P9yaP/f8bMM39uqlbRx/3Z/QckOh+3RzYCdRw140F6rlfrwSGuF9XAjr5+t9CWZrsiMN4y2JV/VxVM1X1rKquVNXlqupR1e3AZKDnZd7/qaomqGo6MB3nF1ZB1/0lsEZVP3OXvYoTMnnKZ43/p6qpqpqM80s667PuBF5V1RRVPQK8eJnP2Q5swAk0gBuAY6qa4C7/XFW3q+N74DsgzwHwXO4E/qaqx1R1J85RRM7P/URV97k/kw9xQj8uH9sFGAa8q6prVDUNeBboKSLROda51PfmcgYDs1X1e/dn9CJO+HQCPDgh1dw93bnD/d6B8wdAQxGJUNWTqro8n/thCoEFh/GW3TlfiEgTEflSRPaLyAlgLFD1Mu/fn+PrM1x+QPxS69bKWYeqKs5f6HnKZ435+iycv5Qv50NgiPv1UPd1Vh2/FJHlInJURI7j/LV/ue9VlpqXq0FERorIWveU0HGgST63C87+Xdieqp4AjgFROdYpyM/sUtvNxPkZRalqIvAMzs/hoHvqs4a76iigGZAoIitE5KZ87ocpBBYcxltyX4r6Ds5f2Q1UtTLwJ5xTMd60D+fUEQAiIlz8iy63a6lxH1A7x+srXS78CdBXRKJwjjw+dGssD3wK/B/OaaQwYF4+69h/qRpEpB7wFvAQEOFu96cc273SpcN7cU5/ZW2vEs4psT35qKsg2/XD+ZntAVDVD1S1K85pKn+c7wuqmqiqg3FOR74CzBSR4GusxeSTBYcpKpWAVOC0iDQFHiiCz/wCaCcit4hIAPAEEOmlGj8BnhSRKBGJAH57uZVVdT+wGJgGJKpqkruoHBAEHAIyROSXwPUFqOE5EQkT5z6XR3MsC8EJh0M4GXo/zhFHlgNAdNbFAHn4CLhXRFqJSDmcX+DxqnrJI7gC1HyriPRyP/s3OONSy0WkqYj0dj/vrDtl4uzA3SJS1T1CSXX3LfMaazH5ZMFhisozwD04vxTewRnE9ipVPQDcBYwHjgD1gR9x7jsp7BrfwhmLWI8zcPtpPt7zIc5g94XTVKp6HHgKmIUzwDwIJwDz4884Rz7JwBzgvRzbXQdMBFa46zQGco4LfAMkAQdEJOcpp6z3f41zymiW+/46OOMe10RVN+J8z9/CCbX+wK3ueEc54GWccan9OEc4v3ffehOwWZyr9sYBd6nq+Wutx+SPOKd9jSn9RMQf59TIIFWN93U9xpRUdsRhSjUR6e+euikH/BHnapwVPi7LmBLNgsOUdt2A7TinQX4BDFTVS52qMsbkg52qMsYYUyB2xGGMMaZAykSTw6pVq2pMTIyvyzDGmBJl1apVh1X1Z5ewl4ngiImJISEhwddlGGNMiSIieXZAsFNVxhhjCsSCwxhjTIFYcBhjjCmQMjHGYYwpWunp6aSkpJCWlubrUkw+BAcHEx0dTWDgpVqVXcyCwxhT6FJSUqhUqRIxMTE4TYlNcaWqHDlyhJSUFGJjY6/8BuxUlTHGC9LS0oiIiLDQKAFEhIiIiAIdHVpwGGO8wkKj5Cjoz8qC4zI+W7OHmatSyMi0tizGGJPFguMy/vvjHp7591p+MWERX63fR6YFiDElwpEjR2jTpg1t2rShRo0aREVFXXh9/nz+HtsxatQoEhMTL7vOpEmTmD59emGUTLdu3VizZk2hbMvbbHD8Mv55Twe+3rif8d9s4eHpq2kRVZln+jWmV6NIOww3phiLiIi48Ev4+eefJyQkhDFjxly0jqqiqvj55f3389SpU6/4OY888si1F1sC2RHHZfj5CTe1rMncJ3vwyh2tST2bzqipK7nj7aUs237E1+UZYwpo69atNGvWjGHDhtG8eXP27dvH6NGjiYuLo3nz5owdO/bCullHAB6Ph7CwMJ599llat25Nly5dOHjwIAB/+MMfmDBhwoX1n332WTp27Ejjxo1ZsmQJAKdPn+ZXv/oVzZo1Y9CgQcTFxV3xyOKDDz6gZcuWtGjRgueeew4Aj8fD3XfffWH+66+/DsCrr75Ks2bNaNWqFcOHDy/071le7IgjH/z9hF+1j+aW1rX4JGE3E79PYvDkZXRvWJUx/RrTunaYr0s0ptj6y+cb2bT3RKFus1mtyvz5luZX9d6ffvqJ9957j7i4OABefPFFqlSpgsfjoXfv3gwaNIhmzZpd9J7U1FR69uzJiy++yNNPP82UKVN49tlnf7ZtVWXFihXMnj2bsWPH8vXXXzNx4kRq1KjBzJkzWbt2Le3atbtsfSkpKfzhD38gISGB0NBQ+vbtyxdffEFkZCSHDx9m/fr1ABw/fhyAl19+mZ07dxIUFHRhnrfZEUcBBAX4MbxzXRb+pje/v6kpG/akMmDSD4x+L4HE/Sd9XZ4xJh/q169/ITQAPvroI9q1a0e7du3YvHkzmzZt+tl7ypcvz4033ghA+/btSU5OznPbt99++8/WWbx4MYMHDwagdevWNG9++cBbvnw5ffr0oWrVqgQGBjJ06FAWLVpEgwYNSExM5PHHH2fu3LmEhoYC0Lx5c4YPH8706dPzfQPftbIjjqsQHOjP/T3qMaRTHaYs3sE/Fm2n/2uLuLV1LZ7q24iYqhV9XaIxxcbVHhl4S8WK2f8+k5KSeO2111ixYgVhYWEMHz48z/sZgoKCLnzt7++Px+PJc9vlypW74jpXKyIignXr1jFnzhwmTZrEzJkzmTx5MnPnzmXhwoXMnj2b//3f/2XdunX4+/sX6mfnZkcc1yCkXACPX9+Q+N/25oEe9Zm7cT/Xj1/I7/6zjr3Hz/q6PGPMFZw4cYJKlSpRuXJl9u3bx9y5cwv9M7p27conn3wCwPr16/M8osmpU6dOzJ8/nyNHjuDxeJgxYwY9e/bk0KFDqCp33HEHY8eOZfXq1WRkZJCSkkKfPn14+eWXOXz4MGfOnCn0fcjNjjgKQViFIJ69sQm/7hbDm/O38eHyXcxctYdhnevwcK8GRFYq5+sSjTF5aNeuHc2aNaNJkybUrVuXrl27FvpnPPbYY4wYMYJmzZpdmLJOM+UlOjqav/71r/Tq1QtV5ZZbbuHmm29m9erV3HvvvagqIsJLL72Ex+Nh6NChnDx5kszMTMaMGUOlSpUKfR9yKxPPHI+Li9OifJBTyrEzvP5dEjNX7yHI349RXWN4oEd9QisUzflHY3xt8+bNNG3a1NdlFAsejwePx0NwcDBJSUn069ePpKQkAgKK19/tef3MRGSVqsblXrd4VV5KRIdX4OVBrXmwZ31e/TaJNxds4/1lO3mgRz1GdY2lYjn7thtTVpw6dYrrr78ej8eDqvLOO+8Uu9AoqJJdfTFXLzKEiUPa8nCv+rwybwvj5m1h6g/JPNSrPsM71yU40LsDWMYY3wsLC2PVqlW+LqNQeXVwXET6i0iiiGwVkZ9d9CwiPURktYh4RGRQjvltRGSpiGwUkXUicleOZdNEZIeIrHGnNt7ch8LQtGZl3r0njv88fB1Nalbib19uptffFzB9+U7SMzJ9XZ4xxhSI14JDRPyBScCNQDNgiIg0y7XaLmAk8GGu+WeAEaraHOgPTBCRnHfZ/UZV27hTyWjuArSrE870+zrz4f2dqBUWzO9nbeD6VxYy60drpGiMKTm8ecTREdiqqttV9TwwAxiQcwVVTVbVdUBmrvlbVDXJ/XovcBCI9GKtReq6+lWZ+dB1TBkZR8VyATz18Vr6T1jE1xv2URYuVjDGlGzeDI4oYHeO1ynuvAIRkY5AELAtx+wX3FNYr4pInte6ishoEUkQkYRDhw4V9GO9TkTo06Q6Xz7WjTeGtiVDlQc/WM2tb/zAgsSDFiDGmGKrWN8AKCI1gfeBUaqadVTyO6AJ0AGoAvw2r/eq6mRVjVPVuMjI4nuw4ucn/LJVLeY92YO/D2rF0dPnGTl1JXe9s4wVO476ujxjSqTevXv/7Ga+CRMm8NBDD132fSEhIQDs3buXQYMG5blOr169uNLl/RMmTLjoRrybbrqpUPpIPf/884wbN+6at3OtvBkce4DaOV5Hu/PyRUQqA18Cv1fVZVnzVXWfOs4BU3FOiZV4Af5+3BFXm+/H9GTsgObsOHKaO99ZyogpK1iXUjSNy4wpLYYMGcKMGTMumjdjxgyGDBmSr/fXqlWLTz/99Ko/P3dwfPXVV4SFlZ5mqN4MjpVAQxGJFZEgYDAwOz9vdNefBbynqp/mWlbT/a8AtwEbCrVqHysX4M+ILjEs+k1vfndjE9alHOfWN37ggfcT2HLAGikakx+DBg3iyy+/vPDQpuTkZPbu3Uv37t0v3FfRrl07WrZsyWefffaz9ycnJ9OiRQsAzp49y+DBg2natCkDBw7k7NnsdkIPPfTQhZbsf/7znwF4/fXX2bt3L71796Z3794AxMTEcPjwYQDGjx9PixYtaNGixYWW7MnJyTRt2pT777+f5s2b069fv4s+Jy9r1qyhc+fOtGrVioEDB3Ls2LELn5/VZj2rueLChQsvPMiqbdu2nDx5bb9LvHYfh6p6RORRYC7gD0xR1Y0iMhZIUNXZItIBJyDCgVtE5C/ulVR3Aj2ACBEZ6W5ypHsF1XQRiQQEWAM86K198KXyQf480LM+QzvV4Z+Ld/Bu/A7mbVrEbW2ieLJvQ+pGWCNFU0LMeRb2ry/cbdZoCTe+eMnFVapUoWPHjsyZM4cBAwYwY8YM7rzzTkSE4OBgZs2aReXKlTl8+DCdO3fm1ltvveTD2d566y0qVKjA5s2bWbdu3UVt0V944QWqVKlCRkYG119/PevWrePxxx9n/PjxzJ8/n6pVq160rVWrVjF16lSWL1+OqtKpUyd69uxJeHg4SUlJfPTRR/zjH//gzjvvZObMmZd9vsaIESOYOHEiPXv25E9/+hN/+ctfmDBhAi+++CI7duygXLlyF06PjRs3jkmTJtG1a1dOnTpFcHBwQb7bP+PVMQ5V/UpVG6lqfVV9wZ33J1Wd7X69UlWjVbWiqka4oYGqfqCqgTkuub1w2a2q9lHVlqraQlWHq+opb+6Dr1UKDuTJvo2I/5/ejO5Rjzkb9nH9Kwv53X/Wsy/VGikacyk5T1flPE2lqjz33HO0atWKvn37smfPHg4cOHDJ7SxatOjCL/BWrVrRqlWrC8s++eQT2rVrR9u2bdm4ceMVGxguXryYgQMHUrFiRUJCQrj99tuJj48HIDY2ljZtnNvSLte6HZzngxw/fpyePXsCcM8997Bo0aILNQ4bNowPPvjgwh3qXbt25emnn+b111/n+PHj13znut05XkKEVwzidzc25d6usbwxfysfrdjFzNUp3N25Lg/1qk/VEGukaIqpyxwZeNOAAQN46qmnWL16NWfOnKF9+/YATJ8+nUOHDrFq1SoCAwOJiYnJs5X6lezYsYNx48axcuVKwsPDGTly5FVtJ0tWS3Zw2rJf6VTVpXz55ZcsWrSIzz//nBdeeIH169fz7LPPcvPNN/PVV1/RtWtX5s6dS5MmTa661mJ9VZX5uWqVgxk7oAXfP9OLAa1rMfWHHfR4eT7j5iaSejbd1+UZU2yEhITQu3dvfv3rX180KJ6amkq1atUIDAxk/vz57Ny587Lb6dGjBx9+6NyjvGHDBtatWwc4LdkrVqxIaGgoBw4cYM6cORfeU6lSpTzHEbp3785///tfzpw5w+nTp5k1axbdu3cv8L6FhoYSHh5+4Wjl/fffp2fPnmRmZrJ792569+7NSy+9RGpqKqdOnWLbtm20bNmS3/72t3To0IGffvqpwJ+Zkx1xlFC1q1Tg73e05sFe9Xn1my28MX8r7y1N5oGe9Rl5XYw1UjQG53TVwIEDL7rCatiwYdxyyy20bNmSuLi4K/7l/dBDDzFq1CiaNm1K06ZNLxy5tG7dmrZt29KkSRNq1659UUv20aNH079/f2rVqsX8+fMvzG/Xrh0jR46kY0fnYtD77ruPtm3bXva01KX861//4sEHH+TMmTPUq1ePqVOnkpGRwfDhw0lNTUVVefzxxwkLC+OPf/wj8+fPx8/Pj+bNm194muHVsrbqpcTGvamMn7eF7346SNWQIB7u1YChnepYI0XjE9ZWveQpSFt1O1VVSjSvFco/R3Zg5kPX0ah6JcZ+sYne4xbw0Ypd1kjRGFOoLDhKmfZ1w/nw/s5Mv68T1SsH87v/rOeG8Qv5bM0eMq2RojGmEFhwlFJdG1Rl1sPX8e6IOIID/XlixhpufC2euRv3Wx8sUyTs/7OSo6A/KwuOUkxE6NusOl893p2JQ9qSnpHJA++v4rZJP7BoyyH7h228Jjg4mCNHjtj/YyWAqnLkyJEC3RRog+NliCcjk/+s3sNr3yWx5/hZOsVW4Te/aExcTBVfl2ZKmfT0dFJSUq7pvgZTdIKDg4mOjiYwMPCi+ZcaHLfgKIPOeTKYsWI3E7/fyuFT5+jVOJIx/RrTIirU16UZY4oRCw4Ljp85c97Dv5bs5O2F20g9m86NLWrw9A2NaFi9kq9LM8YUAxYcFhyXdCItnXfjd/DP+O2cTc/gtrZRPHl9I+pEVPB1acYYH7LgsOC4oqOnz/P2wm38a0kyGZnKXR1q81ifhtQIvbZOmsaYksmCw4Ij3w6cSGPi90nMWLEbfz9hRJe6PNSrAVUqBvm6NGNMEbLgsOAosN1HzzDh2yRm/ZhC+UB/7u0Wy3096lE5OPDKbzbGlHgWHBYcV23rwZOM/2YLX63fT2j5QB7oWY+R18VQIcgaKRpTmllwWHBcsw17UnllXiLzEw9RNaQcj/auz5BOdSgXYI0UjSmNfNLkUET6i0iiiGwVkWfzWN5DRFaLiEdEBuWY30ZElorIRhFZJyJ35VgWKyLL3W1+7D6f3BSBFlGhTB3VkU8f7EL9yIo8//km+oxbyMcrd+GxRorGlBleCw4R8QcmATcCzYAhItIs12q7gJHAh7nmnwFGuI+S7Q9MEJEwd9lLwKuq2gA4BtzrnT0wlxIXU4UZozvz/r0dqRoSxG9nrueGVxcxe+1ea6RoTBngzSOOjsBWVd2uqueBGcCAnCuoarKqrgMyc83foqpJ7td7gYNApDhPk+8DfOqu+i/gNi/ug7kEEaF7w0j++0hXJt/dniB/Px7/6Eduej2ebzYdsB5FxpRi3gyOKGB3jtcp7rwCEZGOQBCwDYgAjquq50rbFJHRIpIgIgmHDh0q6MeafBIR+jWvwZwnuvPa4Dac82Ry/3sJDHxzCT9sPezr8owxXlCsu+OKSE3gfWCUqhboJLqqTlbVOFWNi4yM9E6B5gI/P2FAmyi+eaoHL/2qJQdPpDHs3eUMmbyMVTuP+bo8Y0wh8mZw7AFq53gd7c7LFxGpDHwJ/F5Vl7mzjwBhIpJ1HWiBtmm8L8Dfj7s61GH+b3rx51uakXTwJL96awm/nraSjXtTfV2eMaYQeDM4VgIN3auggoDBwOz8vNFdfxbwnqpmjWegzonz+UDWFVj3AJ8VatWmUJQL8GdU11gW/U9v/qd/Y1btPMbNry/mkemr2XrwlK/LM8ZcA6/exyEiNwETAH9giqq+ICJjgQRVnS0iHXACIhxIA/aranMRGQ5MBTbm2NxIVV0jIvVwBtqrAD8Cw1X13OXqsPs4fC/1bDrvxm9nyuIdnE3PYGDbaJ7s25DaVayRojHFld0AaMFRLBw5dY63FmzjvWU7UVUGd6jDo30aUL2yNVI0prix4LDgKFb2pzqNFD9e6TRSvOe6GB7sWd8aKRpTjFhwWHAUS7uOnGHCt1uYtWYPFYMCnEaK3WOpZI0UjfE5Cw4LjmIt6YDTSHHOhv2EVQjkwZ71uadLDOWDrA+WMb5iwWHBUSKsT0ll3LxEFm45RGSlcjzauwGDO9a2RorG+IAFhwVHibIy+Sh/n5vIih1HiQorzxN9G3J72ygC/Iv1PavGlCo+6Y5rzNXqEFOFj0d35r1fdyQiJIj/+XQd/SYs4nNrpGiMz1lwmGJLROjRKJLPHunK28PbE+AnPPbRj9w8cTHfbbZGisb4igWHKfZEhP4tajDniR5MuKsNZ857uPdfCdz+1hKWWCNFY4qcBYcpMfz9hNvaRvHt0z35v9tbsj81jaHvLmfoP5axepc1UjSmqNjguCmx0tIzmL58F2/O38qR0+fp27QaT9/QmGa1Kvu6NGNKBbuqyoKj1Dp9zsO0Jcm8s3AbJ9I8/LJVTZ66oRH1I0N8XZoxJZoFhwVHqZd6Jp3J8duY+kMyaekZ/KpdNE/0bUh0uDVSNOZqWHBYcJQZh0+d48352/hgudNIcWjHOjzSpwHVKlkjRWMKwoLDgqPM2Xv8LBO/38onCbsJ9HcbKfaoT7g1UjQmXyw4LDjKrOTDp5nw7RY+W7uXkKAA7utej193i7FGisZcgQWHBUeZl7j/JOO/SWTuxgOEVwjkoV71GdElhuBA64NlTF580nJERPqLSKKIbBWRZ/NY3kNEVouIR0QG5Vr2tYgcF5Evcs2fJiI7RGSNO7Xx5j6Y0qNxjUq8c3ccnz3SlRZRofzvVz/R4+X5vL9sJ+c9mb4uz5gSw2vBISL+wCTgRqAZMEREmuVabRcwEvgwj038Hbj7Epv/jaq2cac1hVSyKSNa1w7j/Xs78fHoztSNqMAf/7uBPq8s4NNVKWRYHyxjrsibRxwdga2qul1Vz+M8J3xAzhVUNVlV1wE/+3NPVb8DTnqxPlPGdaoXwScPdGHaqA6EVwhizL/X0u/VhXy5bp81UjTmMrwZHFHA7hyvU9x5heEFEVknIq+KSLm8VhCR0SKSICIJhw4dKqSPNaWNiNCrcTVmP9qVt4e3w0+ERz5czS1vLGb+TwetkaIxeSiJvap+BzQBOgBVgN/mtZKqTlbVOFWNi4yMLMr6TAnkNFKsyddP9mD8na05meZh1LSVDHp7KUu3HfF1ecYUK94Mjj1A7Ryvo91510RV96njHDAV55SYMYXC30+4vV003z3TkxcGtmDPsbMM+ccyhr+7nDW7j/u6PGOKBW8Gx0qgoYjEikgQMBiYfa0bFZGa7n8FuA3YcK3bNCa3QH8/hnWqy4Lf9OIPNzdl074T3DbpB+5/L4Gf9p/wdXnG+JRX7+MQkZuACYA/MEVVXxCRsUCCqs4WkQ7ALCAcSAP2q2pz973xOKekQoAjwL2qOldEvgciAQHWAA+q6qnL1WH3cZhrdeqch6mLdzA5fjunznm4pVUtnrqhEbFVK/q6NGO8xm4AtOAwheD4mfNMXrSdqT8kcz4jkzvaR/PY9Q2JCivv69KMKXQWHBYcphAdOnmOSfO38uHyXQAM7VSHR3o3ILJSnhf5GVMiWXBYcBgv2HP8LBO/S+Lfq1II8vdjZNcYHuhRj7AK1kjRlHwWHBYcxot2uI0UZ6/dS0i5AEZ3r8eobrGElAvwdWnGXDULDgsOUwR+2n+CV+Zt4ZtNB6hSMYiHe9VneOe61kjRlEgWHBYcpgit2X2cV+YlEp90mBqVg3m0TwPujKtNUEBJvOfWlFUWHBYcxgeWbjvCuHmJrNp5jNpVyvPk9Y24rW0U/n7i69KMuSKftFU3pqzrUj+CTx/swtSRHagcHMgz/15L/wmLmLN+n/XBMiWWBYcxXiYi9G5Sjc8f7cabw9qRqcpD091GionWSNGUPBYcxhQRPz/hppY1mfdUT8bd0ZrjZ9IZNXUld76zlOXbrZGiKTlsjMMYHznvyeTjhN1M/C6JgyfP0b1hVcb0a0zr2mG+Ls0YwAbHLThMsZWWnsH7S3fy5oKtHDuTTr9m1XmmX2Ma16jk69JMGWfBYcFhirmTaelMWZzMu/HbOXXew4DWtXiybyNirJGi8RELDgsOU0IcO32edxZtZ9qSHaRnKHfGRfNYn4bUskaKpohZcFhwmBLm4Ik0p5Hiil2ICMM71eXh3vWpGmKNFE3RsOCw4DAlVMqxM7z+XRKfrkohONCfUV1jGN29PqEVAn1dminlLDgsOEwJt/3QKV79NonP1+6lcnAAo3vUY1TXWCpaI0XjJRYcFhymlNi8z2mk+O3mA0RUDOLh3g0Y1qmONVI0hc4nLUdEpL+IJIrIVhF5NtS5DRoAACAASURBVI/lPURktYh4RGRQrmVfi8hxEfki1/xYEVnubvNj93nmxpQZTWtW5t174vjPw9fRpGYl/vrFJnqPW8CHy3eRnpHp6/JMGeC14BARf2AScCPQDBgiIs1yrbYLGAl8mMcm/g7cncf8l4BXVbUBcAy4t7BqNqYkaVcnnOn3debD+ztRMzSY52atp+/4hfz3xz1kZJb+MwnGd7x5xNER2Kqq21X1PDADGJBzBVVNVtV1wM/+TFLV74CTOeeJiAB9gE/dWf8CbvNC7caUGNfVr8rMh65jysg4KgQF8OTHa7jxtUV8vWG/9cEyXpGv4BCR+iJSzv26l4g8LiJX6osQBezO8TrFnXctIoDjquq50jZFZLSIJIhIwqFDh67xY40p3kSEPk2q8+Vj3XhjaFs8mcqDH6xiwKQfWLjlkAWIKVT5PeKYCWSISANgMlCbvE8vFRuqOllV41Q1LjIy0tflGFMk/PyEX7aqxbwne/D3Qa04cuo890xZwV2Tl7Ey+aivyzOlRH6DI9P9K38gMFFVfwPUvMJ79uAETJZod961OAKEiUjW9YeFsU1jSp0Afz/uiKvN92N6MnZAc3YcPs0dby/lnikrWJ+S6uvyTAmX3+BIF5EhwD1A1lVOV7r7aCXQ0L0KKggYDMy+ujId6hxvzweyrsC6B/jsWrZpTGlWLsCfEV1iWPSb3vzuxiasTTnOLW8s5sH3V5F04OSVN2BMHvJ1H4d7NdSDwFJV/UhEYoE7VfWlK7zvJmAC4A9MUdUXRGQskKCqs0WkAzALCAfSgP2q2tx9bzzQBAjBOdK4V1Xnikg9nIH2KsCPwHBVPXe5Ouw+DmMcJ9PS+efiHbwbv4PT5z0MbBPFk30bUSeigq9LM8VQod0AKCLhQG33aqgSwYLDmIsdO32etxdu419Lk/FkKHd2qM3jfRpSIzTY16WZYuSagkNEFgC3AgHAKuAg8IOqPl3IdXqFBYcxeTt4Io035m/lI7eR4ojOdXmoV30irJGi4drvHA9V1RPA7cB7qtoJ6FuYBRpjil61ysGMHdCC75/pxa2tazHlhx30eHk+r8xLJPVsuq/LM8VUfoMjQERqAneSPThujCklalepwLg7WjPvqZ70alKNid9vpcfL85k0fytnznuuvAFTpuQ3OMYCc4FtqrrSHaBO8l5ZxhhfaFAthElD2/Hl492IqxvO3+cm0uPlBUz9YQfnPBm+Ls8UE9Yd1xhzSat2HmPc3ESWbj9CrdBgHr++IYPaRxPg79X+qKaYuKYxDhGJFpFZInLQnWaKSHThl2mMKU7a1w3no9GdmX5fJ6pVDubZ/ziNFD9bs4dMa6RYZuX3z4apODfv1XKnz915xpgyoGuDqsx6+DreHRFHcKA/T8xYw02vxzNvozVSLIvyeznuGlVtc6V5xZWdqjKm8GRmKl+s38er32xhx+HTtK4dxph+jejWoCpOA2tTWlzr5bhHRGS4iPi703Ccu7mNMWWMn59wa+tafPNUD17+VSsOnzzH3f9cwZB/LGPVTmukWBbk94ijLjAR6AIosAR4TFV3X/aNxYQdcRjjPec8GXy0fBdvzN/G4VPn6N04kmf6NaZFVKivSzPXqNCfOS4iT6rqhGuurAhYcBjjfWfOe/jXkp28vXAbqWfTuallDZ6+oRENqlXydWnmKnkjOHapap1rrqwIWHAYU3ROpKXzbvwO/hm/nbPpGdzWNoqn+jaidhVrpFjSeCM4dqtq7Suv6XsWHMYUvSOnzvH2wm28t3Qnmarc1aE2j/VpSPXK1kixpLAjDgsOY3ziwIk0Jn6fxIwVu/H3E0Z0qctDvRpQpWKQr0szV3BVwSEiJ3EGw3+2CCivqgF5LCt2LDiM8b3dR88w4dskZv2YQvlAf+7tXo/7usdSOfhKz4QzvlLoRxwliQWHMcXH1oMnGf/NFr5av5/Q8oE82LM+91xXlwpBJeLv0DLlWu/juNoP7S8iiSKyVUSezWN5DxFZLSIeERmUa9k9IpLkTvfkmL/A3eYad6rmzX0wxhSuBtUq8eaw9nzxWDfa1Qnjpa9/osfLC5hmjRRLDK8dcYiIP7AFuAFIwXkG+RBV3ZRjnRigMjAGmK2qn7rzqwAJQBzOqbJVQHtVPeY+VGqMqub7EMKOOIwpvhKSj/L3uYks33GUqLDyPHF9Q25vF2WNFIsBXxxxdAS2qup2VT2P85zwATlXUNVk9xG0mbne+wvgG1U9qqrHgG+A/l6s1RjjI3ExVZgxujPv39uRqiFB/M/MdfR7dRGz1+61RorFlDeDIwrIeWd5ijuvMN471T1N9Ue5RHMcERktIgkiknDo0KGC1G2MKWIiQveGkfz3ka5Mvrs9gf5+PP7Rj9z0ejzfbjpgjRSLmZJ4LDhMVVsC3d3p7rxWUtXJqhqnqnGRkZFFWqAx5uqICP2a12DOE915bXAb0tIzuO+9BAa+uYQfth72dXnG5c3g2APkvEEw2p13Te9V1az/ngQ+xDklZowpRfz8hAFtovjm6Z68eHtLDp5IY9i7yxkyeRmrdh7zdXllnjeDYyXQUERiRSQIGIzzTI/8mAv0E5FwEQkH+gFzRSRARKoCiEgg8EtggxdqN8YUA4H+fgzuWIfvx/Tiz7c0I+ngSX711hLunbaSjXtTfV1emeXV+zhE5CZgAuAPTFHVF0RkLJCgqrNFpAMwCwgH0oD9qtrcfe+vgefcTb2gqlNFpCKwCAh0t/kt8LSqXvYavqu+qmreH+H4Tojp7kyRjcGeN2CMz5w572HqD8m8s3AbJ9I83NyqJk/f0Ij6kSG+Lq1UshsAryY4vv0LrPsETqQ4rytWg5huEOsGSUQDCxJjfCD1bDrvxm/nn4t3kJaewe3tonni+obWSLGQWXBc7X0cqnAsGZLjYUe889+T+5xlITXcEOnmBEmVehYkxhShI6fO8daCbby3bCeqypCOdXi0dwOqWSPFQmHBUVg3AKrC0e2wYxEkL3aC5NQBZ1nlqOwQie0O4TGF85nGmMval3qWid9v5ZOVuwnwF+7pEsODPesTbo0Ur4kFh7fuHFeFw0lOgCTHO2Fy2r1vJLTOxae2wkpEF3pjSqydR07z2rdJzFqzh4pBAdzXPZZ7u8VSyRopXhULjqJqOaIKh35yAiTrqOSs+xzmsLpuiPRwAiU0v/dDGmMKYsuBk4yft4WvN+4nvILTSHFElxjKB/n7urQSxYLDV72qMjPh0Obs8ZHkxZB23FlWpV72FVux3aFSDd/UaEwptT4llXHzElm45RDVKpXj0T4NGNyhDkEBJfHe56JnwVFcmhxmZsKBDdmD7TuXwDn3evSIhhcPtodY419jCsOKHUcZNzeRFclHiQ53GikObGuNFK/EgqO4BEdumRmwf517RLLYCZLzJ51lkU2yQySmG1Ss6ttajSnBVJVFSYcZNzeR9XtSqRdZkadvaMRNLWri52dXQ+bFgqO4BkduGR7YtxaS3fGRnUsh/bSzrFqz7NNadbtChSq+rdWYEkhVmbvxAOO/SWTLgVM0q1mZMb9oRO/G1bhEz9Qyy4KjpARHbhnpsPfH7FNbu5aB5ywgUL1F9hVbdbtA+XBfV2tMiZGRqXy+di/jv9nCrqNnaFcnjDG/aMx19e3IPosFR0kNjtw852HvavfU1iLYvQI8aYBAzVbZg+11u0BwqK+rNabYS8/I5N8JKbz+XRL7T6TRtUEEY/o1pm0d+0PMgqO0BEdunnOQkpB9RJKyAjLOg/hBzTbufSQ9oE5nKFfJ19UaU2ylpWcwffku3py/lSOnz9O3aXWe6deIpjUr+7o0n7HgKK3BkVv6WUhZmT3YnrISMtNB/CGqXfZge53OEFTR19UaU+ycPudh2hKnkeLJcx5+2aoWT/VtSL0y2EjRgqOsBEdu58/A7uXZ95DsWQWZHvALgKj22YPttTtBYHlfV2tMsZF6Jp3J8duY+kMy5zyZDGoXzeN9GxIVVnb+nVhwlNXgyO3cKdi9zL2zPd4ZeNcM8A+CqLjswfboDhBojeKMOXzqHG/O38YHy3eCwtBOdXi4d32qVSr9/z4sOCw48pZ2wjki2bHIOSrZtxY0E/zLQe2O2UckUe0hoJyvqzXGZ/YedxspJuwmyN+Pe66L4cGe9QirUHobKVpwWHDkT1qqc+9IcrwTJvvXAwoB5Z0gyToiqdUOAkrvPxhjLiX58GkmfLuFz9buJSQogPt71OPX3WIJKRfg69IKnU+CQ0T6A6/hPK3vXVV9MdfyHjhPCGwFDFbVT3Msuwf4g/vyb6r6L3d+e2AaUB74CnhCr7ATFhzX4Owx5272rF5bB9wn9QZWcAbYY7o5TRtrtQF/60Bqyo7E/ScZ/00iczceoErFIB7qWZ+7u9QlOLD0NFIs8uAQEX9gC3ADkILzDPIhqropxzoxQGVgDDA7KzhEpAqQAMQBCqwC2qvqMRFZATwOLMcJjtdVdc7larHgKERnjmY/hyR5MRx0f5xBIW6QuKe2arQG/9L3F5gxua3dfZxx8xKJTzpM9crleLRPQ+6Kq10qGin6Iji6AM+r6i/c178DUNX/y2PdacAXOYJjCNBLVR9wX78DLHCn+araJK/1LsWCw4tOHYKdi7MH2w8nOvPLVYY6XbJPbdVoCX6l5y8xY3Jbvv0I4+YlsjL5GLWrlOeJ6xsxsG0U/iW4D9algsObfxJGAbtzvE4BOl3De6PcKSWP+cZXQiKh+UBnAjh5IPtoJDkekuY684NDnf5aWQ0bq7cAv5L/F5kxWTrVi+CTB7qwcMshxs1LZMy/1/L2wm08fUMj+jevUaoaKZbacwkiMhoYDVCnTh0fV1OGVKoOLQc5E8CJvZD8g9MeZUc8JH7lzC8fnh0ksd0hsqkFiSnxRIRejavRs1EkX2/YzyvfbOHh6atpXqsyY/o1plfjyFLRSNGbwbEHyPms1Gh3Xn7f2yvXexe486Pzs01VnQxMBudUVT4/1xS2yrWg1R3OBJCakn1aKzkefvrCmV8hIkcL+e4Q2RhKwT8wUzaJCDe2rEm/5jX4bM0eJnybxKhpK4mrG86YXzSmc70IX5d4Tbw5xhGAMzh+Pc4v95XAUFXdmMe607h4jKMKzoB4O3eV1TiD40fzGByfqKpfXa4WG+Moxo7tzD6ttSMeTrhnIitGZgdJbA+IaGBBYkqs9IxMPknYzevfJXHgxDm6N6zKmH6NaV07zNelXZavLse9CedyW39giqq+ICJjgQRVnS0iHYBZQDiQBuxX1ebue38NPOdu6gVVnerOjyP7ctw5wGN2OW4poQrHkrPHSHbEw8m9zrKQGm7DRveIpEo9CxJT4qSlZ/DBsp28uWAbR0+f54ZmTiPFJjWKZyNFuwHQgqPkUYWj29272t2jklMHnGWVamWHSEw3CI+xIDElxqlzHqYu3sHk+O2cOufh1ta1eKpvI2KqFq/GoxYcFhwlnyocTnKPSNyjktOHnGWhtbNDJLY7hNkFEab4O37mPO8s2s60H5I5n5HJHe2jefz6htQqJo0ULTgsOEofVTj0k3tayz0qOXvUWRZWN/uKrZjuEGpXbZvi6+DJNN6cv40Pl+8CnEaKj/RuQGQl3/aHs+Cw4Cj9MjPh0ObsK7aSF0PacWdZlXrZ7VFiukHlmr6t1Zg87Dl+lonfJfHvVSkE+fsxqmsMD/SoT2gF37TzseCw4Ch7MjOd3lpZV2ztXALnUp1lEQ0uPiIJqebbWo3JYcfh07z6zRY+X7eXkHIBjO5ej1E+aKRowWHBYTIzYP+67Kcj7lwC5086y6o2vniwvWJV39ZqDPDT/hO8Mm8L32w6QETFIB7qVZ/hnYuukaIFhwWHyS3D4zx/JGuwfedSSD/tLKvWLPuIpG5XqFDFt7WaMu3HXcd4Zd4WFm89TI3KwTx2fQPujKtNoL93uy1YcFhwmCvJSIe9a7Lbo+xeDulnAHF6a8W6RyN1r3NaphhTxJZucxoprtp5jDpVKvDUDQ25tbX3GilacFhwmILynIe9q91TW4tg9wrwpAECNVtlt0ep28Vp4mhMEVBVFiQe4u9zE9m07wQNq4XwTL9G/KJ5jULvg2XBYcFhrpXnHKQkZA+2p6yAjPMgflCzdXZ7lDqdoVwlX1drSrnMTGXOhv2M/yaRbYdO0zIqlGf6NaJno8JrpGjBYcFhClv6WUhZmT3YnrISMtNB/KFW2+zB9jqdIah43RFsSo+MTGXWj3uY8O0WUo6dpWNMFcb8ojEdY699XM6Cw4LDeNv5M864SNY9JHtWQaYH/AIgqn32FVu1O0FQBV9Xa0qZ855MPk7YzcTvkjh48hw9GkUypl8jWkVffSNFCw4LDlPUzp2C3cuyGzbu/RE0A/yDICoue7A9uiMEBvu6WlNKpKVn8P7Snby5YCvHzqQz6+HraFvn6i7msOCw4DC+lnbCOSLZscg5Ktm3FjQT/MtB7Y7ZbeSj4yDAt60mTMl3Mi2d2Wv3MrRjnase87DgsOAwxU1aqnPvSHK8Eyb71wMKAcFukPRwjkpqtYOAIF9Xa8ogCw4LDlPcnT3m3M2eNdh+YL0zP7CCMy4S290Jk1ptwN83vYtM2XKp4Ci1zxw3psQpHw5NbnYmgDNH3eeQuM8i+W6sMz8oxLlSK+s+kpqtwd/+KZuiY/+3GVNcVagCzW51JoBTh2Dn4uzB9m//7MwvVxnqdMl+FkmNVuBXNL2MTNnk1eAQkf7AaziPjn1XVV/Mtbwc8B7QHjgC3KWqySISBLwDxAGZwBOqusB9zwKgJnDW3Uw/VT3ozf0wplgIiYTmA50J4OQBJ0iy2sgnzXXmB4c6/bWyBturtwA/7/Y0MmWL14JDRPyBScANQAqwUkRmq+qmHKvdCxxT1QYiMhh4CbgLuB9AVVuKSDVgjoh0UNVM933DVNUGLUzZVqk6tPiVMwGc2AvJP2T32kr8ypkfHJYdIrHdIbKpBYm5Jt484ugIbFXV7QAiMgMYAOQMjgHA8+7XnwJviHPdWDPgewBVPSgix3GOPlZ4sV5jSrbKtaDVHc4EkJqSfVorOR5++sKZXyHCOSKJ7eGESWRje167KRBvBkcUsDvH6xSg06XWUVWPiKQCEcBa4FYR+QiojXMqqzbZwTFVRDKAmcDfNI9Lw0RkNDAaoE4de/60KYNCo6H1YGcCOLYze6B9Rzxsnu3MrxiZfUQS0x2qNrQgMZdVXAfHpwBNgQRgJ7AEyHCXDVPVPSJSCSc47sYZJ7mIqk4GJoNzOW5RFG1MsRZe15naDnOe134sObs9yo542DjLWS+kRvZAe0x357G7FiQmB28Gxx6co4Qs0e68vNZJEZEAIBQ44h5BPJW1kogsAbYAqOoe978nReRDnFNiPwsOY8xliECVWGdqN8IJkqPbs49GkuNhw6fOupVqZbdHiekO4TEWJGWcN4NjJdBQRGJxAmIwMDTXOrOBe4ClwCDge1VVEamAc3PiaRG5AfCo6iY3XMJU9bCIBAK/BL714j4YUzaIQER9Z2o/0gmSw0nZT0fc9j2s+9hZN7T2xYPtYXYquKzxWnC4YxaPAnNxLsedoqobRWQskKCqs4F/Au+LyFbgKE64AFQD5opIJk7o3O3OL+fOD3S3+S3wD2/tgzFllghENnKmDvc6QXIoMbs9ypa5sPYjZ92wutkhEtMdQqN8W7vxOms5YowpuMxMOLQ5+7RW8mJIO+4sC4/Nbo8S0w0q1/RtreaqWa8qCw5jvCczEw5syA6R5B/gXKqzLKJB9rNIYro795+YEsGCw4LDmKKTmQH712U3bNy5BM6fdJZVbXzxYHvFqr6t1VySBYcFhzG+k+Fxnj+SNdi+cymkn3aWVWuW4z6Sbk6PLlMsWHBYcBhTfGSkw9412e1Rdi+H9DPOsuotsgfb617ndA02PmHBYcFhTPHlOQ97V7unthbB7hXgSQMEarTMbo9St4vTxNEUCQsOCw5jSg7POUhJyB5s370CMs6B+DnPH8lqj1K3C5Sr5OtqSy0LDgsOY0qu9LOQsjK7PUrKSshMB/GHWm2zW6TU7gzlQnxdbalhwWHBYUzpcf6MMy6S1bRxzyrI9IBfAES1zx5sr90Jgir4utoSy4LDgsOY0uvcKTdI3F5be38EzQC/QIiOyx5sj+4AgeV9XW2JYcFhwWFM2XHuJOxa5rRHSY53LgXWTPAv54RHVnuU6DgIKOfraostCw4LDmPKrrRU596RrF5b+9cDCgHBULuj0x4ltjvUagcBQb6uttiw4LDgMMZkOXvMuZs96872A+ud+YEVnHGRrCOSWm3BP9C3tfrQpYKjuD7IyRhjvKd8ODS52ZkAzhx1B9rdwfbvxjrzg0KgTmd3sL2Hcymwv/3atO+AMcZUqALNbnUmgFOHYOfi7Mt/v33emR9Uybl3JGuwvUYr8PP3Wdm+YsFhjDG5hURC84HOBHDygBMkWW3kk+Y588uFOm1Rsk5tVW8Bfn6+q7uIWHAYY8yVVKoOLX7lTAAn9rmntRY5/90yx5kfHHZxw8ZqzUplkHg1OESkP/AaztP63lXVF3MtL4fzvPD2wBHgLlVNFpEg4B0gDsgEnlDVBe572gPTgPLAV+6y0j/Cb4wpPirXhFZ3OBNAakr2aa3kePjpC2d+hQio29XttdUNIpuUiue1ey04RMQfmATcAKQAK0VktqpuyrHavcAxVW0gIoOBl4C7gPsBVLWliFQD5ohIB1XNBN5yly/HCY7+wBxv7YcxxlxRaDS0HuxMAMd3ZYfIjnjYPNuZXzHSPSJxB9urNiyRQeLNI46OwFZV3Q4gIjOAAUDO4BgAPO9+/SnwhogI0Az4HkBVD4rIcSBORHYDlVV1mbvN94DbsOAwxhQnYXWg7TBnUoVjydkNG3fEw8ZZznoh1bNPbcX2gCr1SkSQeDM4ooDdOV6nAJ0utY6qekQkFYgA1gK3ishHQG2cU1m1cU5bpeTaZpRXqjfGmMIgAlVinandCCdIjm7PPhpJjocNM511K9XKbtgY0x3CY4plkBTXwfEpQFMgAdgJLAEyCrIBERkNjAaoU6dOYddnjDFXRwQi6jtT+5FOkBxOyn464vb5sP4TZ93K0dkhEtMNwuv6tPQs3gyOPThHCVmi3Xl5rZMiIgFAKHDEHex+KmslEVkCbAGOudu53DYBUNXJwGRw7hy/pj0xxhhvEYHIRs7U4V4nSA4lZrdH2TIX1n7krBtWxxkbyToqCY2+/La9xJvBsRJoKCKxOL/cBwNDc60zG7gHWAoMAr5XVRWRCjjtUE6LyA2AJ2tQXUROiEhnnMHxEcBEL+6DMcYULRGo1sSZOt4PmZlwaPPFV2yt+cBZNzzWDRH3CYmVaxZJiV4LDnfM4lFgLs7luFNUdaOIjAUSVHU28E/gfRHZChzFCReAasBcEcnECZ27c2z6YbIvx52DDYwbY0ozPz+o3tyZOj/oBMmBDdmD7Ztmw4/vO+tGNMhxH0l35/4TL7Amh8YYU5JlZsD+ddlXbO1cAudPOsuqNoI733eOXq6CNTk0xpjSyM99fG6ttnDdY5Dhgf1rszv/hhb+hacWHMYYU5r4u4/PjWoP3Z70ykeUviYqxhhjvMqCwxhjTIFYcBhjjCkQCw5jjDEFYsFhjDGmQCw4jDHGFIgFhzHGmAKx4DDGGFMgZaLliIgcwmnPfjWqAocLsZySwPa5bLB9Lv2udX/rqmpk7pllIjiuhYgk5NWrpTSzfS4bbJ9LP2/tr52qMsYYUyAWHMYYYwrEguPKJvu6AB+wfS4bbJ9LP6/sr41xGGOMKRA74jDGGFMgFhzGGGMKxIIDEJEpInJQRDZcYrmIyOsislVE1olIu6KusbDlY5+Hufu6XkSWiEjroq6xsF1pn3Os10FEPCIyqKhq85b87LOI9BKRNSKyUUQWFmV93pCP/7dDReRzEVnr7vOooq6xMIlIbRGZLyKb3P15Io91CvV3mAWHYxrQ/zLLbwQautNo4K0iqMnbpnH5fd4B9FTVlsBfKR2DitO4/D4jIv7AS8C8oiioCEzjMvssImHAm8CtqtocuKOI6vKmaVz+5/wIsElVWwO9gFdEJKgI6vIWD/CMqjYDOgOPiEizXOsU6u8wCw5AVRcBRy+zygDgPXUsA8JEpGbRVOcdV9pnVV2iqsfcl8uA6CIpzIvy8XMGeAyYCRz0fkXel499Hgr8R1V3ueuX+P3Oxz4rUElEBAhx1/UURW3eoKr7VHW1+/VJYDOQ+0Hjhfo7zIIjf6KA3Tlep/DzH0xpdi8wx9dFeJuIRAEDKR1HlPnVCAgXkQUiskpERvi6oCLwBtAU2AusB55Q1UzfllQ4RCQGaAssz7WoUH+HBVztG03ZICK9cYKjm69rKQITgN+qaqbzx2iZEAC0B64HygNLRWSZqm7xbVle9QtgDdAHqA98IyLxqnrCt2VdGxEJwTlaftLb+2LBkT97gNo5Xke780o1EWkFvAvcqKpHfF1PEYgDZrihURW4SUQ8qvpf35blVSnAEVU9DZwWkUVAa6A0B8co4EV1bmLbKiI7gCbACt+WdfVEJBAnNKar6n/yWKVQf4fZqar8mQ2McK9M6Aykquo+XxflTSJSB/gPcHcp/+vzAlWNVdUYVY0BPgUeLuWhAfAZ0E1EAkSkAtAJ5xx5abYL5wgLEakONAa2+7Sia+CO1fwT2Kyq4y+xWqH+DrMjDkBEPsK5uqKqiKQAfwYCAVT1beAr4CZgK3AG5y+WEi0f+/wnIAJ40/0L3FPSu4rmY59LnSvts6puFpGvgXVAJvCuql72cuXiLh8/578C00RkPSA4pydLcqv1rsDd/9/eHYTIHIZxHP/+bA5bSqKk0B7sVcjJ0dXRATm6cMBJuzk7OS574SBFuXEUISmKCytX7Y1ah1Vb2qTHYV7tkIn/tLObfD817TvPTm/zXuaZ9//O/3mAt0let9hFYDeM5jPMkiOSpE68VCVJ6sTEIUnqKYwwegAAAblJREFUxMQhSerExCFJ6sTEIUnqxMQhDSnJt1ZV9sdjehXnnvhTFV9pvXgfhzS8L1W1b73fhLTW3HFIqyzJfJLLrZfJyyR7WnwiyePWD+FRuzufJNuT3G39Id4kOdSmGktyvfVYeJBkvL3+XOu9MJfkzjotU/8xE4c0vPFfLlUd6/vf59bL5Cq94okAV4CbVbUXuA3MtPgM8LT1hzgAvGvxSWC29clYBI62+DSwv81zelSLkwbxznFpSEmWqmrTb+LzwOGqet+Kz32sqq1JPgE7qupri3+oqm1JFoCdVbXcN8cE8LCqJtvzKWBjVV1qJUKWgHvAvapaGvFSpZ+445BGowaMu1juG39j5UzyCDBLb3fyKolnlVpTJg5pNI71/X3Rxs+B4218EnjWxo+AM9BrXZtk86BJk2wAdlXVE2AK2Eyvi520ZvymIg1vvK8aKcD9qvrxk9wtSebo7RpOtNhZ4EaSC8ACKxVKzwPXkpyit7M4AwwqeT0G3GrJJcBMVS2u2oqkv+AZh7TK2hnHwX+8VLc0kJeqJEmduOOQJHXijkOS1ImJQ5LUiYlDktSJiUOS1ImJQ5LUyXeODORRNRKiwAAAAABJRU5ErkJggg==\n",
+ "text/plain": [
+ "