{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "### Check Corona Vaccinations \n", "* [this Notebook](https://github.com/salgo60/open-data-examples/blob/master/Check%20Corona%20Vaccination.ipynb) \n", "\n", "* read the data on [github.com/owid/covid-19-data...vaccinations/country_data](https://github.com/owid/covid-19-data/tree/master/public/data/vaccinations/country_data)\n", " * Data is reported cummulated for United Kingdom but also subnational data England, Scotland, Northern Ireland, Wales see [issue 228](https://github.com/owid/covid-19-data/issues/228)\n", " * although subnational data have been published quite irregularly so far ==> we filter them out" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Last run: 2020-12-25 09:44:52.466671\n" ] } ], "source": [ "from datetime import datetime\n", "start_time = datetime.now()\n", "print(\"Last run: \", start_time)" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "GITHUB_directory = \"https://api.github.com/repos/owid/covid-19-data/contents/public/data/vaccinations/country_data\" \n", "countries = pd.read_json(GITHUB_directory) \n", "listcountries = []\n", "for index,row in countries.iterrows():\n", " df = pd.read_csv(row[\"download_url\"])\n", " listcountries.append(df)\n", " \n", "allCountries = pd.concat(listcountries, axis=0, ignore_index=True) " ] }, { "cell_type": "code", "execution_count": 3, "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>location</th>\n", " <th>date</th>\n", " <th>vaccine</th>\n", " <th>total_vaccinations</th>\n", " <th>source_url</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>26</th>\n", " <td>United Kingdom</td>\n", " <td>2020-12-24</td>\n", " <td>Pfizer/BioNTech</td>\n", " <td>800000</td>\n", " <td>https://www.gov.uk/government/speeches/prime-m...</td>\n", " </tr>\n", " <tr>\n", " <th>1</th>\n", " <td>Bahrain</td>\n", " <td>2020-12-24</td>\n", " <td>Sinopharm</td>\n", " <td>50071</td>\n", " <td>https://twitter.com/MOH_Bahrain/status/1342189...</td>\n", " </tr>\n", " <tr>\n", " <th>0</th>\n", " <td>Bahrain</td>\n", " <td>2020-12-23</td>\n", " <td>Sinopharm</td>\n", " <td>38965</td>\n", " <td>https://twitter.com/MOH_Bahrain/status/1341855...</td>\n", " </tr>\n", " <tr>\n", " <th>27</th>\n", " <td>United States</td>\n", " <td>2020-12-23</td>\n", " <td>Moderna, Pfizer/BioNTech</td>\n", " <td>1008025</td>\n", " <td>https://covid.cdc.gov/covid-data-tracker/#vacc...</td>\n", " </tr>\n", " <tr>\n", " <th>17</th>\n", " <td>Israel</td>\n", " <td>2020-12-23</td>\n", " <td>Pfizer/BioNTech</td>\n", " <td>140000</td>\n", " <td>https://twitter.com/YuliEdelstein/status/13418...</td>\n", " </tr>\n", " <tr>\n", " <th>11</th>\n", " <td>Canada</td>\n", " <td>2020-12-23</td>\n", " <td>Pfizer/BioNTech</td>\n", " <td>31736</td>\n", " <td>https://github.com/ishaberry/Covid19Canada/blo...</td>\n", " </tr>\n", " <tr>\n", " <th>10</th>\n", " <td>Canada</td>\n", " <td>2020-12-22</td>\n", " <td>Pfizer/BioNTech</td>\n", " <td>26287</td>\n", " <td>https://github.com/ishaberry/Covid19Canada/blo...</td>\n", " </tr>\n", " <tr>\n", " <th>16</th>\n", " <td>Israel</td>\n", " <td>2020-12-22</td>\n", " <td>Pfizer/BioNTech</td>\n", " <td>71876</td>\n", " <td>https://www.gov.il/en/departments/news/2212202...</td>\n", " </tr>\n", " <tr>\n", " <th>28</th>\n", " <td>United States</td>\n", " <td>2020-12-21</td>\n", " <td>Moderna, Pfizer/BioNTech</td>\n", " <td>614117</td>\n", " <td>https://covid.cdc.gov/covid-data-tracker/#vacc...</td>\n", " </tr>\n", " <tr>\n", " <th>9</th>\n", " <td>Canada</td>\n", " <td>2020-12-21</td>\n", " <td>Pfizer/BioNTech</td>\n", " <td>20866</td>\n", " <td>https://github.com/ishaberry/Covid19Canada/blo...</td>\n", " </tr>\n", " <tr>\n", " <th>15</th>\n", " <td>Israel</td>\n", " <td>2020-12-21</td>\n", " <td>Pfizer/BioNTech</td>\n", " <td>30000</td>\n", " <td>https://www.gov.il/en/departments/news/2212202...</td>\n", " </tr>\n", " <tr>\n", " <th>8</th>\n", " <td>Canada</td>\n", " <td>2020-12-20</td>\n", " <td>Pfizer/BioNTech</td>\n", " <td>14492</td>\n", " <td>https://github.com/ishaberry/Covid19Canada/blo...</td>\n", " </tr>\n", " <tr>\n", " <th>25</th>\n", " <td>United Kingdom</td>\n", " <td>2020-12-20</td>\n", " <td>Pfizer/BioNTech</td>\n", " <td>616933</td>\n", " <td>https://coronavirus.data.gov.uk/</td>\n", " </tr>\n", " <tr>\n", " <th>29</th>\n", " <td>United States</td>\n", " <td>2020-12-20</td>\n", " <td>Moderna, Pfizer/BioNTech</td>\n", " <td>556208</td>\n", " <td>https://www.cdc.gov/coronavirus/2019-ncov/vacc...</td>\n", " </tr>\n", " <tr>\n", " <th>23</th>\n", " <td>Scotland</td>\n", " <td>2020-12-20</td>\n", " <td>Pfizer/BioNTech</td>\n", " <td>56676</td>\n", " <td>https://coronavirus.data.gov.uk/</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "text/plain": [ " location date ... total_vaccinations source_url\n", "26 United Kingdom 2020-12-24 ... 800000 https://www.gov.uk/government/speeches/prime-m...\n", "1 Bahrain 2020-12-24 ... 50071 https://twitter.com/MOH_Bahrain/status/1342189...\n", "0 Bahrain 2020-12-23 ... 38965 https://twitter.com/MOH_Bahrain/status/1341855...\n", "27 United States 2020-12-23 ... 1008025 https://covid.cdc.gov/covid-data-tracker/#vacc...\n", "17 Israel 2020-12-23 ... 140000 https://twitter.com/YuliEdelstein/status/13418...\n", "11 Canada 2020-12-23 ... 31736 https://github.com/ishaberry/Covid19Canada/blo...\n", "10 Canada 2020-12-22 ... 26287 https://github.com/ishaberry/Covid19Canada/blo...\n", "16 Israel 2020-12-22 ... 71876 https://www.gov.il/en/departments/news/2212202...\n", "28 United States 2020-12-21 ... 614117 https://covid.cdc.gov/covid-data-tracker/#vacc...\n", "9 Canada 2020-12-21 ... 20866 https://github.com/ishaberry/Covid19Canada/blo...\n", "15 Israel 2020-12-21 ... 30000 https://www.gov.il/en/departments/news/2212202...\n", "8 Canada 2020-12-20 ... 14492 https://github.com/ishaberry/Covid19Canada/blo...\n", "25 United Kingdom 2020-12-20 ... 616933 https://coronavirus.data.gov.uk/\n", "29 United States 2020-12-20 ... 556208 https://www.cdc.gov/coronavirus/2019-ncov/vacc...\n", "23 Scotland 2020-12-20 ... 56676 https://coronavirus.data.gov.uk/\n", "\n", "[15 rows x 5 columns]" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Show 15 latest sorted by dates\n", "allCountries.sort_values(by=['date'],ascending=False)[0:15]" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Canada 10\n", "United States 4\n", "Israel 4\n", "Russia 3\n", "Scotland 2\n", "United Kingdom 2\n", "Bahrain 2\n", "Wales 2\n", "Northern Ireland 2\n", "England 1\n", "China 1\n", "Name: location, dtype: int64" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#Countries in list\n", "allCountries[\"location\"].value_counts()" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "location vaccine \n", "Bahrain Sinopharm 2\n", "Canada Pfizer/BioNTech 10\n", "China CNBG, Sinovac 1\n", "England Pfizer/BioNTech 1\n", "Israel Pfizer/BioNTech 4\n", "Northern Ireland Pfizer/BioNTech 2\n", "Russia Sputnik V 3\n", "Scotland Pfizer/BioNTech 2\n", "United Kingdom Pfizer/BioNTech 2\n", "United States Moderna, Pfizer/BioNTech 4\n", "Wales Pfizer/BioNTech 2\n", "dtype: int64" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "allCountries.groupby([\"location\", \"vaccine\"]).size()" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "<class 'pandas.core.frame.DataFrame'>\n", "Int64Index: 26 entries, 0 to 30\n", "Data columns (total 5 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 location 26 non-null object \n", " 1 date 26 non-null datetime64[ns]\n", " 2 vaccine 26 non-null object \n", " 3 total_vaccinations 26 non-null int64 \n", " 4 source_url 26 non-null object \n", "dtypes: datetime64[ns](1), int64(1), object(3)\n", "memory usage: 1.2+ KB\n" ] } ], "source": [ "allCountries['date'] = allCountries['date'].astype('datetime64[ns]') \n", "\n", "# Filter away Wales , England, Scotland see above and [issue 228](https://github.com/owid/covid-19-data/issues/228)\n", "list_of_countries_to_delete = [\"England\",\"Northern Ireland\",\"Scotland\",\"Wales\"]\n", "\n", "allCountriesFiltered = allCountries[~allCountries[\"location\"].isin(list_of_countries_to_delete)]\n", "allCountriesFiltered.info()\n", "\n" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 432x288 with 1 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#Countries\n", "%matplotlib inline \n", "import matplotlib.pyplot as plt \n", "\n", "#Reported numbers are accumulated --> get latest\n", "plotCountries = allCountriesFiltered.sort_values(by=['date'],ascending=False) \\\n", " [['total_vaccinations','location','vaccine']].groupby('location').apply(lambda x: x.head(1))\n", "plotCountries = plotCountries.set_index('location')\n", "plotCountries[\"total_vaccinations\"].plot( y='location',kind = 'pie') \n", "plt.title(\"Vaccination per countries - \" + start_time.strftime('%Y %m %d'))\n", "plt.savefig('Corona_VaccinationperCountry.png') \n", "plt.show() \n" ] }, { "cell_type": "code", "execution_count": 8, "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>total_vaccinations</th>\n", " <th>vaccine</th>\n", " </tr>\n", " <tr>\n", " <th>location</th>\n", " <th></th>\n", " <th></th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>Canada</th>\n", " <td>31736</td>\n", " <td>Pfizer/BioNTech</td>\n", " </tr>\n", " <tr>\n", " <th>Bahrain</th>\n", " <td>50071</td>\n", " <td>Sinopharm</td>\n", " </tr>\n", " <tr>\n", " <th>Israel</th>\n", " <td>140000</td>\n", " <td>Pfizer/BioNTech</td>\n", " </tr>\n", " <tr>\n", " <th>Russia</th>\n", " <td>200000</td>\n", " <td>Sputnik V</td>\n", " </tr>\n", " <tr>\n", " <th>United Kingdom</th>\n", " <td>800000</td>\n", " <td>Pfizer/BioNTech</td>\n", " </tr>\n", " <tr>\n", " <th>China</th>\n", " <td>1000000</td>\n", " <td>CNBG, Sinovac</td>\n", " </tr>\n", " <tr>\n", " <th>United States</th>\n", " <td>1008025</td>\n", " <td>Moderna, Pfizer/BioNTech</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "text/plain": [ " total_vaccinations vaccine\n", "location \n", "Canada 31736 Pfizer/BioNTech\n", "Bahrain 50071 Sinopharm\n", "Israel 140000 Pfizer/BioNTech\n", "Russia 200000 Sputnik V\n", "United Kingdom 800000 Pfizer/BioNTech\n", "China 1000000 CNBG, Sinovac\n", "United States 1008025 Moderna, Pfizer/BioNTech" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "plotCountries.sort_values(by='total_vaccinations',ascending=True)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "total_vaccinations 3229832\n", "vaccine SinopharmPfizer/BioNTechCNBG, SinovacPfizer/Bi...\n", "dtype: object" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "plotCountries.sum()" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXgAAAD3CAYAAAAXDE8fAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nO3dd5xU1fnH8c93Cx2G3sFVsbsIiC0qIpao2GKJJSaoiRqDJhrbJia/jEmMGPOLJiY/MRoDGluMRo0bu4JYkb6oICogdhBFQOru8/vj3A3DuhV250553q/XvGbm1mdmdp977rnnniMzwznnXO4piDsA55xzLcMTvHPO5ShP8M45l6M8wTvnXI7yBO+ccznKE7xzzuUoT/Buq0haJWm7Ftr2o5LGtMS2c4mk1ySNjDsOl3k8wecQSY9J+mUt04+T9JGkoubep5l1MLN3tnY7kpKS/l5j20ea2cSt3XY6SRov6fZapu8haZ2krs29TzPbzcwmNfd2GyJptKTnJX0e/X3dKqljyvzWkm6T9EU0/8cp8/aV9KSk5ZKWSrpPUp+U+ZJ0raRPo8e1klRHHK0k/VPSIklW82An6TJJcyWtlLRQ0mX1fKYdJT0UxbRc0uOSdkqZf6akyqhgU/0YWdf24uYJPrdMBM6o5R/h28CdZrYxhphymqTCGpMmAidIal9j+reBR8xseXoiS4sE8GugL7AL0A+4LmV+EtgB2AY4GLhc0hHRvC7AX4CSaP5K4G8p654LHA/sAQwGjgHOqyeW54EzgI9qmSfgO9E+jwAukHRqHdvpDDwM7AT0AqYCD9VY5qWoYFP9mFRPXPEyM3/kyANoC6wARqRM6wKsJfyj7A28BHwOfAj8CWiVsuxuwJPAcuBj4KfR9ELgp8DbhH/E6cCAaJ4Bg6LXE4A/A+XRcq8A26ds/w/AEuCLaBsHRtOPANYDG4BVwOxo+iTge9HrAuBnwGLgE+B2IBHNK4niGAO8CywDrqzne5oAjI8+60pgMrBNyvydU76H+cA3a6x7E/AfYDVwaC3bnw98J+V9IfABcBywPfAM8GkU551A55RlBwAPAEujZf6UMu8c4I0o5teBYdH0RdVxEJLqP6LvZyXwGjA8ZRt9gfuj7S8EftiMf38nABUp7z8ADk95/yvgnjrWHQasTHn/InBuyvvvAi83Iob3gJENLPNH4MZGfqau0d9Wt+j9mcDzcf+vN/o3iTsAfzTzDwq3ALemvD8PmBW93hPYFyiKkuIbwEXRvI6EpH8J0CZ6v0807zKgglCqEeFgUf0HXzPBf0o4kBRFyeuelFjOALpF8y4hlLbaRPOSwN9rfJZJbErwZwNvAdsBHaIkeEc0rySK4xbCQW4PYB2wSx3f0YQo+Y0AWhMOPM9H89oTDkJnRXEOJSTiXVPWXQHsTzjotKll+1cCT6W8/zohoRYDg4DDov32AJ4DboiWKwRmA9dHcbQBDojmnQy8D+wV/QaDiA5KfDXBrwWOirZ3DVFijOKdDvwP0Cr6Lt8Bvt5Mf3s3VP/ehIKFAb1S5p9EygGgxroXkZLAo+94n5T3w0k5ANQTQ70JPvruZgLfb+RnOh74MOX9mYQD+zLgTeDnQFHc//d1xh93AP5o5h8UDiCU0KsT5wvAxXUsexHwr+j1acDMOpabDxxXx7yaCT714HIUMK+eWD8D9oheJ6k/wT8N/CBl3k6EEn/1wcqA/inzpwKn1rHfCWx+4OkAVBJKz6cAU2osfzPwi5R1b2/gNxgYxdY/en8n8Ic6lj2++nsH9iMcCL6SMIDHgR/VsY1FbJ7gUw8uuwJrotf7AO/WWPcnwN+a4e/usOj33DF6PyD6TdrUWGZRLesOJpwtHZgyrRLYOeX9DtH21EAcDSX4qwgH0daN+Ez9CQfV01KmbQdsSzhYlhLOpH6ytd9fSz2a/aKbi5eZPS9pGXC8pFcJpekTIFxAAn5PKA21IyTH6dGqAwhVMLWpb15NqXWgXxKSJ9H+LyWcavcl/LN2Aro3crt9CdUz1RYT4u/VmH3XYkn1CzNbJWl5tI9tgH0kfZ6ybBFwR23r1sbM3pX0HOF6yJ8ISXwEgKRehDOGAwlnSQWExAjhe15stV8r2ZrfoE10gX0boG+Nz1YITKm5AUkDCcmr+jPV+V1K2he4CzjJzN6MJq+KnjsRziiqX6+sse4g4FHCwSs1jlXR8qSsu8qiLLslJF1AqIs/0MzWNbBsD+AJ4P/M7O7q6bZ5g4KKqFHDZYQzpYzjF1lz0+2EP+QzgMfN7ONo+k3APGAHM+tEqFevviC7hFA6qc0SQt3xFpN0IHA58E2gi5l1JpyGV++/oX/cDwgJqtpAYCPhWsGWGJASWwdCXesHhM862cw6pzw6mNn5Kes2JslMJFxYPRFYaGbVB9LfROuXRr/BGWz+Gwyso7XTVv8G0TYW1vhsHc3sqJoLmtm7lnIhsa4NShpKuCh5tpk9nbL+Z4Qqvz1SFt+DcE2get1tgKeAX5lZ6gGUaLk6120qSWcDZcAhZvZeA8t2IST3h83s6gY2bWz6/TKOJ/jcdDtwKOGiXGozw46EC5yrJO0MpCatR4A+ki6Kmrd1lLRPNO9W4FeSdoiarw2W1K2JMXUkJOSlQJGk/2HzEtrHQImkuv4m7wYulrRtlJB/A9xbR2m3MY6SdICkVoSLfy+b2RLC97CjpG9LKo4ee0napYnbv59wELqKr/4Gq4AVkvoRSn/VphKS4jhJ7SW1kbR/NO9W4FJJe0a/waAoQTbFVGClpCsktZVUKGl3SXs1cTsASNodeAy40Mz+XcsitwM/k9Ql+ns7h1DFRfTZnyFcRB5fx7o/ltRPUl/CNZsJ9cTSWlKb6G2r6LtTNO9bhL+Xw6yBJr2SOhGqw14ws7Ja5h8ZnYURfaaf89VWNhnDE3wOMrNFhFYI7Qmlq2qXAqcTTpNvAe5NWWcloY70GMIp/gJC0zYI1Tr/IJRqvgD+SriY2RSPE5LBm4TqlbVsXtVxX/T8qaQZtax/G6Ga5DlC64+1wIVNjCHVXcAvCHW/exJK0tXfw+HAqYQS/UfAtYSLoo1mZqsJSb4/oQ6+2lWEFiMrCK2NHkhZp5Lw/Q8itAZ6j3BNADO7D7g6insl8CDhrKMpMVUCRwNDCN/hMsKBI9GU7aS4hHCh+K8pbcJTS9m/IFQrLSa0VLrOzB6L5n2PcMaYTG1TnrLuzcC/CRf35xK+q5vriWU+sIbQVPPx6HX1AfDXhIv7r6bsq7aDCsA3CBeyz6rR1n1gNP8QYI6k1YSWVA8QDh4ZSVtRpeVcVpI0AXjPzH4WdyzOtSQvwTvnXI7yBO+ccznKq2iccy5HeQneOedylCd455zLUZ7gnXMuR3mCd865HOUJ3jnncpQneOecy1Ge4J1zLkd5gnfOuRzlCd4553KUJ3jnnMtRnuCdcy5HeYJ3zrkc5QneOedylCd455zLUZ7gnXMuR3mCd865HOUJ3jnncpQneOecy1Ge4J1zLkd5gnfOuRzlCd4553KUJ3jnnMtRnuCdcy5HFcUdgHO5qqSsvAAYAGwHbBs9bwf0BAoJBazU55rTBHwGfAx8lPL8HvAOsHDRuNHr0/eJXLaRmcUdg3NZraSsPAEcCOzCpiS+HTAQaNWCu64CPiAk+9eA54Epi8aNXtKC+3RZxBO8c01UUlbeDjgAGBU9hhFK3ZniXWBKyuONReNG+z96HvIE71wDSsrKWwH7simh70PLlsyb26dEpXvg2UXjRs+IOR6XJp7gnatFVEo/ETgNOAhoF29EzWo+cDtwR7qqcyT1Bm4A9gI+J1xPuAhYDywEfmhmN0bL/gmYZmYTJE0gfP8rgDbA3WZ2VbRcB+A64PBovgHjzeyWBmI5G7g4Wr4AuNLMHpL0S+A5M3uqOT97nDzBOxcpKSsXMBL4DnAS0CHWgFpeFfAsMBF4YNG40atbYieSBLwITDSz8dG0PYBOwBLgFWAlsKuZra8lwT9iZv+U1AZ4HTjEzBZKuodw/eFnZlYlqQdwtpldW08s/YHJwDAzWxEdJHqY2cKW+Oxx82aSziUT3Ukmrrij+DcPAM8AZ5L7yR3C//8hhNL8RyVl5RNKysoPjg50zelgYEN1cgcws9lmNiV6uxR4GhjTwHbaRM+rJW0P7E2U3KNtLq0vuUd6Eg4mq6J1VlUnd0kTJJ0UvV4k6SpJMyRVSNo5mt5V0oOS5kh6WdJgSQXR8p2rdyJpgaReko6R9IqkmZKektQrmt9B0t+ibc+RdGIDcW8RT/AufyUT+5BM3E5odjjugIK5h7Znzaq4w4pJB0KCfQZYWFJW/vOSsvJOzbTt3YHpDSxzLXCppNouVl8naRbhd7rHzD4BdgNmVyf3JphNqB5aGCXYY+pZdpmZDQNuAi6Npl0FzDSzwcBPgdujGB4CvgEgaR9gsZl9TLj2sa+ZDQXuAS6PtvNzYIWZlUbbeqaJn6NRPMG7/JNMjCSZeAl4Gfg20BpAosO5RY/MjDW2zLAN8EtCoi+Lrke0KDN7h1BVc3otsy8zsyFAb+AQSV+ruYCkKyXNkvRBA/upBI4gVMG9CVwvKVnH4g9Ez9OBkuj1AcAd0baeAbpJ6gTcC5wSLXNq9B6gP/C4pArgMsKBCeBQ4M8pcX1WX9xbyhO8yx/JRCnJxH8I9c771rbI2YWPdU1vUBmtK3AN8E5JWflFJWXlrbdwO68BezZiud8AVxBu8PoKM1sFTCIk2deBPSQVRPOujg4CDZ51WDDVzK4hJOO6qkfWRc+VNHxT6EvAoOg6wPFsOjjcCPzJzEqB89hUzZQWnuBd7ksmBpBMTABmAUfWt2hHrdltsN5ekJa4skcv4HrgrZKy8vNKysqLm7j+M0BrSedWT4jqrg9MXcjM5hESd63VJpKKCE1U3zazt4BpwK+rq3Wii7BKWX5eLdvoK2lYyqQhwOImfJYpwLeibY0kVON8YaG1yr+A3wNvmNmn0fIJ4P3odeo1hieBsSlxdWlCDI3mCd7lrmSiM8nEbwmn4mNo5N/7T4vvqvc0P4/1B8YD80rKyseUlJU36uauKPl9AzhU0tuSXiOcGXxUy+JXR/tJVV0HPweoYFPp+HtAN+AtSdMISfNyAEndqf1MoBj4naR50TZPAX7UmM8RSQJ7SpoDjGPzpH0vcAabqmeql79P0nRgWcr0XwNdJM2VNJtwIbrZeTNJl3uSidbAhYSLYE0uGVUZn++ybkKbdbRK6+l0FnoDOH/RuNGT4w6kJklHA9uZ2R/jjiVOnuBdbkkmDgH+SrhQuMWu2XDaizdXHvOVi3nuKwy4Gbh80bjRK+MOxm3OE7zLDclEK8Lp/SXUcZGuKZZbx1nD1t08ZKvjyh9LgPMWjRv9aNyBuE08wbvsl0zsBNwNDG3OzR627reLFlj/kubcZh74G/DDReNG5+v9BBnFL7K67JZMnAfMoJmTO8BPiu5a1NzbzANnAbNKysr3iTsQ5yV4l62SiW7ArYQ2xy2i0rR0p3UTO2+kqKnNAh1sJNws9ZtF40ZXxh1MvvISvMs+ycShhOZyLZbcAQplPU4pnORd626ZIkKCf6qkrLxF2ni7hnkJ3mWPZEKE9sM/oRkupDbGR9Zl2r7r/jw8HfvKYfOAIxeNG70o7kDyjZfgXXZIJooIF/B+SpqSO0AvPhs2QJ+83/CSrh47Ay+XlJU3prsC14w8wbvMl0y0Jdy92FB3ss1OoqCs6O630r3fHNQLmFxSVj467kDyiSd4l9mSic7AE9TRP0k6fL3g1UGiqqnd0rqvag88VFJWfl7cgeQLT/AucyUTfQij7xwQZxhFqup3XMGLfrG1eRQC40vKyq9pgYFFXA2e4F1mSia2B14ABscdCsCPi+7zpn7Nqwz4ezSguWshnuBd5kkmhhCS+7Zxh1JtgJYO68lnS+OOI8ecDjy8Bd0Pu0byBO8ySzKxP2FQh14xR7IZieJLi/7xetxx5KCvA7d5dU3L8ATvMkcysTvwCGGQhIxzfOELW9VDpavTGYS+1V0z8wTvMkMy0R94FOjc0KJxaaWNJYcVTJsVdxw56vKSsvIfxh1ErvEE7+KXTCQIyb3mSD4Z5/Kie7+MO4Ycdn1JWfnJcQeRSzzBu3glE8WEsSx3jzuUxhik94clWPV53HHkqALgjpKy8pFxB5IrPMG7uP2ZFhqPsiVItLmo6P7ZcceRw1oDD5aUlZfGHUgu8ATv4pNMjAXOiTuMpjq18Nm+cceQ4xLAoyVl5QPiDiTbeYJ38UgmDgZuiDuMLdFW63f4WsHc1+KOI8f1I5TkvY38VvAE79IvmSgB7iP0GZ6VflJ01/K4Y8gDw4Bk3EFkM+8P3qVX6NP9WeCguEPZGmas3n3dX6tW07Zj3LHkuEpgxKJxo1+MO5Bs5CV4l24/IMuTO4BE+/OLHvY28S2vkNCypkPcgWQjT/AufULVzLVxh9Fczix8vFvcMeSJ7cjS6zVx8wTv0ulWQp/gOaGD1u66h956M+448sR3S8rKj407iGzjCd6lRzJxLnBI3GE0tyuL7/ww7hjyyC0lZeU94w4im3iCdy0vmRgAXBd3GC1hL80f0pr1a+OOI0/0BG6JO4hs4gnepcMtQKe4g2gJEomzCh+bHncceeTYkrLy78YdRLbwBO9aVjJxFqHP75x1XtEj3sIjva4tKSvP2F5HM4kneNdykonewO/jDqOlddGqPXbUkoVxx5FHugFXxh1ENvAE71pSGRncv3tzurLozsVxx5BnLiwpKy+JO4hM5wk+S0j6raROkoolPS1pqaQz4o6rTqH0fl7cYaTLgQUVuxWxcUPcceSR1sA1cQeR6TzBZ4/DzewL4GhgETAIuCzWiOp3OdAm7iDSpUDW4/TCZ/xia3qdUlJWPjzuIDKZJ/jsUd0x12jgPjNbEWcw9UomegHfjzuMdLug6MGs7TwtSwm4Ku4gMpkn+OzxiKR5wJ7A05J6AJna/voyoG3cQaRbDz4fNlAfvxd3HHnmqJKy8r3jDiJTeYLPEmZWBnwNGG5mG4DVwHHxRlWLZKIncH7cYcRBoqCs6O634o4jDyXjDiBTeYLPLjsDp0j6DnAScHjM8dTmMqBd3EHE5fCCaTsVUFUZdxx55siSsvJ94g4iE3mCzxKS7gB+BxwA7BU9MusCUzLRg9AdcN4qUlWf4wuenxF3HHno8rgDyEQ+4EeWkPQGsKtl8g+WTFyL/6OxpKr7Kweu/6OXKNNrA9Bv0bjRS+MOJJN4CT57zAV6xx1EnZKJduRp3XtN/bVsz14s/yTuOPJMMZC594XExBN89ugOvC7pcUkPVz/iDirFsYAPXwdIFF1efO8bcceRh86OO4BM41U0WUJSrcPcmdnkdMdSq2TiYeCYuMPIFBuscPEO624fCFLcseSZvRaNGz0t7iAyhZfgs0SUyOcRSskdgTcyKLl3BY6IO4xMUqzKbb5e8KqP2Zp+XopP4Qk+S0j6JjAVOBn4JvCKpJPijeq/TiLUgboUlxXduybuGPLQaSVl5XnTRUZD/Nbq7HElsJeZfQIQ3cn6FPDPWKMKTo87gEy0vT7cswtfLP+MTl3jjiWPdAZOAO6KO5BM4CX47FFQndwjn5IJv18y0R8YEXcYmUii9UVF98+NO4485NU0kfgThGusx6IWNGdKOhMoB/4Tc0wApxE6fXK1OKVwUt+4Y8hDo0rKyreJO4hM4Ak+S5jZZcBfgMHR4y9mdkW8UQFePVOvNtow6ICCioq448gzAo6PO4hM0GCCl2SS/p7yvigabOKRpuxI0iJJ3bckyK0lqUTSGkmzJL0uabykgmjedZJei56/H/Xz0lz7nS6pdfTZK6L9V0g6LmWZFxsRu0m60MzuN7MfA62AhKQ/p3ym6s83qykXX7fqd0kmdgGGbNG6eeQnRXdlbtfOuWtk3AFkgsZcZF0N7C6prZmtAQ4D3m/ZsEBSoZk1Z6dNb5vZEElFwDOEI/wDwLlA1+bal6QiM9soaVvgfTNbp9AU+mAzWyZpJ+AJ4CEAM/taA5u8D/gE+IOkq6NpbYDvAhvMrJOkEuARM0t3sj0hzfvLSrtq8dD2rFm5mrZ+I1j6HFhSVq5F40bn9Y0+ja2i+Q9hoAkIda53V8+Q1FXSg5LmSHpZ0uBoejdJT0Sl41tJqaeVdIakqVFp82ZJhdH0VZL+V9JsYL/o/dWSZkfb7hUtd4ykVyTNlPRU9fTGMLONwIvAoOhO0A7AdEmnSEpKulRS35TS8CxJlZK2kdRD0v2SXo0e+0fxJCXdIekF4I5oV0cAj9USQifgs5TvYlX0rOgsYm5Uyj8lWuRkYClwC3CJmXUiVNWcH73ejKT2km6Lvt+Z1WcLkgol/S7a/hxJF6asdqGkGdF+d27sdwnUevOV25xE+wuKHpwZdxx5phtQGncQcWtsgr8HOFVSG0L97ysp864CZprZYOCnwO3R9F8Az5vZbsC/gIEAknYBTgH2j0qclcC3onXaA6+Y2R5m9nz0/mUz2wN4DjgnWu55YF8zGxrF1ugOriS1Aw4BKszsWGCNmQ0xs3urlzGzD6JpQwiJ9X4zWwz8AbjezPYCTgRuTdn0rsChZnZa9L5mgn9W0lxgMvCzWkI7gVDdsQdwKHCdpD4p83sCl1YfDKPPcgdfdSXwjJntDRwcbac94UylBBgS/VZ3pqyzzMyGATcBl9ayza9KJoqA/Rq1rOPbhU/2iDuGPJT3BZBGtYM3szlRNcBpfLXlxgGEZIeZPROV3DsRms6dEE0vl1Rdaj2EMCrRq1HVRVtCFQSEZH9/yrbXA9V1/dMJ1UMA/YF7owTYCljYiI+xvaRZgAEPmdmjDa0QldDPiT4jhMS7qzbdfd5JUofo9cNRFRaSWgH9zeydlM1VV9FsTxiRaZKZrUqZfwBwd1RV9LGkyYQugedE87chHFirL2oWEL7Hmg4HjpVUnajbEA6uhwLjozMYzGx5yjoPRM/TaXy1y1DC2Y9rhA5au8tQLZg/03bYKe5Y8shI4Ma4g4hTU250epjQH/lIwunPlhIw0cx+Usu8tTXqwjekdI9byaZ4bwR+b2YPSxpJ40Z0ebspddTRweOvwLEpibiAcOawtsayEK5VVDuQcJbxFWb2tqSPCSX+qY0I5XxgF8KBaUfC2U4l4eBX2x+vgBPNbH4tMdZlXfSc+h03xNu+N9GVxXd+fNL6pCf49BmR7/XwTWkmeRtwlZnVbPI1haiKJUq2y8zsC0KVyunR9COBLtHyTwMnSeoZzesqqaltVhNsutA7pnqipL0l3V77Ko0nqZhwcfMKM3szZdYTwIUpy9V1wDgCqPUMIfrc2wKLa8yaQhitqVDhLtURhAPATcAbwHVm1oFwhvMRcEEdB8nHCXXqivY3NJr+JHBedJEZSVt7d+UBDS/iUu2pN/dowzrvviB9ugO7xR1EnBqd4M3sPTP7Yy2zksCekuYA49iUcK8CRkh6jXDa/260ndcJddBPROs8CfSpudEGJIH7JE0HlqVMHwg0xz/Q1wijJV2VcqG1L/BDYHh0kfJ14Pt1rD+SUNee6tmoiuhZoMzMPq4x/1+E6pjZhFY+l5vZR9UzzewnkroQWt/0B3aUVFsp+leEfmHmRN/9r6LptxJ+gznRReytbb+eWaNJZQGJxHcLH50edxx5Jq/r4XOqu2BJ1wF3mNmcBhduuRj6A7eY2ZHNvN3vAT8iJPdZwL7AS2Y2qjn30yhhaD4f0GILfG7t5wxZd8vguOPII/9cNG70yXEHEZecupPVzC6LM7lHMbzX3Mk98iPCRdfFZnYw4SLn5y2wn8ao7eKua4TOWj14Z737TsNLumaS10Mn5lSCz3Frqy/uSmptZvOAuC7YeYLfClcW3bkk7hjySL+SsvK87crauwvOHu9J6gw8CDwZNTuteaE2XYY2vIiry/4Fc3crZuP6DRS1ijuWPFAADADy8qzJS/BZwsy+YWafm1kS+DmhCWdcHSp5T31boUDW/fTCp/xia/rk7d+rJ/gsEjWh7Eu4sWsW0DumUOLab864oOghL72nT94meK+iyRJR3zG/AD4GqqLJRug6In2SCRG6TXBboTsrhm2jj95bbL37xx1LHiiJO4C4eAk+e/wI2MnMdjOz0ugRR3O7roTuIdxWkNBPi+56K+448kTeluA9wWePJUAm9Cvu1TPN5NCCGTsVUNWcXWK72pXEHUBcvIome7wDTJJUzqa+YzCz36c5Dk/wzaRQVX1OLHzu1fsqR+4Vdyw5zkvwLuO9S+jWoRXQMeWRbo3ue9817KKi+3PnVvLM1b+krDwvc52X4LOEmV0VdwwRL8E3o758umcfPv3oQ7r599pyioG+wHtxB5JueXlUyyaSboie/y3p4ZqPGELyRNSMJAovK753Xtxx5IG8HC7RS/CZr3rUpt/FGsUmnuCb2TEFL233Y843qL/TfrdV8rK7Ak/wGc7Mqu94nEYYXrAKwk1PQOsYQuocwz5zWrEqBx5ZMHXmo1X7eBcQLScvm/Z6FU32eBpol/K+LfBUDHGsj2GfOe+yon/4QCAtKy9L8J7gs0eb1DFco9ft6lm+paxreBHXVNvqw+FdWfFp3HHksLxM8F5Fkz1WSxpmZjMAJO1J84xe1VRrG17ENdUrbVu/meh+87qT5p3ySqeNO+7OpsHcXTPI11KJJ/jscRFhmMIPCANr9wZOiSGOfP1faTHPtGs760c9uw9CyzvcvfdNDF5YPPOQ+UdVrOuw//ZVha13jju+XNAmDCifdzzBZwkze1XSzmwa5GO+mW2IIRQvwTej/7RvN+2KHt12Q2pbPW3OthuGztn2oaEHz/7X1CNn7fLsJ32PLV7Vvt9wpDZxxprlNsYdQBy8Dj5LSBoLtDezuWY2F+gg6QcxhOIl+GZyX8f2r1zRo9vg1OSe6tk9Cva+4jvzDnqr/bXa+5Wyd/q+P2WyqjYuSnOYucITvMto55jZf8dgNbPPgHNiiMNL8M1gQqeOL/6yW9c9keptvmdSwYNfK9j/3B+uGfR253sZMeVH7XZ/7dYZbdYsexmzvExaW+jLuAOIg1fRZI9CSTIzg/+2g4+jba+X4LfSTZ07Pf9/nRNfQ2p0AWtjoVpNPLTwoHtG2OpzH5v1xQGvzKiwmiQAABkoSURBVBy6rnXnZW9tf8K8T3oM3QkV9GnJmHPAR3EHEAdF+cJlOEnXEXrFuzmadB6wxMwuSWsgycRFwPVp3WcOua5r5+du79TxQLR1d612+NI+u/DfVXOGvGN7mwqKP+z9tWkLtx1dvL6447Ct3XYOWjt2/Khaq8FynZfgs8cVhKR+fvT+SeDWGOLwKpot9IvuXSc90LHDyObY1qp26nLNKYUHdfvCPvrxA5ULBn34/H79Pny+aHW7XosXDDp50fIuO5cidW2OfeWAvCy9g5fgXVMlE8cBD8YdRra5pGf3yU+0b3dQS22//1JbdMkDlR/0Xc5+AlUWFK1d0n/U9HcHHtZpY1G70pbab5Z4eez4UfvFHUQcPMFnCUk7ANcAuwL/bS5nZtulNZBkYmfgjbTuM8t9v1ePSS+0azsyHfva4X2bf8kDlSu7rmJ49bQVnbadv2DQiR9/0bFkWJ7eQPWvseNHnRB3EHHwBJ8lJD1PGHT7euAY4CygwMz+J62BJBPFhBYJXr3XAAMb06fnlJlt2oxI976HLaiafeG/qwrar+O/pfeNhW2+WFhy5Kz3+47oU1XYaod0xxSj/xs7ftTYuIOIgyf4LCFpupntKanCzEpTp6U9mGTiTSCfEkSTVUHVqX17v/BG61YHxhnHyDlVU7/7eFWX1hs3/70+7brrnAXbn7Dyy3a992qoqWYO+PnY8aN+HXcQcfBSWPZYp9CsboGkC4D3gbhOt+fjCb5OG2HjCf36TF3YqjjW5A4waXDB3pNLVXXMK/bCqZOrBhRVMRCg2/LXB3db/jrrizsue3u74+Z+1Gvv7a2gcEDc8baQD+IOIC5egs8SkvYi1H13Bn4FdAKuM7OX0x5MMvE7IL3NM7PEelh/TP++Mz8oLton7lhqKqy0DadPqnpp9Ku2c4HRM3WeoaqPew2f8fa2x1ata91leFPa6GeB/ceOH/Vi3EHEwRN8lkjtSTJ2ycQ5wF/iDiPTrJXWHNW/z2tLi4qGN7x0fFptsC/Peazq1RFzbYggUXP+mjbd3l8w6MQFy7qV7oYKesQRYzMyIDF2/KiV9S0k6UrgdEKnZFXAeWb2SlN3JqkE+JqZ3dWIZf8T7bMz8IiZ7V7Psu8AR5rZ/JRpNwAfmtm1da7nCT47SHqW0IPkP4F7o/5o4pFMjAAmx7b/DLRaWnXkgL4LPisszJpRmTqssc8v+HfV7KFv294KA8hspkoFG97vO2Laom2ObLuhVYchccTYDBaOHT+q3pZmkvYDfg+MNLN1kroDrcysyVU7kkYCl5rZ0U1Yp4SGE/xvgHVmdlX0vgB4F9jfzBbXtV4unYblNDM7GDgYWArcLKlC0s9iCscHiU7xRYFWHDqg38JsSu4Aq9qq87hvFh50/tjCL+b34zmDzXonLbCq4gHvT9rvwBevGLLXq795u/PnCyZjtiKueLfQnEYs0wdYZmbrAMxsWXVyl7RI0m+j/7epkgZF0ydIOql6A5KqB+MZBxwoaZakiyWdKekBSY9JWiDptynrLIoOJqRM207SzKhKNtXdbN49+AhgcX3JHTzBZxUz+8jM/gh8H5gFpLeJZLXkik+AzxtcLg98VlCw/NAB/T5YVViQtTcTLe+kXj//TtGIi88t/OC9brxgoVpjMx1Xv7/9sFk3HHTQlB8Xlyz6z/OFG9e+HkesW2BaI5Z5Ahgg6U1J/yep5g1pK6KWa38CbmhgW2XAFDMbYmbVXXoMISTnUuAUSbVezJa0E3A/cKaZvZo6z8wqgCpJe0STTiUk/Xp5gs8SknaRlJRUAdwIvAj0jzGk12Lcd0b4pLDwk8MG9P10TUHBLnHH0hw+6KZtfnxu0f5XfqfwzU878mptyxRWrW+33aLyAw56/pJdh868/vUOK5dMwSyTx5NtsB49Gv5yT+BcwhnyvZLOTFnk7pTnLbkj9mkzW2Fma4HXCX1K1dQDeAj4lpnNrmM7dwOnSioCjgfua2jH3kwye9wG3AN8fUvqBlvAZGD/uIOIywdFhR8e3b/v2g3hDuOc8lY/7XT+BUUMebtqzg8frqLDWgbXtlyXFW/tuvf0cWwoarvinZKjp37Qd/+BVlC8bbrjrYcBUxu1oFklMAmYFBWixgATUrZDjdcbiQrIUX14ffcSpPbAWknteXcFoU79AMJBoDb3EM42JgNzzOzjevYJeAk+a5jZfmb2h7qSu6T70xzS02neX8ZYXFS05Kj+fSs3SJmUzJrdrO0LBp99cdHgPx1d8Oq6IubXtVzxxjWJnd6676CDn7to29K5N89s++UnLxHPaGM1zR87flSD1wwk7aTND9RDgNS67VNSnl+KXi8ilPoBjmXToN4rgY5bEOt64BvAdySdXtsCZvY2sIxQz99g9Qx4CT6XpLdPmlBFtJaUfnHywZvFxQtP7te7TZWUN/2vP1dasNdzu8uOnmovnj6pql9RVa1VDAD0WDZnaI9lc1jXKvHJW9t/4/WPew7bERX2TWe8KZ5t5HIdgBsldSaUzN8iVNdU6yJpDqEkflo07RbgIUmzgceA1dH0OUBlNH0C8FljgzWz1ZKOBp6UtMrMHq5lsbsJCf6BxmzTm0nmCEkzzGxYWneaTDwNjErrPmM0t1WrBaf37dXZpGxvG77FCqps46mTq1485hXbsdDo3dDyhio/7L3v9He2PbpgfavEnmnuq/6oseNHPbo1G5C0CBhuZsuaJ6T08ioatzWeijuAdJnWpvXrp/ft1T2fkztAVYGK7jq4cMSYSwoTzwzWJGugNZWwwr4fvbT3AS9dOXzfqb9c0vXT1yZhVZ+mIdTVwDNp2E9G8xJ8jpA008zS2w47mdiD0Fwzpz3fts2c83v1KEHqFHcsmab9Glvxg/KqmcMX2F6C9o1Zp0pF65b0Hzlt8cCvd9xY3K7WC7jN4MGx40d9o4W2nTU8wecISYeb2RNp33EysYjam33lhKfatZ15cc/uOyI1Knnlq86rbOnF/6p8Y+f32E+bLjg26IuOAxe8OejkD7/otO1QpC25OFmX744dP+q2ZtxeVvIEn+GiJlu1/UgCzMxaqgTUOMnEjcAFscbQQh7u0O7VK7t3K0XKqwvJW6P3clty6f2V7w5Yxn5qQhXwxsLWqxZtc+SM9/od1LuqsNWOWxmGAX3Gjh/VYDPCXOcJPsNJqrd03NCtyi0umTgceDzWGFrAvR07vPzrbl2G5UFf6S1iuw9twSUPVH7W4wv2buq6n3bZpeKtQSd8sbpdn+FIrbdg91PHjh+Vcb15xsETvNs6yUQrwt1/OVM/fVui4wvXd+m8L1Jh3LFku9KFVRUXPVRV2XENTe6sbH1xh0/f3vbYuR/13qfECoqaUg2YtwN81OQJPktI2pfQRcEuhLvmCoHVZhZ/Yk0m/gz8IO4wmsONnRNT/tK50/451h967PZ/rWr6eY9WtW+zgZ2buq6BfdJjzxlvb3fcxrVtug5vxIF357HjR9V5Y1Y+8QSfJSRNI3QwdB8wHPgOsKOZ/STWwACSiV3Jgb5prunaZfJdnTqMSHNb7fxhZkdOs5fPeLaqd3ElW3QX8JrWXT98a9AJ85d232MXVNCrlkWeHzt+VOwjaWUKT/BZQtI0MxsuaU71hdVYmkbWJZl4htCdcVa6snvXSQ937DAy7jjyQUGVbfzmlKqXjnvJBhUaW3RHcJUKNn7Q54BpC0uOarWhuMPQlIPymWPHj5rYjOFmNU/wWULSc8ChwK3AR8CHhG5F96h3xXRJJk4gdHWadS7q2X3y0+3b1ewi1rWw4o229qwnql45ZLYNFnTZ0u2satdn4YIdTn73s847bIsKdhk7ftSXzRlnNvMEnyWi1jQfE+rfLyYMtfbnqAOi+CUThcBCIKsGbj6nd8/JL7dt48k9Ru3Whpul9nqz8TdL1cYo+OOu8177UXPGlu38QlL2ON7M1prZF2Z2lZn9GGj0sGAtLrmiErg57jAay8DO6NPrOU/u8fuyjRK/O7Fw5LkXFn75+gCes9CzYpOJqpuaO7Zs5yX4LFFbZ2IZVQcPkEz0BJZQf9/YsauEylP69n5pfutWB8Qdi/uqXsvtvUsfqFw8cGmTbpZ6fJd5bxzRooFlIU/wGU7SaYSR1w8ApqTM6gRUmtkhsQRWl2TiTkK8GWkjbDy+f5+pi4uLvxZ3LK5+235kb13yQOWnPVfQmJuWDtll3hsNdi4m6UrC32clUAWcB5wD/N7Mmm0YwmhEqOFmFutd3t4ffOZ7kXBBtTvwvynTV9K4AYXT7U9kaIJfD+uOHtB39odFRZ7cs8DC3hp0wQ+KBu2+qOq1ix6sWt9pDXWdrb7ayOS+H6Fac5iZrYsGvG5lZt9rzribg6TCaJSpreJ18BnOzBab2SQz2w+YRxgtpiPwnpltjDe6WiRXvAS1j+cZp7XSmq8P6Df3w6KiJt867+I1t6Rgt+9dVDT0huMKZqwp5o1aFvlNIzfVB1hmZusAzGyZmX0gaZKk4QCSVkm6WtJsSS9L6hVNL5H0jKQ5kp6WNDCaPkHSeEnTokG7U6+L9ZX0mKQFkn5bPVHSTdHyr0m6KmX6IknXSpoBnBy9v0bSrGj5YZIel/S2pO835gN7gs8Skk4mjC95MvBN4BVJJ8UbVZ0uizuAVKulVYcO6PvmsqLCPRte2mWqF3ctGDbmksKd/3pYwUsbClkYTZ5BGKy6MZ4ABkSJ+P8k1XaBvT3wctT8+DlC9Q2Eu8gnRveg3An8MWWdEmBvYDQwXps6pxtCGOavFDhFUnULsyvNbDgwGDhIUmqHgZ+a2TAzuyd6/66ZDSFUz04ATgL2Ba6iETzBZ4+fAXuZ2Rgz+w7hD+rnMcdUu+SKyTRySLGWtqJAKw4Z2G/xisLCzLhfwG0dSY8PL9jv25cWDvzn/pqyoi0/3WXeG426kGhmqwjjqJ5L6D/p3qiuPNV64JHo9XRC8gbYD7gren0H4ZpYtX+YWZWZLQDegf92x/C0ma0ws7WEgbSr+9P5ZlRKnwnsBuyasq17a8RTPWxfBfCKma00s6XAumiIwXp5gs8eBWb2Scr7T8ns3+9SNh9NPu2WFxR8etiAfh+uLijYLc44XPOrKlDhP0YUbtx35htN6snUzCqjKs9fELq5PrHGIhtsU8uTShp3nbLmAab6ferffyVQpDBQ+6XAIdHZQDmbj2u8ms1Vb6OqxvaqGhNbJicIt7lHo/q3M6NSRznwn5hjqltyxULghrh2/3Fh4ceHDej3+ZqCgiZ3buWyghESZaNJ2knSDimThgCN7W77RUJfUADfYvMWbSdLKpC0PbAdUF9HZ50ISXxFVL9/ZCP3v0W8FU32MMKNRNWnhn8h1MVlsquBMdDw4MzN6b2iwveP6d9348bwD+dy050VYypmNHGdDsCNUdXGRuAtQnXNPxux7oXA3yRdRqjeOStl3ruE62OdgO+b2dq6+qszs9mSZhIaTCwBXmjiZ2gSbwefJeq40em/HY9lrGTiu4T+c9JiYXHR4m/061NYKfVP1z5d2q0FdqwYU7Ek7kAkTQAeMbPGHCTSzqtoMpyk86Nh+3aKmmhVPxaSme3ga/ob4WJSi5vXqvjt4/v1ae3JPeddnQnJPRt4CT7DSUoQetq7BihLmbXSzJbHE1UTJRMjgMktuYs5rVvNP6NPr24Wbl5xuesVYP+KMRVbfRNQPvAE79IjmfgHoQ1/s5vapvVr3+vds581otmYy2pfAkMqxlQsiDuQbOFVNC5dxgIfNPdGn2vbZvZ3e/cc6Mk9L1zmyb1pvATv0idU1TxDGE92qz3Rru2MS3p23xmpXXNsz2W0xyvGVHhvkU3kJXiXPskVzwHJ5tjUgx3aT72kZ/fdPLnnheXA2XEHkY08wbt0+w3w5NZs4M5OHV76efeuQ5FaN1NMLrP9oGJMRbNX7+UDr6Jx6RcGBpkFTR9w+S+JTs/f2CWxH1KzVPO4jHd3xZiKjOx+Oht4Cd6lX3LFJ4Tbvauastr1XRLP3dglsb8n97yxhHBx3m0hT/AuHskVzwK/bOziV3frMvm2zokR1HUPuMs1K4CjKsZUfBZ3INnME7yL06+ApxtaqKxHt8n3dOrog2Pnj/XANyrGVMyNO5Bs53XwLl7JRC/gZTb1u72ZC3t2nzSpfbuR6QzJxcqAMyrGVNzV4JKuQV6Cd/FKrvgYOAz4pOass3v3nOzJPe/81JN78/ESvMsMycQQYBKQqIKqb/Xt9cLc1q0PjDkql143VYyp+EHcQeQSL8G7zJBcMQs4thJWndiv90ue3PPOw4Q+110z8hK8yyhnjd/h8Glt2/wbaBV3LC5tpgIHV4yp+DLuQHKNJ3iXcUonlh5DGGXHk3zumw0cVjGmYmncgeQir6JxGadiTMW/gZMIzeVc7noWGOHJveV4gncZKUryJ+NJPlfdCxxRMabii7gDyWWe4F3GqhhT8TChCeWyuGNxzep64LSKMRV+8G5hXgfvMl7pxNIS4CEgswcYdw0xwqAd/xt3IPnCE7zLCqUTS9sDtwMnxB2L2yIbgDP9Jqb08ioalxUqxlSsJlx4/SWhJOiyx0pCx2Ge3NPMS/Au65ROLD0ZmAD4aE6Zbz7wzYoxFXPiDiQfeQneZZ2KMRX3AfsD78Ydi6vXBGBPT+7x8RK8y1qlE0t7AhMBH4w5s6wEvu9VMvHzBO+yXunE0jMITe+6xx2L43nCxdS34w7EeRWNywEVYyr+DuwC3Bl3LHlsDXAJcJAn98zhJXiXU0onlh4BjAe2iTuWPPIyodQ+P+5A3Oa8BO9ySsWYiseA3YA/0MRBvV2TfQCcBxzgyT0zeQne5azSiaV7A7cCpXHHkmNWANcCf/AufjObJ3iX00onlhYBpwM/AXaOOZxstw74M3B1xZiK5XEH4xrmCd7lhdKJpQWEO2F/hpfom6oKuAP4n4oxFX7vQRbxBO/ySunEUgHHAlcCe8UcTjYoB8oqxlTMjTsQ13Se4F3eKp1Y+nXg54S7Yt0mnwN/B27xu1Czmyd4l/dKJ5aOBC4AjiG/hwmcAtwC/LNiTMWauINxW88TvHOR0omlXYFTgDHAPjGHky5LCd093OpNHXOPJ3jnalE6sXRH4JvAicCQmMNpbuuAycBfgQd9ZKXc5QneuQaUTizdnjDQyAnAcKAo3oiarAqYCTwdPaZ4FUx+8ATvXBOUTixtR0jy+6Y8+sQaVO0WAE8REvqz3m49P3mCd24rlU4sHcjmCX8o0CZNu68CFgFvRI8KQkJfkqb9uwzmCd65ZlY6sbSYUKpv6NETKIxWqwLWE8YurX5Ofb2SMMDJ4pTnhcCbXt3i6uIJ3rmYRHfXFgMbKsZUeMdortl5gnfOuRzl3QU751yO8gTvnHM5yhO8czlAUqWkWZLmSrpPUrto+g8lvSHpTknHSiprxn0+Kqm/pEmS5kf7f0PSuSnL/EdS5wa2Y5L+N+X9pZKSkq6Mtjkr5fPNkvTDJsQ4SdLwLfuE2c/r4J3LAZJWmVmH6PWdwHQz+72kecChZvZeM+2nyMw2SmoLTDazvSVNAi41s2mSugJvA73MrFF3yEpaC3wI7GVmyyRdCnQws2Rtn6+J8f43tqaumwu8BO9c7pkCDJI0HtgOeFTSxZLOlPQngJTS8CxJayQdJKm9pNskTZU0U9Jx0bJnSnpY0jOEG6cARgKTatl3B2A1UBmtu0hS9+j1j6MzjLmSLkpZZyPwF+Dihj6YpEJJ10l6VdIcSeelzLtCUoWk2ZLGpax2cvSZ3pR0YCO+v5yRbbdcO+fqIakIOBJ4zMxuknQEcHBUMj6zejkzGxItfwxwOfAicBXwjJmdHVWrTJX0VLTKMGCwmVXfEXsk8GDKru+UtA7YAbjIzCprxLUncBahEzcBr0iabGYzo0X+DMyR9NsGPuJ3gRVmtpek1sALkp4gjNZ1HLCPmX0ZnUlUK4rONI4CfgEc2sA+coYneOdyQ1tJs6LXUwgdidVL0g7AdYQDwAZJhwPHRlUkEO7GHRi9fjIluUPoQ//SlPffiqpoegAvSnrMzBanzD8A+JeZrY72/QBwIKGPHMzsC0m3Az8E6rtx63BgsKSTovcJwkHlUOBvZvZltL3UWB+InqcDJfVsO+d4gncuN6ypLpU3hqQOwD+Ac8zsw+rJwIlmNr/GsvsQql2q328HLKmtjt3MlkqaQSipL645vwE3ADOAv9UXOnChmT1eI8av17POuui5kjzLeV4H71x+uo1Q4p2SMu1x4EJJApA0tI51jwQeq21G1HpnKOFCa6opwPGS2klqD3wjmvZfUan7H4RqmLo8DpwvqTja347R9p4EzkppPdS1nm3kjbw6mjnnQNI2hAHId5R0djT5e8CvCKXoOZIKCH3dHF3LJo4ALqwx7U5Ja4DWwAQzm54608xmSJoATI0m3ZpS/57qfwmja9XlVkI1y4zoQLQUON7MHpM0BJgmaT3wH+Cn9WwnL3gzSedco1Vf2DSzvG1bnk08wTvnXI7yOnjnnMtRnuCdcy5HeYJ3zrkc5QneOedylCd455zLUZ7gnXMuR3mCd865HOUJ3jnncpQneOecy1Ge4J1zLkd5gnfOuRzlCd4553KUJ3jnnMtRnuCdcy5HeYJ3zrkc9f83i6y9KNop1AAAAABJRU5ErkJggg==\n", "text/plain": [ "<Figure size 432x288 with 1 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Vaccine numbers\n", "plotVaccine = plotCountries.groupby('vaccine')['total_vaccinations'].sum()\n", "plotVaccine.plot( kind = 'pie') \n", "plt.title(\"Vaccination per Vaccine - \" + start_time.strftime('%Y %m %d'))\n", "plt.savefig('Corona_VaccinationperVaccine.png') \n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "vaccine\n", "Sinopharm 50071\n", "Sputnik V 200000\n", "Pfizer/BioNTech 971736\n", "CNBG, Sinovac 1000000\n", "Moderna, Pfizer/BioNTech 1008025\n", "Name: total_vaccinations, dtype: int64" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "plotVaccine.sort_values(ascending=True)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "# Sweden have 10 000 doses...." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Ended: 2020-12-25 09:44:53.930888\n", "Time elapsed (hh:mm:ss.ms) 0:00:01.464611\n" ] } ], "source": [ "end = datetime.now()\n", "print(\"Ended: \", end) \n", "print('Time elapsed (hh:mm:ss.ms) {}'.format(datetime.now() - start_time))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Whole dataset\n", "see \n", "* [COVID-19 Data Processing Pipelines and datasets](https://github.com/covid19-data/covid19-data)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "ourworldindata = \"https://covid.ourworldindata.org/data/owid-covid-data.json\"\n", "#df_ourworldindata = pd.read_json(ourworldindata) " ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "#df_ourworldindata.info()" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "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.8.0" } }, "nbformat": 4, "nbformat_minor": 4 }