{ "nbformat": 4, "nbformat_minor": 0, "metadata": { "colab": { "provenance": [] }, "kernelspec": { "name": "python3", "display_name": "Python 3" }, "language_info": { "name": "python" } }, "cells": [ { "cell_type": "markdown", "source": [ "# SVM" ], "metadata": { "id": "V0Rh41ofqyFS" } }, { "cell_type": "markdown", "source": [ "## Imports" ], "metadata": { "id": "Xp6rA2ozqzg6" } }, { "cell_type": "code", "execution_count": 1, "metadata": { "id": "OXIFiGBSqpew" }, "outputs": [], "source": [ "import pandas as pd\n", "import numpy as np\n", "import joblib\n", "import time\n", "\n", "from scipy.sparse import csr_matrix, hstack\n", "\n", "from sklearn.svm import LinearSVC\n", "from sklearn.calibration import CalibratedClassifierCV\n", "\n", "from sklearn.metrics import (\n", " accuracy_score,\n", " precision_score,\n", " recall_score,\n", " f1_score,\n", " confusion_matrix,\n", " classification_report,\n", " ConfusionMatrixDisplay,\n", " roc_auc_score\n", ")\n", "\n", "import matplotlib.pyplot as plt\n" ] }, { "cell_type": "code", "source": [], "metadata": { "id": "F6t8FWCqq1Do" }, "execution_count": 1, "outputs": [] }, { "cell_type": "code", "source": [ "# data = pd.read_csv(\"/content/cleaned_sentiment140.csv\")\n", "features = pd.read_csv(\"/content/handcrafted_features.csv\")\n", "\n", "tfidf = joblib.load(\"/content/tfidf_vectorizer.pkl\")\n", "scaler = joblib.load(\"/content/feature_scaler.pkl\")\n", "\n", "train_idx = joblib.load(\"/content/train_indices.pkl\")\n", "test_idx = joblib.load(\"/content/test_indices.pkl\")" ], "metadata": { "id": "kYob05jpq4gS" }, "execution_count": 3, "outputs": [] }, { "cell_type": "code", "source": [ "# print(data.shape)\n", "print(features.shape)\n", "\n", "print(len(train_idx))\n", "print(len(test_idx))" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "7w-XBhEGq4dy", "outputId": "c12d0622-e975-485c-a73c-4329fc58c08b" }, "execution_count": 4, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "(1592688, 19)\n", "1274150\n", "318538\n" ] } ] }, { "cell_type": "code", "source": [ "x_train = joblib.load(\"/content/x_train.pkl\")\n", "x_test = joblib.load(\"/content/x_test.pkl\")\n", "\n", "y_train = joblib.load(\"/content/y_train.pkl\")\n", "y_test = joblib.load(\"/content/y_test.pkl\")" ], "metadata": { "id": "V8Gv2K-Jq4bA" }, "execution_count": 5, "outputs": [] }, { "cell_type": "code", "source": [ "print(x_train.shape)\n", "print(x_test.shape)\n", "print(y_train.shape)\n", "print(y_test.shape)\n", "print(features.shape)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "BrefvziitUq8", "outputId": "d0eb5551-3515-471c-a45d-9e8a7d3be2db" }, "execution_count": 6, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "(1274150,)\n", "(318538,)\n", "(1274150,)\n", "(318538,)\n", "(1592688, 19)\n" ] } ] }, { "cell_type": "code", "source": [ "x_train_tf = tfidf.transform(x_train)\n", "x_test_tf = tfidf.transform(x_test)" ], "metadata": { "id": "mfMQMjycq4Yp" }, "execution_count": 7, "outputs": [] }, { "cell_type": "code", "source": [ "print(x_train_tf.shape)\n", "print(x_test_tf.shape)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "PWvhoo72q4Wx", "outputId": "ea636cd9-e15c-458e-a055-e21a0327f2aa" }, "execution_count": 8, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "(1274150, 50000)\n", "(318538, 50000)\n" ] } ] }, { "cell_type": "code", "source": [ "features_train = features.loc[x_train.index]\n", "features_test = features.loc[x_test.index]\n", "\n", "print(features_train.shape)\n", "print(features_test.shape)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "DtGh0ICeq4UY", "outputId": "bb659579-2c5f-4774-95d4-48e59f12fe58" }, "execution_count": 9, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "(1274150, 19)\n", "(318538, 19)\n" ] } ] }, { "cell_type": "code", "source": [ "features_train_scaled = scaler.transform(features_train)\n", "features_test_scaled = scaler.transform(features_test)" ], "metadata": { "id": "-Jd8CAqtq4R9" }, "execution_count": 10, "outputs": [] }, { "cell_type": "code", "source": [ "features_train_sparse = csr_matrix(features_train_scaled)\n", "features_test_sparse = csr_matrix(features_test_scaled)" ], "metadata": { "id": "H4PmbhQYq4P3" }, "execution_count": 11, "outputs": [] }, { "cell_type": "code", "source": [ "x_train_final = hstack([x_train_tf, features_train_sparse])\n", "x_test_final = hstack([x_test_tf, features_test_sparse])\n", "\n", "print(x_train_final.shape)\n", "print(x_test_final.shape)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "1FOWEJkNq4Nu", "outputId": "3a9214bb-39fa-46fa-e784-c20ee7922bdd" }, "execution_count": 12, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "(1274150, 50019)\n", "(318538, 50019)\n" ] } ] }, { "cell_type": "code", "source": [], "metadata": { "id": "LXEeN9vVq4Lf" }, "execution_count": 12, "outputs": [] }, { "cell_type": "markdown", "source": [ "## Base Model" ], "metadata": { "id": "oOFvw4QZt1ZM" } }, { "cell_type": "code", "source": [ "# C=1.0 → Standard regularization (good baseline)\n", "# loss=\"squared_hinge\" → Default\n", "# max_iter=5000 → iterations for convergence\n", "# dual=\"auto\" → scikit-learn choose the best optimization strategy\n", "# verbose=1 → Shows training progress\n", "\n", "svm_model = LinearSVC(\n", " C=1.0,\n", " loss=\"squared_hinge\",\n", " max_iter=5000,\n", " dual='auto',\n", " random_state=42,\n", " verbose=1\n", ")" ], "metadata": { "id": "hfQlSi0Rq4Jf" }, "execution_count": 13, "outputs": [] }, { "cell_type": "code", "source": [ "import time\n", "start = time.time()\n", "svm_model.fit(x_train_final, y_train)\n", "end = time.time()\n", "\n", "print(f\"Training Time: {end-start:.2f} Seconds\")" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "uolNQAH-q4HM", "outputId": "3b3bf404-f918-4055-f504-ae38ded68f21" }, "execution_count": 14, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "[LibLinear]Training Time: 408.94 Seconds\n" ] } ] }, { "cell_type": "code", "source": [ "y_pred = svm_model.predict(x_test_final)" ], "metadata": { "id": "YTIQQDZsq4FL" }, "execution_count": 15, "outputs": [] }, { "cell_type": "code", "source": [ "# Instead of predict Proba we use Scores\n", "scores = svm_model.decision_function(x_test_final)" ], "metadata": { "id": "8wVb11rsq4DJ" }, "execution_count": 16, "outputs": [] }, { "cell_type": "code", "source": [ "roc_auc = roc_auc_score(y_test, scores)" ], "metadata": { "id": "GnmQ155rq4BK" }, "execution_count": 17, "outputs": [] }, { "cell_type": "code", "source": [ "print(f\"Accuracy : {accuracy_score(y_test, y_pred):.4f}\")\n", "print(f\"Precision: {precision_score(y_test, y_pred):.4f}\")\n", "print(f\"Recall : {recall_score(y_test, y_pred):.4f}\")\n", "print(f\"F1 Score : {f1_score(y_test, y_pred):.4f}\")\n", "print(f\"Roc_Auc Score : {roc_auc:.4f}\")" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "qpJr4Zfjq3-V", "outputId": "ec413a42-4cb4-42e9-be21-4a955cbc42ba" }, "execution_count": 18, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Accuracy : 0.7961\n", "Precision: 0.7851\n", "Recall : 0.8155\n", "F1 Score : 0.8000\n", "Roc_Auc Score : 0.8774\n" ] } ] }, { "cell_type": "code", "source": [ "# Classification Report\n", "print(f\"Classification_Report: \\n \\n {classification_report(y_test, y_pred)}\")" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "DQ30dzfmq38a", "outputId": "6ae13bb4-92d2-4756-d21b-7e42bbe4f32c" }, "execution_count": 19, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Classification_Report: \n", " \n", " precision recall f1-score support\n", "\n", " 0 0.81 0.78 0.79 159267\n", " 1 0.79 0.82 0.80 159271\n", "\n", " accuracy 0.80 318538\n", " macro avg 0.80 0.80 0.80 318538\n", "weighted avg 0.80 0.80 0.80 318538\n", "\n" ] } ] }, { "cell_type": "code", "source": [ "ConfusionMatrixDisplay.from_predictions(\n", " y_test,\n", " y_pred,\n", " cmap = \"Blues\"\n", ")\n", "\n", "plt.title(\"SVM (TF-IDF)\")\n", "plt.show()" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 472 }, "id": "_vmm71aYq36M", "outputId": "ab4a472d-cb04-4766-fd56-31ff5e0165d3" }, "execution_count": 20, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "iVBORw0KGgoAAAANSUhEUgAAAhUAAAHHCAYAAAAI+qrHAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAT49JREFUeJzt3Xl8Dff6B/DPOYksIpslyyEi1silYo1oKRWiFCluhaiUlNtW1FpLEVFUS+1USpdUK20o8iNVldqiRBCiqMQWxJIoiRwJWc/8/kgzdZqQ5cyIZD7vvs7r9sw8M/OcUzd5PN/vd0YlCIIAIiIiIgOpKzsBIiIiqh5YVBAREZEkWFQQERGRJFhUEBERkSRYVBAREZEkWFQQERGRJFhUEBERkSRYVBAREZEkWFQQERGRJFhUEFWSzMxM2NnZYdOmTZWdiqx8fX3xxhtvVHYaRPQMsKigaufMmTMYMmQInJ2dYWZmhvr166NXr15YvXo1AODkyZNQqVSYPXv2E89x8eJFqFQqTJ48GQAQHBwMlUoFtVqN5OTkYvFarRbm5uZQqVQIDAwsU54rV66EpaUlfH19cfXqVahUqjK9rl69igMHDjxxv6+vb6nXbtSoEV577TW9bY+fw9jYGLVr10b79u0xYcIE/Pnnn8XO8bScO3fuLMZNnz4dW7duxenTp8v0vRBR1WVc2QkQSenIkSPo0aMHGjZsiDFjxsDBwQHJyck4evQoVq5cifHjx6Ndu3ZwdXXFDz/8gAULFpR4nrCwMADAiBEj9Labmprihx9+wLRp0/S2b9u2rVx55uXlYeXKlZg0aRKMjIxQr149fPfdd3oxS5cuxY0bN7B8+XK97fXq1cPVq1cBAO+//z46duyot79Ro0blyuVxvXr1wsiRIyEIAjIyMnD69Gl8++23+Pzzz/Hpp5+KRdbjhg0bhr59+xbLsUjbtm3RoUMHLF26FBs3bqxwbkRUBQhE1Ujfvn2FevXqCenp6cX2paamiv8+f/58AYAQExNT4nlatGghuLq6iu/nzp0rABAGDRokuLu7F4vv1auXMHjwYAGAMG7cuFLz3LZtmwBAuHTp0hNj+vXrJzg7O5e4b//+/QIAYcuWLaVeqyTOzs5Cv3799LY9Kfe7d+8Knp6eAgDh559/FrcnJSUJAIQlS5aUer3PPvtMsLCwEB48eFChfImoauDwB1Urly9fxn/+8x/Y2NgU22dnZyf+u5+fH4B/OhKPi4uLQ2JiohjzuOHDhyM+Ph4JCQnitpSUFOzbtw/Dhw8vc54RERFo1KgRmjRpUuZjKkudOnXw448/wtjYGAsXLqzQOXr16oWsrCxERUVJnB0RPU9YVFC14uzsjLi4OJw9e/apcS4uLujSpQs2b96MgoICvX1FhUZJRUK3bt3QoEEDvWIkPDwctWrVQr9+/cqc55EjR9CuXbsyxz/JgwcPcPfuXb2XTqcz+Lz/1rBhQ7z88ss4evQotFqt3r6HDx8WyyEvL08vxs3NDebm5jh8+LDkuRHR84NFBVUrU6dOxcOHD+Hu7o4uXbpg+vTp2LNnT7FfckBhtyI1NRV79+4Vt+l0OoSHh8PT0xONGzcudkzRRMgffvhB3LZp0yYMGjQIpqamZcoxPz8fly9fhouLSwU+ob7Ro0ejXr16eq/r168bfN6StGrVCjqdTpzPUWTu3LnFcvh38WBsbAwnJ6cSJ3wSUfXBooKqlV69eiEmJgYDBgzA6dOnsXjxYnh7e6N+/frYsWOHXuzQoUNRo0YNva7DwYMHcfPmzRKHPooMHz4cly5dwvHjx8X/Lc/QR1paGgRBgK2tbfk/4L8EBQUhKipK7+Xg4GDweUtSq1YtAIXdkceNHTu2WA5t2rQpdrytrS3u3r0rS25E9Hzg6g+qdjp27Iht27YhNzcXp0+fxvbt27F8+XIMGTIE8fHxcHNzA1A4V8Db2xvbt29HSEgIzMzMEBYWBmNj46feV6Ft27ZwdXVFWFgYbGxs4ODggFdeeaXceQqCUOHPWKR169bw8vIqcV9GRgYePXokvjcxMUHt2rUrfK3MzEwAgKWlpd72Zs2aPTGHxwmCAJVKVeHrE9Hzj50KqrZMTEzQsWNHfPzxx1i3bh3y8vKwZcsWvZgRI0ZAq9UiMjISubm52Lp1K3r37q23JLIkw4cPR3h4OMLCwjB06FCo1WX/v1Lt2rWhUqmQnp5eoc9VVhMmTICjo6P4GjRokEHnO3v2LIyMjCo8bJOeno66desalAMRPd/YqSBF6NChAwDg9u3betsHDBgAS0tLhIWFoUaNGkhPT3/q0EeR4cOHIygoCLdv3y52f4nSGBsbo0mTJkhKSirXceU1bdo0vftsGDLccv36dRw8eBCenp7FOhVlkZ+fj+TkZAwYMKDCORDR849FBVUr+/fvR/fu3Yu12Xft2gUAaNGihd52c3NzvP766wgPD8fDhw9hYWGBgQMHlnqdJk2aYMWKFXj06BE6depU7jw9PT1x4MCBch9XHm5ubuJQjyHS0tIwbNgwFBQUYNasWRU6x59//ons7Gx06dLF4HyI6PnFooKqlfHjx+Phw4d4/fXX4erqitzcXBw5cgTh4eFo1KgRRo0aVeyYESNGYOPGjfj111/h5+cHCwuLMl1rwoQJFc5z4MCB+O6773DhwgU0b968wueR2oULF/D9999DEARotVqcPn0aW7ZsQWZmJpYtW4Y+ffpU6LxRUVGoWbMmevXqJXHGRPQ8YVFB1cpnn32GLVu2YNeuXVi/fj1yc3PRsGFDvPfee5g9e3aJN8V65ZVX4OjoiNu3b5dp6EMK/fv3R926dbF58+anPoPkWStavaFWq2FlZQUXFxf4+/tj7NixBnU9tmzZgkGDBlVo6ISIqg6VIMUUdCIqt/nz5+Obb77BxYsXYWRkVNnpyCY+Ph7t2rXDyZMn4e7uXtnpEJGMWFQQVZLMzEw0btwYy5cvf2Ydksrg6+sLnU6HzZs3V3YqRCQzFhVEREQkCd6ngoiIiCTBooKIiIgkwaKCiIiIJMGigoiIiCRRpe9TodPpcOvWLVhaWvJBRUREVZAgCHjw4AE0Gk25nqFTXtnZ2cjNzTX4PCYmJjAzM5Mgo+qpShcVt27dgpOTU2WnQUREBkpOTkaDBg1kOXd2djbMLesA+Q8NPpeDgwOSkpJYWDxBlS4qiu7OZ+IxBSpj00rOhkge5zdPqewUiGTz4IEWbVxdZL3bam5uLpD/EKZu/oCRScVPVJCLlD+/RW5uLouKJ6jSRUXRkIfK2BQqY/4HpurJ0sqqslMgkt0zGcI2NoPKgKJCUHEaYmmqdFFBRERUZioAhhQvnLpXKhYVRESkDCp14cuQ4+mp+A0RERGRJNipICIiZVCpDBz+4PhHaVhUEBGRMnD4Q3b8hoiIiEgS7FQQEZEycPhDdiwqiIhIIQwc/mBzv1T8hoiIiEgS7FQQEZEycPhDdiwqiIhIGbj6Q3b8hoiIiEgS7FQQEZEycPhDdiwqiIhIGTj8ITsWFUREpAzsVMiOZRcRERFJgp0KIiJSBg5/yI5FBRERKYNKZWBRweGP0rDsIiIiIkmwU0FERMqgVhW+DDmenopFBRERKQPnVMiO3xARERFJgp0KIiJSBt6nQnYsKoiISBk4/CE7fkNEREQkCXYqiIhIGTj8ITsWFUREpAwc/pAdiwoiIlIGdipkx7KLiIiIJMGigoiIlKFo+MOQVzlER0ejf//+0Gg0UKlUiIiIEPfl5eVh+vTpaN26NSwsLKDRaDBy5EjcunVL7xxpaWnw8/ODlZUVbGxsEBAQgMzMTL2YP/74A127doWZmRmcnJywePHiYrls2bIFrq6uMDMzQ+vWrbFr1y69/YIgICgoCI6OjjA3N4eXlxcuXrxYrs8LsKggIiKlKBr+MORVDllZWWjTpg3Wrl1bbN/Dhw9x8uRJzJkzBydPnsS2bduQmJiIAQMG6MX5+fnh3LlziIqKQmRkJKKjozF27Fhxv1arRe/eveHs7Iy4uDgsWbIEwcHBWL9+vRhz5MgRDBs2DAEBATh16hR8fHzg4+ODs2fPijGLFy/GqlWrEBISgtjYWFhYWMDb2xvZ2dnl+swqQRCEch3xHNFqtbC2tobpix9CZWxW2ekQySI5cmZlp0AkmwdaLRrXr4OMjAxYWVnJcg3xd4XXxwb9rhDys5Hz24cVylWlUmH79u3w8fF5Yszx48fRqVMnXLt2DQ0bNsT58+fh5uaG48ePo0OHDgCA3bt3o2/fvrhx4wY0Gg3WrVuHWbNmISUlBSYmJgCAGTNmICIiAgkJCQCAoUOHIisrC5GRkeK1OnfuDHd3d4SEhEAQBGg0GkyZMgVTp04FAGRkZMDe3h6hoaHw9fUt8+dkp4KIiBTC0KGPwl+ZWq1W75WTkyNJdhkZGVCpVLCxsQEAxMTEwMbGRiwoAMDLywtqtRqxsbFiTLdu3cSCAgC8vb2RmJiI9PR0McbLy0vvWt7e3oiJiQEAJCUlISUlRS/G2toaHh4eYkxZsaggIiJlkGj4w8nJCdbW1uJr0aJFBqeWnZ2N6dOnY9iwYWIXJCUlBXZ2dnpxxsbGqF27NlJSUsQYe3t7vZii96XFPL7/8eNKiikrLiklIiIqh+TkZL3hD1NTU4POl5eXhzfeeAOCIGDdunWGplepWFQQEZEyqFQG3vyqsFNhZWUl2fyPooLi2rVr2Ldvn955HRwccOfOHb34/Px8pKWlwcHBQYxJTU3Viyl6X1rM4/uLtjk6OurFuLu7l+vzcPiDiIiU4RkvKS1NUUFx8eJF/Pbbb6hTp47efk9PT9y/fx9xcXHitn379kGn08HDw0OMiY6ORl5enhgTFRWFFi1awNbWVozZu3ev3rmjoqLg6ekJAHBxcYGDg4NejFarRWxsrBhTViwqiIiIZJCZmYn4+HjEx8cDKJwQGR8fj+vXryMvLw9DhgzBiRMnsGnTJhQUFCAlJQUpKSnIzc0FALRs2RJ9+vTBmDFjcOzYMRw+fBiBgYHw9fWFRqMBAAwfPhwmJiYICAjAuXPnEB4ejpUrV2Ly5MliHhMmTMDu3buxdOlSJCQkIDg4GCdOnEBgYCCAwpUpEydOxIIFC7Bjxw6cOXMGI0eOhEajeepqlZJw+IOIiJThGd+m+8SJE+jRo4f4vugXvb+/P4KDg7Fjxw4AKDbEsH//fnTv3h0AsGnTJgQGBqJnz55Qq9UYPHgwVq1aJcZaW1tjz549GDduHNq3b4+6desiKChI714WXbp0QVhYGGbPno0PP/wQzZo1Q0REBFq1aiXGTJs2DVlZWRg7dizu37+Pl156Cbt374aZWfmW4PI+FUTPOd6ngqqzZ3qfileXQ1XDvMLnEfIeIeeXSbLmWtWxU0FERMrAB4rJjnMqiIiISBLsVBARkTIYuoJD4tUf1RGLCiIiUgYOf8iOZRcRERFJgp0KIiJSBJVKBRU7FbJiUUFERIrAokJ+HP4gIiIiSbBTQUREyqD6+2XI8fRULCqIiEgROPwhPw5/EBERkSTYqSAiIkVgp0J+LCqIiEgRWFTIj0UFEREpAosK+XFOBREREUmCnQoiIlIGLimVHYsKIiJSBA5/yI/DH0RERCQJdiqIiEgRCp98bkinQrpcqisWFUREpAgqGDj8waqiVBz+ICIiIkmwU0FERIrAiZryY1FBRETKwCWlsuPwBxEREUmCnQoiIlIGA4c/BA5/lIpFBRERKYKhcyoMWzmiDCwqiIhIEVhUyI9zKoiIiEgS7FQQEZEycPWH7FhUEBGRInD4Q34c/iAiIiJJsFNBRESKwE6F/FhUEBGRIrCokB+HP4iIiEgS7FQQEZEisFMhPxYVRESkDFxSKjsOfxAREZEk2KkgIiJF4PCH/FhUEBGRIrCokB+LCiIiUgQWFfLjnAoiIiKSBDsVRESkDFz9ITsWFUREpAgc/pAfhz+IiIhIEuxUVDNdWjfE+Dc80aaZIxzrWsIvaDN2HUkEABgbqTF7VA/08mgKZwcbaLNycPBUEuZ9uRcp9zLFc4R9NBStm9qjro0F7j94hIMnkxD8WMz0kd0wY+TLxa6d9SgXDfp/Kr4f2K0lPnyrOxo62ODKzTQEb9iLqGOX9I5p3rAugt/uiRfbNISRWo3E63fhP28LbtzRyvH1UDWzcfvv+C7iMG6kpAEAmrs4YOJb3ujR2Q0A8N/xq3E0/rLeMSMGdsGiqW+I7526Tix23jVzR2KgVzvxfU5uPlaE/orte07grzQt7OpYYcJb3vDt1xkAkJh0G0u/+gVnEpNxIyUdc8f74O03ukv8aclQ7FTI77koKtauXYslS5YgJSUFbdq0werVq9GpU6fKTqtKqmlWA2evpOL73fH4ft4bxfa90MwBS74/hLOXU2FjaYZF73kj7KOheGXcV2LcodNXseyH35F6LxOOdS0x/39e+DZoCLwnhAIA1myOwTc74/TOHbHkTZxKvCW+7+TWAF/OGoSPvtqHX49exJBXWuH7eW+g+7sbcP7qXwCARo62+GWFP77/JR6LNh7Eg6wctGxUD9m5+TJ9O1TdONrZYOY7/eHSoB4EQcCW3ccRMPMr/PL1VLRwcQQADO/viSkBr4rHmJuZFDvP0pnD0N2jpfjeqpa53v5354bibtoDLJnhi0b16+LOPS10OkHc/yg7Dw0d66Bfd3d8tDpC4k9JUlHBwKKCkypKVelFRXh4OCZPnoyQkBB4eHhgxYoV8Pb2RmJiIuzs7Co7vSrnt+OX8dvxyyXu02blYND0TXrbpq35BfvWvo0GdlZid2Dd1lhxf/KdDKz48Qi+n/cGjI3UyC/QISs7D1nZeWJMq8b2aNmoHqas+Fnc9r9BnbD3+CWs3hwDAPg49AC6t3fBmIEdMXnlLgDAnNE9EBV7CXM37BWPu3o73cBvgJSk14ut9N5PH9sP30Ucxqlz18SiwtysBuzqWD31PFa1zJ8Ysz/2PGLjL+H38DmwtbIAADg51tGLcW/ZEO4tGwIAPvliZ4U+C1F1UOlzKpYtW4YxY8Zg1KhRcHNzQ0hICGrWrImvv/66slNTBCsLM+h0AjIys0vcb2NphiE9W+HYn8nIL9CVGPNmX3dcTL6HmLPJ4rZObg1w4GSSXty+41fQ0a0BAEClAnp5NMWlG2n46ZPhuLBlMqJWj0bfLi0k+mSkNAUFOvzfbyfxKDsH7f7TSNy+fU8cXnhtFnqO/ASfhOzEo+zcYsfOXr4VL7w2C6+NXYYffz4KQfinCxH1+1m80KIhQsL2ocPrc9Ft2ELMX/t/eJRT/Dz0fCsa/jDkRU9XqZ2K3NxcxMXFYebMmeI2tVoNLy8vxMTEVGJmymBawwjBb/fE1v1n8eCh/g/I4Ld74u2BHWBhboJjf96A7+wfn3iO/77SGit+PKy33c62Fv5Kz9Lb9tf9TNjVLvybXj0bC1jWNMVE3y5YGHoAwRv2wqtjE3wX/F/0n7oRR/64LuEnpers/OVb8Hl3BXJy82FhboINCwPQ3MUBAODTqz3q29vCvq41Ei7fwschO3E5+S9sWDhaPH5KwKt4sV0zmJuZIPp4AmYv+wkPH+Vg9JDCeUPXb93D8TNXYGpijA0LRyM9Iwuzlm1BekYWln04vFI+M1UQl5TKrlKLirt376KgoAD29vZ62+3t7ZGQkFAsPicnBzk5OeJ7rZaT+SrK2EiNb+YMgUoFTPl7OOJxqzYfwXe/nIKTvTWmj+yGkOkDMXRW8cLitZdcUaumCX7Y80e5rq9WF/6/85eYC+Jwy9nLqejk5oTRr7VnUUFl1qShHXZ//QEeZGVj1/54TFq4CVtWj0dzFwf4DegixrVsooFdHSv4TvwcV2/eRaP6dQEAE9/yFmNaNW+Ah49yEfLDfrGo0AkCABVWBb0pzrUICvTB/+aEYuGUITA3LT5Hg0ipKn34ozwWLVoEa2tr8eXk5FTZKVVJhQXFYDjZW+P16ZuKdSkAIE37CJdvpuHAySQELNiG3h7N0LFl/WJxb77aFr8evYi/7ut3Je6kZ6KerYXetno2tXAnrTDuXsZD5OUXIOHaX3oxF67fRQM7a0M/IimISQ1juDSohxdaOGHGO/3h1rQ+vv7pYImxbd2cAQBXb/xV4v6imNt37iPn7wnD9nWs4FDPWm/yZlNnewiCgJQ7GRJ+EpIbhz/kV6lFRd26dWFkZITU1FS97ampqXBwcCgWP3PmTGRkZIiv5OTkYjH0dEUFRZP6teEz7Xukax+VekxRV8HERL+x1dDBBl3dG+H7X+KLHXPszxt4ua2L3rYe7V1w/M8bAIC8fB1OJd5Cswb6E96aNKiNZP6gJgPoBEEsCP7t3MWbAAD7Ok8uXM9duglry5ow/fvPe4fWLki9m4Gsh/90Sa8k/wW1WgUHFsBVCosK+VXq8IeJiQnat2+PvXv3wsfHBwCg0+mwd+9eBAYGFos3NTWFqanpM86yarEwqwGX+rXF986ONmjVxB73HzxCyr1MfDt3CNo0dYDv7HAYqVWw+7ubkP7gEfLydWjvqkG7FhrEnE1GxoNsNNLYYtZb3XHlZppYEBQZ0ccdKWkPEHVc/94TAPDFtmOIXDYS44Z0xp7YixjU4z9wb67BxOX/rBBZtTkGX88ejCNnruNQ/FV4dWyCPp7N0X/KRpm+HapuPgnZie6d3VDf3gaZD3Pwf1FxiDl1Cd8vfQdXb95FRFQcXvF0g61VTZy/fBvzVm+HR5smaNlUAwCIOnwWd9MeoO1/GsHUxBiHjidizXe/4X++PcRr+Hi1x8pv92DKojBMHv0q0jKysPDzHRja10Mc+sjNy8fFqyl//3sBUv7KwLmLN1DT3BQuDeo9+y+GSqRSFb4MOZ6eTiU8Ps25EoSHh8Pf3x9ffPEFOnXqhBUrVmDz5s1ISEgoNtfi37RaLaytrWH64odQGZs9o4yfby+2cUbk0pHFtof9ehqfbDyIPza9X+Jxr03ZiMOnr8HNxQ6L3uuNVk3sUdPMBKn3HmDvicv47PvfcfveAzFepQLObHofP0adwYJv9pd4zoHdWmLWqB5oaG+NKzfTMLeEm1/59WmDSb4vQlPPCpeS72HRxoP45cgFA76B6ic5cmbpQQo19ZMfcDjuAu7c08LSwhwtm2jwrl9PdOvYArdS0/H+/O+RmHQbj7Jz4Whngz5dX8D7/r1haVH482J/7Hl8+kUkrt64CwECGtWvizd9XsTw/p5Qq/9p5F66loqgFVtx/EwSbK0t8FoPd3wwpq9YVCTfvocub8wvll9n9ybYsnr8s/kyqqgHWi0a16+DjIwMWFk9felvRRX9rnAJ/Alq05oVPo8u5yGS1gyRNdeqrtKLCgBYs2aNePMrd3d3rFq1Ch4eHqUex6KClIBFBVVnz7KoaDz+J6hNLUo/4Al0OVm4sppFxdNU+s2vACAwMLDE4Q4iIiLJGDj8wSWlpatSqz+IiIjo+fVcdCqIiIjkxgeKyY9FBRERKQJXf8iPwx9EREQkCXYqiIhIEdRqlXgzv4oQDDhWKVhUEBGRInD4Q34c/iAiIiJJsKggIiJFeNbP/oiOjkb//v2h0WigUqkQERGht18QBAQFBcHR0RHm5ubw8vLCxYsX9WLS0tLg5+cHKysr2NjYICAgAJmZmXoxf/zxB7p27QozMzM4OTlh8eLFxXLZsmULXF1dYWZmhtatW2PXLv2nU5cll7JgUUFERIpQNPxhyKs8srKy0KZNG6xdu7bE/YsXL8aqVasQEhKC2NhYWFhYwNvbG9nZ2WKMn58fzp07h6ioKERGRiI6Ohpjx44V92u1WvTu3RvOzs6Ii4vDkiVLEBwcjPXr14sxR44cwbBhwxAQEIBTp07Bx8cHPj4+OHv2bLlyKYvn4jbdFcXbdJMS8DbdVJ09y9t0u02LgJEBt+kuyMnCn4t9KpSrSqXC9u3bxYdnCoIAjUaDKVOmYOrUqQCAjIwM2NvbIzQ0FL6+vjh//jzc3Nxw/PhxdOjQAQCwe/du9O3bFzdu3IBGo8G6deswa9YspKSkwMSk8Fk0M2bMQEREBBISEgAAQ4cORVZWFiIjI8V8OnfuDHd3d4SEhJQpl7Jip4KIiKgctFqt3isnJ6fc50hKSkJKSgq8vLzEbdbW1vDw8EBMTAwAICYmBjY2NmJBAQBeXl5Qq9WIjY0VY7p16yYWFADg7e2NxMREpKenizGPX6copug6ZcmlrFhUEBGRIkg1p8LJyQnW1tbia9GiReXOJSUlBQCKPY3b3t5e3JeSkgI7Ozu9/cbGxqhdu7ZeTEnnePwaT4p5fH9puZQVl5QSEZEiSLWkNDk5WW/4w9TU1MDMqg92KoiIiMrByspK71WRosLBwQEAkJqaqrc9NTVV3Ofg4IA7d+7o7c/Pz0daWppeTEnnePwaT4p5fH9puZQViwoiIlIEFQwc/pDw2ecuLi5wcHDA3r17xW1arRaxsbHw9PQEAHh6euL+/fuIi4sTY/bt2wedTgcPDw8xJjo6Gnl5eWJMVFQUWrRoAVtbWzHm8esUxRRdpyy5lBWLCiIiUoRnvaQ0MzMT8fHxiI+PB1A4ITI+Ph7Xr1+HSqXCxIkTsWDBAuzYsQNnzpzByJEjodFoxBUiLVu2RJ8+fTBmzBgcO3YMhw8fRmBgIHx9faHRaAAAw4cPh4mJCQICAnDu3DmEh4dj5cqVmDx5spjHhAkTsHv3bixduhQJCQkIDg7GiRMnEBgY+Pf3UnouZcU5FURERDI4ceIEevToIb4v+kXv7++P0NBQTJs2DVlZWRg7dizu37+Pl156Cbt374aZ2T+3SNi0aRMCAwPRs2dPqNVqDB48GKtWrRL3W1tbY8+ePRg3bhzat2+PunXrIigoSO9eFl26dEFYWBhmz56NDz/8EM2aNUNERARatWolxpQll7LgfSqInnO8TwVVZ8/yPhVtPtwJIzMD7lORnYXTH/eXNdeqjp0KIiJSBD5QTH6cU0FERESSYKeCiIgUoSIPBfv38fR0LCqIiEgROPwhPxYVRESkCOxUyI9zKoiIiEgS7FQQEZEyGDj8IeENNastFhVERKQIHP6QH4c/iIiISBLsVBARkSJw9Yf8WFQQEZEicPhDfhz+ICIiIkmwU0FERIrA4Q/5saggIiJF4PCH/Dj8QURERJJgp4KIiBSBnQr5saggIiJF4JwK+bGoICIiRWCnQn6cU0FERESSYKeCiIgUgcMf8mNRQUREisDhD/lx+IOIiIgkwU4FEREpggoGDn9Ilkn1xaKCiIgUQa1SQW1AVWHIsUrB4Q8iIiKSBDsVRESkCFz9IT8WFUREpAhc/SE/FhVERKQIalXhy5Dj6ek4p4KIiIgkwU4FEREpg8rAIQx2KkrFooKIiBSBEzXlx+EPIiIikgQ7FUREpAiqv/8x5Hh6OhYVRESkCFz9IT8OfxAREZEk2KkgIiJF4M2v5FemomLHjh1lPuGAAQMqnAwREZFcuPpDfmUqKnx8fMp0MpVKhYKCAkPyISIioiqqTEWFTqeTOw8iIiJZ8dHn8jNoTkV2djbMzMykyoWIiEg2HP6QX7lXfxQUFGD+/PmoX78+atWqhStXrgAA5syZg6+++kryBImIiKRQNFHTkBc9XbmLioULFyI0NBSLFy+GiYmJuL1Vq1b48ssvJU2OiIiIqo5yFxUbN27E+vXr4efnByMjI3F7mzZtkJCQIGlyREREUika/jDkRU9X7jkVN2/eRNOmTYtt1+l0yMvLkyQpIiIiqXGipvzK3alwc3PDoUOHim3/6aef0LZtW0mSIiIioqqn3J2KoKAg+Pv74+bNm9DpdNi2bRsSExOxceNGREZGypEjERGRwVR/vww5np6u3J2KgQMHYufOnfjtt99gYWGBoKAgnD9/Hjt37kSvXr3kyJGIiMhgXP0hvwrdp6Jr166IioqSOhciIiKqwip886sTJ07g/PnzAArnWbRv316ypIiIiKTGR5/Lr9xFxY0bNzBs2DAcPnwYNjY2AID79++jS5cu+PHHH9GgQQOpcyQiIjIYn1Iqv3LPqXj77beRl5eH8+fPIy0tDWlpaTh//jx0Oh3efvttOXIkIiKiKqDcnYqDBw/iyJEjaNGihbitRYsWWL16Nbp27SppckRERFJis0Fe5S4qnJycSrzJVUFBATQajSRJERERSY3DH/Ir9/DHkiVLMH78eJw4cULcduLECUyYMAGfffaZpMkRERFJpWiipiEveroydSpsbW31KrSsrCx4eHjA2Ljw8Pz8fBgbG2P06NHw8fGRJVEiIiJ6vpWpqFixYoXMaRAREcmLwx/yK1NR4e/vL3ceREREsuJtuuVX4ZtfAUB2djZyc3P1tllZWRmUEBEREVVN5S4qsrKyMH36dGzevBn37t0rtr+goECSxIiIiKTER5/Lr9yrP6ZNm4Z9+/Zh3bp1MDU1xZdffol58+ZBo9Fg48aNcuRIRERkMJXK8Bc9Xbk7FTt37sTGjRvRvXt3jBo1Cl27dkXTpk3h7OyMTZs2wc/PT448iYiI6DlX7k5FWloaGjduDKBw/kRaWhoA4KWXXkJ0dLS02REREUmEjz6XX7mLisaNGyMpKQkA4Orqis2bNwMo7GAUPWCMiIjoefOshz8KCgowZ84cuLi4wNzcHE2aNMH8+fMhCIIYIwgCgoKC4OjoCHNzc3h5eeHixYt650lLS4Ofnx+srKxgY2ODgIAAZGZm6sX88ccf6Nq1K8zMzODk5ITFixcXy2fLli1wdXWFmZkZWrdujV27dpXvA5VBuYuKUaNG4fTp0wCAGTNmYO3atTAzM8OkSZPwwQcfSJ4gERFRVfTpp59i3bp1WLNmDc6fP49PP/0UixcvxurVq8WYxYsXY9WqVQgJCUFsbCwsLCzg7e2N7OxsMcbPzw/nzp1DVFQUIiMjER0djbFjx4r7tVotevfuDWdnZ8TFxWHJkiUIDg7G+vXrxZgjR45g2LBhCAgIwKlTp+Dj4wMfHx+cPXtW0s+sEh4vmSrg2rVriIuLQ9OmTfHCCy9IlVeZaLVaWFtbw/TFD6EyNnum1yZ6VpIjZ1Z2CkSyeaDVonH9OsjIyJDtlgRFvytGb4yFSc1aFT5P7sNMfD3So8y5vvbaa7C3t8dXX30lbhs8eDDMzc3x/fffQxAEaDQaTJkyBVOnTgUAZGRkwN7eHqGhofD19cX58+fh5uaG48ePo0OHDgCA3bt3o2/fvrhx4wY0Gg3WrVuHWbNmISUlBSYmJgAK/9IfERGBhIQEAMDQoUORlZWFyMhIMZfOnTvD3d0dISEhFf5O/q3cnYp/c3Z2xqBBg555QUFERFQez3r4o0uXLti7dy8uXLgAADh9+jR+//13vPrqqwCApKQkpKSkwMvLSzzG2toaHh4eiImJAQDExMTAxsZGLCgAwMvLC2q1GrGxsWJMt27dxIICALy9vZGYmIj09HQx5vHrFMUUXUcqZVr9sWrVqjKf8P33369wMkRERHKR6jbdWq1Wb7upqSlMTU2Lxc+YMQNarRaurq4wMjJCQUEBFi5cKK6STElJAQDY29vrHWdvby/uS0lJgZ2dnd5+Y2Nj1K5dWy/GxcWl2DmK9tna2iIlJeWp15FKmYqK5cuXl+lkKpWKRQUREVVrTk5Oeu/nzp2L4ODgYnGbN2/Gpk2bEBYWhv/85z+Ij4/HxIkTodFoqu3jL8pUVBSt9nheXd8xnbcHp2rLtmNgZadAJBuhILf0IImoYdiYf9GxycnJer9zSupSAMAHH3yAGTNmwNfXFwDQunVrXLt2DYsWLYK/vz8cHBwAAKmpqXB0dBSPS01Nhbu7OwDAwcEBd+7c0Ttvfn4+0tLSxOMdHByQmpqqF1P0vrSYov1SMXhOBRERUVUg1X0qrKys9F5PKioePnwItVr/16yRkRF0Oh0AwMXFBQ4ODti7d6+4X6vVIjY2Fp6engAAT09P3L9/H3FxcWLMvn37oNPp4OHhIcZER0cjLy9PjImKikKLFi1ga2srxjx+naKYoutIhUUFERGRDPr374+FCxfi559/xtWrV7F9+3YsW7YMr7/+OoDCImfixIlYsGABduzYgTNnzmDkyJHQaDTw8fEBALRs2RJ9+vTBmDFjcOzYMRw+fBiBgYHw9fWFRqMBAAwfPhwmJiYICAjAuXPnEB4ejpUrV2Ly5MliLhMmTMDu3buxdOlSJCQkIDg4GCdOnEBgoLSdUIOeUkpERFRVqFSA2oCbYpZ3jufq1asxZ84cvPfee7hz5w40Gg3+97//ISgoSIyZNm0asrKyMHbsWNy/fx8vvfQSdu/eDTOzf26TsGnTJgQGBqJnz55Qq9UYPHiw3gIKa2tr7NmzB+PGjUP79u1Rt25dBAUF6d3LokuXLggLC8Ps2bPx4YcfolmzZoiIiECrVq0q/oWUwOD7VFSmorXHqffkW99MVNk4p4KqM6EgFzlnNjyT+1S898NxmBpwn4qch5n4fFhHWXOt6jj8QURERJKoUFFx6NAhjBgxAp6enrh58yYA4LvvvsPvv/8uaXJERERS4QPF5FfuomLr1q3w9vaGubk5Tp06hZycHACFtxb9+OOPJU+QiIhICmqV4S96unIXFQsWLEBISAg2bNiAGjVqiNtffPFFnDx5UtLkiIiIqOoo9+qPxMREdOvWrdh2a2tr3L9/X4qciIiIJFeR53f8+3h6unJ3KhwcHHDp0qVi23///Xc0btxYkqSIiIikplapDH7R05W7qBgzZgwmTJiA2NhYqFQq3Lp1C5s2bcLUqVPx7rvvypEjERGRwdQSvOjpyj38MWPGDOh0OvTs2RMPHz5Et27dYGpqiqlTp2L8+PFy5EhERERVQLmLCpVKhVmzZuGDDz7ApUuXkJmZCTc3N9SqVfEbihAREcmNcyrkV+HbdJuYmMDNzU3KXIiIiGSjhmHzItRgVVGachcVPXr0eOoNQPbt22dQQkRERFQ1lbuoKHrGe5G8vDzEx8fj7Nmz8Pf3lyovIiIiSXH4Q37lLiqWL19e4vbg4GBkZmYanBAREZEcDL0rJu+oWTrJVsiMGDECX3/9tVSnIyIioiqmwhM1/y0mJkbv+e9ERETPE5UKBk3U5PBH6cpdVAwaNEjvvSAIuH37Nk6cOIE5c+ZIlhgREZGUOKdCfuUuKqytrfXeq9VqtGjRAh999BF69+4tWWJERERUtZSrqCgoKMCoUaPQunVr2NraypUTERGR5DhRU37lmqhpZGSE3r1782mkRERU5agk+IeertyrP1q1aoUrV67IkQsREZFsijoVhrzo6cpdVCxYsABTp05FZGQkbt++Da1Wq/ciIiIiZSrznIqPPvoIU6ZMQd++fQEAAwYM0LtdtyAIUKlUKCgokD5LIiIiA3FOhfzKXFTMmzcP77zzDvbv3y9nPkRERLJQqVRPfXZVWY6npytzUSEIAgDg5Zdfli0ZIiIiqrrKtaSUVRoREVVVHP6QX7mKiubNm5daWKSlpRmUEBERkRx4R035lauomDdvXrE7ahIREREB5SwqfH19YWdnJ1cuREREslGrVAY9UMyQY5WizEUF51MQEVFVxjkV8ivzza+KVn8QERERlaTMnQqdTidnHkRERPIycKImH/1RunI/+pyIiKgqUkMFtQGVgSHHKgWLCiIiUgQuKZVfuR8oRkRERFQSdiqIiEgRuPpDfiwqiIhIEXifCvlx+IOIiIgkwU4FEREpAidqyo9FBRERKYIaBg5/cElpqTj8QURERJJgp4KIiBSBwx/yY1FBRESKoIZh7Xm29kvH74iIiIgkwU4FEREpgkqlgsqAMQxDjlUKFhVERKQIKhj2oFGWFKVjUUFERIrAO2rKj3MqiIiISBLsVBARkWKw1yAvFhVERKQIvE+F/Dj8QURERJJgp4KIiBSBS0rlx6KCiIgUgXfUlB+/IyIiIpIEOxVERKQIHP6QH4sKIiJSBN5RU34c/iAiIiJJsFNBRESKwOEP+bGoICIiReDqD/mxqCAiIkVgp0J+LLyIiIhIEuxUEBGRInD1h/xYVBARkSLwgWLy4/AHERERSYJFBRERKYIaKoNf5XXz5k2MGDECderUgbm5OVq3bo0TJ06I+wVBQFBQEBwdHWFubg4vLy9cvHhR7xxpaWnw8/ODlZUVbGxsEBAQgMzMTL2YP/74A127doWZmRmcnJywePHiYrls2bIFrq6uMDMzQ+vWrbFr165yf57SsKggIiJFKBr+MORVHunp6XjxxRdRo0YN/PLLL/jzzz+xdOlS2NraijGLFy/GqlWrEBISgtjYWFhYWMDb2xvZ2dlijJ+fH86dO4eoqChERkYiOjoaY8eOFfdrtVr07t0bzs7OiIuLw5IlSxAcHIz169eLMUeOHMGwYcMQEBCAU6dOwcfHBz4+Pjh79mzFv9ASqARBECQ94zOk1WphbW2N1HsZsLKyqux0iGRh2zGwslMgko1QkIucMxuQkSHfz/Gi3xXhMRdRs5Zlhc/zMPMBhno2K3OuM2bMwOHDh3Ho0KES9wuCAI1GgylTpmDq1KkAgIyMDNjb2yM0NBS+vr44f/483NzccPz4cXTo0AEAsHv3bvTt2xc3btyARqPBunXrMGvWLKSkpMDExES8dkREBBISEgAAQ4cORVZWFiIjI8Xrd+7cGe7u7ggJCanwd/Jv7FQQEZEiqCT4BygsUh5/5eTklHi9HTt2oEOHDvjvf/8LOzs7tG3bFhs2bBD3JyUlISUlBV5eXuI2a2treHh4ICYmBgAQExMDGxsbsaAAAC8vL6jVasTGxoox3bp1EwsKAPD29kZiYiLS09PFmMevUxRTdB2psKggIiJFkGr4w8nJCdbW1uJr0aJFJV7vypUrWLduHZo1a4Zff/0V7777Lt5//318++23AICUlBQAgL29vd5x9vb24r6UlBTY2dnp7Tc2Nkbt2rX1Yko6x+PXeFJM0X6pcEkpERFROSQnJ+sNf5iampYYp9Pp0KFDB3z88ccAgLZt2+Ls2bMICQmBv7//M8n1WWOngoiIFEFl4MqPouEPKysrvdeTigpHR0e4ubnpbWvZsiWuX78OAHBwcAAApKam6sWkpqaK+xwcHHDnzh29/fn5+UhLS9OLKekcj1/jSTFF+6XCooKIiBThWa/+ePHFF5GYmKi37cKFC3B2dgYAuLi4wMHBAXv37hX3a7VaxMbGwtPTEwDg6emJ+/fvIy4uTozZt28fdDodPDw8xJjo6Gjk5eWJMVFRUWjRooW40sTT01PvOkUxRdeRCosKIiJShGddVEyaNAlHjx7Fxx9/jEuXLiEsLAzr16/HuHHj/s5HhYkTJ2LBggXYsWMHzpw5g5EjR0Kj0cDHxwdAYWejT58+GDNmDI4dO4bDhw8jMDAQvr6+0Gg0AIDhw4fDxMQEAQEBOHfuHMLDw7Fy5UpMnjxZzGXChAnYvXs3li5dioSEBAQHB+PEiRMIDJR2dRnnVBAREcmgY8eO2L59O2bOnImPPvoILi4uWLFiBfz8/MSYadOmISsrC2PHjsX9+/fx0ksvYffu3TAzMxNjNm3ahMDAQPTs2RNqtRqDBw/GqlWrxP3W1tbYs2cPxo0bh/bt26Nu3boICgrSu5dFly5dEBYWhtmzZ+PDDz9Es2bNEBERgVatWkn6mXmfCqLnHO9TQdXZs7xPxfZjV2BhwH0qsjIf4PVOjWXNtapjp4KIiBRBrSp8GXI8PR3nVBAREZEk2KkgIiJFePyumBU9np6ORQURESlCRVZw/Pt4ejoOfxAREZEk2KkgIiJFUMGwIQw2KkrHooKIiBSBqz/kx+EPIiIikgQ7FdXcsm9+ReT+07h4LRVmpjXQ6YXGCA4ciGaN/nkEbtKNvzBn5XYcjb+C3Lx89PRsiU+n/hd2df65ucuwySE4c+Em7qY/gI1lTbzcqQWCxw+EYz0bMWZvzJ/4ZP0uJFy5DVOTGujStgkWTByEhpo6YszvcRcwa/k2JFxJQX17G0wd3QfD+3d+Jt8FVX1d2jbB+De90Ma1IRzrWcNv6nrsOvgHAMDYSI3Z7/ZHrxf/A+f6daDNzMbBYwmYt2YHUu5miOd4oUUDBI/3QTu3higoELBjfzxmL9+KrEe5Ykxbt4aYGzgQ7q5OEAQg7tw1BK+OwNmLN8UYH6+2mDzKG00a2uFeeiY2bD6I1d//82wF+zpWWDBxENxbNkRjp7r4IvwgPly29Rl8S/QkXP0hv0rtVERHR6N///7QaDRQqVSIiIiozHSqpSMnL+Ht/3bDnq+nYtuaQOTlF2DQ+DXIepQDAMh6lINBgWuhggr/t248fvlyEnLzCjBs8hfQ6XTiebp2aI5vFo3GsZ+C8O2nbyPpxl34T/9K3H/t5l34TV2Prh2aI3rTDGxdPQ737mfhzWkb9GKGTgxB1/aFMe8M64H3F4Zhb8yfz+4LoSqtprkpzl64iQ8WhxffZ2aCF1ydsOSrX9D9zU8xctoGNHW2R9jS/4kxDnWtEbF2PJKS/4LXqM8wZMJatGzsgLVz3xRjLMxN8NPKcbiRkg6vUZ/h1THLkPkwGz+tHgdjo8IfmV5d3LB+/lv4Zuvv6OK7EFM/Dce7w1/BmP92E89jYmKMu/cf4LOvd+sVI1R5nvWzP5SoUjsVWVlZaNOmDUaPHo1BgwZVZirV1k+rx+m9/3zuCDTrPRPx55PxYrumiD19Bddv38PB76fDqpZ5YUzwm3B5ZRqij19Adw9XAMB7w18Rz9HQsTYm+vfCiA82IC+/ADWMjRCfkIyCAh1mv/sa1OrCH7yBI3rCb+p6Mebrbb+joaYOFkwq/G/dwsUBR+MvY13YfvT01H88MFFJfjvyJ347UnIRqs3KxqDANXrbpi3ZjH3fTkMDe1vcSE2Hd9dWyMsvwNTFm1H0hILJi8Jx+McP4dKgLpJu3EWzRg6obWOBRV9E4mbqfQDA4g2/4PCPH8LJsTaSbtzF0Fc74ecDp/HNtt8BANdu3sPy0D2Y4N8LG7ZEAwCSb6dh5tLCzsSIAdI+CZIqRgXDJluypihdpXYqXn31VSxYsACvv/56ZaahKNrMbACArVVNAEBObj5UKhVMTf6pL81MjKFWq3D09OUSz5GekYWfdp9ApxdcUMPYCADg7uoEtVqNTTuPoqBAh4zMR9j8yzF079RCjDl+JgndO7XQO1fPzi1x7EyS5J+TCACsaplDpyv88wgAJjWMkZdfgMcfefQop3DYo7N7EwDApWupuHc/EyMGdEENYyOYmdbAiIGeSLhyG9dvpxWex8QYObn5etfKzslFfXtbODnWfhYfjei5VKUmaubk5ECr1eq9qOx0Oh1mLvsJHm0aw61p4SNzO7ZuhJpmJghe/X94mJ2LrEc5mLNyOwoKdEi5q//9zl0dgfpdJ6Ox13TcSE1D2Gf/PAHPuX5dbFs9DvM/3wn7FyeiUY8PcDP1Pr5ZNFqMuXNPi3q19R/mU6+OFR5kZeNRdi6IpGRqYozgwIHYuicOD7IKi+lDJxJhV8cK40f0RA1jI1hbmmNu4EAAhUMjAJD5MAf931mJN17tiNu/L8eNg0vR07Ml3pjwOQoKCocE9x09j9d6tEG3js2hUqnQpKEdxvn11DsPPX/UUEGtMuDFXkWpqlRRsWjRIlhbW4svJyenyk6pSpm6eDPOX76NrxaOErfVtbVE6CcB2H3oLBp0mwLnHh8g48EjtHF1gvpf66fef9MLB7+fjm1rxkGtVuOd4O/Ev/Gl3tViwsdh8O3ngX3ffoDILybCpIYR/Kd/hSr8IFyqooyN1PhmUQBUKhWmfPLP/IuEKyl4L/g7jBvRE7cOLUPi7o9x/dY9pN7TinOIzExrYNVsP8SevoJeoz9Dn7eX4fzl2whf8S7MTGsAAL7dfhhfbo7Gj8vewZ0jKxD19RRs2xMHAHpzkej5opLgRU9XpVZ/zJw5E5MnTxbfa7VaFhZl9MHizfj10FnsWj8R9e1t9fa90rklTkUE4979TBgbqWFtWRMtvGeiUe/2enF1bGqhjk0tNHW2R/NGDmj12hwcP5OETi80xpdbomFlYY6P3vcR47/4yB+tXpuDE2evomNrF9jVscJfaQ/0zvnXPS0sLcxgbmYi22cnZSkqKJwcbDHgvdVil6LIT7+ewE+/nkC92pZ4+CgHglA4Z+jqzXsAgCHeHdDQsTZ6j14qFsRjZociad9i9O32ArZFFRYPwWv+Dx99vgP2daxwNz0TL/89tFd0HiIlqlJFhampKUxNTSs7jSpFEARMW7IFPx84jZ0hE+Bcv+4TY+vY1AIARB9PxF/pmXi1a+snxur+/mGbm1c4rvwoO7dYZ8Po75nyOl1hbMfWLog6fE4vZv+xBHRq7VLOT0VUsqKCoknDeuj/ziqkZ2Q9MbaowPXr3xnZuXnYH5sAADA3M4FOEPQ6bIXvUezPuE4n4PZfhctVB/duj2N/XMG9+5lSfyySCmdqyq5KFRVUflM/3Yyffj2BsM/GolZNM6T+PU/CqtY/3YFNO2LQ3MUBdW1r4dgfSZi57Ce8N6yHeC+LE2ev4uSf1+DZpgmsrWri6o2/sDDkZ7g0qIuOfxcEvV/6Dz7/YT8Wb/gFg73bI/NhDuav3QEnx9p4oUUDAMDoQS/hy83RCFoVgREDOiP6+AVE/HYK4cvfqYRvhqoiC3MTuDjVE987a+qgVfP6uJ/xECl3M/Dtp2+jjasTfCeFwMhIBbs6hXN40jMeIi+/AAAw5r/dEPvHFWQ9ykUPD1fMe98H89b8H7R/T+Y8EJuAj973wWfT38D68INQq1WY6N8bBQUFOHTiAgCgtrUFBvZsi9/jLsLU1Bh+/TtjYM+2eO1/K/XybdW8/t95m6KubS20al4feXkFSExKkf27ouJ4nwr5qYRKHPDOzMzEpUuXAABt27bFsmXL0KNHD9SuXRsNGzYs9XitVgtra2uk3suAlZVVqfFKZNsxsMTta4NGiDedCl79f/gh8ijStQ/RUFMbowa9hPeGvwLV34uyz126iZlLt+LsxRt4+CgX9nWt0dOzJaaO7gONnY14zq17TmDVxt9w+fodmJuZoGNrFwSPH4jmjRzEmN/jLuDDZduQmJQCjZ0NPgjgza9K86T/hkr0YrtmiPxiQrHtYZFH8cn6Xfhjx0clHvfa/1bi8MmLAIB1wW+i94utYFHTBBevpmLN93sR/stxvfjunVwxfcyraNnEETqdgD8u3MCCz3fixNmrAAqLih+WvQO3phqoVIUrmxZ8vhNx567pnSf9uP4SVwC4fuse2gycW5GPXy0JBbnIObMBGRny/Rwv+l2x99R1WFhW/BpZD7To2bahrLlWdZVaVBw4cAA9evQott3f3x+hoaGlHs+igpSARQVVZ8+0qIi/jloGFBWZD7To6c6i4mkqdfije/fuXBlARETPBKdUyK9KLSklIiKi5xcnahIRkTKwVSE7FhVERKQIXP0hPxYVRESkCIY+aZRPKS0d51QQERGRJNipICIiReCUCvmxqCAiImVgVSE7Dn8QERGRJNipICIiReDqD/mxqCAiIkXg6g/5cfiDiIiIJMFOBRERKQLnacqPRQURESkDqwrZcfiDiIiIJMFOBRERKQJXf8iPRQURESkCV3/Ij0UFEREpAqdUyI9zKoiIiEgS7FQQEZEysFUhOxYVRESkCJyoKT8OfxAREZEk2KkgIiJF4OoP+bGoICIiReCUCvlx+IOIiIgkwU4FEREpA1sVsmNRQUREisDVH/Lj8AcRERFJgp0KIiJSBK7+kB+LCiIiUgROqZAfiwoiIlIGVhWy45wKIiIikgQ7FUREpAhc/SE/FhVERKQMBk7UZE1ROg5/EBERkSTYqSAiIkXgPE35saggIiJlYFUhOw5/EBERkSTYqSAiIkXg6g/5saggIiJF4G265cfhDyIiIpIEOxVERKQInKcpPxYVRESkDKwqZMfhDyIiUgSVBP9U1CeffAKVSoWJEyeK27KzszFu3DjUqVMHtWrVwuDBg5Gamqp33PXr19GvXz/UrFkTdnZ2+OCDD5Cfn68Xc+DAAbRr1w6mpqZo2rQpQkNDi11/7dq1aNSoEczMzODh4YFjx45V+LM8DYsKIiIiGR0/fhxffPEFXnjhBb3tkyZNws6dO7FlyxYcPHgQt27dwqBBg8T9BQUF6NevH3Jzc3HkyBF8++23CA0NRVBQkBiTlJSEfv36oUePHoiPj8fEiRPx9ttv49dffxVjwsPDMXnyZMydOxcnT55EmzZt4O3tjTt37kj+WVlUEBGRIqjwzwqQCr0qcM3MzEz4+flhw4YNsLW1FbdnZGTgq6++wrJly/DKK6+gffv2+Oabb3DkyBEcPXoUALBnzx78+eef+P777+Hu7o5XX30V8+fPx9q1a5GbmwsACAkJgYuLC5YuXYqWLVsiMDAQQ4YMwfLly8VrLVu2DGPGjMGoUaPg5uaGkJAQ1KxZE19//bUhX2eJWFQQEZEiqCR4lde4cePQr18/eHl56W2Pi4tDXl6e3nZXV1c0bNgQMTExAICYmBi0bt0a9vb2Yoy3tze0Wi3OnTsnxvz73N7e3uI5cnNzERcXpxejVqvh5eUlxkiJEzWJiIjKQavV6r03NTWFqalpsbgff/wRJ0+exPHjx4vtS0lJgYmJCWxsbPS229vbIyUlRYx5vKAo2l+072kxWq0Wjx49Qnp6OgoKCkqMSUhIKMOnLR92KoiISBEMGvp47MZZTk5OsLa2Fl+LFi0qdq3k5GRMmDABmzZtgpmZ2TP+pJWHnQoiIlIIadaUJicnw8rKStxaUpciLi4Od+7cQbt27cRtBQUFiI6Oxpo1a/Drr78iNzcX9+/f1+tWpKamwsHBAQDg4OBQbJVG0eqQx2P+vWIkNTUVVlZWMDc3h5GREYyMjEqMKTqHlNipICIiKgcrKyu9V0lFRc+ePXHmzBnEx8eLrw4dOsDPz0/89xo1amDv3r3iMYmJibh+/To8PT0BAJ6enjhz5ozeKo2oqChYWVnBzc1NjHn8HEUxRecwMTFB+/bt9WJ0Oh327t0rxkiJnQoiIlKEZ/nsD0tLS7Rq1Upvm4WFBerUqSNuDwgIwOTJk1G7dm1YWVlh/Pjx8PT0ROfOnQEAvXv3hpubG958800sXrwYKSkpmD17NsaNGycWMu+88w7WrFmDadOmYfTo0di3bx82b96Mn3/+Wbzu5MmT4e/vjw4dOqBTp05YsWIFsrKyMGrUqIp/GU/AooKIiBThebuh5vLly6FWqzF48GDk5OTA29sbn3/+ubjfyMgIkZGRePfdd+Hp6QkLCwv4+/vjo48+EmNcXFzw888/Y9KkSVi5ciUaNGiAL7/8Et7e3mLM0KFD8ddffyEoKAgpKSlwd3fH7t27i03elIJKEARB8rM+I1qtFtbW1ki9l6E3vkVUndh2DKzsFIhkIxTkIufMBmRkyPdzvOh3RcK1v2BpwDUeaLVwda4na65VHTsVRESkCHz0ufxYVBARkSIY+vwOQ45VChYVRESkDM/bpIpqiEtKiYiISBLsVBARkSKwUSE/FhVERKQInKgpPw5/EBERkSTYqSAiIkXg6g/5saggIiJl4KQK2XH4g4iIiCTBTgURESkCGxXyY1FBRESKwNUf8uPwBxEREUmCnQoiIlIIw1Z/cACkdCwqiIhIETj8IT8OfxAREZEkWFQQERGRJDj8QUREisDhD/mxqCAiIkXgbbrlx+EPIiIikgQ7FUREpAgc/pAfiwoiIlIE3qZbfhz+ICIiIkmwU0FERMrAVoXsWFQQEZEicPWH/Dj8QURERJJgp4KIiBSBqz/kx6KCiIgUgVMq5MeigoiIlIFVhew4p4KIiIgkwU4FEREpAld/yI9FBRERKQInasqvShcVgiAAAB5otZWcCZF8hILcyk6BSDZFf76Lfp7LSWvg7wpDj1eCKl1UPHjwAADQ1MWpkjMhIiJDPHjwANbW1rKc28TEBA4ODmgmwe8KBwcHmJiYSJBV9aQSnkV5KBOdTodbt27B0tISKvalngmtVgsnJyckJyfDysqqstMhkhT/fD97giDgwYMH0Gg0UKvlWzuQnZ2N3FzDu34mJiYwMzOTIKPqqUp3KtRqNRo0aFDZaSiSlZUVf+hStcU/38+WXB2Kx5mZmbEYeAa4pJSIiIgkwaKCiIiIJMGigsrF1NQUc+fOhampaWWnQiQ5/vkmMkyVnqhJREREzw92KoiIiEgSLCqIiIhIEiwqiIiISBIsKoiIiEgSLCqozNauXYtGjRrBzMwMHh4eOHbsWGWnRCSJ6Oho9O/fHxqNBiqVChEREZWdElGVxKKCyiQ8PByTJ0/G3LlzcfLkSbRp0wbe3t64c+dOZadGZLCsrCy0adMGa9eurexUiKo0LimlMvHw8EDHjh2xZs0aAIXPXXFycsL48eMxY8aMSs6OSDoqlQrbt2+Hj49PZadCVOWwU0Glys3NRVxcHLy8vMRtarUaXl5eiImJqcTMiIjoecKigkp19+5dFBQUwN7eXm+7vb09UlJSKikrIiJ63rCoICIiIkmwqKBS1a1bF0ZGRkhNTdXbnpqaCgcHh0rKioiInjcsKqhUJiYmaN++Pfbu3Stu0+l02Lt3Lzw9PSsxMyIiep4YV3YCVDVMnjwZ/v7+6NChAzp16oQVK1YgKysLo0aNquzUiAyWmZmJS5cuie+TkpIQHx+P2rVro2HDhpWYGVHVwiWlVGZr1qzBkiVLkJKSAnd3d6xatQoeHh6VnRaRwQ4cOIAePXoU2+7v74/Q0NBnnxBRFcWigoiIiCTBORVEREQkCRYVREREJAkWFURERCQJFhVEREQkCRYVREREJAkWFURERCQJFhVEREQkCRYVRAZ666234OPjI77v3r07Jk6c+MzzOHDgAFQqFe7fv//EGJVKhYiIiDKfMzg4GO7u7gbldfXqVahUKsTHxxt0HiJ6/rGooGrprbfegkqlgkqlgomJCZo2bYqPPvoI+fn5sl9727ZtmD9/fpliy1IIEBFVFXz2B1Vbffr0wTfffIOcnBzs2rUL48aNQ40aNTBz5sxisbm5uTAxMZHkurVr15bkPEREVQ07FVRtmZqawsHBAc7Oznj33Xfh5eWFHTt2APhnyGLhwoXQaDRo0aIFACA5ORlvvPEGbGxsULt2bQwcOBBXr14Vz1lQUIDJkyfDxsYGderUwbRp0/DvO93/e/gjJycH06dPh5OTE0xNTdG0aVN89dVXuHr1qvi8CVtbW6hUKrz11lsACp8Cu2jRIri4uMDc3Bxt2rTBTz/9pHedXbt2oXnz5jA3N0ePHj308iyr6dOno3nz5qhZsyYaN26MOXPmIC8vr1jcF198AScnJ9SsWRNvvPEGMjIy9PZ/+eWXaNmyJczMzODq6orPP/+83LkQUdXHooIUw9zcHLm5ueL7vXv3IjExEVFRUYiMjEReXh68vb1haWmJQ4cO4fDhw6hVqxb69OkjHrd06VKEhobi66+/xu+//460tDRs3779qdcdOXIkfvjhB6xatQrnz5/HF198gVq1asHJyQlbt24FACQmJuL27dtYuXIlAGDRokXYuHEjQkJCcO7cOUyaNAkjRozAwYMHARQWP4MGDUL//v0RHx+Pt99+GzNmzCj3d2JpaYnQ0FD8+eefWLlyJTZs2IDly5frxVy6dAmbN2/Gzp07sXv3bpw6dQrvvfeeuH/Tpk0ICgrCwoULcf78eXz88ceYM2cOvv3223LnQ0RVnEBUDfn7+wsDBw4UBEEQdDqdEBUVJZiamgpTp04V99vb2ws5OTniMd99953QokULQafTidtycnIEc3Nz4ddffxUEQRAcHR2FxYsXi/vz8vKEBg0aiNcSBEF4+eWXhQkTJgiCIAiJiYkCACEqKqrEPPfv3y8AENLT08Vt2dnZQs2aNYUjR47oxQYEBAjDhg0TBEEQZs6cKbi5uentnz59erFz/RsAYfv27U/cv2TJEqF9+/bi+7lz5wpGRkbCjRs3xG2//PKLoFarhdu3bwuCIAhNmjQRwsLC9M4zf/58wdPTUxAEQUhKShIACKdOnXridYmoeuCcCqq2IiMjUatWLeTl5UGn02H48OEIDg4W97du3VpvHsXp06dx6dIlWFpa6p0nOzsbly9fRkZGBm7fvq33uHdjY2N06NCh2BBIkfj4eBgZGeHll18uc96XLl3Cw4cP0atXL73tubm5aNu2LQDg/PnzxR477+npWeZrFAkPD8eqVatw+fJlZGZmIj8/H1ZWVnoxDRs2RP369fWuo9PpkJiYCEtLS1y+fBkBAQEYM2aMGJOfnw9ra+ty50NEVRuLCqq2evTogXXr1sHExAQajQbGxvp/3C0sLPTeZ2Zmon379ti0aVOxc9WrV69COZibm5f7mMzMTADAzz//rPfLHCicJyKVmJgY+Pn5Yd68efD29oa1tTV+/PFHLF26tNy5btiwoViRY2RkJFmuRFQ1sKigasvCwgJNmzYtc3y7du0QHh4OOzu7Yn9bL+Lo6IjY2Fh069YNQOHfyOPi4tCuXbsS41u3bg2dToeDBw/Cy8ur2P6iTklBQYG4zc3NDaamprh+/foTOxwtW7YUJ50WOXr0aOkf8jFHjhyBs7MzZs2aJW67du1asbjr16/j1q1b0Gg04nXUajVatGgBe3t7aDQaXLlyBX5+fuW6PhFVP5yoSfQ3Pz8/1K1bFwMHDsShQ4eQlJSEAwcO4P3338eNGzcAABMmTMAnn3yCiIgIJCQk4L333nvqPSYaNWoEf39/jB49GhEREeI5N2/eDABwdnaGSqVCZGQk/vrrL2RmZsLS0hJTp07FpEmT8O233+Ly5cs4efIkVq9eLU5+fOedd3Dx4kV88MEHSExMRFhYGEJDQ8v1eZs1a4br16/jxx9/xOXLl7Fq1aoSJ52amZnB398fp0+fxqFDh/D+++/jjTfegIODAwBg3rx5WLRoEVatWoULFy7gzJkz+Oabb7Bs2bJy5UNEVR+LCqK/1axZE9HR0WjYsCEGDRqEli1bIiAgANnZ2WLnYsqUKXjzzTfh7+8PT09PWFpa4vXXX3/qedetW4chQ4bgvffeg6urK8aMGYOsrCwAQP369TFv3jzMmDED9vb2CAwMBADMnz8fc+bMwaJFi9CyZUv06dMHP//8M1xcXAAUznPYunUrIiIi0KZNG4SEhODjjz8u1+cdMGAAJk2ahMDAQLi7u+PIkSOYM2dOsbimTZti0KBB6Nu3L3r37o0XXnhBb8no22+/jS+//BLffPMNWrdujZdffhmhoaFirkSkHCrhSTPMiIiIiMqBnQoiIiKSBIsKIiIikgSLCiIiIpIEiwoiIiKSBIsKIiIikgSLCiIiIpIEiwoiIiKSBIsKIiIikgSLCiIiIpIEiwoiIiKSBIsKIiIikgSLCiIiIpLE/wPPa0WR9HD0CQAAAABJRU5ErkJggg==\n" }, "metadata": {} } ] }, { "cell_type": "code", "source": [ "joblib.dump(svm_model, 'svm_model.pkl')" ], "metadata": { "id": "BumaoBKRq34W", "colab": { "base_uri": "https://localhost:8080/" }, "outputId": "6c0ef895-8cb3-492d-aa58-526da331011b" }, "execution_count": 21, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "['svm_model.pkl']" ] }, "metadata": {}, "execution_count": 21 } ] }, { "cell_type": "code", "source": [], "metadata": { "id": "w7_Uy8siq32O" }, "execution_count": 21, "outputs": [] }, { "cell_type": "code", "source": [], "metadata": { "id": "cs7kxZ3iq3z7" }, "execution_count": null, "outputs": [] }, { "cell_type": "code", "source": [], "metadata": { "id": "99s1NhLYq3xT" }, "execution_count": null, "outputs": [] }, { "cell_type": "code", "source": [], "metadata": { "id": "ufHJHJgqq3u-" }, "execution_count": null, "outputs": [] }, { "cell_type": "code", "source": [], "metadata": { "id": "YMkSTJr4q3s1" }, "execution_count": null, "outputs": [] }, { "cell_type": "code", "source": [], "metadata": { "id": "zHsa298hq3qt" }, "execution_count": null, "outputs": [] }, { "cell_type": "code", "source": [], "metadata": { "id": "ehr2l83_q3or" }, "execution_count": null, "outputs": [] }, { "cell_type": "code", "source": [], "metadata": { "id": "y0KWCogKq3mS" }, "execution_count": null, "outputs": [] }, { "cell_type": "code", "source": [], "metadata": { "id": "478KDSMrq3kJ" }, "execution_count": null, "outputs": [] }, { "cell_type": "code", "source": [], "metadata": { "id": "EO8oYrIhq3fh" }, "execution_count": null, "outputs": [] }, { "cell_type": "code", "source": [], "metadata": { "id": "U0btU0zTq3dk" }, "execution_count": null, "outputs": [] }, { "cell_type": "code", "source": [], "metadata": { "id": "DydbwTVhq3bG" }, "execution_count": null, "outputs": [] }, { "cell_type": "code", "source": [], "metadata": { "id": "MjlJMouuq3Yz" }, "execution_count": null, "outputs": [] }, { "cell_type": "code", "source": [], "metadata": { "id": "VXHEjiPjq3Wo" }, "execution_count": null, "outputs": [] }, { "cell_type": "code", "source": [], "metadata": { "id": "UgsM64xnq3Uq" }, "execution_count": null, "outputs": [] }, { "cell_type": "code", "source": [], "metadata": { "id": "_XBgrG9vq3Sn" }, "execution_count": null, "outputs": [] }, { "cell_type": "code", "source": [], "metadata": { "id": "AAuDqEKlq3Qi" }, "execution_count": null, "outputs": [] }, { "cell_type": "code", "source": [], "metadata": { "id": "xsGtIFBZq3OQ" }, "execution_count": null, "outputs": [] }, { "cell_type": "code", "source": [], "metadata": { "id": "_umoGORBq3MG" }, "execution_count": null, "outputs": [] }, { "cell_type": "code", "source": [], "metadata": { "id": "rU3G5krFq3KZ" }, "execution_count": null, "outputs": [] }, { "cell_type": "code", "source": [], "metadata": { "id": "cWkG-yhqq3Gp" }, "execution_count": null, "outputs": [] }, { "cell_type": "code", "source": [], "metadata": { "id": "7QgrZHCPq3Ee" }, "execution_count": null, "outputs": [] }, { "cell_type": "code", "source": [], "metadata": { "id": "jzEVeB_dq3CG" }, "execution_count": null, "outputs": [] }, { "cell_type": "code", "source": [], "metadata": { "id": "gT-mULvEq2_T" }, "execution_count": null, "outputs": [] } ] }