Created
March 3, 2026 00:46
-
-
Save nikokozak/bae6ccc3476500de0ac79eb697bf808b to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "cells": [ | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "# Exercise 2: Pandas\n", | |
| "\n", | |
| "Before you begin, run the cell below to import the appropriate libraries." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 3, | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "%matplotlib inline\n", | |
| "import pandas as pd\n", | |
| "import numpy as np\n", | |
| "import matplotlib.pyplot as plt\n", | |
| "plt.style.use('ggplot')\n", | |
| "plt.rcParams[\"figure.figsize\"] = (10, 4)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "For this worksheet, you'll be using a simplified version of a month's worth of data from NYC's [Green Taxis](https://www.nyc.gov/site/tlc/about/tlc-trip-record-data.page). You can download the data [here](green_tripdata_simple_2016-12.csv). Put it in the same directory as this worksheet. (The simplified version omits a number of fields and randomly samples 100k rows from several million rows, mainly to decrease the file size.)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 4, | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "df = pd.read_csv(\"./green_tripdata_simple_2016-12.csv\")" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 6, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<style scoped>\n", | |
| " .dataframe tbody tr th:only-of-type {\n", | |
| " vertical-align: middle;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe tbody tr th {\n", | |
| " vertical-align: top;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe thead th {\n", | |
| " text-align: right;\n", | |
| " }\n", | |
| "</style>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>lpep_pickup_datetime</th>\n", | |
| " <th>passenger_count</th>\n", | |
| " <th>trip_distance</th>\n", | |
| " <th>total_amount</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>0</th>\n", | |
| " <td>2016-12-01 00:00:00</td>\n", | |
| " <td>1</td>\n", | |
| " <td>1.84</td>\n", | |
| " <td>9.80</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>1</th>\n", | |
| " <td>2016-12-01 00:00:33</td>\n", | |
| " <td>1</td>\n", | |
| " <td>4.20</td>\n", | |
| " <td>16.30</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2</th>\n", | |
| " <td>2016-12-01 00:00:47</td>\n", | |
| " <td>1</td>\n", | |
| " <td>2.34</td>\n", | |
| " <td>14.16</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>3</th>\n", | |
| " <td>2016-12-01 00:01:23</td>\n", | |
| " <td>1</td>\n", | |
| " <td>0.87</td>\n", | |
| " <td>6.80</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>4</th>\n", | |
| " <td>2016-12-01 00:01:54</td>\n", | |
| " <td>1</td>\n", | |
| " <td>4.35</td>\n", | |
| " <td>17.30</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>...</th>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>99995</th>\n", | |
| " <td>2016-12-31 23:58:03</td>\n", | |
| " <td>1</td>\n", | |
| " <td>0.33</td>\n", | |
| " <td>5.80</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>99996</th>\n", | |
| " <td>2016-12-31 23:58:54</td>\n", | |
| " <td>1</td>\n", | |
| " <td>3.77</td>\n", | |
| " <td>15.30</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>99997</th>\n", | |
| " <td>2016-12-31 23:59:33</td>\n", | |
| " <td>1</td>\n", | |
| " <td>3.43</td>\n", | |
| " <td>14.30</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>99998</th>\n", | |
| " <td>2016-12-31 23:59:57</td>\n", | |
| " <td>1</td>\n", | |
| " <td>1.44</td>\n", | |
| " <td>10.80</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>99999</th>\n", | |
| " <td>2016-12-31 23:59:58</td>\n", | |
| " <td>2</td>\n", | |
| " <td>5.20</td>\n", | |
| " <td>17.30</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "<p>100000 rows × 4 columns</p>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " lpep_pickup_datetime passenger_count trip_distance total_amount\n", | |
| "0 2016-12-01 00:00:00 1 1.84 9.80\n", | |
| "1 2016-12-01 00:00:33 1 4.20 16.30\n", | |
| "2 2016-12-01 00:00:47 1 2.34 14.16\n", | |
| "3 2016-12-01 00:01:23 1 0.87 6.80\n", | |
| "4 2016-12-01 00:01:54 1 4.35 17.30\n", | |
| "... ... ... ... ...\n", | |
| "99995 2016-12-31 23:58:03 1 0.33 5.80\n", | |
| "99996 2016-12-31 23:58:54 1 3.77 15.30\n", | |
| "99997 2016-12-31 23:59:33 1 3.43 14.30\n", | |
| "99998 2016-12-31 23:59:57 1 1.44 10.80\n", | |
| "99999 2016-12-31 23:59:58 2 5.20 17.30\n", | |
| "\n", | |
| "[100000 rows x 4 columns]" | |
| ] | |
| }, | |
| "execution_count": 6, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "df" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "## Task 1: Indexing columns\n", | |
| "\n", | |
| "Modify the expression in the cell below so that it evaluates to the *average trip distance* of all rows in the data frame.\n", | |
| "\n", | |
| "Expected output: `2.6186307`" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 7, | |
| "metadata": { | |
| "scrolled": true | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "np.float64(2.6186307)" | |
| ] | |
| }, | |
| "execution_count": 7, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "df[\"trip_distance\"].mean()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "## Task 2: Limiting rows by count\n", | |
| "\n", | |
| "Modify the expression in the cell below so that it evaluates to the sum of the `total_amount` field for rows 100 through 200 in the data set.\n", | |
| "\n", | |
| "Expected output: `1267.5`" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 10, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "np.float64(1267.5)" | |
| ] | |
| }, | |
| "execution_count": 10, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "df[\"total_amount\"][100:200].sum()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "## Task 3: Filtering the data frame\n", | |
| "\n", | |
| "Okay, now this one is tricky. Modify the expression in the cell below so that it evaluates to the *total trip distance* (i.e., the sum of the trip distance field) for all *single-occupant rides* (i.e., where the passenger count is 1).\n", | |
| "\n", | |
| "Expected output: `219594.61`" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 11, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "np.float64(219594.61)" | |
| ] | |
| }, | |
| "execution_count": 11, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "df[df[\"passenger_count\"] == 1]['trip_distance'].sum()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "## Task 4: Filtering the data frame, part two\n", | |
| "\n", | |
| "Write an expression in the cell below that shows the trip distance of the *longest ride* taken by two or more people.\n", | |
| "\n", | |
| "Expected output: `100.39`" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 17, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "np.float64(100.39)" | |
| ] | |
| }, | |
| "execution_count": 17, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "df[df[\"passenger_count\"] >= 2][\"trip_distance\"].max()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "## Task 5: Plots\n", | |
| "\n", | |
| "In the cell below, write a statement or sequence of statements that draws a pie chart of passenger count frequency. (Hint: use `.value_counts()`.)\n", | |
| "\n", | |
| "Expected output:\n", | |
| "\n", | |
| "" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 29, | |
| "metadata": { | |
| "scrolled": true | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "<Axes: >" | |
| ] | |
| }, | |
| "execution_count": 29, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| }, | |
| { | |
| "data": { | |
| "image/png": "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", | |
| "text/plain": [ | |
| "<Figure size 1000x400 with 1 Axes>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "df[\"passenger_count\"].value_counts().plot.pie()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "Now, in the cell below, draw a histogram of trip distances. Use 50 bins.\n", | |
| "\n", | |
| "Expected output:\n", | |
| "\n", | |
| "" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 33, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "<Axes: ylabel='Frequency'>" | |
| ] | |
| }, | |
| "execution_count": 33, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| }, | |
| { | |
| "data": { | |
| "image/png": "iVBORw0KGgoAAAANSUhEUgAAA2gAAAFkCAYAAABVSxhvAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAORFJREFUeJzt3Ql4jXfe//FvJJYEsRv7EkupvTPohT62WooW1ZbRlmmazCg1vart1Fim1VLU6ODBo4+lqFHbJUMsobXMRWN0sS+1hRHbgyJGYgv5X9/f89znfxJhwklyfnfO+3VduY5z7vuc+3a+EueT3+/+/oLS0tLSBAAAAADgd/n8fQIAAAAAgP9FQAMAAAAASxDQAAAAAMASBDQAAAAAsAQBDQAAAAAsQUADAAAAAEsQ0AAAAADAEgQ0AAAAALAEAQ0AAAAALEFAAwAAAABLhIhFBg0aJBcuXLjn8Y4dO0pUVJTcunVL5s+fL/Hx8XL79m1p1KiRebx48eKefS9evCgzZ86U/fv3S6FChaR169bSt29fCQ4O9uyj2/R1EhMTpVSpUtKrVy9p06ZNumPGxcVJbGysXLlyRapWrSqRkZFSs2bNHH4HAAAAAASyoLS0tDSxxNWrV+Xu3bue+ydPnpTRo0fLBx98IPXq1TPBa8eOHSbIhYWFyezZsyVfvnzy8ccfm/31ue+9954JbK+++qpcvnxZpk6dKu3btzchTZ0/f17eeecd6dChg7Rr10727dsnc+fOlaFDh0rjxo3NPhoA9XnR0dFSq1YtWb16tfzjH/+QSZMmSbFixfz07gAAAADI66ya4hgeHm7ClfOlYewXv/iFPP7445KSkiIbN26U/v37S/369SUiIkIGDhwohw4dksOHD5vn7969W06dOiWDBw+WatWqSZMmTaR3796ybt06SU1NNfusX79eypYtK/369ZNKlSpJ586d5cknnzQhzLFq1SoT6tq2bWv20aBWoEAB2bRpk9/eGwAAAAB5n1UBzZsGqi1btpiQFBQUJAkJCXLnzh1p0KCBZ5+KFStK6dKlPQFNb6tUqZJuyqOOil2/ft1MZ1RHjhxJ9xpKp0o6r6HH1WN576OjdHrf2SczOuVSQ6TzdePGjWx8NwAAAAAEAquuQfP23XffSXJysufaML0WLCQkRAoXLpxuP51yqNucfbzDmbPd2ebcZpymqPc1xOk1bteuXTNTJTO+jt4/c+bMfc83JiZGli1b5rlfu3ZtMz0TAAAAAFwf0HQ6oY5+lSxZUtygZ8+e0q1bN899HfVT2vTEmV7pL3ou5cqVk3PnzolFlxzi36Bu7kTd3Im6uQ81cyfq5k7UzXc60FSmTJms7SsW0lCzZ88eeffdd9ONYGnQ0VE171G0pKQkz2iX3h49ejTda+l2Z5tz6zzmvU9oaKi5zkyvg9Mpjc6ImyOz0Tlv+fPnN1+ZsSUU6XnYci7IOurmTtTNnaib+1Azd6Ju7kTdAvgaNB0902mHTzzxhOcxbQqirfL37t3reUynHGpbfZ1OqPRWOz96BzANehq+tNmH0q6M3q/h7OO8hqZbPZZ2d3TolEe97+wDAAAAAAER0DQMbd682axf5r12mbbV17b4un6ZhiVt5DF9+nQTmpzgpM0+NIhpi/wTJ07Irl27ZNGiRdKpUyfP6Jauqaat9hcsWCCnT582HR63bdsmXbt29RxLpypu2LDBnId2hZw1a5bcvHnznrXSAAAAACA7WTfFUUe3dFRMuzdmpC32dQ7sxIkTzXRHZ6Fqh05N1PXMNFCNGDFCChYsaIKettp3aIt93WfevHmyZs0as1D1gAEDPGugqRYtWpg12ZYsWWKmNmrL/mHDhj1wiiMAAAAA5KmFqvMivZ5OW/D7k4ba8uXLy9mzZ7kGzUWomztRN3eibu5DzdyJurkTdfOdzubLapMQ66Y4AgAAAECgIqABAAAAgCUIaAAAAABgCQIaAAAAAFiCgAYAAAAAliCgAQAAAIAlCGgAAAAAYAnrFqpGzkjs+qtHel7wzJXZfi4AAAAAMscIGgAAAABYgoAGAAAAAJYgoAEAAACAJQhoAAAAAGAJAhoAAAAAWIKABgAAAACWIKABAAAAgCUIaAAAAABgCQIaAAAAAFiCgAYAAAAAliCgAQAAAIAlCGgAAAAAYAkCGgAAAABYgoAGAAAAAJYgoAEAAACAJQhoAAAAAGAJAhoAAAAAWIKABgAAAACWIKABAAAAgCUIaAAAAABgCQIaAAAAAFiCgAYAAAAAliCgAQAAAIAlCGgAAAAAYAkCGgAAAABYIkQsc+nSJVmwYIHs2rVLbt68KeXKlZOBAwdKjRo1zPa0tDRZsmSJbNiwQZKTk6VOnToSFRUl5cuX97zGtWvXZM6cOfLjjz9KUFCQNG/eXF577TUpVKiQZ59//vOfMnv2bDl27JiEh4dL586dpXv37unOZdu2bbJ48WK5cOGCOY+XX35ZnnjiiVx8NwAAAAAEEqtG0DRYjRw5UkJCQmTYsGHyl7/8Rfr16yeFCxf27LNixQpZu3atREdHyyeffCIFCxaUMWPGyK1btzz7TJkyRRITE2XEiBEydOhQOXjwoHz++eee7SkpKTJ69GgpXbq0jBs3Tl555RVZunSpfPPNN559Dh06JJMnT5Z27drJ+PHjpWnTpjJhwgQ5efJkLr4jAAAAAAKJVQFNw1epUqXMiFnNmjWlbNmy0qhRIzN65YyerVmzRp5//nkTmKpWrSpvvvmmXL58Wb7//nuzz6lTp8zo24ABA6RWrVpmhC0yMlLi4+PN6JzaunWrpKammuNUrlxZWrZsKc8884ysWrXKcy56nMaNG8tzzz0nlSpVkj59+khERITExcX56d0BAAAAkNdZNcXxhx9+MIHss88+kwMHDkjJkiWlY8eO8vTTT5vt58+flytXrkjDhg09zwkLCzNh7vDhwyZo6a2OuDlTIlWDBg3MVMejR49Ks2bNzD5169Y1I3UOPa4GRB3FK1KkiNmnW7du6c5P93GCYEa3b982Xw49XmhoqOfP/uTL8f197oHMee+pgbtQN3eibu5DzdyJurkTdQvggKYB7Ouvv5auXbtKz549zfVhX3zxhQlSbdq0MeFMFStWLN3z9L6zTW/1mjJvwcHBJnR576Ojc96KFy/u2ebs+6DjZBQTEyPLli3z3K9evbqZGlmmTBmxQeIjPs/72j74hzOCDHehbu5E3dyHmrkTdXMn6haAAe3u3btm5Ktv376ekKPXfGlo04BmMw2U3iNuzm8atMGITqf0J19GYM6ePZut54KHq5v+IDx37pyZ3gt3oG7uRN3ch5q5E3VzJ+rmOx1wyurAjVUBrUSJEuZ6L296f/v27elGuZKSksy+Dr1frVo1zz5Xr15N9xp37twxUxed5+ttxpEw5773Pvq63vS+sz2j/Pnzm6/MuPnDtZvPPa/QGlAH96Fu7kTd3IeauRN1cyfqFoBNQh577DE5c+ZMusf0vpM2dVqiBqS9e/em68io15bVrl3b3Ndbbb+fkJDg2Wffvn3mH5Req+bso50dvUe29uzZIxUqVDDTG519vI/j7KONRwAAAAAgzwc0vfbsyJEjsnz5cjOtS7st6npnnTp18gyvdunSxWzXhiI6/XHq1KlmNE27Ojojbtp9Udvqa3D76aefzJpoLVq0ME1HVKtWrcww44wZM0w7fu3wqK37vaco6nF2794tsbGxcvr0abP2ml4Tp+ulAQAAAEBOCEqzbO6ULi69cOFCE9B0xExDm9PF0Xuhal2zTEfPtI3+66+/bka/HDqdUReh9l6oWlvt32+h6qJFi5rg1aNHj3sWql60aJG5jkybZTzKQtX6XO/ujv6g70Fq1LOP9NzgmSuz/XyQ9brpvzu9DtCyb1M8AHVzJ+rmPtTMnaibO1E33+mlUFm9Bs26gJbXENDwqPhh6E7UzZ2om/tQM3eibu5E3XI3oFk1xREAAAAAAhkBDQAAAAAsQUADAAAAAEsQ0AAAAADAEgQ0AAAAALAEAQ0AAAAALEFAAwAAAABLENAAAAAAwBIENAAAAACwBAENAAAAACxBQAMAAAAASxDQAAAAAMASBDQAAAAAsAQBDQAAAAAsQUADAAAAAEsQ0AAAAADAEgQ0AAAAALAEAQ0AAAAALEFAAwAAAABLENAAAAAAwBIENAAAAACwBAENAAAAACxBQAMAAAAASxDQAAAAAMASBDQAAAAAsAQBDQAAAAAsQUADAAAAAEsQ0AAAAADAEgQ0AAAAALAEAQ0AAAAALEFAAwAAAABLENAAAAAAwBIENAAAAACwRIhYZMmSJbJs2bJ0j1WoUEEmTZpk/nzr1i2ZP3++xMfHy+3bt6VRo0YSFRUlxYsX9+x/8eJFmTlzpuzfv18KFSokrVu3lr59+0pwcLBnH92mr5OYmCilSpWSXr16SZs2bdIdNy4uTmJjY+XKlStStWpViYyMlJo1a+b4ewAAAAAgcFkV0FTlypVl5MiRnvv58v3/Qb558+bJjh07ZMiQIRIWFiazZ8+WiRMnyscff2y23717V8aOHWsC2+jRo+Xy5csydepUE840pKnz58/LuHHjpEOHDjJ48GDZt2+fzJgxwzyncePGZh8NgBrgoqOjpVatWrJ69WoZM2aMCYrFihXL9fcEAAAAQGCwboqjBjINS85XeHi4eTwlJUU2btwo/fv3l/r160tERIQMHDhQDh06JIcPHzb77N69W06dOmWCV7Vq1aRJkybSu3dvWbdunaSmppp91q9fL2XLlpV+/fpJpUqVpHPnzvLkk0+aEOZYtWqVtG/fXtq2bWv20aBWoEAB2bRpk5/eFQAAAACBwLoRtHPnzsnvfvc7yZ8/v9SuXduMfJUuXVoSEhLkzp070qBBA8++FStWNNs0oOm+elulSpV0Ux51VGzWrFlmOmP16tXlyJEj6V5D6VTJuXPnmj9rkNNj9ejRI11o1Oc4QTAzOuVSvxxBQUESGhrq+bM/+XJ8f597IHPee2rgLtTNnaib+1Azd6Ju7kTdAjig6XRCHRXT6850eqJej/anP/3JTGPUa8FCQkKkcOHC6Z6jUw51m9Jb73DmbHe2ObcZpynq/evXr5tr3K5du2amSmZ8Hb1/5syZ+557TExMuuvnNAyOHz9eypQpIzZIfMTnlS9fPpvPBA+rXLlyvGkuRN3cibq5DzVzJ+rmTtQtAAOaTkl0aGMOJ7Bt27bNTDG0Wc+ePaVbt273/KbhwoULnumV/uLLCMzZs2ez9VzwcHXTH4Q6qpyWlsZb5xLUzZ2om/tQM3eibu5E3XynA01ZHbixKqBlpKNlOpqmH1AbNmxogk5ycnK6UbSkpCTPaJfeHj16NN1r6HZnm3PrPOa9j05H1BCo17zplEZnxM2R2eicN52SqV+ZcfOHazefe16hNaAO7kPd3Im6uQ81cyfq5k7ULUCbhHi7ceOGCWcajLQpiHZj3Lt3r2e7TjnUtvp6/ZnS25MnT6YLYHv27DHhS5t9KB2V834NZx/nNTTd6rG0u6NDpzzqfWcfAAAAAMjzAU1b2x84cMC0wtfujBMmTDCjWa1atTJt9du1a2f20bCkjTymT59uQpMTnLTZhwYxba1/4sQJ2bVrlyxatEg6derkGd3q2LGjef0FCxbI6dOnTYdHnULZtWtXz3noVMUNGzbI5s2bTVdIbTJy8+bNe9ZKAwAAAIDsZNUUx0uXLsnkyZPlX//6l5lqWKdOHbP+mNNqX1vs6xxYbRqi0x2dhaodGuaGDh1qAtWIESOkYMGCZqFqbbXv0Bb7uo+uqbZmzRqzUPWAAQM8a6CpFi1ayNWrV83C2Tq1UVv2Dxs27IFTHAEAAADAV0FpXNySo7RJiHf7fX/QUJsa9ewjPTd45spsPx9kvW7aRVMbtfBt6h7UzZ2om/tQM3eibu5E3Xyns/my2iTEqimOAAAAABDICGgAAAAAYAkCGgAAAABYgoAGAAAAAJYgoAEAAACAJQhoAAAAAGAJAhoAAAAAWIKABgAAAACWIKABAAAAgCUIaAAAAABgCQIaAAAAAFiCgAYAAAAAliCgAQAAAIAlCGgAAAAAYAkCGgAAAABYgoAGAAAAAJYgoAEAAACAJQhoAAAAAGAJAhoAAAAA5IWAdvny5ew7EwAAAAAIcCG+PPmNN96Q+vXry3/8x39Is2bNpFChQtl3ZgAAAAAQYHwaQXvppZfMKNq0adMkOjpapkyZIrt27ZK7d+9m3xkCAAAAQIDwaQTt+eefN1/Hjx+XLVu2SHx8vHz77bcSHh4uLVu2lKeeekpq1KiRfWcLAAAAAHmYTwHNUb16dfP16quvyr59+2Tr1q2yefNmWbt2rVSoUMEENZ0GWbp06ew4HAAAAADkSdnaxTEoKEjq1q0rTZo0kVq1apnHzp07J0uXLpU333xTPvvsMxqLAAAAAEBOjqApZ+Rs+/btkpKSIlWqVDEjaq1atZLg4GDZtGmTxMTEyNSpU2XkyJHZdVgAAAAAyDN8CmgnTpwwoUyvO7t06ZIUL15c2rVrJ61btzYBzdtzzz0nBQoUkC+//NLXcwYAAACAPMmngPb++++b0NW0aVNzjVnDhg0lX777z5qsVKmS1K5d25dDAgAAAECe5fM6aE8++WSW1z/TNdP0CwAAAACQzQGtTZs2vjwdAAAAAJBdXRzXrFkjY8aMue/2Tz75RNavX+/LIQAAAAAgYPgU0LQzY8WKFR94zdk333zjyyEAAAAAIGD4FNB0jTMNYfeji1T/z//8jy+HAAAAAICA4dM1aCEhIXLlypX7btdtunj1o/jb3/4mCxculC5dushvfvMb89itW7dk/vz5Eh8fL7dv35ZGjRpJVFSUae/vuHjxosycOVP2799vmpdoy/++ffuatdgcuk1fJzExUUqVKiW9evW653q6uLg4iY2NNX+HqlWrSmRkpNSsWfOR/i4AAAAAkOMjaNoyf/PmzXL9+vV7tuli1ToFslatWg/9ukePHpWvv/7aBCNv8+bNkx9//FGGDBkio0aNksuXL8vEiRM92+/evStjx46V1NRUGT16tAwaNMic3+LFiz37nD9/XsaNGyf16tWTTz/9VLp27SozZsyQXbt2efbRAKgB7oUXXpDx48eb89Br7ZKSkh767wIAAAAAuRLQNMBoSPrDH/4ga9eulX379pkvbR6ij+no04svvvhQr3njxg35z//8T/nd734nhQsXThf4Nm7cKP379zet+iMiImTgwIFy6NAhOXz4sNln9+7dcurUKRk8eLBUq1ZNmjRpIr1795Z169aZ0Ka0aUnZsmWlX79+Znpm586dzVIBq1ev9hxr1apV0r59e2nbtq3ZJzo62qz3poETAAAAAKyc4qijY7pY9X//93/L3Llz023TEKQh7WEXpp41a5YJVrro9fLlyz2PJyQkyJ07d6RBgwaex7RBSenSpU1A0+PobZUqVdJNeWzcuLF5TZ3OWL16dTly5Ei611A6VdI5fw1yeqwePXp4tuvi2/ocJwhmRqdc6pdDp3aGhoZ6/uxPvhzf3+ceyJz3nhq4C3VzJ+rmPtTMnaibO1E3FwU0pUFqypQpcuLECdM0RJUrV86EoYf9YPntt9/K8ePHzTTFjHQ0Tq958x5VU8WKFfNcB6e33uHM2e5sc26dx7z30Wmaeo3btWvXzFTJjK+j98+cOXPfc4+JiZFly5Z57uvfX6dHlilTRmyQ+IjPK1++fDafCR6Wfj/BfaibO1E396Fm7kTd3Im6uSSgOSNMOuVQvx6VNvfQUawRI0aY6YRu07NnT+nWrZvnvhNOL1y44Jle6S++jMCcPXs2W88FD1c3/UGov/hIS0vjrXMJ6uZO1M19qJk7UTd3om6+04GmrA7cZEtA0+u+tJ1+cnJyph8ktZPiv6PTCrUJh06ZdOhI1sGDB01HxeHDh5ugo8fwHkXT5zijXXqrDUa8OY09vPfJ2OxD7+t0RA2G4eHhJnBm7E6Z2eict/z585uvzLj5w7Wbzz2v0BpQB/ehbu5E3dyHmrkTdXMn6pY7fApo+pt9beiRMRQ9SkDTa7z+/Oc/p3vsv/7rv8xaat27dzfXmmmr/L1795qmHkqnHOrIm3Odm97qdWsauJxpjHv27DHhy1mvTa+b27lzZ7rj6D7Oa2i61ZFAbXbSrFkzT1DU+9pQBAAAAACsDGi63tjJkyfNOmV169a95/qwh6EhSht8eCtYsKAULVrU83i7du1M+/siRYpIWFiYzJkzxwQrJ1xpsw8NYlOnTpWXX37ZjHotWrRIOnXq5Bnd6tixo+nquGDBAtOlUYPXtm3bZOjQoZ7j6lTFadOmmaCma59pV8qbN2/es1YaAAAAAFgT0H766Sdz7dUzzzwjuUFb7OscWF37TKc7OgtVO3RqogYt7dqo17JpwNPRO221791dUvfRNdU0eOlC1QMGDDDdHh0tWrSQq1evypIlS0zI05b9w4YNe+AURwAAAADwVVCaDxe3vPHGG/Lss89Kly5dfD6RvEqbhHi33/cHDbWpUc8+0nODZ67M9vNB1uumXTS1UQvXoLkHdXMn6uY+1MydqJs7UTff6Wy+rDYJ8Wmh6g4dOsiWLVvMNVoAAAAAAD9OcdTf7ms4e++998z1XDpdUKcZZtS8eXNfDgMAAAAAAcGngDZp0iTPn7/88sv77rd48WJfDgMAAAAAAcGngPbBBx9k35kAAAAAQIDzKaA9/vjj2XcmAAAAABDgfApoDu1SePz4cbNA9GOPPSbh4eHZ8bIAAAAAEFB8Dmi6ltjSpUslJSXF3B85cqTUr1/frCP29ttvmwWjdYFpAAAAAEAOttnftGmTWfBZF3nWNdG86ShavXr1JD4+3pdDAAAAAEDA8CmgrVq1Sn71q1/JW2+9Jb/85S/v2R4RESGJiYm+HAIAAAAAAoZPAe3cuXPSpEmT+24vUqSIXLt2zZdDAAAAAEDA8CmghYWFmWvN7ufUqVNSvHhxXw4BAAAAAAHDp4Cmo2cbNmyQ5OTke7bp1EbdltnURwAAAABANndx7NOnjwwfPlzeeecdTxDbvHmzbNy4UbZv3y4lSpSQF154wZdDAAAAAEDA8CmglSxZUsaNGydfffWVp1vjli1bpFChQtKyZUvTYp810QAAAAAgl9ZBK1asmAwYMMB86fVod+/eNaEsXz6fZk8CAAAAQMDxOaB5Y7QMAAAAAPwU0JYtW5al/bgODQAAAAByOKAtXbo0S/sR0AAAAAAghwPa4sWL73lMr0G7ePGixMXFycGDB2XYsGG+HAIAAAAAAka2d/LQ5iBly5aVfv36Sfny5WXOnDnZfQgAAAAAyJNytNVi3bp1ZefOnTl5CAAAAADIM3I0oB07dkyCgoJy8hAAAAAAkGf4dA3a3//+90wfT05ONteffffdd9KuXTtfDgEAAAAAAcOngDZ9+vT7bitatKh0796dDo4AAAAAkBsBberUqfc8plMaCxcuLKGhob68NAAAAAAEHJ8CWpkyZbLvTAAAAAAgwOVokxAAAAAAQC6NoPXu3fuhn6NTIBctWuTLYQEAAAAgT/IpoPXq1Uu+//57OXXqlDRq1EgqVKhgHj99+rTs2bNHKleuLE2bNs2ucwUAAACAPM2ngFayZEm5evWqTJw40RPOHBraPvroIylRooQ8/fTTvp4nAAAAAOR5Pl2DtnLlSunUqdM94UxVqlRJOnfubPYBAAAAAORwQPv5558lJOT+g3DBwcFmHwAAAABADge0KlWqyLp16+TSpUv3bNNgtn79erMPAAAAACCHr0Hr37+/jBkzRt566y3TDKRcuXLm8XPnzpnmIWlpaTJ48OAsv54GOv26cOGCZ5rkCy+8IE2aNDH3b926JfPnz5f4+Hi5ffu2aUwSFRUlxYsX97zGxYsXZebMmbJ//34pVKiQtG7dWvr27WtG8xy6TV8nMTFRSpUqZZqdtGnTJt25xMXFSWxsrFy5ckWqVq0qkZGRUrNmTV/eLgAAAADIuYBWp04dE9AWL15sApkGKFWgQAETnl566aWHGkHTpiMapsqXL2/C3d///nf59NNPzZd2hJw3b57s2LFDhgwZImFhYTJ79mzToOTjjz82z797966MHTvWBLbRo0fL5cuXZerUqSac6euq8+fPy7hx46RDhw4mPO7bt09mzJhhntO4cWOzjwZADXDR0dFSq1YtWb16tfl7Tpo0SYoVK+bLWwYAAAAAORPQlAaw9957z4Qj7eiowsPDJV++h589+atf/Srd/V//+tdmRO3IkSNmpGvjxo1mtK5+/fpm+8CBA+Xtt9+Ww4cPS+3atWX37t2me+TIkSNN4KpWrZpZq+2vf/2rCYt6vZy+XtmyZaVfv36eUbqffvrJhDAnoK1atUrat28vbdu2Nfc1qGkw3LRpk/To0cPXtwwAAAAAciagOTSQ6ciZTit8lHCWkQa+bdu2yc2bN034SkhIkDt37kiDBg08+1SsWFFKly7tCWh6q4HRe8qjhq5Zs2aZ6YzVq1c3Yc/7NZSO9s2dO9f8OTU11RzLO4jp30efo69/PzrlUr+8F+QODQ31/NmffDm+v889kDnvPTVwF+rmTtTNfaiZO1E3d6JuLgtox44dk0WLFsnBgwdNuBkxYoQZ4dLRNJ062LVrV6lXr16WX+/kyZMyfPhwE3Y07L377rtmlOvEiRNmBKxw4cLp9tcph3qdmNJb73DmbHe2ObcZpynq/evXr5spmteuXTPhMOPr6P0zZ87c97xjYmJk2bJlnvsaBsePHy9lypQRGyQ+4vN0uin8y7m2E+5C3dyJurkPNXMn6uZO1M0FAe3QoUNmMWq9duypp54yUxAdOs0xJSVFvv7664cKaLqm2oQJE8xz//GPf8i0adNk1KhRYruePXtKt27d7vlNgzY80eDqT76MwJw9ezZbzwUPVzf9QahNd/SaTLgDdXMn6uY+1MydqJs7UTff6UBTVgdufApoX331lZlmqA00dATKO6ApDWba6ONhT95J5xEREWaEbs2aNdKiRQsTdJKTk9ONoiUlJXlGu/T26NGj6V5PtzvbnFvnMe99dDqiTtF0rp9zRtwcmY3OecufP7/5yoybP1y7+dzzCq0BdXAf6uZO1M19qJk7UTd3om65w6eLxTQ8aXt6DSaZjdLoyFrGoPOwdLqhTnfUsKbdGPfu3evZplMOta2+Xn+m9FanSHoHsD179pjwpdMklXZl9H4NZx/nNTQg6rG0u6P3Oeh9Zx8AAAAAsC6gaWB60G/2dQFrvY4sqxYuXCgHDhwwrfA1aDn3dfqkttVv166daX+vYUkbeUyfPt2EJic4abMPDWLaWl+vWdu1a5e5Pq5Tp06e0a2OHTua11+wYIGcPn3aLLStzUj0WjmHTlXcsGGDbN682XSF1CYj2qwk41ppAAAAAJCdfJriqKNRep2Yd7hx3LhxwwScxx9/PMuvpyNfes2Zrl+mgUwXiNaGIQ0bNvQsjK0jdbr2mU53dBaqdujUxKFDh5pApc1KChYsaBaq1lb7Dm2xr/vommo6dVLb9w8YMMDTYl/pdEptcrJkyRIzAqjt+ocNG/bAKY4AAAAA4KugNB8ubtGW9R9++KHp2tiyZUsTrl599VUzpTA2NlZ+/vlns2C0Bq1ApU1CvNvv+4OG2tSoZx/pucEzV2b7+SDrddMumtqohWvQ3IO6uRN1cx9q5k7UzZ2om+90Nl+uNAnREbQ//vGPMnPmTBPO1Jdffmluf/GLX5htgRzOAAAAAOBhPHJA09/oa+dGvf5r8uTJ5pov5zf9Gs600QYL7AIAAABALgQ0vQYsMjJSfv3rX0v37t3NdVr6BQAAAADI5S6OOo9Sm2bcb+0vAAAAAEAuttnXtvO6ELWOpgEAAAAAfONTk5AqVarI999/L0OGDDFhTTuTFChQ4J79mjdv7sthAAAAACAg+BTQtDmIY/Hixffd70HbAAAAAACPGNAWLlxo1jzT9vkffPDBwz4dAAAAAJBdAW3FihVmaqMGtMcff1z+9a9/SVRUlIwcOdIsWA0AAAAA8EOTEAAAAABA9iGgAQAAAIAlCGgAAAAA4OYujufPn5eEhATz55SUFHN79uxZCQsLy3T/iIgIX84RAAAAAALCIwU0bZufsXX+rFmzHrg/AAAAACCbA9obb7zxsE8BAAAAAOREQGvTps3DPgUAAAAAkAU0CQEAAAAASxDQAAAAAMASBDQAAAAAsAQBDQAAAAAsQUADAAAAAEsQ0AAAAADAEgQ0AAAAALAEAQ0AAAAALEFAAwAAAABLENAAAAAAwBIENAAAAACwBAENAAAAACxBQAMAAAAASxDQAAAAAMASBDQAAAAAsAQBDQAAAAAsESIWiYmJke+++05Onz4tBQoUkNq1a8srr7wiFSpU8Oxz69YtmT9/vsTHx8vt27elUaNGEhUVJcWLF/fsc/HiRZk5c6bs379fChUqJK1bt5a+fftKcHCwZx/dpq+TmJgopUqVkl69ekmbNm3SnU9cXJzExsbKlStXpGrVqhIZGSk1a9bMpXcDAAAAQKCxKqAdOHBAOnXqJDVq1JA7d+7IV199JaNHj5bPPvvMBC01b9482bFjhwwZMkTCwsJk9uzZMnHiRPn444/N9rt378rYsWNNYNPnXr58WaZOnWrCmYY0df78eRk3bpx06NBBBg8eLPv27ZMZM2aY5zRu3NjsowFQA1x0dLTUqlVLVq9eLWPGjJFJkyZJsWLFJFDciX7ukZ8bPHNltp4LAAAAkNdZNcVx+PDhZhSrcuXKUq1aNRk0aJAZDUtISDDbU1JSZOPGjdK/f3+pX7++REREyMCBA+XQoUNy+PBhs8/u3bvl1KlTJnjpazRp0kR69+4t69atk9TUVLPP+vXrpWzZstKvXz+pVKmSdO7cWZ588kkTwhyrVq2S9u3bS9u2bc0+GtR0VG/Tpk1+encAAAAA5HVWBbSMNJCpIkWKmFsNajqy1qBBA88+FStWlNKlS3sCmt5WqVIl3ZRHHRW7fv26mc6ojhw5ku41lE6VdF5Dg5wey3uffPnymfvOPgAAAACQp6c4etOpinPnzpXHHnvMBC6l14KFhIRI4cKF0+2rUw51m7OPdzhztjvbnNuM0xT1voY4vcbt2rVr5vgZX0fvnzlzJtPz1evh9MsRFBQkoaGhnj/7k7+O7++/t9s57x/vo7tQN3eibu5DzdyJurkTdctd1gY0vbZMR7w++ugjcQNtcLJs2TLP/erVq8v48eOlTJkyYoP/HTvMXeXLl/fDUfOecuXK+fsU8AiomztRN/ehZu5E3dyJugVwQNNwpo1ARo0aZToseo9g6fTD5OTkdKNoSUlJntEuvT169Gi619Ptzjbn1nnMex8d8dLrzMLDw82URmfEzZHZ6JyjZ8+e0q1bt3t+03DhwgXPtW/+4q8RmLNnz/rluHmF1k1/EJ47d07S0tL8fTrIIurmTtTNfaiZO1E3d6JuvtNZgFkduLEqoOmH0Dlz5phW+x9++KFp5OFNm4JoN8a9e/eaph5KpxxqIxFtya/0dvny5SZwOdMY9+zZY8KXNvtQ2pVx586d6V5b93FeQ99APZZ2d2zWrJl5TKc86n1tKJKZ/Pnzm6/7/b0CUaD+vXPifeS9dB/q5k7UzX2omTtRN3eibgHYJERHzrZs2SJvvfWWCVQ6YqVfel2Y0rb67dq1M+3vNSxpI4/p06ebYOWEK232oUFMW+ufOHFCdu3aJYsWLTLt+50A1bFjR9Nqf8GCBWbNNe3wuG3bNunatavnXHQ0bMOGDbJ582bTFXLWrFly8+bNe9ZKAwAAAIDsYtUImra/Vzp65k1b6TvBSFvs6zCrrn2mUwedhaodOjVx6NChJlCNGDFCChYsaBaq1lb7Dh2Z0310TbU1a9aYaZQDBgzwrIGmWrRoIVevXpUlS5aYkKgt+4cNG3bfKY4AAAAA4KugNOZO5Si9Bs27u6M/aKBNjXo214/LQtW+100brei1fHybugd1cyfq5j7UzJ2omztRN9/pTL6sXoNm1RRHAAAAAAhkBDQAAAAAsAQBDQAAAAAsQUADAAAAAEsQ0AAAAADAEgQ0AAAAALAEAQ0AAAAALEFAAwAAAABLENAAAAAAwBIENAAAAACwBAENAAAAACxBQAMAAAAASxDQAAAAAMASBDQAAAAAsAQBDQAAAAAsQUADAAAAAEsQ0AAAAADAEgQ0AAAAALAEAQ0AAAAALEFAAwAAAABLENAAAAAAwBIENAAAAACwBAENAAAAACxBQAMAAAAASxDQAAAAAMASBDQAAAAAsAQBDQAAAAAsQUADAAAAAEsQ0AAAAADAEgQ0AAAAALAEAQ0AAAAALEFAAwAAAABLENAAAAAAwBIhYpEDBw7IypUr5fjx43L58mV59913pVmzZp7taWlpsmTJEtmwYYMkJydLnTp1JCoqSsqXL+/Z59q1azJnzhz58ccfJSgoSJo3by6vvfaaFCpUyLPPP//5T5k9e7YcO3ZMwsPDpXPnztK9e/d057Jt2zZZvHixXLhwQcqVKycvv/yyPPHEE7n0TgAAAAAIRFaNoN28eVOqVasmr7/+eqbbV6xYIWvXrpXo6Gj55JNPpGDBgjJmzBi5deuWZ58pU6ZIYmKijBgxQoYOHSoHDx6Uzz//3LM9JSVFRo8eLaVLl5Zx48bJK6+8IkuXLpVvvvnGs8+hQ4dk8uTJ0q5dOxk/frw0bdpUJkyYICdPnszhdwAAAABAILMqoDVp0kT69OmTbtTMe/RszZo18vzzz5vAVLVqVXnzzTfNSNv3339v9jl16pTs2rVLBgwYILVq1TIjbJGRkRIfHy+XLl0y+2zdulVSU1Nl4MCBUrlyZWnZsqU888wzsmrVKs+x9DiNGzeW5557TipVqmTOKSIiQuLi4nLx3QAAAAAQaKya4vgg58+flytXrkjDhg09j4WFhUnNmjXl8OHDJmjpbeHChaVGjRqefRo0aGCmOh49etQEP92nbt26EhLy///qjRo1MqNzOj2ySJEiZp9u3bqlO77u4wTBzNy+fdt8OfSYoaGhnj/7k7+O7++/t9s57x/vo7tQN3eibu5DzdyJurkTdctdrgloGs5UsWLF0j2u951teqvXlHkLDg42oct7n7Jly6bbp3jx4p5tzr4POk5mYmJiZNmyZZ771atXN9Mjy5QpIzZI9MMxva8NxKPTayDhPtTNnaib+1Azd6Ju7kTdcodrAprtevbsmW7UzflNgzYZ0SmV/uSvEZizZ8/65bh5hdZNfxCeO3fOTPGFO1A3d6Ju7kPN3Im6uRN1853O3svqwI1rApozypWUlCQlSpTwPK73tbGIs8/Vq1fTPe/OnTtm6qLzfL3NOBLm3PfeR1/Xm953tmcmf/785iszgfrhOlD/3jnxPvJeug91cyfq5j7UzJ2omztRtwBsEvIgOi1RA9LevXvTdWTUa8tq165t7uuttt9PSEjw7LNv3z7zj0mvVXP20c6O3qNae/bskQoVKpjpjc4+3sdx9tHGIwAAAAAQEAHtxo0bcuLECfPlNAbRP1+8eNEMrXbp0kWWL18uP/zwg2l5P3XqVDOapl0dlXZc1O6L2lZfg9tPP/1k1kRr0aKFlCxZ0uzTqlUrM8Q4Y8YM045fOzxq637v6Yl6nN27d0tsbKycPn3arL2ma6bpemkAAAAAkFOC0iyaO7V//34ZNWrUPY+3bt1aBg0a5FmoWtcs09EzbaOva6bp6JdDpzPqItTeC1Vrq/37LVRdtGhRE7x69Ohxz0LVixYtMteQabOLR12oWp/v3d3RH/R9SI16NtePGzxzZa4fMy/Ruum/Pb2Wz6JvU/wb1M2dqJv7UDN3om7uRN18p5dCZfUaNKsCWl5EQMOj4oehO1E3d6Ju7kPN3Im6uRN1y92AZtUURwAAAAAIZAQ0AAAAALAEAQ0AAAAALEFAAwAAAABLENAAAAAAwBIENAAAAACwRIi/TwB5153o5x7peayfBgAAgEDFCBoAAAAAWIKABgAAAACWIKABAAAAgCUIaAAAAABgCQIaAAAAAFiCgAYAAAAAliCgAQAAAIAlCGgAAAAAYAkCGgAAAABYgoAGAAAAAJYgoAEAAACAJQhoAAAAAGAJAhoAAAAAWIKABgAAAACWIKABAAAAgCUIaAAAAABgCQIaAAAAAFiCgAYAAAAAlgjx9wkAGd2Jfu6R3pTgmSt5MwEAAOBqjKABAAAAgCUIaAAAAABgCQIaAAAAAFiCgAYAAAAAliCgAQAAAIAlCGgAAAAAYAna7CPPoD0/AAAA3I6A9m/ExcVJbGysXLlyRapWrSqRkZFSs2bN3KkOAAAAgIDCFMcHiI+Pl/nz58sLL7wg48ePNwFtzJgxkpSUlHsVAgAAABAwGEF7gFWrVkn79u2lbdu25n50dLTs2LFDNm3aJD169MitGiGHMTUSAAAAtiCg3UdqaqokJCSkC2L58uWTBg0ayOHDh+/Z//bt2+bLERQUJKGhoRIS4v+3WM8lqMZj/j6NvGfcezl+iHNav//7Ch45KcePh+z5flP58+eXtLQ03lKXoG7uQ83cibq5E3Xz3cNkAv+nB0tdvXpV7t69K8WLF0/3uN4/c+bMPfvHxMTIsmXLPPdbtmwpb731lpQoUUKsMOWv/j4DIKCULl3a36eAR0Dd3IeauRN1cyfqlju4Bi2b9OzZU+bOnev50umQ3iNq/nT9+nV5//33zS3cg7q5E3VzJ+rmPtTMnaibO1G33MUI2n2Eh4ebKY3avdGb3s84quZMZ9IvG+k0q+PHjzPdymWomztRN3eibu5DzdyJurkTdctdjKA9YJ5oRESE7Nu3z/OYTnnU+7Vr186t+gAAAAAIIIygPUC3bt1k2rRpJqjp2mdr1qyRmzdvSps2bXKvQgAAAAACBgHtAVq0aGGahSxZssRMbaxWrZoMGzYs0ymONtOpl7qWm61TMJE56uZO1M2dqJv7UDN3om7uRN1yV1AafaABAAAAwApcgwYAAAAAliCgAQAAAIAlCGgAAAAAYAkCGgAAAABYgi6OASAuLk5iY2NNJ8qqVatKZGSkWTYA/hcTEyPfffednD59WgoUKGDW2HvllVekQoUKnn1u3bol8+fPl/j4eLl9+7Y0atRIoqKiXNdNNC/729/+JgsXLpQuXbrIb37zG/MYdbPTpUuXZMGCBbJr1y6zbEq5cuVk4MCBUqNGDbNd+2Zp594NGzZIcnKy1KlTx3y/lS9f3t+nHrB0DVKtyZYtW8z/YyVLlpTWrVtLr169JCgoyOxD3fzrwIEDsnLlSjl+/LhcvnxZ3n33XWnWrJlne1bqc+3aNZkzZ478+OOPpq7NmzeX1157TQoVKuSnv1Vg1y01NVUWLVokO3fulPPnz0tYWJg0aNBA+vbta74HHdQtZzCClsfph3r9cK9t9sePH28C2pgxYyQpKcnfp4b/++HYqVMnU5MRI0bInTt3ZPTo0XLjxg3P+zNv3jzzH9aQIUNk1KhR5ofoxIkTef8scfToUfn666/N95Y36mYf/SAxcuRICQkJMUum/OUvf5F+/fpJ4cKFPfusWLFC1q5dK9HR0fLJJ59IwYIFzfenBm747xcg+j32+uuvm5q9/PLL5kOl1om62UF/2aFLEWmNMpOV76spU6ZIYmKi+b9w6NChcvDgQfn8889z8W8ReB5UN62NBjf9RYh+fnznnXfkzJkz8umnn6bbj7rlEG2zj7zrj3/8Y9qsWbM89+/cuZP229/+Ni0mJsav54XMJSUlpb344otp+/fvN/eTk5PT+vTpk7Zt2zbPPqdOnTL7HDp0iLfRz65fv572+9//Pm337t1pH3zwQdoXX3xhHqdudlqwYEHayJEj77v97t27adHR0WkrVqzwPKa17Nu3b9rWrVtz6SyR0dixY9OmT5+e7rEJEyakTZ482fyZutlF/3/avn27535W6pOYmGied/ToUc8+O3fuTHvppZfSfv7551z+GwSmjHXLzJEjR8x+Fy5cMPepW85hBC0P0+HphIQEMyTtyJcvn7l/+PBhv54bMpeSkmJuixQpYm61fjqq5l3DihUrSunSpamhBWbNmiVNmjSRhg0bpnucutnphx9+kIiICPnss8/M9Ko//OEP8s0333i26zQenULnXU+d1qNTwvmZ6T869Xvfvn3mt/fqxIkTcujQIfO9p6ib3bJSH73VkWxnqrHS//d0qqPOUoA9n1G0Jlo/Rd1yDteg5WFXr141c/czXquk953/6GAPrdXcuXPlsccekypVqpjH9D81nY7lPQVLFStWzGyD/3z77bdm+sfYsWPv2Ubd7P2gqFPlunbtKj179pRjx47JF198Yb7H2rRp4/me0u8vb3y/+VePHj3k+vXr8vbbb5tfMurPyj59+shTTz1ltlM3u2WlPnobHh6ebntwcLD5ZSX/19lBpzz+9a9/lZYtW3oCGnXLOQQ0wBKzZ8828+8/+ugjf58K/o2LFy+aMK3XSmhzF7iDfrDX39DrRe6qevXqcvLkSRPaNKDBTtu2bZOtW7fK73//e6lcubIZQdPvvxIlSlA3IJdmZOn1n0pnHyDnEdDyMP1tlP62MeNvn/Q+HQDtC2c7duwwTUBKlSrleVzrpD8YteuV9yiaNnmhhv6jUxi1Bu+//366D/96Ubt2TR0+fDh1s5B+oK9UqVK6x/T+9u3bzZ+d7ymtre7r0Pt6IT38Q7tudu/e3fzmXukMgwsXLpjmIRqsqZvdslIf3Udn/XjT6f3a2If/6+wIZ/qLyT/96U+e0TNF3XIO16DlYTptR6+30Ln73h8i9b7O6Yf/aethDWfaal9/8JUtWzbddq2fTvPYu3ev5zGdnqo/KKmh/+i1EX/+859NNyvnS0dmWrVq5fkzdbOPTh/OOL1b75cpU8b8Wb//9AOH9/ebXnOh18Dw/ebfTnP6y0Zvel9/firqZres1Edv9ReR+ssvh35W0RqzLJD/w9m5c+dMB9yiRYum207dcg4jaHlct27dZNq0aeaDvv6QW7NmjfnPjuk8dtBwplN3tFlBaGioZ7RTf0OlU+f0tl27dmapBJ2Lr/d1nRj9ocgHRv/RWjnXCTq0bbT+5+U8Tt3so9ee6YeM5cuXS4sWLcwHRF2X6be//a3Zrhe/61p2ul3XZ9IPlroOkP7Wv2nTpv4+/YD1y1/+0tREmyPpiKdOcVy1apW0bdvWbKdu/qdLw+iHeO/rPbVO+v+W1u3ffV9pXRs3bmza6msrfg0G+n+dfp96r7mF3KubhmptqKTXWutsEf0Fv/MZRbfrIAB1yzlB2soxB18fFtApV7pmjH5j6XQCXfixVq1a/j4tiMhLL72U6fugC+c6IdpZ8FibUuh/WixUbacPP/zQfH9lXKiautlF1xTURcX1Q4l+UNTQ9vTTT9+zoK52d9Tf8uuCurpGkPfi8chd2iBk8eLFZqaBTovTD+w63VHX99QPidTN//bv32+m6GekC4oPGjQoS99XOp1Rf2npvVB1ZGQkC1X7qW4vvviivPnmm5k+74MPPpB69epRtxxEQAMAAAAAS3ANGgAAAABYgoAGAAAAAJYgoAEAAACAJQhoAAAAAGAJAhoAAAAAWIKABgAAAACWIKABAAAAgCUIaAAAAABgCQIaAAAAAFiCgAYAAAAAliCgAQAAAIAlCGgAAAAAIHb4fw4IShj1FpXfAAAAAElFTkSuQmCC", | |
| "text/plain": [ | |
| "<Figure size 1000x400 with 1 Axes>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "df[\"trip_distance\"].plot.hist(bins=50)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "Okay! This last one is extremely tricky, but I know you can do it. In the cell below, write a statement or series of statements that draws a scatter plot with trip distance as the X axis and the total amount on the Y axis, but only including the rows where the total amount is greater than zero.\n", | |
| "\n", | |
| "Expected output:\n", | |
| "\n", | |
| "" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 45, | |
| "metadata": { | |
| "scrolled": true | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "<Axes: xlabel='trip_distance', ylabel='total_amount'>" | |
| ] | |
| }, | |
| "execution_count": 45, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| }, | |
| { | |
| "data": { | |
| "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1YAAAF3CAYAAACmM9rRAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAATZlJREFUeJzt3Ql8VNXd//HfJJOEBAgBEiSAbCqilc0NBS0qtVqlVVwLtFUstk/Bpfr3qdadKuWFS6tV8OkD4lbZyiNad1to3UJRQQVRQARZJEhYkkgSyDb/1+/QO85MZiazZu6d+bxfrzC5cyczd+ZkyP3OOed3XB6PxyMAAAAAgJhlxf6jAAAAAACCFQAAAAAkAD1WAAAAABAnghUAAAAAxIlgBQAAAABxIlgBAAAAQJwIVgAAAAAQJ4IVAAAAAMSJYAUAAAAAcXLHewfpbN++fdLY2Jjqw5CSkhKpqKhI9WEgSrSbM9FuzkObORPt5ky0mzPRbvFxu93SuXPn1m8X5+OkNQ1VDQ0NKT0Gl8vlPRaPx5PSY0HkaDdnot2chzZzJtrNmWg3Z6Ld2g5DAQEAAAAgTgQrAAAAAIgTwQoAAAAA4kSwAgAAAIA4EawAAAAAIE4EKwAAAACIE8EKAAAAAOJEsAIAAACAOLFAsI2Vba2W+av3SL1ns+S6mmXc4GIZ0bsw1YcFAAAAIADBysahataKnfJNfbP3Ot1WhCsAAADAXhgKaFPzV+/2C1VKt7UHCwAAAIC9EKxsqq6xOcT1TW1+LAAAAADCI1jZVL47eNPku7Pb/FgAAAAAhEewsiktVNEx1795dHvc4K4pOyYAAAAAwVG8wqasAhXz1+yR+maX5GZ5ZNygrhSuAAAAAGyIYGXzcDWyTycpLS2V8vJy8Xg8qT4kAAAAAEEwFBAAAAAA4kSwAgAAAIA4EawAAAAAIE4EKwAAAACIE8EKAAAAAOJEsAIAAACAOBGsAAAAACBOBCsAAAAAiBPBCgAAAADiRLACAAAAgDgRrAAAAAAgTgQrAAAAAIgTwQoAAAAA4kSwAgAAAIA4EawAAAAAIE4EKwAAAACIE8EKAAAAAOJEsAIAAACAOBGsAAAAACBOBCsAAAAAiJNbbGTRokWyePFiv+t69OghDz30kPm+vr5enn76aSkrK5OGhgYZMmSITJo0SYqKiry33717t8yePVvWrl0r7dq1k1GjRsn48eMlOzu7zZ8PAAAAgMxgq2ClDj/8cLnjjju821lZ33aqPfXUU7Jq1Sq58cYbpaCgQB5//HF58MEH5Z577jH7m5ubZfr06SZo3XvvvbJv3z559NFHTajScAUAAAAAGTEUUIOUBiPrq7Cw0FxfW1sry5YtkyuuuEKOO+446d+/v0yePFnWr18vGzZsMLf5+OOPZfv27XLttddK3759ZdiwYXL55ZfL66+/Lo2NjSl+ZgAAAADSle16rHbu3Cm//OUvJScnRwYMGGB6moqLi2XTpk3S1NQkgwYN8t62Z8+eZp8GK72tXvbu3dtvaODQoUNlzpw5sm3bNunXr1/Qx9Rhhfplcblckp+f7/0+lazHT/VxIDq0mzPRbs5DmzkT7eZMtJsz0W4ZGqyOOuoo0wul86p0GJ/Ot7rzzjvNcL/Kykpxu93Svn17v5/p1KmT2af00jdUWfutfaEsWbLEb26XBrAZM2ZISUmJ2EX37t1TfQiIAe3mTLSb89BmzkS7ORPt5ky0W4YFKx26Z+nTp483aC1fvlxyc3OT9rhjx46VMWPGtEj2FRUVKR9CqMeibwTtyfN4PCk9FkSOdnMm2s15aDNnot2ciXZzJtotftq5E0mHi62CVSDtndLeKw0VgwcPNiGnpqbGr9eqqqrK20ullxs3bvS7D91v7QtFhx3qVzB2CTN6HHY5FkSOdnMm2s15aDNnot2ciXZzJtotA4tX+Dpw4IAJVRqKtFiFVvdbs2aNd/+OHTtMeXWdX6X0cuvWrd4wpVavXm3mS/Xq1SslzwEAAABA+rNVj5WuUXXiiSeaghQ6x0rXtdIqgaeddpopr37WWWeZ23To0MFsz50714QpK1jpulYaoLTE+oQJE8y8qgULFsg555wTskcKAAAAANIqWO3du1cefvhh+eabb0yZ9YEDB8q0adO8Jde11LqOE9ViFjos0Fog2KIh7JZbbjFVAG+//XbJy8szCwRryXUAAAAASBaXh4k7IWnxCt8y7KmgQbK0tFTKy8uZY+UgtJsz0W7OQ5s5E+3mTLSbM9Fu8dORb5EUr7D1HCsAAAAAcAKCFQAAAADEiWAFAAAAAHEiWAEAAABAnAhWAAAAABAnghUAAAAAxIlgBQAAAABxIlgBAAAAQJwIVgAAAAAQJ4IVAAAAAMSJYAUAAAAAcSJYAQAAAECcCFYAAAAAECeCFQAAAADEiWAFAAAAAHFyx3sHSJ6yrdUyf/UeqfdsllxXs4wbXCwjehfykgMAAAA2Q7CycaiatWKnfFPf7L1OtxXhCgAAALAXhgLa1PzVu/1CldJt7cECAAAAYC8EK5uqa2wOcX1Tmx8LAAAAgPAIVjaV7w7eNPnu7DY/FgAAAADhEaxsSgtVdMz1bx7dHje4a8qOCQAAAEBwFK+wKatAxfw1e6S+2SW5WR4ZN6grhSsAAAAAGyJY2TxcjezTSUpLS6W8vFw8Hk+qDwkAAABAEAwFBAAAAIA4EawAAAAAIE4EKwAAAACIE8EKAAAAAOJEsAIAAACAOBGsAAAAACBOBCsAAAAAiBPBCgAAAADixALBAAAAAGyjbGu1zF+9W+oamyXfnSXjBhfLiN6FYncEKwAAAAC2CVWzVuyUb+qbvdfptrJ7uGIoIAAAAABbmL96t1+oUro9f/UesTuCFQAAAABbqGtsDnF9k9gdwQoAAACALeS7g8eTfHe22B3BCgAAAIAtjBtcLB1z/SOKbo8b3FXsjuIVAAAAAGxhxH8KVOicKh3+pz1VGqrsXrhCEawAAAAA2MaI3oWOCFKOClbPP/+8zJs3T8477zy58sorzXX19fXy9NNPS1lZmTQ0NMiQIUNk0qRJUlRU5P253bt3y+zZs2Xt2rXSrl07GTVqlIwfP16ys+0/NhMAAACA89h2jtXGjRvl73//u/Tp08fv+qeeekpWrlwpN954o0ydOlX27dsnDz74oHd/c3OzTJ8+XRobG+Xee++VKVOmyL/+9S9ZuHBhCp4FAAAAgExgy2B14MABeeSRR+SXv/yltG/f3nt9bW2tLFu2TK644go57rjjpH///jJ58mRZv369bNiwwdzm448/lu3bt8u1114rffv2lWHDhsnll18ur7/+uglbAAAAAJARQwHnzJljAtHgwYPlueee816/adMmaWpqkkGDBnmv69mzpxQXF5tgNWDAAHPZu3dvv6GBQ4cONfe5bds26devX4vH0yGF+mVxuVySn5/v/T6VrMdP9XEgOrSbM9FuzkObORPt5ky0mzPRbhkcrN59913ZvHmzGc4XqLKyUtxut18vlurUqZPZZ93GN1RZ+619wSxZskQWL17s3dbwNWPGDCkpKRG76N69e6oPATGg3ZyJdnMe2syZaDdnot2ciXbLsGClRSeefPJJuf322yU3N7fNHnfs2LEyZsyYFsm+oqIi5cMH9Vj0jbBz507xeDwpPRZEjnZzJtrNeWgzZ6LdnIl2cybaLX7asRNJh4utgpUO9auqqpKbb77ZrxjFZ599Jq+99prcdtttJujU1NT49Vrpz1i9VHqphS986X5rXzA5OTnmKxi7hBk9DrscCyJHuzkT7eY8tJkz0W7ORLs5E+2WfLYKVjp36oEHHvC77rHHHpMePXrIBRdcYOZSacn0NWvWyCmnnGL279ixw/R06fwqpZc6L0vDlDUEcPXq1WbOVK9evVLwrAAAAACkO1sFKw0/WnjCV15ennTs2NF7/VlnnWXWserQoYMUFBTI3LlzTZiygpWua6UB6tFHH5UJEyaYeVULFiyQc845J2SvFAAAAACkTbCKhJZa17GiunaVDgu0Fgi2ZGVlyS233GKqAOpcLQ1mukCwllwHAAAAgGRweZi4E5IWr/Atw54KGiJLS0ulvLycOVYOQrs5E+3mPLSZM9FuzkS7ORPtFj8d9RZJ8QpbLhAMAAAAAE5CsAIAAACAVAWra665Rj744IOQ+1euXGluAwAAAADpLiue+UcHDhwIuV/36W0AAAAAIN0lbSjgF1984beILwAAAACkq6jKrb/yyivmy/LUU0+ZNaIC1dbWSk1NjZx22mmJOUoAAAAAsLGoglVhYaFZfFfpML8uXbpI586dW5R01LWj+vfvbxblBQAAAIB0F1Ww0h4oqxdq6tSpctFFF8mgQYOSdWwAAAAAkH7Bytddd92V2CMBAAAAgEwLVpbt27fL119/beZUeTyeFvtHjRoV70MAAAAAQHoGq507d8ojjzwiGzduDHs7ghUAAACAdBdzsJo9e7Zs3bpVrrzySjnmmGMorQ4AAAAgY8UcrNatWydjx46VH/zgB4k9IgAAAADIlAWCtfR6QUFBYo8GAAAAADIpWJ199tny9ttvS3Nzc2KPCAAAAAAyZShgaWmpCVX//d//LWeeeaZ07dpVsrJa5rThw4fHe4wAAAAAkJ7B6qGHHvJ+/8wzz4S83cKFC2N9CAAAAABwBBYIBgAAAIBUBatjjz023scGAAAAgMwuXgEAAAAAiLPHaurUqa3exuVyyZ133hnrQwAAAABAegcrj8djgpMvrRJYUVEhe/bske7du0uXLl0ScYwAAAAAkJ7B6u677w65b+XKlfK///u/8rOf/SzWuwcAAACAzJ5jdcIJJ8jpp58uTz75ZDLuHgAAAAAyo3jFYYcdJl988UWy7h4AAAAA0jtYNTU1yfLly6Vjx47JuHsAAAAASI85VrNmzQp6fW1trXz++edSWVnJHCsAAAAAGSHmYLV27doW12mVwPbt28vRRx8to0ePliFDhsR7fAAAAACQvsFq5syZiT0SAAAAAHCopBWvAAAAAIBMEXOPlbUg8FtvvSWrVq2S3bt3m+uKi4u95dazsshtAAAAANJfzMFKi1RMmzZNNm7cKPn5+aa8ulqzZo2sWLFC3njjDbntttukoKAgkccLAAAAAOkTrObPny+bNm2Sq666yhSqcLsP3VVjY6MsW7ZMnnjiCVmwYIHZDwAAAADpLOaxeu+99558//vfl3POOccbqpR+r9efffbZpucKAAAAANJdzMFq//790qNHj5D7e/bsaW4DAAAAAOku5mDVvXt3+eCDD0Lu133WvCsAAAAASGcxBysd7rd69WqZPn26fPzxx7Jr1y7z9dFHH5nrdN+5556b2KMFAAAAgHQqXqFzq6qqquSFF14wYcrvTt1uueSSS0z4AgAAAIB0F9c6VpdddpnpldIS6xUVFea6kpISGTRokBQWFibqGAEAAAAgfYOV0gA1cuTIxBwNAAAAAGRisNJ1q/bu3Ss1NTXi8Xha7O/fv3/E96WLCuuX1fvVq1cvM6Rw2LBhZru+vl6efvppKSsrk4aGBhkyZIhMmjRJioqKvPexe/dumT17tqxdu1batWsno0aNkvHjx0t2drY4TdnWapm/eo/UezZLrqtZxg0ulhG96QkEAAAA0iZYaZB65pln5O233zbhKpSFCxdGfJ9dunQxIai0tNSEtDfffFPuu+8+83X44YfLU089JatWrZIbb7xRCgoK5PHHH5cHH3xQ7rnnHvPzzc3NpnCGBq17771X9u3bJ48++qgJVXq/TgtVs1bslG/qm73X6bYiXAEAAABpEqxmzpwpK1euNMMAjzzySBN04nXiiSf6bY8bN870YH3++efStWtXWbZsmVx//fVy3HHHmf2TJ0+WG264QTZs2CADBgww1Qm3b98ud9xxhwlXffv2lcsvv1yeffZZMx/MdyFjX9r7pV8Wl8sl+fn53u9TQXuqfEOV0u35a/bIyD6dUnJMiJz1e5Oq3x/EhnZzHtrMmWg3Z6LdnIl2c0Cw0nLqP/jBD+TKK6+UZNDep+XLl8vBgwdNaNq0aZM0NTWZwhi+ixAXFxd7g5Ve9u7d229o4NChQ2XOnDmybds26devX9DHWrJkiSxevNi7rbebMWOGKcSRKjr8L+j1zS7Towdn0PXe4Dy0m/PQZs5EuzkT7eZMtJuNg1XHjh2T0kBbt26V2267zfQg6Rypm266ycy1+vLLL02PU/v27f1u36lTJ6msrDTf66VvqLL2W/tCGTt2rIwZM6ZFste5XuGGOSZTrssT/Posj5SXl7f58SA6+juk74+dO3cGnXsIe6LdnIc2cybazZloN2ei3eKnGSSSDpeYg9Xo0aNNEQldqyorK+Z1hlvo0aOH3H///VJbWyv//ve/zZDDqVOnSjLl5OSYr2BSdVI8bnBXeXh5uRxo/Pbx27ldMm5QV07UHUR/fwhWzkO7OQ9t5ky0mzPRbs5EuyVfzMFKq/Vpb85vf/tbOf30080cqGABa/jw4dEdkNvt7QnTioJffPGFvPLKKzJixAjzeFo0w7fXShcptnqp9HLjxo1+96f7rX2OExjq6PkAAAAA0itYaYn1Tz75xAzR069EVAUMNddKhwVqyNLqfroY8SmnnGL27dixw5RX1/lVSi+fe+45E6asIYA6F0wLUehwQieZv3q3HGjyv063tagFVQEBAACANAlWjz32mGzevFkuvPBCOeqooxJSFXDevHmm2IQWpDhw4IC888478umnn5o5V3r/Z511llnHqkOHDmZ77ty5JkxZwUrXtdIApSXWJ0yYYOZVLViwQM4555yQQ/3sqq6xOcT1AWkLAAAAgHOD1bp16+SCCy4wZcwTRXuadE6Vrj+lwalPnz4mVA0ePNjsv+KKK8wEPF27SocFWgsEW3Qo4i233GKqAN5+++2Sl5dnFgjWkutOk+8OPm8t3+28hY4BAACAdBdzsNI5S9pzlEi/+tWvwu7Pzc01Qco3TAXSih0678vpxg0ubrFAcMfcLFPUAkBm0wXEdbiw9mzrhzD6/wVDhAEAcGiw0vLkunivDs/TsuhILOskSRcE1rWrtMy6VgTk5AnIbBqqAj900W3F/w8AADgwWGlBCa3gd+2118qpp55q5kUFqwrouz4UoqMnSSP7dDILAuvaVZTtBqA9Vb6hSuk2hW0AAHBosHrmmWe837/++ushb0ewAoDEobANAABpFqy08h4AoG1R2AYAgDQLVlokAgDQtihsAwBAmgUrAEAKC9us3mPWtdMlGLRaKIUrAABwcLDasmWLvPrqq2ah4Nra2hbFFXTNqUceeSTeYwQA+NAQRZACAMBegq9CG4G1a9fKrbfeKqtWrZLOnTvLrl275LDDDjPfV1RUmBLsxxxzTGKPFgAAAADSqcdq0aJF0q1bN5k2bZo0NjbK1VdfLWPHjpXjjjtOPv/8c/n9738vEyZMSOzRAgAAAEA69Vht2rTJLA5cUFDgXb+qufnQ2ipHHXWUnH322bJw4cLEHSkAAAAApFuwys7Olvz8fPN9+/btzXZVVZV3v/Zmbd++PTFHCQAAAADpGKy6d+8u5eXl3iIVPXv2lPfee8+7X+deFRUVJeYoAQAAACAdg9WwYcPk3XfflaamJrN9/vnnm2B13XXXma+VK1fK9773vUQeKwAAAACkV/GKiy++WM477zzv/KozzjjDfL9ixQpzedFFF5nrAAAAACDdxRys3G63dOzY0e+67373u+YrmPr6elm+fLkMGTKEIYIAAAAA0krMQwGjpQsIz5o1i4IWUSjbWi3XvLhJfvjnMrnmxS/MNgAAAIA06rFCcmmImrVip3xTf6iEvdJtNaJ3IS8/AAAAkIk9VojO/NW7/UKV0u35q/fwUgIAAAA2Q7CyqbrG5hDXH6rCCAAAAMA+GApoU/nu4Jk3352dsKGG2iumAU4fa9zgYoYYAgAAADGix8qmNOh0zPVvHt0eN7hrwuZvba2ql4qaRnOp2xTHAAAAAGJDj5VNWQUq5q/ZI/XNLsnN8si4QV0T0qsUbv4WhTEAAACA6BGsbExDzsg+naS0tFTKy8vF4/Ek5H6ZvwUAAAA4NFh16NBB7rrrLunbt29bPSRSNH8LAAAAyDQRB6s333wzpgcYNWrUoQdyu+XYY4+N6T6Q+PlbgWtkJWr+FgAAAJCJIg5Ws2bNiitYwYbzt1bvMeXbtadKQxXzqwAAAIAkB6tHH300xoeAHWmIIkgBAAAAbRysSkpKEvSQAAAAAJBeWMcKAAAAAFJZFbCyslKWLVsmmzZtkrq6Omlu9l8byeVyyZ133hnvMQIAAABAegarLVu2yN133y319fXSo0cP2bp1q/Tq1Utqa2tl7969cthhh0nXrlSZAwAAAJD+Yg5W8+bNk3bt2sn9998vubm5cvXVV8vEiRPluOOOk+XLl8ucOXPkuuuuS+zRAgAAAEA6zbFat26dnH322VJcXCxZWYfuxhoKeOqpp8ppp50mzzzzTOKOFAAAAADSLVh5PB7p1KmT+b6goMCEq/3793v39+7d28y9AgAAAIB0F/NQwG7dusmuXbvM9xqqdHvNmjUyYsQIc9369eulffv2iTvSDFS2tdos4lvv2Sy5rmYZN7iYtaeAqN9Du6WusVny3Vm8hwAAgP2C1eDBg+Xf//63jBs3zmzrsEAd+qdhS3uz1q5dKz/84Q8TeawZd0I4a8VO+ab+20qLuq1Y2BfgPQQAANIkWF100UVmHlVjY6O43W45//zz5eDBg7JixQrTg3XxxReb2yA2+im7b6hSuq09WAQrgPcQAABIk2DVoUMH8+W7ZpWGKf1C/HToUvDrm3h5Ad5DAAAgXYpXTJ061cypCuWTTz4xt0FsdD5I8OuzeUkB3kMAACBdeqw+/fRTGT16dMj91dXV5jbRWLJkibz33nvy1VdfmbWxBgwYID/5yU/MAsQWXZD46aeflrKyMmloaJAhQ4bIpEmTpKioyHub3bt3y+zZs808L11ra9SoUTJ+/HjJznZOKNFCFYFzrDrm6uR7Fl0GeA+1jsIdAAA4JFi1ZufOnZKfnx/Vz2gQO+ecc+SII46QpqYmmT9/vtx7773yhz/8wQQk9dRTT8mqVavkxhtvNGXeH3/8cXnwwQflnnvu8a6lNX36dBO09Gf37dsnjz76qAlVGq6cQudRra+olZc3VElDs8dc19jsMXOvrP0Awr+HlM5L1CG02turH0xkwnuH4jcAANg8WP3rX/+SN99807v93HPPydKlS1vcrra2VrZs2SLDhg2L6mBuu+02v+0pU6aY3ihdD+vYY48197ts2TK5/vrr5bjjjjO3mTx5stxwww2yYcMG08P18ccfy/bt2+WOO+4w4apv375y+eWXy7PPPiuXXXaZKbThlBOjpZuqvaFK1TV6ZGtVPdUBgQhpiMqEIBWI4jcAALS9qFKGDsPTIX6Wuro6U7TCl27n5eWZ8uuXXHJJXAenQUpZRTI0YGlP1qBBg7y36dmzpxQXF3uDlV7q4sS+QwOHDh0qc+bMkW3btkm/fv1aPI4OKdQv3+dg9bYFPr+2op+yB1YF9KsOuGaPjOxzaIHmWJRtqZZ5Zn0f/SQ/S8YPLpERfTLvBDRZrN+bVP3+ILPbLVzxG6c/t3Rts0xDuzkT7eZMtJtNg9X3v/9982X1Jk2cOFFOPPHEpByYDul78skn5eijjzZBSVVWVpoep8CFhzt16mT2WbfxDVXWfmtfqLldixcv9m5r+JoxY4aUlJRIquiiwGH3N7uktLQ0pvteun6XPPb+11J1oNF7nW4Xde4so4/uFtN9Irju3bvz0sRIf09nl22WmvomKcjJll+M7Ndmv59Ob7fC/K1SUdMY5Pq8mP/fsDunt1mmot2ciXZzJtot+WIeFzdz5kxJJp07pT1Mv/vd7yTZxo4dK2PGjGmR7CsqKsw6XamQ6/KE35/lkfLy8pjue9abm/xCldLtWW99LscWUs49EfR3SP8D07mGumA2ou9RnWmKt3z7+zjttc+kct++pPaspku7XXpMkcxcccDv9euYm22uj/X/DbtKlzbLNLSbM9FuzkS7xU87diLpcIl7wpEWnNBiEhpClD7o8ccfb+ZExROq9D61XHvXrt9WwdOeKA06NTU1fr1WVVVV3l4qvdy4caPf/el+a18wOTk55iuYVP2h1kn2gVUB/aoDDuoa87GFWgurrqGJE5ME0zZKxu9Quld8m7e6wi8UKN3W4aun9u7o2HZrK/oaecTTonCHud7Bzyud2yxT0W7ORLs5E+2WfDEHKw04Dz30kLz//vtmWyv0WfOiXnzxRTn55JNNkYloikVog8+dO9eUXL/77rulWzf/YT/9+/c31f10/axTTjnFXLdjxw5TXl3nVym91KIaGqasIYCrV682c6Z69eoljqtotmaPVB9skpqDTZKf45KidjlxVzZjjSxnS9eKb75hcW9t8J5iFsiOXKYW7gAAwHHB6q9//asJVT/84Q/NMDqrN0gDjQYr/dJ5Sz/+8Y+j6ql655135De/+Y0JQtacKA1tuq6VXp511llmHSstaKHbGsQ0TFnBSte10gClJdYnTJhg7mPBggWmjHuoXim70pMiLVChcyJ0+E6iPo1ljSxnS8eKb8HCYjAskA0AANIuWGkA0oV3dQFfX9pLpNdpwHr77bejClZvvPGGudTeKl9aUv2MM84w319xxRVmrKiuXaW9ZtYCwZasrCy55ZZbTBXA22+/3VQo1OPUkus4JJPX90kH4Sq+pVNYDMQC2QAAIC2DlfYEHXnkkSH3H3XUUVJWVhbVfS5atKjV22jPlQYp3zAVSOd5/fa3v43qsTMNw4ScKx2HcoYKi9kukS4FbsI/AABI32DVpUsXU7jCKr8eSPfpbZB+nFY4wWnHm+yhnHZ8PUKFxZ6FefLImJZrzwEAAKRNsNLhdTrPSuc56Rwrqza+lrx9+eWXZfny5XLZZZcl8lhhA04rnOC04032UE67vh7M+0sPdgztAADYPlhddNFF8vXXX8vSpUvNl85tshb2tYKXrg+F9OK0wglOO95kD+W06+vBvD/ns2toBwDA9sFq7969Zp6T9lZ9+OGHfutYDRs2zPRg6W2Ki4sTebxIMacVTnDa8Wby68G8P2eza2gHAMD2wWrKlCly7bXXymmnnSZ9+vRpsV8LVzz88MOycOHCeI8RNuK0wglOO95k4/VAJoZ2AADaQvCzzgTQUujW8ECkD50zoYUSnFIG22nHm2y8HkgWQjsAINNF1WNVW1trvizffPON7N69u8XtampqTI+VtWgw0ofT5sI47XiTjdcDyUIBEgBAposqWGm1v8WLF3u3n3zySfMVCovypienzYVx2vEmG68HkvV7pfgQAwCQqaIKVkOGDJF27dqJx+ORZ599VkaOHCn9+vmvMeNyuSQvL0/69+8vRxxxRKKPFwBiQinw5CO0AwAyWVTBasCAAeZLHTx4UIYPHy69e/dO1rEBQEJQChwAANi2KuCll16a2CMB4Cht2QMU72NRChwAANg2WAHIXG3ZA5SIx6IUOAAASDaClYMwRwR2EU8PULS/x4nobaIUOAAASDaClUOUbWm7HgIgWT1AsfQ+JaK3iVLgAAAg2QhWDjEvAZ/aA4kSaw9QLL1PiehtohS4vdEbDwBIBwQrG7v3n1vl/R26IPNnIW8Tzaf2QKLE2gMUS+9TonqbKAVuT1RsBACkC4KV7UNVeNF8ag8kSqw9QLH0PtHblN6o2AgASBcEK5uKJFTF8qk9kCix9ADF2vtEb1P6omIjACBdEKwcKtslMnl4d+ZXOaDoyLzVFUlb68lpc1OS3fvktNcDVGwEAKQPgpVDFbVzmxPIuat2cQJpU0vX75KZpnemKSmVHJ06NyVZvU9OfT0yHRUbAQDpgmDlUNUHm2RPXaN3mxPI1AjXQzK7bLNfqEp0JcfW5qZkWu8Nc3WciTl0AIB0QbByqIZmj982pdfbXrgekpF9OklNQKhKdCXHcHNTMrH3hrk6zsUcOgBAOgheoguOROl1+/SQqPa52Umt5Biuwl5rx5aOErHeFQAAQKwIVmmEE0h79ZBcPaKfdAwIV4ms5KhD+/T+gt1/JvbehHs9AAAAko2hgGmCE8jkCTVXqbUektFHd5PKfftknvnZxFfACzc3RY833LGlI+bqAACAVCJYOVS7bJEOeW5xuSThJ+z4VrC5Sve9vUMuGFgbUTWzEX0K5dTeHWN6SSMpPhFsbor+XG1Ds7hExJNh4Zu5OgAAIFUIVjYVeFIcuO/co4pk4gnd2/ioMk+wuUraLn9bVyn/XVJg1hJLxppMsRafCPZz+vvSJd8tk07s1qbhO9OqEgIAgMxGsLKp7CyRENNkzIn9qvI6mdjWB5WBQs1V0ms1UD0ypl9SwkKspcNDBUEtpNHWoaqtqxIS5AAAQCoRrGyqvdslVfWh+qzSuwiBnYSaR5XsNggV6L6qPmgChG848Q0Ue2sb2+RYWwsxbb2mVDRBjgAGAACSgaqANhUuVKV7EQI70cCgQ+naug1CBbomz6HAoOHAN1BsraqXippGsz/Zxxr4mHrpe0yqrasSRlpePpJjBwAAiAU9Vg6kp9zpXoTALrS3QwtV6Jyq5hgKQZRtqZZ5qyuinmcUrDBGsJ6fYIEiWKGT40vz5dqXNvkdh4plDlQkvVFtvaZUpEGurXvSAABA5iBYOVCHvCxOAsNI9FAvLRJydElB1EUqlq7fJTNNOGqKep6Rtf+Bd3YE7YWyAkOoQOGryeOS1z6vlAM+GePhsh2iJSUPNHpCHluo1zGSEBNJxcREijTIZeL6XgAAoG0QrByoqF1Oqg/BtpJVNCGWMt6zyzb7hapoe0f0Nj0Ld5vhaqECQ7g5YJaGZo80BFx3KGR5Qh5buNcxkhDT1mtKRRrk2ronDQAAZA6ClU3lu/VT9OD7GAYYWlsM9Yq0R6wmIFRF0jsSeN/HlxbIvrrGkIEh3JDBWFjHFu51jDTEtOWaUpEGubbuSQMAAJmDYGVTJe1zg/ZUdM13MwwwjGQP9YqmR0xLnEfTOxLsvjVUje5faMrrBwsMgYFiX12TNDaHL3wSTmVdozmOcFUJ567aJbnZLiku8F+gWgXO42rLeUuRBLm27kkDAACZg2BlU9pTESxYnd6nQ0qOxylCDfXSMuR60h/vyX40PWJXj+gn0177zG84YLjekVD3raFK18uKJFA8sXKnPL+ustXnoQUtAudYqYbmQ0ExL0xVQq2mZz0XXSC5taGDoV7vVJU9b8ueNAAAkDkIVjb1ztb9Ia8/uiQ1J6ROEGponAYCq7S2ivX1iqZHbPTR3aRy3z6ZZ9qq9d6ReHrbrJDyVXXLMB5Iy8dfP6KH+f4P7+4wYcqXvnY19c3mduH6vlqrTqjbWnxD54kF/o6mYgFhAACAZCJY2dSeEAu97q5tzPgT0nA9Hb5DvXTYWmBFvXjnW0Vb/GBEn0I5tXfHiJ6LDvuL5r4t2kv1wrrKsCHIlzvL5X3+OqzP6oHy5RuRNGDpkL9gIwwrDzSYnsDtIQJdqEBL2XMAAJBuWCDYplrrKWhtIdR0FckCr3ryrkPnuhS4Ez7fSkOcDoHzFWvxg8DnEqzDqrX71vvQNbaimVWVn/PtkseRVBXU+87SZBXE/oPN5vhbm9YV+DtK2XMAAJBubNVj9emnn8rf/vY32bx5s+zbt09uuukmOfnkk737PR6PLFq0SJYuXSo1NTUycOBAmTRpkpSWlnpvs3//fpk7d66sXLlSXC6XDB8+XCZOnCjt2rWTdJYp6/BE09ORjNLaiSx+EG5x3yzXoTCjhSvC3bfeR3Mc5fo1KD68vLzFXKtABTku8XhcfserUas5xt9Ryp4DAIB0Y6tgdfDgQenbt6+cddZZ8sADD7TY/8ILL8irr74qU6ZMkW7dusnChQtl2rRp8oc//EFyc3PNbf70pz+ZUHb77bdLU1OTzJo1S/785z/L9ddfL+ks0evwpKqwQGsi7enQ469taDlPyLcHKNrnGHj7q47vFtdrEm5xX+0BavZ4ZOmmarM4cbTzskIJ2gPm8UQUxvTnfAOlDgOsPtgc0+8oZc8BAEC6sVWwGjZsmPkKRnurXnnlFbnooovkpJNOMtddc801cvXVV8v7778vI0eOlO3bt8tHH30k06dPlyOOOMLc5qqrrjLbP/3pT6VLly6SDrSi26EFXpOzDo8GiMBeDN1WwU7wWwsoiQxpkfR0BCuMoAGrS75bJp14KAxFWzwhGcUWIhmGp48354NdIR8jkvuwZLvEW8XPou3i+7sUjPX7FVhNT+dWVR9svViG731YKHsOAADSja2CVTi7du2SyspKGTx4sPe6goICOfLII2XDhg0mWOll+/btvaFKDRo0yAwJ3Lhxo9+wQl8NDQ3my6K3z8/P935vOy6XdC3INsPF8nOyZfygYlMkIVEeX7mrxdAw3Z67cpeM7NPJ7/qyLRo4vvYrKa7bLnGZY2ptf7TGDy6RmSbg+JYwz5bxg4u9baW9KoFD7PTZtM/L9h5/sNuYIYVr9rR4jq3dXp/Lt5X/sswxjuzbqdXfn2DPJZg9dY2yfOs3QV+vSO+jndslvz61R4v7CNXjpSFM56gF/n5pe+pzrTzQGHIB5EA5WS6ZMry0xWPr6xzstU4lq71s+b5HULSZM9FuzkS7ORPt1nYcE6w0VKlOnfxPxHTb2qeXhYX+J2/Z2dnSoUMH722CWbJkiSxevNi73a9fP5kxY4aUlJRI6nwWco+GnJ5FebJg4vCkPHLlgXVBr993oMlvPpv662tbW5zU6/ZfP6uUi085utX90bq4tFSKOneW2WWbzYm9LsKr60WpG147dF3F/uC9KNurDsqvX90qvxjZT+o9wU+cdWhb4HNU9Z7NIW7fJI+9/7VUHfi2sp5u6zF27y7SXf/xsXT9Lu+xF+Rky48G9ZB/b9krW/bWhl3YN9TrZb0et734SYsKiJYjitu3eI30sfV1KMzPC1oVsG/X9i1+v/TYA59rJJUDu3bIi6mtUymw3WB/tJkz0W7ORLs5E+2WfI4JVsk0duxYGTNmTItkX1FRIY2NwUtgp1p13UEpLz80PC/RdNhlMHrif96st7y9MtoDoccR7vha2x+LYwtF/nhub+922ZZ9EfXa6En/pj01ZtHePHfwYFVV1yA/mPmWCQm+zzPXFfw12X+wqUUg0uDx2Fufm3Wsdu7c6X09tbcn8DgrvjlgClR8uacm7LGHe7309eic7zal+AOVFLjNaxXsNdLXQR97V/UBv+t1cOGg4twWjzfrzU1BQ5XSZ5jtcpl5YYFyszxJ+11NNH3v6x8e33aDvdFmzkS7ORPt5ky0W/zcbndEHS6OCVZFRUXmsqqqSjp37uy9Xre14IV1m+rqb8tuKy1goZUCrZ8PJicnx3wFY9eTq8q6Rnl3S1XIuTfxzGsqapcte+qChxSrd2PminLxiCfsnCd97VrbnwjzVle0Gqp86W1zs91BF8DVbd+AYj1PnR8UOMdK5w1pAKs+2PJ51DYcOh59jvql7fHguztalFTXY/nbun2tVtdr7fUKNXJt739+Tw5VIGzZc/j2lm9avAp6LEs3VcnRJfl+vzOtVZ4MVjnQzK0a1NW276NQrHaDc9BmzkS7ORPt5ky0W/I5Zh0rrQKo4WjNmjXe62pra83cqQEDBphtvdQy7Js2bfLe5pNPPjG/SDoXK500NEuL9ZuiWespnEknHmYKZIRjlThvbV2nRK/7pAUTJj2/0VxazyfaynhK5wi1i+BjBd9S7lr4oXenPClp7zaXul0U4k50bpLvcevrH+owWzt6ne8U7PWyXo+fLt4QdDif0uGB+tj6fEPN3wpW8j3Y2mitFcrQyoHBXiMVrN0AAADSia16rA4cOGCG4PgWrPjyyy/NHKni4mI577zz5LnnnjNzYDRoLViwwPReWVUCe/XqJUOHDjXl1bVaoA7j0zWtRowY4biKgFkRnHCHWr8pkrWewvVoBVZs21vbGHT+ju5rrbpbJNXfIuldC1eVL5rKeBZ9PiGyRtDnaT2XYL1+wSoQ1hxsNHOSdJheuPWqIj3W9RW1LV6zwMcNJdbH1nLqvoKVSA9XOVCPUQuh7Klt9OsTi7eaIgAAgB3ZKlh98cUXMnXqVO/2008/bS5HjRpl1q664IILzFpXGpy0t0oXCL711lu9a1ip6667Th5//HH53e9+510gWEuuO80JPQrk/R21rd4u2PCsUD04eqKsPQbae/HNweaQJ7uBQSfU/B2rxHmowGEJt/+JlTvlhXWVrZ54hwqLeuKuPZLBhvW1xhNhgA23Rpgeo4aeF9dXesOnXuhQyulvrJNfnXRYyN6iaDy/rlKWba42PWQacOINa5Goa/B/RX1Dsv4u6f78HJd3jatIg1+oDwQAAACczFbB6jvf+Y4sWrQo5H4NSpdffrn5CkV7t9JhMeAPIwhV1lwrPYn1PUkN1YOjFe9CrTvkO/Qr8IRYhwVquW7fEuyJWDtLj/tvAaHKNzD5z+8JHiICe0Oi1exb1U6H3WW5pKHZ/3keX5pvAmmwHjV9DrqIb7AePS30MG/NbtkfxSK64Vjtd9/bOyIaxhgvDU2BWgvRltaCX2vztQAAAJzGVsEK32qMYq7VjLd3yIUDa2XiCd1bHbIVzlfVB+WBd3a0CAm6gGzX/Gzp1j475HC+aFg9Yl9V14fsLdLA5BsYQ4XFYKEq1t4r04Pl8UhxgftQ6fBmkfqm5hY9ahpsRHaYdcRUqDLnqrKuodUesWjpw9W1QbFK7YmKVWvz3sL1AgIAADgRwSpN6FCxo0sK/HoUrHlN++palgQPJlxAyMoSeWTMobWQ4qlAGOncID0U3+Fi0YRF7c0paZ9nnrv26Gn4jJR2yumwx5N6FMi63VqGvOUPeyJ4vXx7mZIllgAZqVA9kpG2dbh5b4no7QQAALAbx1QFROt8q7jpya4GoauO75aQstGhehiirUAYzdwg3+Fi+nx0zaVIfmEPNh4KgXMuPFJuHNnDDGOMls5vS/YcpnhZwxcTRasPajW/rvluyXNnydxVu/yq+EXT1sGqQeqx6n1rpUDmVwEAgHRDj1UaCZy3Yp0Ih+tZKczLkpr65rC3CdfDEEkFQv9jbI4pzOlzeWlDZUTD6pqDFJcIHM6XDpIR+zSD19Q3muGfgcVEomnrSKpBAgAApBOCVRoJ7FUK1zukfQk/Glhk5mVpr4T2PoTqxQjXwxCq4l1gqe5vjzGyTlLfMNfaOlChqg2uKq81x5fM4XjpRMN1sOqPVngKFYpDFaKItNAFAABAOiBYpQmt3BfYqxTqRFjD0k2n9fCbv6QFGYL16PQszAt6cmzNtQkVWgJLdVs/UxvBhCeNXlo8Qu9fxVJaXOecIXEO9ToFD8UUogAAACBYpU2oun7Et0HJEupEODAs6fcXDKw1pc+bIyxg0FohCS1Z/tPFG0yQKsjJkpwsl9Q0NPuVbA+l2ae0uFY8ROpZQ/kC251CFAAAAIfQY5UGcrKDB6hglfRCnQjrkECtKmgt/qprL2kQ0vLrnfN3yc9P6OYzbyayHiSrN4uhePak5eKzXK5WK0ZavzPMmwIAAAiNYJUGElVAwLr+4bIdh3qu/nO+rfNuHl5e7r1NNAUokDoXDiySVeV1Zn2yYMVJehXmBe2F0iqK7XOyTYn9wN8Z5k0BAAAER7BK44qAvusNadn1SAoJ6M/4VoSz6BA+K7xFWoACqaW9kBNDDN1Mt16oaNZSAwAASAaCVZoILE0eeCJtlcxu7WQzXG/U9uqDctVzn5v5U8lcnBbx0zltltbCk9N7oeL5fQcAAEgUglWaOL403/up/VfV9S2GfoVbW8pXXX3w0tlKp+Lsqft2v/ZbdcjLMmsf2X0x3Uxz/oBOfttOD0/hRLuWWqrQqwYAQHojWKWJd7bul6WbqsMGHO1x0jWrwg2Tqougap9FHyk3O0v2Hwy+lhXiE22voHZSZbtcJlTpMMBMEe36WqlArxoAAOmPYJUm9tQ2tnoSrj1OuhDw/W/vkA55O6WonduELGXNTwlW5CCcYAvKIjG6FrhNb+DeutBtq3Olwi3gnAmcsL6WU3rVAABA7AhWaSKaPOS7TpSp9ufxBC1YgdTRwGSVuD80hOzQ/Kjm5kOLJ+uXUwtNJFo0ywqkihN61QAAQHwIVhkukgV70faFJ3x7odJ5flQi5iQ5obKhE3rVAABAfAhWgM0U5WfbKhQ4YU6S3cOnE3rVAABAfAhWgM3Qi5F+c5Kc0KsGAADiQ7ACkkx7JlSwio26x/daejHSd06S3XvVAABAfAhWQJIU5GRJcfscGTfo0HCvYEPBRvcvlFXldfRiBGBOEgAAcBqCFZBAFw4sMmtIuVwuKS0tlfLycvFozfT/CKzu9+62/SZEXHX8oQqAOIQ5SQAAwGkIVmmiME8X6m32G1aGtnnd89xZEc2ZsYaCsVhs65iTBAAAnIZglSZq6pulX1GufFFZn+pDyShF7XLkkTH9MrowQ7IwJwkAADhJ8MVV4DhNHiFUpUAsxRTSsTADAABApiNYAQHV+wJ1zXdLTlbiSqNTmAEAACD9EKyQ8bTgxAsTBsrk4d1bhCvdnnRiN7lxZI+g+2JZ4FULMwTel8sM52w086+QnrRtr31pk0x6fqO5pK0BAEgvzLGCZHrxCa3iF2nBhEQs8Gr9zOMrd8me2kbRmoH6taeuyZRk970N0gMFSwAASH8EK0imF5+ItGBCIosp6P1oEYvdAddTxCI9UbAEAID0R7BCxopkKJ/2NOhJsRac0LlROozPN1y1tj8cilhkDtoaAID0R7BCRsrJcpk5VeFCUGvDt8LtH9mnU6vHQBGLzEFbAwCQ/iheAccrae82BSgi1S5b5MaRpa32LIUbvhXJ/liLWFQeaKC4QZoJ1taxFj8BAAD2RI8VHE8LSVgFKF7eUCVNHo9ku1wytHu+bK6sl921jf4/4NL4Ev/wrXiHd/kWy9Awtf9gs+g9Vh9sluqD9RSySCORFEYBAADORrCCo/l+6q/hygpYFi1rHehAo8ec4LZ2Utva8K1EDO+yCmLocWqY8kUhi/SSyOInAADAfghWcByNMx3yskxFv2Cf+vsWlNgb2FsVRa/S8aUFsrWqPsj1+d7hXYFzrGId3kVxAwAAAGcjWMExxSaK8rNbHUIVrKBErL1Kq8prQ1xfJxMTPLwr2cUN4qleCAAAgNYRrGB7WmyiQ54VMHQp3dCCFZQIFGmvUrhepMCgctXx3eIKKsF6v7J8ClnEE4RYnBYAACD5CFawrSyXSOd2bqlpaPIrQOFb8jzSMKSyXSI9C/Mi7lUK1Yvk8UjYMuyxCCxk8U0CC1mwOC0AAEDyUW4dttWrME/a52aZYhORljQPFYZUlwK3PDKmX8ThJFSJbI/HE1eZ9VD0uPT4itq5W/TLxXP/zN8CAABIPnqsYFv76hpCVkYPVnxCh7zVNoTusQo1XynU/CP9Wl9RKy9vqJQmz6Eer9H9C+XdbfsjPiY7BCEWpwUAJMrS9btk1pub/jO3mDm7gC+CFWxLe2lcrYQkKxRVHmj0rgMVzbyqcPOP1NJN1WJltWbPoe28JBeaSHQQCjZ/y+VT3RAAgEiUbamWx97/WqoORDY8H8g0aTsU8LXXXpMpU6bIhAkT5NZbb5WNGzem+pAQoJ3bZQKP9gSFokPiXCFCkhWKtCR6dYhQpfO0crIOrQmsAUx/JtL5R6H26RyrYEMEYymzHs0QxFjvX//YDSxu1+J11ZAY+HoAABDKvNW7/UJVoobCA+kiLYNVWVmZPP3003LJJZfIjBkzpE+fPjJt2jSpqqpK9aHBp3z69aeWyl8uHSDPjR8oJe1Dd552zMuS3p3yzG30cvLw7iYsRFIBUEOQ9jhp8NIApkHMN0yEG3YXal9WlphjCHZMiaD3k8j71+f7wY6WpeP5YwgAiEaoIemJGgoPOF1aDgV86aWXZPTo0XLmmWea7auvvlpWrVol//znP+XCCy9scfuGhgbzZXG5XJKfn+/9Homna1KN7NMpYJhb8MV8i/Jz5NEx/aOqAGgJWgRizR7vY4d63Pyc7P/8cPB9+vO+xx/I+r2J9fentfuPhn6SGKpIvf4x5Hc8ce2GtkebORPt5kzmb2OIv4v8v2lfvN/aTtoFq8bGRtm0aZNfgMrKypJBgwbJhg0bgv7MkiVLZPHixd7tfv36mZ6ukpISSZ3PJJ0V5udJaWmpd3vyqGz53aufSW1DU4v5RpO/e5SUlnYLch9bpaImeBhTemocLFDUN7u8j62PO/2NdX5DGzq1c5vHVKH2BTueYLp37y6pVu/ZHHE7wD7thujQZs5EuznL5O9mx/13EanD+y350i5YVVdXS3NzsxQVFfldr9s7duwI+jNjx46VMWPGtEj2FRUVJqhl+jyoc48skhfW7Wtlad7QQ/50DtUBLav3Hx1zs+XSY4qkvLzce92xhSLXndJdHl/5teytO/SaF+W75eoTDpNjC5v8bmvR+5i54oB8U/9tGNOm0/lI2stVc7BJ9vznvnzlZnm896eP+6uTDpN5a3ZLXUOT+dRt/KBi85gq1L5gx+NLf4f0P7CdO3ea8uyplOvyhBwHHNgOmc5O7YbI0GbORLs503c6ueS33x8oj731ufkgNJq/i0gd3m/xc7vdEXW4pF2wikVOTo75CiaTTq70RFvXjdKqdxpQdJjct4vpeuRv6ypbFIhw/adAhK69dHqfDvL2lv2mQp/qnO+Wn5/QzTsc7VBp1kP3eWrvji1eW71OvyJtA3Mf4mlx39ZcpGAV/0wRiEFd/e4z2ONa+8Pti4TeNtW/Q/qaBKsK+KOBRUHbAfZoN0SHNnMm2s15Rh/dzQQp3/8j+f/SGXi/JV/aBavCwkIz9K+ystLvet0O7MWysxcmDJQLnl3X4vrCvCypa/CIO8sjjc0uyc9xSVG7HL9AEehQSfLg4SNSE0/oLkeXFLR6PxNPCP7zySrDaq03Fe4x433uTsfrAAAAkHzudOyq69+/v3zyySdy8sknm+t0aKBun3vuueIkGq60+1bnwGgXe6yfCIULH6m4n7bkxGNOBl4HAACA5Eq7YKV0vtTMmTNNwDryyCPllVdekYMHD8oZZ5yR6kMDAAAAkIbSMliNGDHCFLFYtGiRGQLYt29fs0iwk4YCAgAAAHCOtAxWSof9OW3oHwAAAADnFoIDAAAAAMSBYAUAAAAAcSJYAQAAAECcCFYAAAAAECeCFQAAAADEKW2rAiZqsWG7sNOxIHK0mzPRbs5DmzkT7eZMtJsz0W7Jf+1cHo/HE8fjAAAAAEDGYyigzdXV1cnNN99sLuEctJsz0W7OQ5s5E+3mTLSbM9FubYdgZXPaobh582ZzCeeg3ZyJdnMe2syZaDdnot2ciXZrOwQrAAAAAIgTwQoAAAAA4kSwsrmcnBy55JJLzCWcg3ZzJtrNeWgzZ6LdnIl2cybare1QFRAAAAAA4kSPFQAAAADEiWAFAAAAAAQrAAAAAEgteqwAAAAAIE4EKwAAAACIkzveO0Byvfbaa/Liiy9KZWWl9OnTR6666io58sgjedltYMmSJfLee+/JV199Jbm5uTJgwAD5yU9+Ij169PDepr6+Xp5++mkpKyuThoYGGTJkiEyaNEmKiopSeuz41vPPPy/z5s2T8847T6688kpzHe1mT3v37pW//OUv8tFHH8nBgwele/fuMnnyZDniiCPMfo/HI4sWLZKlS5dKTU2NDBw40LzfSktLU33oGam5udm0x9tvv23+hnXp0kVGjRolF198sbhcLnMb2iz1Pv30U/nb3/4mmzdvln379slNN90kJ598snd/JG20f/9+mTt3rqxcudK07fDhw2XixInSrl27FD2rzG63xsZGWbBggXz44Yeya9cuKSgokEGDBsn48ePN+9BCuyUePVY2pifjelKu61jNmDHDBKtp06ZJVVVVqg8N//lP7ZxzzjFtcvvtt0tTU5Pce++9cuDAAe/r89RTT5k/NDfeeKNMnTrV/Of34IMP8vrZxMaNG+Xvf/+7eW/5ot3sR08A7rjjDnG73XLrrbfKH//4R/nZz34m7du3997mhRdekFdffVWuvvpq+f3vfy95eXnm/alBGan50ELfXz//+c9Ne02YMMGcCGob0Wb2oR9S9O3b17RTMJG8r/70pz/Jtm3bzN/CW265RT777DP585//3IbPIvOEazdtGw1c+iGGnj/+v//3/2THjh1y3333+d2OdksCD2zrt7/9rWfOnDne7aamJs8vfvELz5IlS1J6XAiuqqrKc+mll3rWrl1rtmtqajw//vGPPcuXL/feZvv27eY269ev52VMsbq6Os91113n+fjjjz133XWX54knnjDX02729Je//MVzxx13hNzf3Nzsufrqqz0vvPCC9zpty/Hjx3veeeedNjpK+Jo+fbpn1qxZftfdf//9nocffth8T5vZj/59WrFihXc7kjbatm2b+bmNGzd6b/Phhx96LrvsMs+ePXva+BlkpsB2C+bzzz83t6uoqDDbtFty0GNlU9qNu2nTJtN1a8nKyjLbGzZsSOmxIbja2lpz2aFDB3Op7ae9WL5t2LNnTykuLqYNbWDOnDkybNgwGTx4sN/1tJs9ffDBB9K/f3/5wx/+YIYh/eY3v5F//OMf3v063EWHm/m2pw5/0aHT/J+ZGjo8+pNPPjGflKsvv/xS1q9fb953tJkzRPK+0kvtObaG5Cr9u6dDAnVUAOxzjqJtou2naLfkYI6VTVVXV5vx6YFzcXTb+iMF+9C2evLJJ+Xoo4+W3r17m+v0j5EOW/IdqqQ6depk9iF13n33XTNMYvr06S320W72PcHTYWXnn3++jB07Vr744gt54oknzHvsjDPO8L6n9P3li/db6lx44YVSV1cnN9xwg/lgUP+f/PGPfyynn3662U+b2V8kbaSXhYWFfvuzs7PNh4z8rbMHHRr47LPPysiRI73BinZLDoIVkACPP/64GV/+u9/9jtfT5nbv3m1CsM4F0KIjcAY9KddPxHXyterXr59s3brVhC0NVrCf5cuXyzvvvCPXXXedHH744abHSt97nTt3ps2ANhwBpXMclfb2I7kIVjaln/7oJ3yBn/boNhXl7BeqVq1aZYpTdO3a1Xu9tpP+h6ZVlHx7rbT4CG2YOjrUT9vg5ptv9jtp18nWWoXztttuo91sSE/Ge/Xq5Xedbq9YscJ8b72ntG31thbd1gneaHtawfGCCy4wn5Ir7c2vqKgwRS00DNNm9hdJG+ltdJSNLx0GrwVn+Ftnj1ClHyjeeeed3t4qRbslB3OsbEqHt+h8Ah2f7nvyp9s6bh2ppyVoNVRpyXX9D6tbt25++7X9dDjEmjVrvNfpME79D442TB0d+//AAw+Y6kjWl/aEnHbaad7vaTf70WG2gcOgdbukpMR8r+8/PVHwfb/pnAKd48H7LXVVy/QDQl+6rf93KtrM/iJpI73UDxD1QyuLnqtoO7M8TOpD1c6dO01F1Y4dO/rtp92Sgx4rGxszZozMnDnTnKDrf06vvPKK+UPFsBd70FClw1x0En1+fr63d1E/EdIhZnp51llnmZL5OtZct3WdD/3PjBO91NG2subBWbR8sP7Rsa6n3exH51bpycFzzz0nI0aMMCd2uq7OL37xC7NfJ2XrWmS6X9fX0RNCXcdFP2U/6aSTUn34GemEE04w7aEFe7R3UYcCvvTSS3LmmWea/bSZPegSIXry7TufUdtK/25p27X2vtK2HTp0qCmvriXZ9YRe/9bp+9R3zSS0XbtpGNZCPzqXWEdn6Afz1jmK7tcP72m35HBpacAk3TcSQIcm6bof+obQbnddcO+oo47itbWByy67LOj1umCpFX6thWa1WIL+sWGBYHu6++67zfsrcIFg2s1edE04XcxZTyb0BE/D1ve+970WC5lqtUD9VF0XMtU1XnwX7Ubb0cIVCxcuNL36OnRMT7J1WKCuzagndrSZPaxdu9YMZQ+kizlPmTIloveVDvvTDxt9Fwi+6qqrWCA4Re126aWXyjXXXBP05+666y75zne+Q7slCcEKAAAAAOLEHCsAAAAAiBPBCgAAAADiRLACAAAAgDgRrAAAAAAgTgQrAAAAAIgTwQoAAAAA4kSwAgAAAIA4EawAAAAAIE4EKwBASl122WWyaNGiNn3MmTNnypQpU1J+HACA9EGwAgAkzPr16004qampyYhX9Z133pGXX3451YcBALABd6oPAACQXsFq8eLFcsYZZ0j79u0j+pm//OUvkp2dnfRjS8ZxaLDatm2bnH/++Uk7LgCAMxCsAABtrrm5WRobGyU3N9d82YFdjgMA4EwEKwBAQugQQO2tUtdcc433+kcffdRsn3POOTJgwABZsmSJlJeXyw033CAnn3yymdt0ySWXmEvf+/njH/8oCxculI8//tj0JJ1++ukyYcKEqAPQe++9Z+5n586d0r17d7n88suD3i7wOOrq6szPvf/++7Jv3z4pKCiQPn36mGPo37+/3H333fLpp596f1aVlJSY+VsaGv/v//5PVq1aZR5Xg2S/fv3M7Y477jjvY+7atcu8Nj/5yU/M/b/wwguyZ88e8zg///nP5cgjj/Q7xq+++soc09q1a+XAgQNSXFwsp5xyiowbN857m71798qCBQvkww8/NEMy9TmPGTNGzjrrrKheNwBAdAhWAICEGD58uAlM7777rlxxxRXSsWNHc31hYaG5/OSTT2T58uVy7rnnmn3dunULe38arDSoaGj4/PPP5dVXXzVBwTe0tUZD2YMPPii9evUy97N//36ZNWuWdO3atdWfnT17tvz73/82x6s//80338i6detMuNFgddFFF0ltba0JQvp8Vbt27cylXr9s2TIZOXKkjB492oQg3Z42bZpMnz5d+vbt6/dY+pppkPve974nLpfLBCw97kceeUTc7kN/qrds2SJ33nmn2db71NdPQ9vKlSu9waqyslJuu+02870GWX3tP/roI/mf//kfc/8MWQSA5CFYAQASQntZtFdGQ8JJJ53UIjjt2LHDG3IioT//m9/8xnyv4SY/P1/eeOMN+eEPf2geKxLPPvusFBUVyT333GN6hNSxxx4r9957rwlt4WhvkwaYn/3sZ97rLrjgAu/3gwcPli5dupiw993vftfvZzt06GB6rqxQpPS+fv3rX5uA+Ktf/crv9rt375aHH37Y/Jzq0aOH3HfffSYYnnDCCea6uXPnmssZM2aYniqL9qBZtKdKe8ceeOABb7D9/ve/Lw899JD89a9/lbPPPpshjwCQJFQFBAC0CQ00kYYqq8fF1w9+8ANzqUPcIqHD97788ksZNWqUN1RZgSiS49DiGxs3bjRD66KVlZXlDVUadLSnrKmpSY444gjZvHlzi9ufeuqp3lClBg4caC6//vprc1ldXS2fffaZnHnmmX6hSmkPl/J4PLJixQoTxPR7/Rnra+jQoaYXbdOmTVE/FwBAZOixAgC0idaG/gUqLS312z7ssMNMiNB5SZGoqKgwlzrHKJD2CAULOL60J0h7nbR3SYf+DRs2zIQ0PY5I/Otf/5KXXnrJDB3UUBXudQgMS1bIssrWWwHr8MMPD/l4GqD09v/4xz/MV6jbAACSg2AFAHBE1T2rZ6atjBgxQo455hhT/EKH5L344otm7tNNN91kQlY4b731lpnLpUMif/SjH5m5TtqL9fzzz3tDki/dF4z2PEXKuq0W+dAAGEykQygBANEjWAEAEiaR4UcLYfj27mihBg0PkfZ8WXOo9OcC6XyvSHTu3NkMSdSvqqoqufnmm+W5555rNVhp0Qvt2dIQ5vua6DynWFi9ZLpmViga3nQemg491OGOAIC2xRwrAEDC5OXlmUudzxOv119/3W9biz4onS8UaSjS6ntvvvmm3/GsXr1atm/fHvZnNZwEPodOnTqZ+9RS6hatAhjsuVo9UL49TlrZcMOGDRILDU3ae/bPf/7TFLrwZT2GPqZWZtR5Vlu3bm1xHwwDBIDkoscKAJAwOhdJzZ8/35Qa1/WnrKp20dK5VFoBT4OUBpK3335bTjvttBalysMZP368KW9+xx13mMIPWkTitddeM3OVtAR6KFqa/L/+67/MGlE6fE4D1Jo1a+SLL77wqxKoz7esrEyeeuopU5hCb3fiiSea56xDCLU63/HHH2+ey9///ndTNCPc44YzceJEU25de82scus6j0yrF95///3e56trXGnJdb2NPp4+Zy1aocf/xBNPxPTYAIDWEawAAAmjC9rqArwaInT9JO1N0QWCY6GlyXWx4Hnz5pneGC25rgvpRkND2Y033mjKkGvY0yF1kydPNov+Wov7hup50+F/OrdKA5L2YGkRjEmTJpny5Rb9XisPaqGKl19+2Qw/1GB1xhlnmDWltIiE3ocGnGuvvdas4xXuccPRQKnrYOkCwfr61tfXm8fTioIWLS3/+9//3iywrD1X2uunZdc1SPqWZQcAJJ7LE83MWAAAkkzDlAaDOXPmeBcXBgDA7phjBQAAAABxYiggAMBxtGCEDoULR4fFAQDQVghWAADH0SIMWu2vtSGFAAC0FeZYAQAcR8ul7927N+xtWMsJANCWCFYAAAAAECeKVwAAAABAnAhWAAAAABAnghUAAAAAxIlgBQAAAABxIlgBAAAAQJwIVgAAAABAsAIAAAAASan/D69ozpaqowdZAAAAAElFTkSuQmCC", | |
| "text/plain": [ | |
| "<Figure size 1000x400 with 1 Axes>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "df[df[\"total_amount\"] > 0].plot.scatter(x=\"trip_distance\", y=\"total_amount\")" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "Excellent! You're done." | |
| ] | |
| } | |
| ], | |
| "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.14.2" | |
| } | |
| }, | |
| "nbformat": 4, | |
| "nbformat_minor": 4 | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment