{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 31,
   "id": "6a39dac5",
   "metadata": {},
   "outputs": [],
   "source": [
    "import tensorflow as tf\n",
    "from tensorflow.keras.preprocessing.text import Tokenizer\n",
    "from tensorflow.keras.preprocessing.sequence import pad_sequences\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn.metrics import classification_report, confusion_matrix\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "import seaborn as sns\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "id": "bc7e5613",
   "metadata": {},
   "outputs": [],
   "source": [
    "data = {'review': ['This movie is amazing', 'I hate this movie', 'Best movie ever', 'Worst movie ever'],\n",
    "        'sentiment': ['Positive', 'Negative', 'Positive', 'Negative']}\n",
    "df = pd.DataFrame(data)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "id": "85d2d13c",
   "metadata": {},
   "outputs": [],
   "source": [
    "df['sentiment'] = df['sentiment'].map({'Negative': 0, 'Positive': 1})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "id": "0b94234b",
   "metadata": {},
   "outputs": [],
   "source": [
    "df = df.dropna(subset=['review', 'sentiment'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "id": "a0c526ff",
   "metadata": {
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "vocab_size = 10000  # Use the top 10,000 words\n",
    "max_length = 100  # Set maximum length for padding"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "id": "64d88919",
   "metadata": {},
   "outputs": [],
   "source": [
    "tokenizer = Tokenizer(num_words=vocab_size, oov_token=\"<OOV>\")\n",
    "tokenizer.fit_on_texts(df['review'].values)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "id": "489064ee",
   "metadata": {},
   "outputs": [],
   "source": [
    "sequences = tokenizer.texts_to_sequences(df['review'].values)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "id": "b0e5167e",
   "metadata": {},
   "outputs": [],
   "source": [
    "filtered = [(seq, label) for seq, label in zip(sequences, df['sentiment']) if len(seq) > 0]\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "id": "2e7d1d7f",
   "metadata": {},
   "outputs": [],
   "source": [
    "if len(filtered) == 0:\n",
    "    raise ValueError(\"All sequences are empty after tokenization. Check your input data or tokenizer settings.\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "id": "8a6d524c",
   "metadata": {},
   "outputs": [],
   "source": [
    "sequences, labels = zip(*filtered)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "id": "f5c75141",
   "metadata": {},
   "outputs": [],
   "source": [
    "max_length = int(np.mean([len(x) for x in sequences]).round())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "id": "491ce70f",
   "metadata": {},
   "outputs": [],
   "source": [
    "X = pad_sequences(sequences, maxlen=max_length)\n",
    "y = np.array(labels)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "id": "b6a75164",
   "metadata": {},
   "outputs": [],
   "source": [
    "x_train, x_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "id": "e79d488b",
   "metadata": {},
   "outputs": [],
   "source": [
    "model = tf.keras.Sequential([\n",
    "    tf.keras.layers.Embedding(vocab_size, 512, input_length=max_length),\n",
    "    tf.keras.layers.Flatten(),\n",
    "    tf.keras.layers.Dense(16, activation=tf.keras.activations.relu),\n",
    "    tf.keras.layers.Dense(1, activation='sigmoid')\n",
    "])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "id": "6167aea1",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Model: \"sequential_1\"\n",
      "_________________________________________________________________\n",
      " Layer (type)                Output Shape              Param #   \n",
      "=================================================================\n",
      " embedding_1 (Embedding)     (None, 4, 512)            5120000   \n",
      "                                                                 \n",
      " flatten_1 (Flatten)         (None, 2048)              0         \n",
      "                                                                 \n",
      " dense_2 (Dense)             (None, 16)                32784     \n",
      "                                                                 \n",
      " dense_3 (Dense)             (None, 1)                 17        \n",
      "                                                                 \n",
      "=================================================================\n",
      "Total params: 5152801 (19.66 MB)\n",
      "Trainable params: 5152801 (19.66 MB)\n",
      "Non-trainable params: 0 (0.00 Byte)\n",
      "_________________________________________________________________\n"
     ]
    }
   ],
   "source": [
    "model.summary()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "id": "dbf95343",
   "metadata": {},
   "outputs": [],
   "source": [
    "model.compile(optimizer=tf.keras.optimizers.Adam(learning_rate=0.0001), \n",
    "              loss='binary_crossentropy', \n",
    "              metrics=['accuracy'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "id": "8bfcc464",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 1/5\n",
      "1/1 [==============================] - 2s 2s/step - loss: 0.6982 - accuracy: 0.3333 - val_loss: 0.7117 - val_accuracy: 0.0000e+00\n",
      "Epoch 2/5\n",
      "1/1 [==============================] - 0s 97ms/step - loss: 0.6929 - accuracy: 0.6667 - val_loss: 0.7118 - val_accuracy: 0.0000e+00\n",
      "Epoch 3/5\n",
      "1/1 [==============================] - 0s 92ms/step - loss: 0.6881 - accuracy: 1.0000 - val_loss: 0.7118 - val_accuracy: 0.0000e+00\n",
      "Epoch 4/5\n",
      "1/1 [==============================] - 0s 99ms/step - loss: 0.6834 - accuracy: 1.0000 - val_loss: 0.7119 - val_accuracy: 0.0000e+00\n",
      "Epoch 5/5\n",
      "1/1 [==============================] - 0s 97ms/step - loss: 0.6789 - accuracy: 1.0000 - val_loss: 0.7119 - val_accuracy: 0.0000e+00\n"
     ]
    }
   ],
   "source": [
    "history = model.fit(x_train, y_train, batch_size=128, epochs=5, validation_data=(x_test, y_test))\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "id": "402d20a6",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1/1 [==============================] - 0s 55ms/step - loss: 0.7119 - accuracy: 0.0000e+00\n",
      "Test Loss and Accuracy: [0.7118937373161316, 0.0]\n"
     ]
    }
   ],
   "source": [
    "results = model.evaluate(x_test, y_test)\n",
    "print(\"Test Loss and Accuracy:\", results)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "id": "22c73c81",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0wAAAJbCAYAAADXORQgAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAABpB0lEQVR4nO3deVzVdd7//+dh30EUkeWAuO8bCO4tFmZlWiouZdlk820mmxqvZibHuiqnfs40czU111xamra7ZlqTK1YWZongVu4Gyg6CCoICAp/fH+hR8hwFRQ/L4367nZvwPp/ldZCEZ6/P+bxMhmEYAgAAAABcxsHeBQAAAABAQ0VgAgAAAAAbCEwAAAAAYAOBCQAAAABsIDABAAAAgA0EJgAAAACwgcAEAAAAADYQmAAAAADABgITAAAAANhAYAIA1Ml7770nk8mkpKQke5dSKwkJCYqLi1NISIhcXFzk6+urQYMGad68eSopKbF3eQCABo7ABABosl588UUNGzZMmZmZ+stf/qL4+HgtXbpUw4cP10svvaTnn3/e3iUCABo4J3sXAADAjbBixQrNnj1bjz32mBYsWCCTyWR5buTIkfrjH/+o77//vl7OdebMGXl4eNTLsQAADQsdJgDADbFlyxYNHz5c3t7e8vDw0KBBg7RmzZoa25w5c0bPPvusIiIi5ObmJn9/f0VFRWnJkiWWbVJSUjRx4kQFBwfL1dVVgYGBGj58uHbt2nXF88+ePVstWrTQv/71rxph6QJvb2/FxsZKko4ePSqTyaT33nvvsu1MJpNeeukly+cvvfSSTCaTduzYoXHjxqlFixZq37693njjDZlMJh05cuSyY/zpT3+Si4uL8vPzLWubNm3S8OHD5ePjIw8PDw0ePFhffvlljf2OHz+uX//61zKbzXJ1dVVAQIAGDx6sTZs2XfG1AwDqD4EJAFDvvvnmG91+++0qLCzUwoULtWTJEnl7e2vUqFFatmyZZbsZM2Zo3rx5+t3vfqf169frww8/1Pjx41VQUGDZ5u6771ZycrJee+01xcfHa968eerbt69OnTpl8/zZ2dn66aefFBsbe8M6Pw888IA6dOigFStW6K233tJDDz0kFxeXy0JXZWWlPvroI40aNUqtWrWSJH300UeKjY2Vj4+P3n//fS1fvlz+/v4aMWJEjdA0ZcoUrV69Wv/93/+tjRs36p133tEdd9xR4+sDALixuCQPAFDvnnvuObVo0UKbN2+Wl5eXJOnee+9Vnz599OyzzyouLk4mk0nfffedYmNj9fvf/96y7z333GP5uKCgQAcPHtQbb7yhhx56yLL+wAMPXPH8aWlpkqSIiIj6fFk1PPLII3r55ZdrrN177716//33NXv2bDk4VP8/yY0bNyorK0uPPvqopOqu2tNPP617771Xq1atsux79913q1+/fvrzn/+sbdu2SZK+++47TZs2TY8//rhlu9GjR9+w1wQAuBwdJgBAvSopKdG2bds0btw4S1iSJEdHR02ZMkUZGRk6ePCgJCk6Olrr1q3Tc889p82bN+vs2bM1juXv76/27dvr73//u15//XXt3LlTVVVVN/X12DJ27NjL1h599FFlZGTUuGTu3XffVZs2bTRy5EhJ0tatW3XixAk98sgjqqiosDyqqqp01113afv27Za790VHR+u9997TK6+8oh9++EHnzp27OS8OAGBBYAIA1KuTJ0/KMAwFBQVd9lxwcLAkWS4p+9e//qU//elPWr16tW677Tb5+/trzJgxOnz4sKTq9w99+eWXGjFihF577TX169dPAQEB+t3vfqfTp0/brCEsLEySlJqaWt8vz8La6xs5cqSCgoL07rvvSqr+Wnz++ed6+OGH5ejoKEnKzc2VJI0bN07Ozs41Hn/7299kGIZOnDghSVq2bJkeeeQRvfPOOxo4cKD8/f318MMPKycn54a9LgBATVySBwCoVy1atJCDg4Oys7Mvey4rK0uSLO/l8fT01Msvv6yXX35Zubm5lm7TqFGjdODAAUlSeHi4Fi5cKEk6dOiQli9frpdeeknl5eV66623rNYQFBSknj17auPGjbW6g52bm5skqaysrMb6ld4rZO1GEhe6aP/617906tQpLV68WGVlZZbL8S597f/7v/+rAQMGWD12YGCgZds33nhDb7zxhtLS0vT555/rueeeU15entavX3/F1wQAqB90mAAA9crT01MxMTH69NNPa1xiV1VVpY8++kihoaHq1KnTZfsFBgZq6tSpmjRpkg4ePKgzZ85ctk2nTp30/PPPq2fPntqxY8cV63jhhRd08uRJ/e53v5NhGJc9X1xcrI0bN1rO7ebmpj179tTY5rPPPqvVa77Uo48+qtLSUi1ZskTvvfeeBg4cqC5dulieHzx4sPz8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Y8eOSZJ2796t2267Td7e3vLx8VFkZKSSkpLqrTYAAAA0HF2DfPTfo7pp25/vUK9QX3uXUycEJlsMQyovsc+jlnd6Hz9+vPLz8/X1119b1k6ePKkNGzbowQcfVHFxse6++25t2rRJO3fu1IgRIzRq1CilpaVd95fnzJkzuuuuu9SiRQtt375dK1as0KZNmzR9+nRJUkVFhcaMGaNbbrlFe/bs0ffff69f//rXlrukPPjggwoNDdX27duVnJys5557Ts7OzWdiNAAAQHPk4uTQ6O6axyV5tpw7I/1/dmoX/jlLcvG86mb+/v666667tHjxYg0fPlyStGLFCvn7+2v48OFydHRU7969Ldu/8sorWrVqlT7//HNLsLlWH3/8sc6ePasPPvhAnp7Vtf773//WqFGj9Le//U3Ozs4qLCzUvffeq/bt20uSunbtatk/LS1Nf/jDH9SlSxdJUseOHa+rHgAAAOBGoMPUyD344INauXKlysrKJFUHmYkTJ8rR0VElJSX64x//qG7dusnPz09eXl46cOBAvXSY9u/fr969e1vCkiQNHjxYVVVVOnjwoPz9/TV16lRLV+vNN99Udna2ZdsZM2Zo2rRpuuOOO/TXv/5VP//883XXBAAAANQ3Oky2OHtUd3rsde5aGjVqlKqqqrRmzRr1799fCQkJev311yVJf/jDH7Rhwwb94x//UIcOHeTu7q5x48apvLz8uks0DMNmO/XC+rvvvqvf/e53Wr9+vZYtW6bnn39e8fHxGjBggF566SVNnjxZa9as0bp16/Tiiy9q6dKluv/++6+7NgAAAKC+EJhsMZlqdVmcvbm7u+uBBx7Qxx9/rCNHjqhTp06KjIyUJCUkJGjq1KmWEFJcXKyjR4/Wy3m7deum999/XyUlJZYu03fffScHBwd16tTJsl3fvn3Vt29fzZw5UwMHDtTixYs1YMAASVKnTp3UqVMn/f73v9ekSZP07rvvEpgAAADQoHBJXhPw4IMPas2aNVq0aJEeeughy3qHDh306aefateuXdq9e7cmT5582R31ruecbm5ueuSRR/TTTz/p66+/1lNPPaUpU6YoMDBQqampmjlzpr7//nsdO3ZMGzdu1KFDh9S1a1edPXtW06dP1+bNm3Xs2DF999132r59e433OAEAAAANAR2mJuD222+Xv7+/Dh48qMmTJ1vW//nPf+pX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",
      "text/plain": [
       "<Figure size 1000x700 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "pd.DataFrame(history.history)[['loss', 'val_loss']].plot(figsize=(10,7))\n",
    "plt.title(\"Loss Curves\")\n",
    "plt.xticks([0, 1, 2, 3, 4])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "id": "89105615",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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q2+++UZ79+5VQUGB3nnnHd19992qUaPGZberU6eOTp48qZycnFK+w8urWbPmBWNubm6Kjo7WRx99pDNnzkiSFixYoJo1a6pnz55F806cOKFPP/1U7u7uxW4tWrSQpKJCEx0drfj4eB06dEh33XWXqlevrqioKCUkJFyT9wQAVkDRAYAyLD4+XoZh6P3331flypWLbrfffrskaeHChbLb7ZKkatWq6ciRI5d9vpLM8fLykiTl5eUVG7/UXgSbzXbB2M8//6xt27bp1Vdf1SOPPKKuXbuqQ4cOqlKlSrF5QUFBcnV1vWImSRo8eLCqVKmit99+WytXrtTx48f18MMPX3G7nj17ym6369NPP73iXOn39//n9y459/4lafjw4crNzdW7776r06dPa9WqVRo6dGixc4yqVq2qHj16aNOmTRe9xcbGFnu+DRs2KDMzU6tXr5ZhGOrTp48OHTpUovcFABUNRQcAyii73a6FCxeqQYMG+u677y64Pf7440pNTdXnn38u6ffDpb777jvt3bv3ks/Zq1cv/fLLL/r2228vOeePlcW2b99ebHzVqlUlzv7Hl/8/L7M8Z86cYve9vb118803a+XKlVc8HMvLy0sPPvigFi5cqGnTpqlt27a68cYbr5glNjZWNWrU0IQJE3T06NGLzvnwww+L/rtevXr65ZdfipWdjIwMbdiw4Yqv9b+aNWumqKgozZ8/X8uWLVNeXp6GDx9ebE6fPn30888/q0GDBoqIiLjgFhIScsHz+vr6qlevXnr66aeVn5+vnTt3OpULACoKVl0DgDLq888/17Fjx/Tyyy9fdLnjli1basaMGYqLi1OfPn00ZcoUff7557rpppv01FNPqVWrVjpz5oy++OILjR8/Xk2bNtW4ceO0YsUK9evXT5MmTVJkZKTOnz+vtWvXqk+fPurWrZtq1KihW2+9VVOnTlXlypVVt25dffPNN8XKwJU0bdpUDRo00KRJk2QYhoKCgvTpp59e9FCrP1Zii4qK0qRJk9SwYUOdOHFCq1at0pw5c+Tv718096GHHtIrr7yipKQkzZs3r0RZAgMD9cknn6hPnz5q165dsQuG7tu3T0uWLNG2bdt05513Svr9MLE5c+ZoyJAheuCBB5SRkaFXXnnlgsPzSmLEiBEaNWqUjh07pk6dOqlJkybFHp8yZYoSEhLUqVMnjR07Vk2aNFFubq4OHjyoNWvWaPbs2apdu7YeeOABeXt768Ybb1TNmjV1/PhxTZ06VYGBgerQoYPTuQCgQjB3LQQAwKX079/f8PDwuOxqZIMGDTLc3NyM48ePG4ZhGIcPHzZGjBhh1KhRw3B3dzdCQkKMe++91zhx4kTRNqdPnzYeffRRo06dOoa7u7tRvXp14/bbbzf27NlTNCc1NdW4++67jaCgICMwMNAYMmSIsXnz5ouuuubr63vRbLt27TJuu+02w9/f36hcubJxzz33GCkpKYYk47nnnrtg7j333GNUqVLF8PDwMOrUqWPExMQYubm5Fzxv165djaCgIOPcuXMl+TEWOX78uDFx4kSjRYsWho+Pj+Hp6Wk0bNjQGDVqlLFjx45icxcuXGg0a9bM8PLyMpo3b26sWLHikquuvfrqq5d8zczMTMPb29uQZLzzzjsXnXPy5Elj7NixRlhYmOHu7m4EBQUZ4eHhxtNPP22cPXu2KE+3bt2M4OBgw8PDo+j/6/bt2536GQBARWIzDMMwt2oBAFAyaWlpqlu3rh555BG98sorZscBAJRhHLoGACjzjhw5ot9++02vvvqqXFxc9Oijj5odCQBQxrEYAQCgzJs3b566du2qnTt3aunSpapVq5bZkQAAZRyHrgEAAACwHPboAAAAALAcig4AAAAAy6HoAAAAALCccrHqmsPh0LFjx+Tv7190tW0AAAAAFY9hGMrOzlZISIhcXC6936ZcFJ1jx44pNDTU7BgAAAAAyojDhw+rdu3al3y8XBQdf39/Sb+/mYCAAJPTAAAAADBLVlaWQkNDizrCpZSLovPH4WoBAQEUHQAAAABXPKWFxQgAAAAAWA5FBwAAAIDlUHQAAAAAWE65OEenpOx2uwoKCsyOgTLMw8PjsssQAgAAwBosUXQMw9Dx48d15swZs6OgjHNxcVFYWJg8PDzMjgIAAIBryBJF54+SU716dfn4+HBRUVzUHxeeTU1NVZ06dficAAAAWFi5Lzp2u72o5FSpUsXsOCjjqlWrpmPHjqmwsFDu7u5mxwEAAMA1Uu5PVvjjnBwfHx+Tk6A8+OOQNbvdbnISAAAAXEvlvuj8gcOQUBJ8TgAAACoGyxQdAAAAAPgDRQcAAACA5VB0AAAAAFgORQdFuNgqAAAArIKiY6IvvvhCnTt3VqVKlVSlShX16dNH+/fvL3r8yJEjGjRokIKCguTr66uIiAht3Lix6PFVq1YpIiJCXl5eqlq1qu68886ix2w2mz7++ONir1epUiUtWLBAknTw4EHZbDa999576tq1q7y8vLRkyRJlZGTovvvuU+3ateXj46NWrVpp+fLlxZ7H4XDo5ZdfVsOGDeXp6ak6deroxRdflCTdcsstGjNmTLH5GRkZ8vT01Lfffns1fmwAAADAFZX76+j8mWEYOl9gztLB3u6uTq3qlZOTo/Hjx6tVq1bKycnRs88+qwEDBig5OVnnzp3TzTffrFq1amnVqlWqUaOGtmzZIofDIUlavXq17rzzTj399NNavHix8vPztXr1aqczT5w4Ua+//rrmz58vT09P5ebmKjw8XBMnTlRAQIBWr16t6Oho1a9fX1FRUZKkyZMn65133tEbb7yhzp07KzU1VXv27JEkjRw5UmPGjNHrr78uT09PSdLSpUsVEhKibt26OZ0PAAAAKA2bYRiG2SGuJCsrS4GBgcrMzFRAQECxx3Jzc3XgwAGFhYXJy8tL5/IL1fzZL03JuWtKT/l4lL47njx5UtWrV9eOHTu0YcMGPfHEEzp48KCCgoIumNupUyfVr19fS5Ysuehz2Ww2ffTRR+rfv3/RWKVKlfTmm28qJiZGBw8eVFhYmN588009+uijl811++23q1mzZnrttdeUnZ2tatWqacaMGRo5cuQFc/Py8hQSEqJZs2bp3nvvlSS1a9dO/fv313PPPefET+Pa+PPnBQAAAOXL5brB/+LQNRPt379fgwcPVv369RUQEKCwsDBJUkpKipKTk9WuXbuLlhxJSk5OVvfu3f9yhoiIiGL37Xa7XnzxRbVu3VpVqlSRn5+fvvrqK6WkpEiSdu/erby8vEu+tqenp4YMGaL4+PiinNu2bVNMTMxfzgoAAACUlNO7H9atW6dXX31VSUlJSk1NvWCvwcWsXbtW48eP186dOxUSEqIJEyZo9OjRpc18Wd7urto1pec1ee6SvLYz+vbtq9DQUL3zzjsKCQmRw+FQy5YtlZ+fL29v78u/1hUet9ls+vPOuostNuDr61vs/uuvv6433nhDb775plq1aiVfX1+NGzdO+fn5JXpd6ffD19q2basjR44oPj5e3bt3V926da+4HQAAAHC1OL1HJycnR23atNGMGTNKNP/AgQPq3bu3unTpoq1bt+qpp57S2LFj9cEHHzgdtiRsNpt8PNxMuTlzfk5GRoZ2796tf/zjH+revbuaNWum06dPFz3eunVrJScn69SpUxfdvnXr1vrmm28u+fzVqlVTampq0f19+/bp3LlzV8y1fv169evXT0OGDFGbNm1Uv3597du3r+jxRo0aydvb+7Kv3apVK0VEROidd97RsmXLNGLEiCu+LgAAAHA1Ob1Hp1evXurVq1eJ58+ePVt16tTRm2++KUlq1qyZNm/erNdee0133XWXsy9vGZUrV1aVKlU0d+5c1axZUykpKZo0aVLR4/fdd5/+/e9/q3///po6dapq1qyprVu3KiQkRB07dtRzzz2n7t27q0GDBho0aJAKCwv1+eefa8KECZJ+X/1sxowZuuGGG+RwODRx4kS5u7tfMVfDhg31wQcfaMOGDapcubKmTZum48ePq1mzZpIkLy8vTZw4URMmTJCHh4duvPFGnTx5Ujt37lRsbGzR8/yxKIGPj48GDBhwlX96AAAAwOVd81XXfvzxR/Xo0aPYWM+ePRUXF6eCgoISffm2IhcXF7377rsaO3asWrZsqSZNmmj69Onq2rWrJMnDw0NfffWVHn/8cfXu3VuFhYVq3ry53n77bUlS165dtXLlSv3rX//SSy+9pICAAN10001Fz//6669r+PDhuummmxQSEqK33npLSUlJV8z1zDPP6MCBA+rZs6d8fHz04IMPqn///srMzCw2x83NTc8++6yOHTummjVrXnAo4n333adx48Zp8ODBnPQP4KrIL3Roa8ppFdjL/Bo6AGBJVf091LTGpU/+L2v+0qprF1vZ688aN26smJgYPfXUU0VjGzZs0I033lj0JfnP8vLylJeXV3Q/KytLoaGhJVp1DWXD4cOHVa9ePW3atEnt27c3O04RPi9A+ZR+Nk8x8xP189Ess6MAQIV1e+uaenuw+d/rSrrq2nW5js6fz135o1td6pyWqVOn6vnnn7/muXD1FRQUKDU1VZMmTdINN9xQpkoOgPLp6Jnzip63Ub+l58jf0021Kl95URQAwNVXq1L5+v17zYtOjRo1dPz48WJjaWlpcnNzU5UqVS66zeTJkzV+/Pii+3/s0UHZ99///lfdunVT48aN9f7775sdB0A592vaWUXHbVRqZq5qVfLW4thI1a/mZ3YsAEA5cM2LTseOHfXpp58WG/vqq68UERFxyfNzPD095enpea2j4Rro2rXrBctaA0BpbD9yRjHzN+lUTr4aVPPVkpFRqhlYvv41EQBgHqeXlz579qySk5OVnJws6fflo5OTk4suKDl58mQNHTq0aP7o0aN16NAhjR8/Xrt371Z8fLzi4uL0xBNPXJ13AACwnA3703Xf3J90KidfrWsHauXoTpQcAIBTnN6js3nzZnXr1q3o/h+HmA0bNkwLFixQampqUemRpLCwMK1Zs0aPPfaY3n77bYWEhGj69OkVemlpAMClfbnzuB5ZvlX5hQ51alBFc4dGyM/zupxSCgCwEKf/5rjSoUkLFiy4YOzmm2/Wli1bnH0pAEAFs3LzYU38YLschtSjebCm39dOXu6uZscCAJRD/BMZAKBMmLf+N72werck6Z7w2pp6Zyu5uTp9hDUAAJIoOgAAkxmGode/+kUzvvtVkvRAlzA91bvZJS9BAABASVB0AACmcTgMPbvqZy356fdzO5/s2UQPdW1AyQEA/GUcE1CO1atXT2+++abZMQCgVPILHXp0RbKW/JQim016oX9LPdytISUHAHBVsEcHAHDdnc+36+9Lk/T93pNyc7HpjYFt1bdNiNmxAAAWQtGBKex2u2w2m1xc2KkIVDSZ5wsUu2CTNh86LS93F80eEq6uTaqbHQsAYDF8yzTJnDlzVKtWLTkcjmLjd9xxh4YNG6b9+/erX79+Cg4Olp+fnzp06KCvv/661K83bdo0tWrVSr6+vgoNDdVDDz2ks2fPFpvz3//+VzfffLN8fHxUuXJl9ezZU6dPn5YkORwOvfzyy2rYsKE8PT1Vp04dvfjii5Kk77//XjabTWfOnCl6ruTkZNlsNh08eFDS78uOV6pUSZ999pmaN28uT09PHTp0SJs2bdJtt92mqlWrKjAw8KJLkZ85c0YPPviggoOD5eXlpZYtW+qzzz5TTk6OAgIC9P777xeb/+mnn8rX11fZ2dml/nkBuDbSsnM1aO5P2nzotAK83LQkNoqSAwC4JqxXdAxDys8x53aZ6wv92T333KP09HR99913RWOnT5/Wl19+qfvvv19nz55V79699fXXX2vr1q3q2bOn+vbtW+xirM5wcXHR9OnT9fPPP2vhwoX69ttvNWHChKLHk5OT1b17d7Vo0UI//vijfvjhB/Xt21d2u12SNHnyZL388st65plntGvXLi1btkzBwcFOZTh37pymTp2qefPmaefOnapevbqys7M1bNgwrV+/Xj/99JMaNWqk3r17F5UUh8OhXr16acOGDVqyZIl27dqll156Sa6urvL19dWgQYM0f/78Yq8zf/583X333fL39y/VzwrAtXH41DndM/tH7U7NUlU/T60Y1VER9YLMjgUAsCjrHbpWcE76t0nHeT91TPLwLdHUoKAg/e1vf9OyZcvUvXt3SdLKlSsVFBSk7t27y9XVVW3atCma/8ILL+ijjz7SqlWrNGbMGKejjRs3rui/w8LC9K9//Ut///vfNXPmTEnSK6+8ooiIiKL7ktSiRQtJUnZ2tt566y3NmDFDw4YNkyQ1aNBAnTt3dipDQUGBZs6cWex93XLLLcXmzJkzR5UrV9batWvVp08fff3110pMTNTu3bvVuHFjSVL9+vWL5o8cOVKdOnXSsWPHFBISovT0dH322WdKSEhwKhuAa+uXE9mKjtuoE1l5Cg3y1pLYKNWtUrLflwAAlIb19uiUI/fff78++OAD5eXlSZKWLl2qQYMGydXVVTk5OZowYYKaN2+uSpUqyc/PT3v27Cn1Hp3vvvtOt912m2rVqiV/f38NHTpUGRkZysnJkfR/e3QuZvfu3crLy7vk4yXl4eGh1q1bFxtLS0vT6NGj1bhxYwUGBiowMFBnz54tep/JycmqXbt2Ucn5s8jISLVo0UKLFi2SJC1evFh16tTRTTfd9JeyArh6tqac1r1zftSJrDw1DvbT+6M7UXIAANec9fbouPv8vmfFrNd2Qt++feVwOLR69Wp16NBB69ev17Rp0yRJTz75pL788ku99tpratiwoby9vXX33XcrPz/f6ViHDh1S7969NXr0aP3rX/9SUFCQfvjhB8XGxqqgoECS5O3tfcntL/eYpKIFBYz/OXTvj+f98/P8ednYmJgYnTx5Um+++abq1q0rT09PdezYseh9Xum1pd/36syYMUOTJk3S/PnzNXz4cJanBcqIH/al68HFm3Uu3652dSppfkwHVfLxMDsWAKACsN4eHZvt98PHzLg5+eXa29tbd955p5YuXarly5ercePGCg8PlyStX79eMTExGjBggFq1aqUaNWoUndjvrM2bN6uwsFCvv/66brjhBjVu3FjHjhUvg61bt9Y333xz0e0bNWokb2/vSz5erVo1SVJqamrRWHJycomyrV+/XmPHjlXv3r3VokULeXp6Kj09vViuI0eO6JdffrnkcwwZMkQpKSmaPn26du7cWXR4HQBzfb4jVSMWbNK5fLu6NKqqJbFRlBwAwHVjvaJTztx///1avXq14uPjNWTIkKLxhg0b6sMPP1RycrK2bdumwYMHX7BCW0k1aNBAhYWF+s9//qPffvtNixcv1uzZs4vNmTx5sjZt2qSHHnpI27dv1549ezRr1iylp6fLy8tLEydO1IQJE7Ro0SLt379fP/30k+Li4oqyhoaG6p///Kd++eUXrV69Wq+//nqJsjVs2FCLFy/W7t27tXHjRt1///3F9uLcfPPNuummm3TXXXcpISFBBw4c0Oeff64vvviiaE7lypV155136sknn1SPHj1Uu3btUv2cAFw97yam6OFlW5Rvd6h3qxqaNyxCvp7WO4gAAFB2UXRMdssttygoKEh79+7V4MGDi8bfeOMNVa5cWZ06dVLfvn3Vs2dPtW/fvlSv0bZtW02bNk0vv/yyWrZsqaVLl2rq1KnF5jRu3FhfffWVtm3bpsjISHXs2FGffPKJ3Nx+/2LyzDPP6PHHH9ezzz6rZs2aaeDAgUpLS5Mkubu7a/ny5dqzZ4/atGmjl19+WS+88EKJssXHx+v06dNq166doqOjNXbsWFWvXnyp2Q8++EAdOnTQfffdp+bNm2vChAlFq8H9ITY2Vvn5+RoxYkSpfkYArp7Za/dr0oc75DCkQR1C9Z/72svTzdXsWACACsZmGE6siWySrKwsBQYGKjMzUwEBAcUey83N1YEDBxQWFiYvLy+TEsJsS5cu1aOPPqpjx47Jw+PSh8bweQGuHcMw9PIXezV77X5J0uibG2ji35pwzhwA4Kq6XDf4XxxHgHLt3LlzOnDggKZOnapRo0ZdtuQAuHbsDkP/+HiHliceliRN7tVUo25uYHIqAEBFxqFrFrB06VL5+fld9PbHtXCs6pVXXlHbtm0VHBysyZMnmx0HqJDyCu0au3yrlicelotNeunOVpQcAIDpOHTNArKzs3XixImLPubu7q66dete50RlF58X4OrKySvU6CVJWr8vXR6uLnprUFv1alXT7FgAAAvj0LUKxN/fX/7+/mbHAFDBnDmXr+ELNmlryhn5eLhqbnSEOjeqanYsAAAkUXQAAKVwIitXQ+MStfdEtgK93bVgeAe1q1PZ7FgAABSxTNEp7TVmULGUgyM1gTLvUEaOhsRt1OFT5xUc4KnFsVFqHMxeZQBA2VLui46Hh4dcXFx07NgxVatWTR4eHixliosyDEMnT56UzWaTu7u72XGAcml3apaGxifqZHae6lbx0ZLYKIUG+ZgdCwCAC5T7ouPi4qKwsDClpqbq2LFjZsdBGWez2VS7dm25unLxQsBZSYdOafj8TcrKLVTTGv5aFBup6v4s6gEAKJvKfdGRft+rU6dOHRUWFsput5sdB2WYu7s7JQcohe/3pmn0kiTlFjgUUbey4mI6KNCbPaMAgLLLEkVHUtHhSBySBABX16fbjmn8e8kqsBvq2qSaZt0fLm8P/sEAAFC2WaboAACuvqUbD+kfH/8sw5D6tgnR6/e0kYcb15oGAJR9FB0AwAUMw9DM7/fr1S/3SpKG3FBHz9/RUq4uLPYCACgfKDoAgGIMw9CLq3dr3g8HJEmP3NJQ429rzIqWAIByhaIDAChSaHdo8oc7tDLpiCTpmT7NFds5zORUAAA4j6IDAJAk5RbYNXb5Vn2164RcXWx6+a7Wuju8ttmxAAAoFYoOAEBn8wr14KLN2rA/Qx5uLppxXzv1aFHD7FgAAJQaRQcAKrhTOfkaPj9R245kytfDVe8Mi1CnBlXNjgUAwF9C0QGACiw187yi4xL1a9pZVfZx18IRkWpdu5LZsQAA+MsoOgBQQf128qyi4xJ19Mx51Qz00uLYSDWs7m92LAAArgqKDgBUQD8fzdSw+ERl5OSrflVfLR4ZpVqVvM2OBQDAVUPRAYAKJvHAKcUu2KTsvEK1CAnQwhGRqurnaXYsAACuKooOAFQg3+45ob8v2aK8Qociw4I0b1iEArzczY4FAMBVR9EBgAri461H9cTKbSp0GOretLrevr+9vNxdzY4FAMA1QdEBgApg4YaDem7VTknSgHa19MrdreXu6mJyKgAArh2KDgBYmGEYmv7Nr3rj618kSTGd6unZPs3l4mIzORkAANcWRQcALMrhMDTls11asOGgJGncrY30aPdGstkoOQAA66PoAIAFFdgdmvD+dn209agk6Z99myvmxjCTUwEAcP1QdADAYnIL7BqzbIu+3p0mVxebXr+njfq3q2V2LAAAriuKDgBYSFZugUYu3KzEA6fk6eaimfe3V/dmwWbHAgDguqPoAIBFpJ/N07D4RO08liV/TzfNGxahqPpVzI4FAIApKDoAYAFHz5xX9LyN+i09R1V8PbRwRKRa1go0OxYAAKah6ABAOfdr2llFx21UamaualXy1uLYSNWv5md2LAAATEXRAYBybPuRM4qZv0mncvLVoJqvloyMUs1Ab7NjAQBgOooOAJRTG/an64GFm5WTb1fr2oFaMDxSQb4eZscCAKBMoOgAQDn01c7jGrN8q/ILHerUoIrmDo2Qnye/0gEA+AN/KwJAOfN+0hFN/GC77A5DPZoHa/p97eTl7mp2LAAAyhSKDgCUI3E/HNC/PtslSbo7vLZeurOV3FxdTE4FAEDZQ9EBgHLAMAxNS/hF//n2V0nSyM5heqp3M7m42ExOBgBA2UTRAYAyzuEw9NyqnVr80yFJ0pM9m+ihrg1ks1FyAAC4FIoOAJRhBXaHHn9vm1ZtOyabTZrSr6Wib6hrdiwAAMo8ig4AlFHn8+36+9Ikfb/3pNxcbJo2sK3uaBNidiwAAMoFig4AlEGZ5wsUu2CTNh86LS93F80eEq6uTaqbHQsAgHKDogMAZUxadq6GxW/S7tQsBXi5KT6mgyLqBZkdCwCAcoWiAwBlyOFT5zQkbqMOZZxTVT9PLY6NVLOaAWbHAgCg3KHoAEAZ8cuJbEXHbdSJrDyFBnlrSWyU6lbxNTsWAADlEkUHAMqArSmnNXzBJp05V6DGwX5aHBul4AAvs2MBAFBuUXQAwGQ/7EvXg4s361y+Xe3qVNL8mA6q5ONhdiwAAMo1ig4AmOjzHal69N1k5dsd6tKoqmYPCZevJ7+aAQD4q/jbFABMsmJTiiZ/uEMOQ+rdqobeGNhWnm6uZscCAMASKDoAYII5a/dr6ud7JEmDOoTqxQGt5OpiMzkVAADWQdEBgOvIMAy98uVezfp+vyRp9M0NNPFvTWSzUXIAALiaKDoAcJ3YHYb+8fHPWp6YIkma1KupRt/cwORUAABYE0UHAK6D/EKHHluRrNU7UuVik/49oJUGRdYxOxYAAJZF0QGAa+xcfqFGLU7S+n3p8nB10ZuD2qp3q5pmxwIAwNIoOgBwDZ05l6/hCzZpa8oZ+Xi4am50hDo3qmp2LAAALI+iAwDXyImsXA2NS9TeE9kK9HbXguEd1K5OZbNjAQBQIVB0AOAaOJSRoyFxG3X41HkFB3hqcWyUGgf7mx0LAIAKg6IDAFfZ7tQsDY1P1MnsPNWt4qMlsVEKDfIxOxYAABUKRQcArqKkQ6c0fP4mZeUWqmkNfy2KjVR1fy+zYwEAUOFQdADgKvl+b5pGL0lSboFDEXUrKy6mgwK93c2OBQBAhUTRAYCr4NNtxzT+vWQV2A11bVJNs+4Pl7eHq9mxAACosCg6APAXLd14SP/4+GcZhtS3TYhev6eNPNxczI4FAECFRtEBgFIyDEMzv9+vV7/cK0kackMdPX9HS7m62ExOBgAAKDoAUAqGYejfa3brnfUHJEmP3NJQ429rLJuNkgMAQFlA0QEAJxXaHXrqox16b/MRSdI/bm+mkV3qm5wKAAD8L4oOADght8CuR9/dqi93npCLTXr5rta6JyLU7FgAAOBPKDoAUEJn8wr14KLN2rA/Qx6uLvrP4Hbq2aKG2bEAAMBFUHQAoARO5+QrZn6ith3JlK+Hq94ZFqFODaqaHQsAAFwCRQcAriA187yi4xL1a9pZVfZx18IRkWpdu5LZsQAAwGVQdADgMn47eVbRcYk6eua8agZ6aXFspBpW9zc7FgAAuAKKDgBcws9HMzUsPlEZOfmqX9VXi0dGqVYlb7NjAQCAEqDoAMBFJB44pdgFm5SdV6gWIQFaOCJSVf08zY4FAABKyKU0G82cOVNhYWHy8vJSeHi41q9ff9n5S5cuVZs2beTj46OaNWtq+PDhysjIKFVgALjWvt1zQtFxG5WdV6jIsCAtf/AGSg4AAOWM00VnxYoVGjdunJ5++mlt3bpVXbp0Ua9evZSSknLR+T/88IOGDh2q2NhY7dy5UytXrtSmTZs0cuTIvxweAK62j7ce1YOLkpRX6FD3ptW1aESkArzczY4FAACc5HTRmTZtmmJjYzVy5Eg1a9ZMb775pkJDQzVr1qyLzv/pp59Ur149jR07VmFhYercubNGjRqlzZs3/+XwAHA1LdxwUONWJKvQYWhAu1qaHR0uL3dXs2MBAIBScKro5OfnKykpST169Cg23qNHD23YsOGi23Tq1ElHjhzRmjVrZBiGTpw4offff1+333576VMDwFVkGIbe+nqfnlu1U5IU06meXr+njdxdS3V0LwAAKAOcWowgPT1ddrtdwcHBxcaDg4N1/Pjxi27TqVMnLV26VAMHDlRubq4KCwt1xx136D//+c8lXycvL095eXlF97OyspyJCQAl5nAYmvLZLi3YcFCSNO7WRnq0eyPZbDZzgwEAgL+kVP9c+ecvAIZhXPJLwa5duzR27Fg9++yzSkpK0hdffKEDBw5o9OjRl3z+qVOnKjAwsOgWGhpampgAcFkFdoeeWLmtqOT8s29zjbu1MSUHAAALsBmGYZR0cn5+vnx8fLRy5UoNGDCgaPzRRx9VcnKy1q5de8E20dHRys3N1cqVK4vGfvjhB3Xp0kXHjh1TzZo1L9jmYnt0QkNDlZmZqYCAgBK/OQC4lNwCu8Ys26Kvd6fJ1cWm1+5prQHtapsdCwAAXEFWVpYCAwOv2A2c2qPj4eGh8PBwJSQkFBtPSEhQp06dLrrNuXPn5OJS/GVcXX8/ufdSHcvT01MBAQHFbgBwtWTnFmhYfKK+3p0mTzcXzRkSTskBAMBinL5g6Pjx4xUdHa2IiAh17NhRc+fOVUpKStGhaJMnT9bRo0e1aNEiSVLfvn31wAMPaNasWerZs6dSU1M1btw4RUZGKiQk5Oq+GwC4goyzeRo2P1E/H82Sv6eb5g2LUFT9KmbHAgAAV5nTRWfgwIHKyMjQlClTlJqaqpYtW2rNmjWqW7euJCk1NbXYNXViYmKUnZ2tGTNm6PHHH1elSpV0yy236OWXX7567wIASuDomfOKjtuo307mqIqvhxaOiFTLWoFmxwIAANeAU+fomKWkx+EBwKX8mnZW0XEblZqZq1qVvLU4NlL1q/mZHQsAADippN3A6T06AFDebD9yRjHzN+lUTr4aVPPVkpFRqhnobXYsAABwDVF0AFjahv3pemDhZuXk29W6dqAWDI9UkK+H2bEAAMA1RtEBYFlf7TyuMcu3Kr/QoU4Nqmju0Aj5efJrDwCAioC/8QFY0vtJRzTxg+2yOwz1aB6s6fe1k5e7q9mxAADAdULRAWA5cT8c0L8+2yVJuju8tl66s5XcXJ26bBgAACjnKDoALMMwDE1L+EX/+fZXSdLIzmF6qnczubjYTE4GAACuN4oOAEtwOAw9t2qnFv90SJL0ZM8meqhrA9lslBwAACoiig6Acq/A7tDj723Tqm3HZLNJU/q1VPQNdc2OBQAATETRAVCunc+366GlSfpu70m5udg0bWBb3dEmxOxYAADAZBQdAOVW5vkCjVy4SZsOnpaXu4tmDQlXtybVzY4FAADKAIoOgHLpZHaehsYnandqlvy93DQ/poMi6gWZHQsAAJQRFB0A5c7hU+cUHbdRBzPOqaqfpxbHRqpZzQCzYwEAgDKEogOgXNl3IltD4jbqRFaeQoO8tSQ2SnWr+JodCwAAlDEUHQDlRvLhM4qZn6gz5wrUONhPi2OjFBzgZXYsAABQBlF0AJQLP+xL14OLN+tcvl3t6lTS/JgOquTjYXYsAABQRlF0AJR5n+9I1aPvJivf7lCXRlU1e0i4fD359QUAAC6NbwoAyrQVm1I0+cMdchhS71Y19MbAtvJ0czU7FgAAKOMoOgDKrDlr92vq53skSYM6hOrFAa3k6mIzORUAACgPKDoAyhzDMPTKl3s16/v9kqTRNzfQxL81kc1GyQEAACVD0QFQptgdhv7x8c9anpgiSZrUq6lG39zA5FQAAKC8oegAKDPyCx16bEWyVu9IlYtN+veAVhoUWcfsWAAAoByi6AAoE87lF2rU4iSt35cud1eb3hrUTr1b1TQ7FgAAKKcoOgBMd+ZcvkYs2KQtKWfk4+GqOdHh6tKomtmxAABAOUbRAWCqtKxcRcclau+JbAV6u2v+8A5qX6ey2bEAAEA5R9EBYJpDGTkaErdRh0+dV3V/Ty2OjVKTGv5mxwIAABZA0QFgij3HsxQdl6iT2XmqW8VHS2KjFBrkY3YsAABgERQdANdd0qFTGj5/k7JyC9W0hr8WxUaqur+X2bEAAICFUHQAXFdrfzmp0YuTdL7Aroi6lRUX00GB3u5mxwIAABZD0QFw3Xy67ZjGv5esAruhrk2qadb94fL2cDU7FgAAsCCKDoDrYunGQ/rHxz/LMKS+bUL0+j1t5OHmYnYsAABgURQdANeUYRia+f1+vfrlXknSkBvq6Pk7WsrVxWZyMgAAYGUUHQDXjGEY+vea3Xpn/QFJ0iO3NNT42xrLZqPkAACAa4uiA+CaKLQ79NRHO/Te5iOSpH/c3kwju9Q3ORUAAKgoKDoArrrcArsefXervtx5Qi426eW7WuueiFCzYwEAgAqEogPgqjqbV6gHF23Whv0Z8nB10X8Gt1PPFjXMjgUAACoYig6Aq+Z0Tr5i5idq25FM+Xq46p2hEerUsKrZsQAAQAVE0QFwVaRmnld0XKJ+TTuryj7uWjA8Um1CK5kdCwAAVFAUHQB/2YH0HA2Zt1FHz5xXjQAvLRkZqYbV/c2OBQAAKjCKDoC/ZOexTA2LT1T62XyFVfXV4thI1a7sY3YsAABQwVF0AJRa4oFTil2wSdl5hWoREqCFIyJV1c/T7FgAAAAUHQCl8+2eE/r7ki3KK3QoMixI84ZFKMDL3exYAAAAkig6AErhk+Sjevy9bSp0GOretLrevr+9vNxdzY4FAABQhKIDwCmLfjyo51btlGFIA9rV0it3t5a7q4vZsQAAAIqh6AAoEcMwNP2bX/XG179IkmI61dOzfZrLxcVmcjIAAIALUXQAXJHDYWjKZ7u0YMNBSdK4Wxvp0e6NZLNRcgAAQNlE0QFwWQV2hya+v10fbj0qSfpn3+aKuTHM5FQAAACXR9EBcEm5BXaNWbZFX+9Ok6uLTa/d01oD2tU2OxYAAMAVUXQAXFR2boFGLtysjQdOydPNRW8Pbq9bmwebHQsAAKBEKDoALpBxNk/D5ifq56NZ8vd007xhEYqqX8XsWAAAACVG0QFQzNEz5xUdt1G/ncxRFV8PLRwRqZa1As2OBQAA4BSKDoAiv6adVXTcRqVm5qpWJW8tjo1U/Wp+ZscCAABwGkUHgCRpx5FMDZufqFM5+WpQzVeLY6MUUsnb7FgAAAClQtEBoB/3Z+iBRZt1Nq9QrWsHasHwSAX5epgdCwAAoNQoOkAFl7DrhB5etkX5hQ51rF9F7wyLkJ8nvxoAAED5xrcZoAL7IOmIJnywXXaHoR7NgzX9vnbycnc1OxYAAMBfRtEBKqj4Hw5oyme7JEl3h9fWS3e2kpuri8mpAAAArg6KDlDBGIahNxJ+0fRvf5Ukjewcpqd6N5OLi83kZAAAAFcPRQeoQBwOQ//8dKcW/XhIkvRkzyZ6qGsD2WyUHAAAYC0UHaCCKLA79MTKbfok+ZhsNmlKv5aKvqGu2bEAAACuCYoOUAGcz7froaVJ+m7vSbm52DRtYFvd0SbE7FgAAADXDEUHsLjM8wUauXCTNh08LS93F80aEq5uTaqbHQsAAOCaougAFnYyO09D4xO1OzVL/l5umh/TQRH1gsyOBQAAcM1RdACLOnzqnKLjNupgxjlV9fPUohGRah4SYHYsAACA64KiA1jQvhPZGhK3USey8lS7sreWxEapXlVfs2MBAABcNxQdwGKSD59RzPxEnTlXoMbBflo0Iko1Ar3MjgUAAHBdUXQAC/lhX7oeXLxZ5/LtahtaSQuGd1AlHw+zYwEAAFx3FB3AIr74OVVjlycr3+5Q54ZVNSc6XL6e/BEHAAAVE9+CAAt4b9NhTfpwuxyG1LtVDb0xsK083VzNjgUAAGAaig5Qzs1dt1//XrNHkjSoQ6heHNBKri42k1MBAACYi6IDlFOGYejVL/dq5vf7JUmjb26giX9rIpuNkgMAAEDRAcohu8PQM5/8rGUbUyRJk3o11eibG5icCgAAoOyg6ADlTH6hQ4+9l6zV21PlYpP+PaCVBkXWMTsWAABAmULRAcqRc/mFGrU4Sev3pcvd1aa3BrVT71Y1zY4FAABQ5lB0gHLizLl8jViwSVtSzsjHw1VzosPVpVE1s2MBAACUSRQdoBxIy8pVdFyi9p7IVqC3u+YP76D2dSqbHQsAAKDMougAZdyhjBwNiduow6fOq7q/pxbHRqlJDX+zYwEAAJRpFB2gDNtzPEvRcYk6mZ2nulV8tCQ2SqFBPmbHAgAAKPMoOkAZlXTolIbP36Ss3EI1reGvRbGRqu7vZXYsAACAcoGiA5RBa385qdGLk3S+wK7wupUVP6yDAn3czY4FAABQblB0gDLms+3H9NiKZBXYDd3cuJpmDWkvHw/+qAIAADiDb09AGbJsY4qe/niHDEPq07qmpt3bVh5uLmbHAgAAKHcoOkAZYBiGZq3dr1e+2CtJuj+qjqb0aylXF5vJyQAAAMonig5gMsMwNPXzPZq77jdJ0phuDfV4j8ay2Sg5AAAApUXRAUxUaHfoqY926L3NRyRJ/7i9mUZ2qW9yKgAAgPKPogOYJK/QrkeXJ+uLncflYpNeuqu17o0INTsWAACAJVB0ABOczSvUqMWb9d9fM+Th6qL/DG6nni1qmB0LAADAMig6wHV2OidfMQs2advhM/L1cNU7QyPUqWFVs2MBAABYSqnWrZ05c6bCwsLk5eWl8PBwrV+//rLz8/Ly9PTTT6tu3bry9PRUgwYNFB8fX6rAQHl2PDNX9875UdsOn1FlH3cte+AGSg4AAMA14PQenRUrVmjcuHGaOXOmbrzxRs2ZM0e9evXSrl27VKdOnYtuc++99+rEiROKi4tTw4YNlZaWpsLCwr8cHihPDqTnaMi8jTp65rxqBHhpychINazub3YsAAAAS7IZhmE4s0FUVJTat2+vWbNmFY01a9ZM/fv319SpUy+Y/8UXX2jQoEH67bffFBQUVKqQWVlZCgwMVGZmpgICAkr1HICZdh7L1LD4RKWfzVdYVV8tjo1U7co+ZscCAAAod0raDZw6dC0/P19JSUnq0aNHsfEePXpow4YNF91m1apVioiI0CuvvKJatWqpcePGeuKJJ3T+/HlnXhootxIPnNKgOT8p/Wy+mtcM0MrRHSk5AAAA15hTh66lp6fLbrcrODi42HhwcLCOHz9+0W1+++03/fDDD/Ly8tJHH32k9PR0PfTQQzp16tQlz9PJy8tTXl5e0f2srCxnYgJlxrd7TujvS7Yor9ChyHpBmhcToQAvd7NjAQAAWF6pFiP48xXbDcO45FXcHQ6HbDabli5dqsjISPXu3VvTpk3TggULLrlXZ+rUqQoMDCy6hYZybRGUP58kH9WDi5KUV+hQ96bVtSg2kpIDAABwnThVdKpWrSpXV9cL9t6kpaVdsJfnDzVr1lStWrUUGBhYNNasWTMZhqEjR45cdJvJkycrMzOz6Hb48GFnYgKmW/TjQY1bkaxCh6H+bUM0OzpcXu6uZscCAACoMJwqOh4eHgoPD1dCQkKx8YSEBHXq1Omi29x44406duyYzp49WzT2yy+/yMXFRbVr177oNp6engoICCh2A8oDwzA0/Zt9evaTnTIMKaZTPU27t63cXUu18xQAAACl5PS3r/Hjx2vevHmKj4/X7t279dhjjyklJUWjR4+W9PvemKFDhxbNHzx4sKpUqaLhw4dr165dWrdunZ588kmNGDFC3t7eV++dACZzOAxN+WyXpiX8Ikl6tHsjPde3uVxcLn5YJwAAAK4dp6+jM3DgQGVkZGjKlClKTU1Vy5YttWbNGtWtW1eSlJqaqpSUlKL5fn5+SkhI0COPPKKIiAhVqVJF9957r1544YWr9y4AkxXaHZrwwXZ9uOWoJOm5vs01/MYwk1MBAABUXE5fR8cMXEcHZVlugV1jlm3V17tPyNXFplfvbq0721/8sEwAAAD8NSXtBk7v0QHwf7JzC/TAos366bdT8nBz0czB7XVr84svzAEAAIDrh6IDlFLG2TzFzN+kHUcz5efppnnDInRD/SpmxwIAAIAoOkCpHDtzXkPiNuq3kzmq4uuhhSMi1bJW4JU3BAAAwHVB0QGc9GvaWQ2N26hjmbmqVclbi2MjVb+an9mxAAAA8D8oOoATdhzJ1LD5iTqVk68G1Xy1ODZKIZVYJh0AAKCsoegAJfTj/gw9sGizzuYVqnXtQC0YHqkgXw+zYwEAAOAiKDpACSTsOqGHl21RfqFDHetX0TvDIuTnyR8fAACAsopvasAVfJB0RBM+2C67w9BtzYP1n/vaycvd1exYAAAAuAyKDnAZ8T8c0JTPdkmS7g6vrZfubCU3VxeTUwEAAOBKKDrARRiGoTcSftH0b3+VJMV2DtPTvZvJxcVmcjIAAACUBEUH+BOHw9A/P92pRT8ekiQ90aOxHu7WUDYbJQcAAKC8oOgA/6PA7tATK7fpk+RjstmkKf1aKvqGumbHAgAAgJMoOsD/dz7froeXbdG3e9Lk5mLT6/e2Ub+2tcyOBQAAgFKg6ACSMs8XaOTCTdp08LS83F006/5wdWta3exYAAAAKCWKDiq8k9l5GhafqF2pWfL3clN8TAd1qBdkdiwAAAD8BRQdVGiHT51TdNxGHcw4p6p+nlo0IlLNQwLMjgUAAIC/iKKDCmvfiWxFxyXqeFaualf21pLYKNWr6mt2LAAAAFwFFB1USMmHzyhmfqLOnCtQo+p+WhwbpRqBXmbHAgAAwFVC0UGF899f0/XAos06l29X29BKmh/TQZV9PcyOBQAAgKuIooMK5YufUzV2ebLy7Q51blhVc6LD5evJHwMAAACr4RseKoz3Nh3WpA+3y2FIvVrW0JuD2srTzdXsWAAAALgGKDqoEOau269/r9kjSRoYEap/39lKri42k1MBAADgWqHowNIMw9CrX+7VzO/3S5JG3Vxfk/7WVDYbJQcAAMDKKDqwLLvD0DOf/KxlG1MkSRP/1lR/79rA5FQAAAC4Hig6sKT8Qoceey9Zq7enymaT/j2gle6LrGN2LAAAAFwnFB1Yzrn8Qo1eskXrfjkpd1eb3hzYTre3rml2LAAAAFxHFB1YSua5Ag1fkKgtKWfk7e6qOdHhuqlxNbNjAQAA4Dqj6MAy0rJyNTQ+UXuOZyvQ213xMR0UXrey2bEAAABgAooOLCEl45yGxG1Uyqlzqu7vqcWxUWpSw9/sWAAAADAJRQfl3p7jWRoal6i07DzVCfLRktgo1aniY3YsAAAAmIiig3It6dBpDZ+fqKzcQjWt4a9FIyJVPcDL7FgAAAAwGUUH5da6X05q1OIknS+wq32dSpofE6lAH3ezYwEAAKAMoOigXFq9PVXjVmxVgd3QTY2rafaQ9vLx4OMMAACA3/HNEOXOso0pevrjHTIMqU/rmpp2b1t5uLmYHQsAAABlCEUH5YZhGJq1dr9e+WKvJGlwVB39q19LubrYTE4GAACAsoaig3LBMAxN/XyP5q77TZI0pltDPd6jsWw2Sg4AAAAuRNFBmVdod+ipj3bovc1HJEn/uL2ZRnapb3IqAAAAlGUUHZRpeYV2Pbo8WV/sPC4Xm/TSXa11b0So2bEAAABQxlF0UGadzSvUqMWb9d9fM+Th6qLp97XT31rWMDsWAAAAygGKDsqk0zn5ilmwSdsOn5Gvh6vmDo3QjQ2rmh0LAAAA5QRFB2XO8cxcRcdt1L60s6rs464FwyPVJrSS2bEAAABQjlB0UKYcSM/RkHkbdfTMedUI8NLi2Eg1CvY3OxYAAADKGYoOyoydxzI1LD5R6WfzFVbVV4tjI1W7so/ZsQAAAFAOUXRQJmw6eEojFmxSdm6hmtcM0MIRkarm72l2LAAAAJRTFB2Y7rs9afr70iTlFjgUWS9I82IiFODlbnYsAAAAlGMUHZjqk+Sjevy9bSp0GLqlaXW9Pbi9vD1czY4FAACAco6iA9Ms/vGgnl21U4Yh9WsbotfuaSN3VxezYwEAAMACKDq47gzD0Ixvf9XrCb9IkoZ1rKvn+raQi4vN5GQAAACwCooOriuHw9ALq3cr/r8HJEljuzfSY7c2ks1GyQEAAMDVQ9HBdVNod2jCB9v14ZajkqRn+zTXiM5hJqcCAACAFVF0cF3kFtg1ZtlWfb37hFxdbHr17ta6s31ts2MBAADAoig6uOaycwv0wKLN+um3U/Jwc9HMwe11a/Ngs2MBAADAwig6uKYyzuYpZv4m7TiaKT9PN80bFqEb6lcxOxYAAAAsjqKDa+bYmfMaErdRv53MURVfDy0cEamWtQLNjgUAAIAKgKKDa2L/ybOKnrdRxzJzFRLopcUjo9Sgmp/ZsQAAAFBBUHRw1f18NFND4xN1KidfDar5anFslEIqeZsdCwAAABUIRQdX1U+/ZWjkws06m1eoVrUCtWB4B1Xx8zQ7FgAAACoYig6umoRdJ/Twsi3KL3TohvpBemdohPy93M2OBQAAgAqIooOr4sMtR/Tk+9tldxi6tVmwZgxuJy93V7NjAQAAoIKi6OAvi//hgKZ8tkuSdFf72nr5rlZyc3UxORUAAAAqMooOSs0wDL3x9T5N/2afJGnEjWH6x+3N5OJiMzkZAAAAKjqKDkrF4TD0/Kc7tfDHQ5Kkx29rrDG3NJTNRskBAACA+Sg6cFqB3aEnVm7TJ8nHZLNJU+5ooeiO9cyOBQAAABSh6MAp5/PtenjZFn27J01uLja9fm8b9Wtby+xYAAAAQDEUHZRY5vkCjVy4SZsOnpanm4tmDwlXt6bVzY4FAAAAXICigxI5mZ2nYfGJ2pWaJX8vN8XHdFCHekFmxwIAAAAuiqKDKzp86pyi4zbqYMY5VfXz0MIRkWoREmh2LAAAAOCSKDq4rH0nshUdl6jjWbmqVclbS0ZGKayqr9mxAAAAgMui6OCSkg+fUcz8RJ05V6BG1f20ODZKNQK9zI4FAAAAXBFFBxf131/T9cCizTqXb1eb0EpaENNBlX09zI4FAAAAlAhFBxf44ufjGrt8q/LtDt3YsIrmRkfI15OPCgAAAMoPvr2imPc2HdakD7fLYUh/a1FDb93XVp5urmbHAgAAAJxC0UGRd9b9phfX7JYkDYwI1YsDWsrN1cXkVAAAAIDzKDqQYRh67au9evu7/ZKkUTfV16ReTWWz2UxOBgAAAJQORaeCszsMPfPJz1q2MUWSNPFvTfX3rg1MTgUAAAD8NRSdCiy/0KHx7yXrs+2pstmkF/u30uCoOmbHAgAAAP4yik4FdS6/UH9fskVrfzkpd1eb3hjYVn1ah5gdCwAAALgqKDoVUOa5Ao1YuElJh07L291Vs6PDdXPjambHAgAAAK4aik4Fk5aVq6HxidpzPFsBXm6aPzxS4XUrmx0LAAAAuKooOhVISsY5DYnbqJRT51TN31OLYyPVtEaA2bEAAACAq46iU0HsOZ6loXGJSsvOU50gHy2JjVKdKj5mxwIAAACuCYpOBZB06LSGz09UVm6hmgT7a3FspKoHeJkdCwAAALhmKDoWt+6Xkxq1OEnnC+xqX6eS5sdEKtDH3exYAAAAwDVF0bGw1dtTNW7FVhXYDd3UuJpmD2kvHw/+lwMAAMD6+NZrUcsTU/TURztkGFKf1jU17d628nBzMTsWAAAAcF1QdCxo1vf79fIXeyRJg6Pq6F/9WsrVxWZyKgAAAOD6oehYiGEYeunzPZqz7jdJ0sPdGuiJHk1ks1FyAAAAULGU6limmTNnKiwsTF5eXgoPD9f69etLtN1///tfubm5qW3btqV5WVyG3WFo0gc7ikrO072b6cmeTSk5AAAAqJCcLjorVqzQuHHj9PTTT2vr1q3q0qWLevXqpZSUlMtul5mZqaFDh6p79+6lDouLyyu0a8yyLVqx+bBcbNIrd7XWAzfVNzsWAAAAYBqbYRiGMxtERUWpffv2mjVrVtFYs2bN1L9/f02dOvWS2w0aNEiNGjWSq6urPv74YyUnJ5f4NbOyshQYGKjMzEwFBAQ4E9fycvIKNWpxkn74NV0eri6afl9b/a1lTbNjAQAAANdESbuBU3t08vPzlZSUpB49ehQb79GjhzZs2HDJ7ebPn6/9+/frueeec+blcAWnc/J1/7yN+uHXdPl4uGr+8A6UHAAAAEBOLkaQnp4uu92u4ODgYuPBwcE6fvz4RbfZt2+fJk2apPXr18vNrWQvl5eXp7y8vKL7WVlZzsSsEI5n5io6bqP2pZ1VJR93LRgeqbahlcyOBQAAAJQJpVqM4M8nuBuGcdGT3u12uwYPHqznn39ejRs3LvHzT506VYGBgUW30NDQ0sS0rAPpObp79gbtSzurGgFeWjmqIyUHAAAA+B9OFZ2qVavK1dX1gr03aWlpF+zlkaTs7Gxt3rxZY8aMkZubm9zc3DRlyhRt27ZNbm5u+vbbby/6OpMnT1ZmZmbR7fDhw87EtLSdxzJ1z+wNOnL6vOpV8dHK0R3VKNjf7FgAAABAmeLUoWseHh4KDw9XQkKCBgwYUDSekJCgfv36XTA/ICBAO3bsKDY2c+ZMffvtt3r//fcVFhZ20dfx9PSUp6enM9EqhE0HT2nEgk3Kzi1U85oBWjgiUtX8+TkBAAAAf+b0BUPHjx+v6OhoRUREqGPHjpo7d65SUlI0evRoSb/vjTl69KgWLVokFxcXtWzZstj21atXl5eX1wXjuLzv9qTp70uTlFvgUId6lTVvWAcFerubHQsAAAAok5wuOgMHDlRGRoamTJmi1NRUtWzZUmvWrFHdunUlSampqVe8pg6c80nyUT3+3jYVOgx1a1JNM+8Pl7eHq9mxAAAAgDLL6evomKEiX0dn8Y8H9eyqnTIMqV/bEL12Txu5u5ZqDQkAAACg3CtpN3B6jw6uD8MwNOPbX/V6wi+SpKEd6+qffVvIxeXC1e0AAAAAFEfRKYMcDkMvrN6t+P8ekCSN7d5Ij93a6KJLeAMAAAC4EEWnjCm0OzTxgx36YMsRSdKzfZprROeLr04HAAAA4OIoOmVIboFdjyzfqoRdJ+TqYtMrd7XWXeG1zY4FAAAAlDsUnTIiO7dADy5K0o+/ZcjDzUVvD26v25pfeBFWAAAAAFdG0SkDMs7mKWb+Ju04mik/Tze9MzRCHRtUMTsWAAAAUG5RdEx27Mx5Rcdt1P6TOQry9dDC4ZFqVTvQ7FgAAABAuUbRMdH+k2cVPW+jjmXmKiTQS4tio9Swup/ZsQAAAIByj6Jjkp+PZmpYfKIycvJVv5qvFsdGqVYlb7NjAQAAAJZA0THBT79laOTCzTqbV6iWtQK0cHikqvh5mh0LAAAAsAyKznWWsOuEHl62RfmFDkWFBWnesAj5e7mbHQsAAACwFIrOdfThliN68v3tsjsM3dosWDMGt5OXu6vZsQAAAADLoehcJ/E/HNCUz3ZJku5sX0uv3NVabq4uJqcCAAAArImic40ZhqE3vt6n6d/skyQNv7Genrm9uVxcbCYnAwAAAKyLonMNORyGnv90pxb+eEiSNP62xnrkloay2Sg5AAAAwLVE0blGCuwOPblymz5OPiZJmtKvhYZ2rGduKAAAAKCCoOhcA7kFdj20dIu+3ZMmNxebXr+3jfq1rWV2LAAAAKDCoOhcZVm5BRq5YLMSD56Sp5uLZg1pr1uaBpsdCwAAAKhQKDpX0cnsPA2LT9Su1Cz5e7kpPqaDOtQLMjsWAAAAUOFQdK6SI6fPKTouUQfSc1TVz0MLR0SqRUig2bEAAACAComicxXsO5Gt6LhEHc/KVa1K3loyMkphVX3NjgUAAABUWBSdv2jb4TOKmZ+o0+cK1Ki6nxbHRqlGoJfZsQAAAIAKjaLzF2z4NV0PLNqsnHy72oRW0oKYDqrs62F2LAAAAKDCo+iU0hc/H9fY5VuVb3foxoZVNCc6Qn6e/DgBAACAsoBv5qXw3qbDmvThdjkM6W8tauit+9rK083V7FgAAAAA/j+KjpPeWfebXlyzW5J0b0Rt/XtAK7m5upicCgAAAMD/oug4Yd+JbE39/PeS8+BN9TW5V1PZbDaTUwEAAAD4M4qOExoF++vlu1orLTtPD3VtQMkBAAAAyiiKjpPuiQg1OwIAAACAK+DkEgAAAACWQ9EBAAAAYDkUHQAAAACWQ9EBAAAAYDkUHQAAAACWQ9EBAAAAYDkUHQAAAACWQ9EBAAAAYDkUHQAAAACWQ9EBAAAAYDkUHQAAAACWQ9EBAAAAYDkUHQAAAACWQ9EBAAAAYDkUHQAAAACWQ9EBAAAAYDkUHQAAAACWQ9EBAAAAYDkUHQAAAACWQ9EBAAAAYDkUHQAAAACWQ9EBAAAAYDkUHQAAAACWQ9EBAAAAYDkUHQAAAACWQ9EBAAAAYDkUHQAAAACWQ9EBAAAAYDkUHQAAAACWQ9EBAAAAYDkUHQAAAACWQ9EBAAAAYDkUHQAAAACWQ9EBAAAAYDkUHQAAAACWQ9EBAAAAYDkUHQAAAACWQ9EBAAAAYDkUHQAAAACWQ9EBAAAAYDkUHQAAAACWQ9EBAAAAYDkUHQAAAACWQ9EBAAAAYDkUHQAAAACWQ9EBAAAAYDkUHQAAAACWQ9EBAAAAYDkUHQAAAACWQ9EBAAAAYDkUHQAAAACWQ9EBAAAAYDkUHQAAAACWQ9EBAAAAYDkUHQAAAACWQ9EBAAAAYDkUHQAAAACWQ9EBAAAAYDmlKjozZ85UWFiYvLy8FB4ervXr119y7ocffqjbbrtN1apVU0BAgDp27Kgvv/yy1IEBAAAA4EqcLjorVqzQuHHj9PTTT2vr1q3q0qWLevXqpZSUlIvOX7dunW677TatWbNGSUlJ6tatm/r27autW7f+5fAAAAAAcDE2wzAMZzaIiopS+/btNWvWrKKxZs2aqX///po6dWqJnqNFixYaOHCgnn322RLNz8rKUmBgoDIzMxUQEOBMXAAAAAAWUtJu4NQenfz8fCUlJalHjx7Fxnv06KENGzaU6DkcDoeys7MVFBTkzEsDAAAAQIm5OTM5PT1ddrtdwcHBxcaDg4N1/PjxEj3H66+/rpycHN17772XnJOXl6e8vLyi+1lZWc7EBAAAAFDBlWoxApvNVuy+YRgXjF3M8uXL9c9//lMrVqxQ9erVLzlv6tSpCgwMLLqFhoaWJiYAAACACsqpolO1alW5urpesPcmLS3tgr08f7ZixQrFxsbqvffe06233nrZuZMnT1ZmZmbR7fDhw87EBAAAAFDBOVV0PDw8FB4eroSEhGLjCQkJ6tSp0yW3W758uWJiYrRs2TLdfvvtV3wdT09PBQQEFLsBAAAAQEk5dY6OJI0fP17R0dGKiIhQx44dNXfuXKWkpGj06NGSft8bc/ToUS1atEjS7yVn6NCheuutt3TDDTcU7Q3y9vZWYGDgVXwrAAAAAPA7p4vOwIEDlZGRoSlTpig1NVUtW7bUmjVrVLduXUlSampqsWvqzJkzR4WFhXr44Yf18MMPF40PGzZMCxYs+OvvAAAAAAD+xOnr6JiB6+gAAAAAkK7RdXQAAAAAoDyg6AAAAACwHIoOAAAAAMuh6AAAAACwHIoOAAAAAMuh6AAAAACwHIoOAAAAAMuh6AAAAACwHIoOAAAAAMuh6AAAAACwHIoOAAAAAMuh6AAAAACwHIoOAAAAAMuh6AAAAACwHIoOAAAAAMuh6AAAAACwHIoOAAAAAMuh6AAAAACwHIoOAAAAAMuh6AAAAACwHIoOAAAAAMuh6AAAAACwHIoOAAAAAMuh6AAAAACwHIoOAAAAAMuh6AAAAACwHIoOAAAAAMuh6AAAAACwHIoOAAAAAMuh6AAAAACwHIoOAAAAAMuh6AAAAACwHIoOAAAAAMuh6AAAAACwHIoOAAAAAMuh6AAAAACwHIoOAAAAAMuh6AAAAACwHIoOAAAAAMuh6AAAAACwHIoOAAAAAMuh6AAAAACwHIoOAAAAAMuh6AAAAACwHIoOAAAAAMuh6AAAAACwHIoOAAAAAMuh6AAAAACwHIoOAAAAAMuh6AAAAACwHIoOAAAAAMuh6AAAAACwHIoOAAAAAMuh6AAAAACwHIoOAAAAAMuh6AAAAACwHIoOAAAAAMuh6AAAAACwHIoOAAAAAMuh6AAAAACwHIoOAAAAAMuh6AAAAACwHIoOAAAAAMuh6AAAAACwHIoOAAAAAMuh6AAAAACwHIoOAAAAAMuh6AAAAACwHIoOAAAAAMuh6AAAAACwHIoOAAAAAMuh6AAAAACwHIoOAAAAAMuh6AAAAACwHIoOAAAAAMuh6AAAAACwHIoOAAAAAMuh6AAAAACwHIoOAAAAAMuh6AAAAACwHIoOAAAAAMuh6AAAAACwHIoOAAAAAMuh6AAAAACwHIoOAAAAAMuh6AAAAACwHIoOAAAAAMspVdGZOXOmwsLC5OXlpfDwcK1fv/6y89euXavw8HB5eXmpfv36mj17dqnCAgAAAEBJOF10VqxYoXHjxunpp5/W1q1b1aVLF/Xq1UspKSkXnX/gwAH17t1bXbp00datW/XUU09p7Nix+uCDD/5yeAAAAAC4GJthGIYzG0RFRal9+/aaNWtW0VizZs3Uv39/TZ069YL5EydO1KpVq7R79+6isdGjR2vbtm368ccfS/SaWVlZCgwMVGZmpgICApyJCwAAAMBCStoN3Jx50vz8fCUlJWnSpEnFxnv06KENGzZcdJsff/xRPXr0KDbWs2dPxcXFqaCgQO7u7s5EMJdhSAXnzE4BAAAAmMPdR7LZzE5RIk4VnfT0dNntdgUHBxcbDw4O1vHjxy+6zfHjxy86v7CwUOnp6apZs+YF2+Tl5SkvL6/oflZWljMxr52Cc9K/Q8xOAQAAAJjjqWOSh6/ZKUqkVIsR2P7U4gzDuGDsSvMvNv6HqVOnKjAwsOgWGhpampgAAAAAKiin9uhUrVpVrq6uF+y9SUtLu2CvzR9q1Khx0flubm6qUqXKRbeZPHmyxo8fX3Q/KyurbJQdd5/fWywAAABQEbn7mJ2gxJwqOh4eHgoPD1dCQoIGDBhQNJ6QkKB+/fpddJuOHTvq008/LTb21VdfKSIi4pLn53h6esrT09OZaNeHzVZudtUBAAAAFZnTh66NHz9e8+bNU3x8vHbv3q3HHntMKSkpGj16tKTf98YMHTq0aP7o0aN16NAhjR8/Xrt371Z8fLzi4uL0xBNPXL13AQAAAAD/w6k9OpI0cOBAZWRkaMqUKUpNTVXLli21Zs0a1a1bV5KUmppa7Jo6YWFhWrNmjR577DG9/fbbCgkJ0fTp03XXXXddvXcBAAAAAP/D6evomIHr6AAAAACQSt4NSrXqGgAAAACUZRQdAAAAAJZD0QEAAABgORQdAAAAAJZD0QEAAABgORQdAAAAAJZD0QEAAABgORQdAAAAAJZD0QEAAABgORQdAAAAAJZD0QEAAABgORQdAAAAAJZD0QEAAABgORQdAAAAAJZD0QEAAABgORQdAAAAAJZD0QEAAABgOW5mBygJwzAkSVlZWSYnAQAAAGCmPzrBHx3hUspF0cnOzpYkhYaGmpwEAAAAQFmQnZ2twMDASz5uM65UhcoAh8OhY8eOyd/fXzabzdQsWVlZCg0N1eHDhxUQEGBqFsBZfH5RnvH5RXnG5xflXVn6DBuGoezsbIWEhMjF5dJn4pSLPTouLi6qXbu22TGKCQgIMP1/MlBafH5RnvH5RXnG5xflXVn5DF9uT84fWIwAAAAAgOVQdAAAAABYDkXHSZ6ennruuefk6elpdhTAaXx+UZ7x+UV5xucX5V15/AyXi8UIAAAAAMAZ7NEBAAAAYDkUHQAAAACWQ9EBAAAAYDkUHQAAAACWQ9Fx0syZMxUWFiYvLy+Fh4dr/fr1ZkcCrmjdunXq27evQkJCZLPZ9PHHH5sdCSixqVOnqkOHDvL391f16tXVv39/7d271+xYQInMmjVLrVu3LrrIYseOHfX555+bHQsolalTp8pms2ncuHFmRykRio4TVqxYoXHjxunpp5/W1q1b1aVLF/Xq1UspKSlmRwMuKycnR23atNGMGTPMjgI4be3atXr44Yf1008/KSEhQYWFherRo4dycnLMjgZcUe3atfXSSy9p8+bN2rx5s2655Rb169dPO3fuNDsa4JRNmzZp7ty5at26tdlRSozlpZ0QFRWl9u3ba9asWUVjzZo1U//+/TV16lQTkwElZ7PZ9NFHH6l///5mRwFK5eTJk6pevbrWrl2rm266yew4gNOCgoL06quvKjY21uwoQImcPXtW7du318yZM/XCCy+obdu2evPNN82OdUXs0Smh/Px8JSUlqUePHsXGe/TooQ0bNpiUCgAqnszMTEm/f1kEyhO73a53331XOTk56tixo9lxgBJ7+OGHdfvtt+vWW281O4pT3MwOUF6kp6fLbrcrODi42HhwcLCOHz9uUioAqFgMw9D48ePVuXNntWzZ0uw4QIns2LFDHTt2VG5urvz8/PTRRx+pefPmZscCSuTdd9/Vli1btGnTJrOjOI2i4ySbzVbsvmEYF4wBAK6NMWPGaPv27frhhx/MjgKUWJMmTZScnKwzZ87ogw8+0LBhw7R27VrKDsq8w4cP69FHH9VXX30lLy8vs+M4jaJTQlWrVpWrq+sFe2/S0tIu2MsDALj6HnnkEa1atUrr1q1T7dq1zY4DlJiHh4caNmwoSYqIiNCmTZv01ltvac6cOSYnAy4vKSlJaWlpCg8PLxqz2+1at26dZsyYoby8PLm6upqY8PI4R6eEPDw8FB4eroSEhGLjCQkJ6tSpk0mpAMD6DMPQmDFj9OGHH+rbb79VWFiY2ZGAv8QwDOXl5ZkdA7ii7t27a8eOHUpOTi66RURE6P7771dycnKZLjkSe3ScMn78eEVHRysiIkIdO3bU3LlzlZKSotGjR5sdDbiss2fP6tdffy26f+DAASUnJysoKEh16tQxMRlwZQ8//LCWLVumTz75RP7+/kV71gMDA+Xt7W1yOuDynnrqKfXq1UuhoaHKzs7Wu+++q++//15ffPGF2dGAK/L397/gfEhfX19VqVKlXJwnSdFxwsCBA5WRkaEpU6YoNTVVLVu21Jo1a1S3bl2zowGXtXnzZnXr1q3o/vjx4yVJw4YN04IFC0xKBZTMH0v6d+3atdj4/PnzFRMTc/0DAU44ceKEoqOjlZqaqsDAQLVu3VpffPGFbrvtNrOjAZbHdXQAAAAAWA7n6AAAAACwHIoOAAAAAMuh6AAAAACwHIoOAAAAAMuh6AAAAACwHIoOAAAAAMuh6AAAAACwHIoOAAAAAMuh6AAAAACwHIoOAAAAAMuh6AAAAACwHIoOAAAAAMv5f9NNDO+CAGh9AAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 1000x700 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "pd.DataFrame(history.history)[['accuracy', 'val_accuracy']].plot(figsize=(10,7))\n",
    "plt.title(\"Accuracy Curves\")\n",
    "plt.xticks([0, 1, 2, 3, 4])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "id": "e2ee3038",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1/1 [==============================] - 0s 143ms/step\n"
     ]
    }
   ],
   "source": [
    "y_pred = model.predict(x_test)\n",
    "predicted_labels = (y_pred > 0.5).astype(int)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "id": "0da01ba8",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "              precision    recall  f1-score   support\n",
      "\n",
      "    Negative       0.00      0.00      0.00       1.0\n",
      "    Positive       0.00      0.00      0.00       0.0\n",
      "\n",
      "    accuracy                           0.00       1.0\n",
      "   macro avg       0.00      0.00      0.00       1.0\n",
      "weighted avg       0.00      0.00      0.00       1.0\n",
      "\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\Work\\anaconda3\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:1469: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n",
      "  _warn_prf(average, modifier, msg_start, len(result))\n",
      "C:\\Users\\Work\\anaconda3\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:1469: UndefinedMetricWarning: Recall and F-score are ill-defined and being set to 0.0 in labels with no true samples. Use `zero_division` parameter to control this behavior.\n",
      "  _warn_prf(average, modifier, msg_start, len(result))\n",
      "C:\\Users\\Work\\anaconda3\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:1469: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n",
      "  _warn_prf(average, modifier, msg_start, len(result))\n",
      "C:\\Users\\Work\\anaconda3\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:1469: UndefinedMetricWarning: Recall and F-score are ill-defined and being set to 0.0 in labels with no true samples. Use `zero_division` parameter to control this behavior.\n",
      "  _warn_prf(average, modifier, msg_start, len(result))\n",
      "C:\\Users\\Work\\anaconda3\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:1469: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n",
      "  _warn_prf(average, modifier, msg_start, len(result))\n",
      "C:\\Users\\Work\\anaconda3\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:1469: UndefinedMetricWarning: Recall and F-score are ill-defined and being set to 0.0 in labels with no true samples. Use `zero_division` parameter to control this behavior.\n",
      "  _warn_prf(average, modifier, msg_start, len(result))\n"
     ]
    }
   ],
   "source": [
    "report = classification_report(y_test, predicted_labels, target_names=['Negative', 'Positive'])\n",
    "print(report)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "id": "4f3bef91",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgMAAAGxCAYAAAD/MbW0AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAAnvUlEQVR4nO3df1jV9f3/8ccR5aAZNCERDBVtGkZlQj/AMX/TyI/LzSbLLfwBJunmFPXbB/0u1O0a6XczywRzSuRm6lbarDEnn2mmQfsg4srks1paZEF8oCv8GSK+v3/4gU/nfUA5duigr/vtus51zdd5n/frdbp2rvPg+Xyd99thWZYlAABgrE6+XgAAAPAtwgAAAIYjDAAAYDjCAAAAhiMMAABgOMIAAACGIwwAAGA4wgAAAIYjDAAAYDjCADqct956S9OmTVNkZKQCAgLUvXt3DR06VCtWrNBnn33WrnOXlZVp+PDhCgoKksPh0KpVq7w+h8Ph0JIlS7x+3svJz8+Xw+GQw+HQa6+95va8ZVm6+eab5XA4NGLEiCuaIycnR/n5+R695rXXXmt1TQC+Hp19vQDgy377299q1qxZGjRokBYuXKjBgweroaFBBw4c0Nq1a1VcXKzt27e32/zTp0/X6dOntWXLFn3jG99Qv379vD5HcXGxbrrpJq+ft62uv/56bdiwwe0Lf+/evXr//fd1/fXXX/G5c3JyFBISoqlTp7b5NUOHDlVxcbEGDx58xfMC+GoIA+gwiouL9eijj2rs2LF6+eWX5XQ6m58bO3as5s+fr507d7brGg4fPqwZM2YoKSmp3ea499572+3cbZGcnKxNmzZpzZo1CgwMbB7fsGGD4uLidOLEia9lHQ0NDXI4HAoMDPT5fxPAdLQJ0GH86le/ksPh0Lp161yCQBN/f39997vfbf73hQsXtGLFCt1yyy1yOp3q2bOnUlJSdPz4cZfXjRgxQtHR0SopKVFCQoK6deum/v3764knntCFCxck/W8J/fz588rNzW0up0vSkiVLmv/3lzW95oMPPmge2717t0aMGKHg4GB17dpVffr00cSJE3XmzJnmY1pqExw+fFgPPPCAvvGNbyggIEBDhgzR888/73JMUzl98+bNWrx4scLDwxUYGKgxY8bon//8Z9v+I0t66KGHJEmbN29uHqurq9NLL72k6dOnt/iapUuX6p577lGPHj0UGBiooUOHasOGDfryfc769eund955R3v37m3+79dUWWla++9+9zvNnz9fvXv3ltPp1L/+9S+3NkFNTY0iIiIUHx+vhoaG5vMfOXJE1113nR5++OE2v1cAbUMYQIfQ2Nio3bt3KyYmRhEREW16zaOPPqrHHntMY8eO1Y4dO/SLX/xCO3fuVHx8vGpqalyOraqq0o9+9CP9+Mc/1o4dO5SUlKTMzEz9/ve/lySNGzdOxcXFkqQHH3xQxcXFzf9uqw8++EDjxo2Tv7+/8vLytHPnTj3xxBO67rrrdO7cuVZf989//lPx8fF655139PTTT2vbtm0aPHiwpk6dqhUrVrgdv2jRIn344Ydav3691q1bp/fee0/jx49XY2Njm9YZGBioBx98UHl5ec1jmzdvVqdOnZScnNzqe5s5c6b+8Ic/aNu2bfr+97+vn/70p/rFL37RfMz27dvVv39/3Xnnnc3//ewtnczMTFVUVGjt2rV65ZVX1LNnT7e5QkJCtGXLFpWUlOixxx6TJJ05c0Y/+MEP1KdPH61du7ZN7xOAByygA6iqqrIkWT/84Q/bdHx5ebklyZo1a5bL+N///ndLkrVo0aLmseHDh1uSrL///e8uxw4ePNi67777XMYkWbNnz3YZy8rKslr6qDz33HOWJOvYsWOWZVnWiy++aEmyDh06dMm1S7KysrKa//3DH/7QcjqdVkVFhctxSUlJVrdu3azPP//csizL2rNnjyXJuv/++12O+8Mf/mBJsoqLiy85b9N6S0pKms91+PBhy7Is66677rKmTp1qWZZl3Xrrrdbw4cNbPU9jY6PV0NBgLVu2zAoODrYuXLjQ/Fxrr22a79vf/narz+3Zs8dlfPny5ZYka/v27daUKVOsrl27Wm+99dYl3yOAK0NlAFelPXv2SJLbRrW7775bUVFR+tvf/uYy3qtXL919990uY7fffrs+/PBDr61pyJAh8vf31yOPPKLnn39eR48ebdPrdu/erdGjR7tVRKZOnaozZ864VSi+3CqRLr4PSR69l+HDh2vAgAHKy8vT22+/rZKSklZbBE1rHDNmjIKCguTn56cuXbro8ccfV21traqrq9s878SJE9t87MKFCzVu3Dg99NBDev7557V69WrddtttbX49gLYjDKBDCAkJUbdu3XTs2LE2HV9bWytJCgsLc3suPDy8+fkm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",
      "text/plain": [
       "<Figure size 640x480 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "cm = confusion_matrix(y_test, predicted_labels)\n",
    "sns.heatmap(cm, cmap='crest', annot=True, fmt=\".0f\")\n",
    "plt.title(\"Confusion Matrix\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "39624621",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
