{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# China Oil Flows during the Covid-19 Outbreak"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"With the beginning of Q2 2020 the global economy finds itself adapting to an unprecedented situation brought on by the Covid-19 pandemic. Oil demand and supply has already been severely impacted across the world. In this notebook, we will see how [Vortexa's Python SDK](https://github.com/VorTECHsa/python-sdk) can help analysts, traders and data scientists identify the earliest flow trends related to **China**, in its capacity as a major crude importer and clean products exporter. \n",
"\n",
"For the purposes of this analysis we will take advantage of the SDK's [CargoTimeSeries](https://vortechsa.github.io/python-sdk/endpoints/cargo_timeseries/) endpoint. This endpoint allows SDK users to find aggregate flows between regions and provinces, for various products, vessels or commercial entities such as charterers and effective controllers. To see more details about Endpoints check our [Docs page](https://vortechsa.github.io/python-sdk/endpoints/about-endpoints/). \n",
"\n",
"**PS1**: This notebook was generated on 15 April 2020. Vortexa is constantly improving the quality of our data and models, and consequently some historical data points may change causing future runs of the notebook to yield different results.\n",
"\n",
"**PS2**: The following packages were used:\n",
"* vortexasdk==0.14.0\n",
"* pandas==0.25.2\n",
"* matplotlib==3.1.2\n",
"\n",
"Please note that `matplotlib` is not part of the default requirements of the SDK and therefore it needs to be installed prior to running the notebook. To install the library simply run `pip install -U matplotlib` or if you are using conda environment `conda install -c conda-forge matplotlib`."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"from datetime import datetime\n",
"import matplotlib.pyplot as plt\n",
"from vortexasdk import CargoTimeSeries, Products, Geographies\n",
"\n",
"pd.options.display.max_columns = None\n",
"pd.options.display.max_colwidth = 200\n",
"pd.options.display.max_rows = 100"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# China Flows Exploration"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We will study China flows starting from January 2018 until the end of March 2020. Note that the SDK provides access to Vortexa data since 2016-01-01 with a maximum date range of 4 years per query."
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Start date: 2018-01-01 00:00:00\n",
"End date: 2020-03-31 23:59:59\n"
]
}
],
"source": [
"# Define filter limits, i.e. start and end date for this analysis. We will consider only historical (i.e. closed)\n",
"# movements. Given that the notebook was populated at mid April, we will then set our max date\n",
"# to the end of March 2020\n",
"START_DATE = datetime(2018, 1, 1)\n",
"\n",
"# Make sure you include the whole day, i.e. since we want to include movements up to the end of March we should\n",
"# specify end date either as midnight of March 31st or 1st of April (if we used datetime(2020,3,31)) we would \n",
"# lose essentially one whole day of movements\n",
"END_DATE = datetime(2020, 3, 31, 23, 59, 59)\n",
"\n",
"# Define cargo unit for the timeseries (will be constant over the analysis)\n",
"TS_UNIT = 'bpd'\n",
"\n",
"# Define the granularity of the timeseries (will be constant over the analysis)\n",
"TS_FREQ = 'month'\n",
"\n",
"print('Start date: {}'.format(START_DATE))\n",
"print('End date: {}'.format(END_DATE))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## China Crude Imports"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"2020-04-16 11:14:51,901 vortexasdk.operations — INFO — Searching Geographies with params: {'term': ['china']}\n",
"2020-04-16 11:14:51,901 vortexasdk.client — INFO — Creating new VortexaClient\n",
"2020-04-16 11:14:52,049 vortexasdk.client — INFO — 13 Results to retreive. Sending 1 post requests in parallel using 6 threads.\n",
"China polygon id: 934c47f36c16a58d68ef5e007e62a23f5f036ee3f3d1f5f85a48c572b90ad8b2\n"
]
}
],
"source": [
"# We want to search the ID that corresponds to the origin `China`.\n",
"china = [g.id for g in Geographies().search('china').to_list() if 'country' in g.layer]\n",
"\n",
"# Check we've only got one ID for China\n",
"assert len(china) == 1\n",
"\n",
"print('China polygon id: {}'.format(china[0]))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"At this point it is worth paying some attention to the `.search` method. Given a *term* argument the query will return all Geographies that match this term. Given the fact that one term can return multiple results we need to make sure we retrieve only the ID(s) we are interested for. In the case above we use the `layer` attribute to keep only the Geographies that are of `layer` country. To understand the different layers in Geographies check the [Geography Entries Docs](https://docs.vortexa.com/reference/intro-geography-entries). We will also illustrate with an example how the results would look if we didn't filter on country layer.\n",
"\n",
"PS: As you can see everytime an API query is executed, logs are printed to the console. The SDK uses a `LOG_LEVEL=INFO` as the default option, but users can [configure](https://vortechsa.github.io/python-sdk/config/) the level of detail of logs with the use of environment variables."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"2020-04-16 11:14:52,411 vortexasdk.operations — INFO — Searching Geographies with params: {'term': ['china']}\n",
"2020-04-16 11:14:52,565 vortexasdk.client — INFO — 13 Results to retreive. Sending 1 post requests in parallel using 6 threads.\n"
]
},
{
"data": {
"text/html": [
"
"
],
"text/plain": [
" id \\\n",
"0 934c47f36c16a58d68ef5e007e62a23f5f036ee3f3d1f5f85a48c572b90ad8b2 \n",
"1 781cacc7033f877caa4b4106d096b74afe006a96391bf5a56a4f55b849359a42 \n",
"2 a63890260e29d859390fd1a23c690181afd4bd152943a04c00cd6a5ecf3f7d1e \n",
"3 b5fafce6e20de2dc307fb7e0b89978ee91a49a7b6ec6f5461daf2633f3c56674 \n",
"4 9a021f43c397b175ddfff7a91d46ee6e6e16d37e9f9d52398ac6895656109d86 \n",
"5 4f5f0b6f433d65718e62b663e802d9e9f0ff9eba2a2b8dd4558ee94dfbf4d8a6 \n",
"6 f192fa0cb55da8cdc2e658e9102af9ce632e0be358b0519aa75f0cb3b52fb739 \n",
"7 404fd9f15f7b9bd3e4b2a838307b04dd991813fc9afc9e500d4af03c88fcb7ec \n",
"8 4988ec0894dd49ddc0e838325906013aa69125c8a93c04262456900a716e3137 \n",
"9 46bb424e5c7c951b4a85b38c747769ff8d3f1656ddfd51176f696b7e1941cc50 \n",
"10 cc637abe27aabcf5665c59ddc7549afedf32702b10fdec9eef2cae45ed736db0 \n",
"11 9579af63401ee4a876768a77e5c0d34bd0a7cfe89bacd4b0e8b8b3a1bfe703bf \n",
"12 662a45e342d9394ce1e4595195f5fbcf3fbb0b1975be2798c745d9d5e2f8642e \n",
"\n",
" name layer \n",
"0 China [country] \n",
"1 South China [shipping_region] \n",
"2 North China [shipping_region] \n",
"3 China (excl. HK & Macau) [shipping_region] \n",
"4 China Steel Chemical [terminal] \n",
"5 China Energy Services Ningbo [terminal] \n",
"6 East China Sea STS [sts_zone] \n",
"7 Multipurpose (China Merchants) Terminal [terminal] \n",
"8 China Union, Freeport Of Monrovia [terminal] \n",
"9 China Resources Chemical Holding Terminal [terminal] \n",
"10 China General Terminal Distribution Corp [terminal] \n",
"11 China Bay(Ioc Terminal) (Ex-Trincomalee) [terminal] \n",
"12 Wenzhou China Petroleum Fuel Bitumen Co., Ltd. [terminal] "
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# This is just for illustration purposes\n",
"china_all = [(g.id, g.name, g.layer) for g in Geographies().search('china').to_list()]\n",
"china_all_df = pd.DataFrame(data = china_all, columns = ['id', 'name', 'layer'])\n",
"china_all_df"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We will now search for the ID that corresponds to *Crude/Condensates* product. In the same manner as above we will use the product layer to ensure we retrieve the desired ID (although not necessary in this *specific* case since there is only one product with that name). To understand the different layers in Products check the [Product Entries Docs](https://docs.vortexa.com/reference/intro-product-entities)."
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"2020-04-16 11:14:52,961 vortexasdk.operations — INFO — Searching Products with params: {'term': ['Crude/Condensates'], 'ids': [], 'product_parent': [], 'allowTopLevelProducts': True}\n",
"Crude id: 54af755a090118dcf9b0724c9a4e9f14745c26165385ffa7f1445bc768f06f11\n"
]
}
],
"source": [
"# Find Crude/Condensates ID\n",
"crude = [p.id for p in Products().search('Crude/Condensates').to_list() if p.layer[0] == 'group']\n",
"\n",
"# Check we've only got one Crude ID\n",
"assert len(crude) == 1\n",
"\n",
"print('Crude id: {}'.format(crude[0]))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"For all the following flow aggregations, **intra-movements** will be **excluded** from analysis. Intra-movements are defined as movements having their origin and destination to the same *geographic area* (e.g. if origin is a country intra-movements are defined as movements starting and finishing at the same country and the same goes for any other layer such as geographic region, trading region etc.). The `.search()` method of `CargoTimeSeries` object accepts an argument called `disable_geographic_exclusion_rules` which is set to None and by default **excludes** all intra-movements. To include intra-movements to aggregations use `disable_geographic_exclusion_rules=True`."
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"2020-04-16 11:14:55,447 vortexasdk.operations — INFO — Searching CargoTimeSeries with params: {'timeseries_frequency': 'month', 'timeseries_unit': 'bpd', 'timeseries_activity': 'unloading_start', 'filter_activity': 'unloading_start', 'filter_time_min': '2018-01-01T00:00:00.000Z', 'filter_time_max': '2020-03-31T23:59:59.000Z', 'size': 500, 'filter_charterers': [], 'filter_owners': [], 'filter_products': ['54af755a090118dcf9b0724c9a4e9f14745c26165385ffa7f1445bc768f06f11'], 'filter_vessels': [], 'filter_destinations': ['934c47f36c16a58d68ef5e007e62a23f5f036ee3f3d1f5f85a48c572b90ad8b2'], 'filter_origins': [], 'filter_storage_locations': [], 'filter_ship_to_ship_locations': [], 'filter_waypoints': [], 'disable_geographic_exclusion_rules': None, 'timeseries_activity_time_span_min': None, 'timeseries_activity_time_span_max': None}\n"
]
},
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
bpd
\n",
"
count
\n",
"
\n",
"
\n",
"
date
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
"
\n",
"
2019-11-01
\n",
"
9.768183e+06
\n",
"
354
\n",
"
\n",
"
\n",
"
2019-12-01
\n",
"
9.717057e+06
\n",
"
384
\n",
"
\n",
"
\n",
"
2020-01-01
\n",
"
9.739571e+06
\n",
"
368
\n",
"
\n",
"
\n",
"
2020-02-01
\n",
"
8.763636e+06
\n",
"
308
\n",
"
\n",
"
\n",
"
2020-03-01
\n",
"
8.909193e+06
\n",
"
335
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" bpd count\n",
"date \n",
"2019-11-01 9.768183e+06 354\n",
"2019-12-01 9.717057e+06 384\n",
"2020-01-01 9.739571e+06 368\n",
"2020-02-01 8.763636e+06 308\n",
"2020-03-01 8.909193e+06 335"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Query API\n",
"df = CargoTimeSeries().search(\n",
" # Filter on cargo arrival date (i.e. the date that the unloading operation started) \n",
" filter_activity = 'unloading_start',\n",
" # We are interested in movements into China \n",
" filter_destinations = china,\n",
" # Keep only Crude/Condensate movements\n",
" filter_products = crude, \n",
" # Quantity unit to use\n",
" timeseries_unit = TS_UNIT,\n",
" # Look on monthly imports\n",
" timeseries_frequency = TS_FREQ,\n",
" # Uncomment to INCLUDE intra-movements to aggregations\n",
" # disable_geographic_exclusion_rules = True,\n",
" # Set the date range of analysis\n",
" filter_time_min = START_DATE,\n",
" filter_time_max = END_DATE).\\\n",
" to_df()\n",
"\n",
"# Convert key column to datetime and set as index\n",
"df['key'] = pd.to_datetime(df['key']).dt.date\n",
"df = df.rename(columns = {'key': 'date', 'value': 'bpd'})\n",
"df = df.set_index('date')\n",
"\n",
"df.tail()"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0.5, 0, 'Month')"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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",
"text/plain": [
"
"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Plot the data\n",
"(df['bpd'] / 10**6).plot(kind='bar', figsize = (10,5))\n",
"plt.xticks(rotation = 60)\n",
"plt.title('China Crude Imports \\n 2-Year Average Import Volume: {:,}M bpd'.\n",
" format(round(df['bpd'][:-3].mean() / 10**6, 2)), fontsize=13)\n",
"plt.ylabel('Quantity (Millions bpd)')\n",
"plt.xlabel('Month')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"March seaborne crude imports into China seem steady at **8.91M bpd**, very close to the **8.76M bpd** of February and to the 2-year historical average (Jan 2018 - Dec 2019) of **8.71M bpd** (note that China also imports crude via pipeline). The data makes sense intuitively, since February/March China arrivals are cargoes that have been bought and loaded at least one or two months before, a period when the coronovirus pandemic hadn't yet escalated at its full extent. The real impact of the pandemic is expected to be seen from April onward.
Let’s also look at the main crude **suppliers** of China, and how their exports have fared. We will focus on *MEG/AG, West Africa, South America East Coast and Russia Far East* trading regions. Please note that MEG exports include the port of *Ceyhan* due to the *Kirkuk* Iraqi exports and exclude movements loading from *Saudi Arabia Red Sea* region."
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"2020-04-16 11:14:56,125 vortexasdk.operations — INFO — Searching Geographies with params: {'term': ['MEG']}\n",
"2020-04-16 11:14:56,240 vortexasdk.client — INFO — 4 Results to retreive. Sending 1 post requests in parallel using 6 threads.\n",
"2020-04-16 11:14:56,593 vortexasdk.operations — INFO — Searching Geographies with params: {'term': ['West Africa']}\n",
"2020-04-16 11:14:56,728 vortexasdk.client — INFO — 3 Results to retreive. Sending 1 post requests in parallel using 6 threads.\n",
"2020-04-16 11:14:57,092 vortexasdk.operations — INFO — Searching Geographies with params: {'term': ['South America East']}\n",
"2020-04-16 11:14:57,360 vortexasdk.operations — INFO — Searching Geographies with params: {'term': ['Russia Far']}\n"
]
}
],
"source": [
"# Find region IDs \n",
"meg = [g.id for g in Geographies().search('MEG').to_list() if 'shipping_region' in g.layer]\n",
"waf = [g.id for g in Geographies().search('West Africa').to_list() if 'shipping_region' in g.layer]\n",
"saec = [g.id for g in Geographies().search('South America East').to_list() if 'trading_region' in g.layer]\n",
"russia = [g.id for g in Geographies().search('Russia Far').to_list() if 'trading_region' in g.layer]\n",
"suppliers = meg + waf + saec + russia\n",
"\n",
"# Ensure we've only got one ID for the desired regions\n",
"assert len(meg) == 1\n",
"assert len(waf) == 1\n",
"assert len(saec) == 1\n",
"assert len(russia) == 1\n",
"\n",
"# Create a dictionary to map region ids to names. This will be useful when we will combine the results from\n",
"# different queries to a single DataFrame\n",
"suppliers_dict = {meg[0]: 'MEG/AG',\n",
" waf[0]: 'West Africa',\n",
" saec[0]: 'South America East Coast',\n",
" russia[0]: 'Russia Far East'}"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We will now make separate API calls for each origin (i.e. China supplier) and store the results for all suppliers to a single DataFrame."
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Loading China crude imports from MEG/AG\n",
"2020-04-16 11:14:57,689 vortexasdk.operations — INFO — Searching CargoTimeSeries with params: {'timeseries_frequency': 'month', 'timeseries_unit': 'bpd', 'timeseries_activity': 'unloading_start', 'filter_activity': 'unloading_start', 'filter_time_min': '2018-01-01T00:00:00.000Z', 'filter_time_max': '2020-03-31T23:59:59.000Z', 'size': 500, 'filter_charterers': [], 'filter_owners': [], 'filter_products': ['54af755a090118dcf9b0724c9a4e9f14745c26165385ffa7f1445bc768f06f11'], 'filter_vessels': [], 'filter_destinations': ['934c47f36c16a58d68ef5e007e62a23f5f036ee3f3d1f5f85a48c572b90ad8b2'], 'filter_origins': ['0899599f74faadb7ba7eb65205ee5c20cb434367a6e7203bc274d310cdb54754'], 'filter_storage_locations': [], 'filter_ship_to_ship_locations': [], 'filter_waypoints': [], 'disable_geographic_exclusion_rules': None, 'timeseries_activity_time_span_min': None, 'timeseries_activity_time_span_max': None}\n",
"-----------------------------------------------------------------------------------\n",
"Loading China crude imports from West Africa\n",
"2020-04-16 11:14:58,047 vortexasdk.operations — INFO — Searching CargoTimeSeries with params: {'timeseries_frequency': 'month', 'timeseries_unit': 'bpd', 'timeseries_activity': 'unloading_start', 'filter_activity': 'unloading_start', 'filter_time_min': '2018-01-01T00:00:00.000Z', 'filter_time_max': '2020-03-31T23:59:59.000Z', 'size': 500, 'filter_charterers': [], 'filter_owners': [], 'filter_products': ['54af755a090118dcf9b0724c9a4e9f14745c26165385ffa7f1445bc768f06f11'], 'filter_vessels': [], 'filter_destinations': ['934c47f36c16a58d68ef5e007e62a23f5f036ee3f3d1f5f85a48c572b90ad8b2'], 'filter_origins': ['5e0cb0b66780a00576309aecff1b65934fc580d775bab29ac2a79397d8544e04'], 'filter_storage_locations': [], 'filter_ship_to_ship_locations': [], 'filter_waypoints': [], 'disable_geographic_exclusion_rules': None, 'timeseries_activity_time_span_min': None, 'timeseries_activity_time_span_max': None}\n",
"-----------------------------------------------------------------------------------\n",
"Loading China crude imports from South America East Coast\n",
"2020-04-16 11:14:58,358 vortexasdk.operations — INFO — Searching CargoTimeSeries with params: {'timeseries_frequency': 'month', 'timeseries_unit': 'bpd', 'timeseries_activity': 'unloading_start', 'filter_activity': 'unloading_start', 'filter_time_min': '2018-01-01T00:00:00.000Z', 'filter_time_max': '2020-03-31T23:59:59.000Z', 'size': 500, 'filter_charterers': [], 'filter_owners': [], 'filter_products': ['54af755a090118dcf9b0724c9a4e9f14745c26165385ffa7f1445bc768f06f11'], 'filter_vessels': [], 'filter_destinations': ['934c47f36c16a58d68ef5e007e62a23f5f036ee3f3d1f5f85a48c572b90ad8b2'], 'filter_origins': ['44bbc77b3eb859ff3135f669b152afb76b56434e7faae835e601d8cc6af110eb'], 'filter_storage_locations': [], 'filter_ship_to_ship_locations': [], 'filter_waypoints': [], 'disable_geographic_exclusion_rules': None, 'timeseries_activity_time_span_min': None, 'timeseries_activity_time_span_max': None}\n",
"-----------------------------------------------------------------------------------\n",
"Loading China crude imports from Russia Far East\n",
"2020-04-16 11:14:58,667 vortexasdk.operations — INFO — Searching CargoTimeSeries with params: {'timeseries_frequency': 'month', 'timeseries_unit': 'bpd', 'timeseries_activity': 'unloading_start', 'filter_activity': 'unloading_start', 'filter_time_min': '2018-01-01T00:00:00.000Z', 'filter_time_max': '2020-03-31T23:59:59.000Z', 'size': 500, 'filter_charterers': [], 'filter_owners': [], 'filter_products': ['54af755a090118dcf9b0724c9a4e9f14745c26165385ffa7f1445bc768f06f11'], 'filter_vessels': [], 'filter_destinations': ['934c47f36c16a58d68ef5e007e62a23f5f036ee3f3d1f5f85a48c572b90ad8b2'], 'filter_origins': ['4bd22474bec28e0d2576ff0ad204966df7f082d85af4f062763c49c4b1cac65d'], 'filter_storage_locations': [], 'filter_ship_to_ship_locations': [], 'filter_waypoints': [], 'disable_geographic_exclusion_rules': None, 'timeseries_activity_time_span_min': None, 'timeseries_activity_time_span_max': None}\n",
"-----------------------------------------------------------------------------------\n"
]
},
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
MEG/AG
\n",
"
West Africa
\n",
"
South America East Coast
\n",
"
Russia Far East
\n",
"
\n",
"
\n",
"
date
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
"
\n",
"
2019-11-01
\n",
"
5020461
\n",
"
1440984
\n",
"
1042541
\n",
"
532488
\n",
"
\n",
"
\n",
"
2019-12-01
\n",
"
4145689
\n",
"
1747375
\n",
"
865083
\n",
"
628027
\n",
"
\n",
"
\n",
"
2020-01-01
\n",
"
4659045
\n",
"
1235428
\n",
"
1212141
\n",
"
756810
\n",
"
\n",
"
\n",
"
2020-02-01
\n",
"
4308542
\n",
"
1297303
\n",
"
1088467
\n",
"
488932
\n",
"
\n",
"
\n",
"
2020-03-01
\n",
"
4355388
\n",
"
1487335
\n",
"
800464
\n",
"
513588
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" MEG/AG West Africa South America East Coast Russia Far East\n",
"date \n",
"2019-11-01 5020461 1440984 1042541 532488\n",
"2019-12-01 4145689 1747375 865083 628027\n",
"2020-01-01 4659045 1235428 1212141 756810\n",
"2020-02-01 4308542 1297303 1088467 488932\n",
"2020-03-01 4355388 1487335 800464 513588"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Create an empty list. After each API call the resulting DataFrame will be appended to this list. At the end,\n",
"# the DataFrames of the list will be concatenated to create a single DataFrame\n",
"df_list = []\n",
"\n",
"# Iterate through China crude suppliers\n",
"for p in suppliers:\n",
" print('Loading China crude imports from {}'.format(suppliers_dict[p]))\n",
" dfp = CargoTimeSeries().search(\n",
" # Filter on cargo arrival date (i.e. the date that the unloading operation started)\n",
" filter_activity = 'unloading_start',\n",
" # At each iteration use a different origin\n",
" filter_origins = p,\n",
" # We are only interested in movements into China\n",
" filter_destinations = china,\n",
" # Keep only Crude/Condensate movements\n",
" filter_products = crude, \n",
" # Quantity unit to use\n",
" timeseries_unit = TS_UNIT,\n",
" # Look on monthly imports\n",
" timeseries_frequency = TS_FREQ,\n",
" # Set the date range of analysis\n",
" filter_time_min = START_DATE,\n",
" filter_time_max = END_DATE).\\\n",
" to_df()\n",
" dfp['key'] = pd.to_datetime(dfp['key']).dt.date\n",
" dfp = dfp.drop(columns = 'count')\n",
" dfp = dfp.rename(columns = {'key': 'date', 'value': '{}'.format(suppliers_dict[p])})\n",
" dfp = dfp.set_index('date')\n",
" df_list.append(dfp)\n",
" print('-----------------------------------------------------------------------------------')\n",
"\n",
"# Concatenate DataFrames \n",
"df_supl = pd.concat(df_list, axis=1)\n",
"df_supl = round(df_supl).astype(int)\n",
"df_supl.tail()"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
avg_bpd
\n",
"
\n",
" \n",
" \n",
"
\n",
"
MEG/AG
\n",
"
4072638
\n",
"
\n",
"
\n",
"
West Africa
\n",
"
1480763
\n",
"
\n",
"
\n",
"
South America East Coast
\n",
"
988728
\n",
"
\n",
"
\n",
"
Russia Far East
\n",
"
568111
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" avg_bpd\n",
"MEG/AG 4072638\n",
"West Africa 1480763\n",
"South America East Coast 988728\n",
"Russia Far East 568111"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Calculate 2-year (Jan 2018 to Dec 2019) historical average exports volume per origin\n",
"round(df_supl[:-3].mean().to_frame().rename(columns={0: 'avg_bpd'})).astype(int)"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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z7z7rBEC935w04cDAgJwcnLi9OnTbNmyhY4dOxIbG0t4eDje3t6Ehobi4uLC6tWriYqKYvv27Wit6devHxs2bODChQsEBASwcuVKAJKSkvD29ubTTz9l3bp1+Pr6XnfMM2fOcO7cOdq0acOgQYP44YcfeP7553njjTdYu3YtH3/8MW3atGH+/PmEh4cTGRmJj48PJ0+ezN/H7NmzOXHiBLt378bJyYmLFy8C8OSTT/LGG28AMHz4cFasWMF9991nxgsqCiuqLFipmC8hhBCiXOrcuTNbtmzJT646duyYf7tTp04ArF69mtWrV9OyZUtatWrF4cOHiYqKIiQkhDVr1vDSSy+xceNGvL29iz3e999/z6BBgwAYMmTIdaXBgnr06IGPj891969Zs4bHH38cJydDu0neNuvWraN9+/aEhISwdu3aa0qcwjKKKgu+bc1AhBBCiOsUf1mNKQAAIABJREFU0cJkSXn9rvbt20dwcDC1atXik08+oXLlyowePRoArTWvvPIKjz322HXPj4iI4Pfff+eVV17hnnvuyW85upnFixcTHx/PwoULUUoRFxdHVFQUt91223Xbenp63nAfWuvryn3p6elMnDiRnTt3UqtWLd566y3S09NNvQziFhU1WvDzor6sGaQQQghhTZ07d2bFihX4+Pjg6OiIj48Ply9fJjw8nI4dOwKGUYRz587NX+Q5NjaW8+fPExcXh4eHB4888giTJk1i165dAFSqVInk5OTrjnXkyBFSU1OJjY1l//79nDx5kldeeYXvv/++RDHfc889zJw5k+zsbAAuXryYn0j5+vqSkpIind+tpKjlbyKsFoUQQghhR0JCQkhISODhhx++5r6UlJT8PlP33HMPhw4dyk+2vLy8WLhwIdHR0UyePBkHBwecnZ358ssvARg/fjz33nsvNWvWvKZD++LFixkwYMA1x3/wwQcZMmQIr7/+uskxjx07lqNHjxIaGoqzszPjxo3jySefZNy4cYSEhFC3bl3atm17y9dEmM6kSUStRSYR7WbrMGymop8/yDUAuQZy/jKJqL1OoGlN9noNSjKJaFGjBadorZ9VSv3GDRZc1lr3M0ewQgghhBDlSVFlwQXG7zddrkYIIYQQQlyrqNGCEcbv/1gvHCGEEEKIsq2osmBkUU/UWoeaPxwhhBBCiLKtqLJgLoa+VouA34A0q0QkhBBCCFGG3XSeK611GDAU8MKQYL0HNAditdanrBOeEEIIIUTZUtTyN2itD2ut39Rat8LQevUt8JxVIhNCCCFs5L333qN58+aEhoYSFhbGtm3bbmk/69evZ8uWLfm3R44cafJEnj/99BNKKQ4fPnxLxzbFzp07efrpp0u9n5EjR1KvXj3CwsIICwvLXyKoJC5fvsyMGTNu+vi5c+cYMmQIDRo0oFmzZvTu3ZujR4+WJuxrTJkyhatXr5plX0UmV0qpQKXUC0qpTcAjGBKrL81yZCGEEMIOhYeHs2LFCnbt2kVkZCRr1qyhVq1at7SvwslVSSxevJguXbqUeKZ2U2VnZ9OmTRs+/9w8i6589NFH7Nmzhz179tzSOReVXGmtGTBgAN26dePYsWMcPHiQ//73v8THx5c27HxWSa6UUv9gaK1yBkYCI4CVgItS6voVI4UQQohy4OzZs/j6+uLq6goYlo4JCAgA4O+//+b/2TvvuKrqPo6/DxuZAiICKuBCluBWUsC9Z7lya5YNtWGZ2VNp+vho5SjLStNSc5SplaMERVzlnuAWELcie3PP88cPUVQQELgX+L153de999wzfudw7j2f851+fn54e3szevRo0tPTAXBxceHOnTuAsAYFBgYSGRnJ4sWLmTdvHr6+vuzevRuAsLAwWrdujZubW75WrKSkJPbu3cvSpUvziKvQ0FACAgIYMGAA9evXZ8qUKaxatYrmzZvj7e3NxYsXAbh9+zb9+/enWbNmNGvWjL179wLw8ccfM27cODp16sTw4cMJDQ2lR48eudscNWoU3t7e+Pj4sH79egDGjx9P06ZN8fT05KOPPirSsTxw4ACtW7fGz8+P1q1bc79Q+OnTp2nevDm+vr74+Phw/vx5pkyZwsWLF/H392fy5Ml51rNz504MDQ155ZVXcqf5+vrSpk0bVFVl8uTJeHl54e3tzdq1a3P3p3379jRu3Bhvb282bdoEQHJyMt27d6dRo0Z4eXmxdu1aFi5cyLVr1wgKCiIoKKhI+/gkCgpor40IaH8ZGPfQdCVnutszb10ikUgkkgL434H/cSa2ZN1i7jbuvNf8vXw/79SpE9OnT6d+/fp06NCBgQMHEhAQQFpaGiNHjiQkJIT69eszfPhwvvnmGyZNmvTE9bi4uPDKK69gbm7OO++8A8DSpUu5fv06e/bs4cyZM/Tq1Yvnn3/+sWU3btxIly5dqF+/PjY2Nhw5coTGjRsDcPz4cSIiIrCxscHNzY2xY8dy4MABFixYwJdffsn8+fOZOHEib775Js899xzR0dF07tyZiIgIQDSV3rNnD6ampoSGhuZuc8aMGVhZWXHy5EkA7t27BwgXqY2NDdnZ2bRv354TJ07g4/N4wYDJkyfz6aefAuDp6cmqVatwd3cnLCwMAwMDgoODmTp1KuvXr2fx4sVMnDiRF198kYyMDLKzs5k9ezanTp1i7969j1VoP3XqFE2aNHnicf7tt984duwYx48f586dOzRr1oy2bdtSrVo1NmzYgKWlJXfu3KFly5b06tWLbdu24ejoyObNmwGIj4/HysqKL774gp07d+a2N3oWCqpz5fLMa5dIJBKJpJxhbm7O4cOH2b17Nzt37mTgwIHMnj0bPz8/XF1dqV+/PgAjRoxg0aJF+Yqr/OjTpw96enp4eHjk69ZavXp17noHDRrE6tWrc8VVs2bNqFGjBgB16tShU6dOgOh9eL9nYXBwMOHh4bnrS0hIyG0a3atXL0xNTR/bZnBwcB4rWdWqVQFYt24d3333HVlZWVy/fp3w8PAniqu5c+c+JhTj4+MZMWIE58+fR1EUMjMzAWjVqhUzZ84kJiaGfv36Ua9evacdtnzZs2cPgwcPRl9fn+rVqxMQEMDBgwfp2rUrU6dOJSwsDD09Pa5evcrNmzfx9vbmnXfe4b333qNHjx60adOm2NvOj4LqXLmoqhpZwOcK4KSqakyJj0oikUgkEijQwlSa6OvrExgYSGBgIN7e3vz444/4+vrmO7+BgQEajQaAtLS0Atd9390IIpboUe7evcuOHTs4deoUiqKQnZ2NoijMmTPnseX19PRy3+vp6ZGVlQWARqNh//79TxRRZmZmTxyXqqqIS/sDLl++zGeffcbBgwepWrUqI0eOfOr+PcyHH35IUFAQGzZsIDIyMrd35pAhQ2jRogWbN2+mc+fOLFmyBDe3/B1inp6e+bpQ8+uRvGrVKm7fvs3hw4cxNDTExcWFtLQ06tevz+HDh9myZQvvv/8+nTp14j//+U+h96kwFBTQPldRlPWKogxXFMVTURR7RVFqKYrSTlGUGcBeoHJ21pRIJBJJheXs2bOcP38+9/2xY8eoXbs27u7uREZGcuHCBQBWrFhBQEAAIFyAhw8fBsiNVQKwsLDItRgVll9//ZXhw4cTFRVFZGQkV65cwdXVlT179hR6HZ06deKrr77Ksw9FXebevXskJCRgZmaGlZUVN2/eZOvWrUXal/j4eJycnABYvnx57vRLly7h5ubGhAkT6NWrFydOnCjwWLVr14709HS+//773GkHDx5k165dtG3blrVr15Kdnc3t27cJCwujefPmxMfHY29vj6GhITt37iQqSlSRunbtGlWqVGHo0KG88847HDlyBCje/yo/Cqpz9QLwIdAAWATsBjYBY4GzQDtVVbeXyCgkEolEItERkpKSGDFiBB4eHvj4+BAeHs7HH3+MiYkJy5Yt44UXXsDb2xs9Pb3cAOuPPvqIiRMn0qZNG/T19XPX1bNnTzZs2JAnoP1prF69mr59++aZ1r9/f37++edC78PChQs5dOgQPj4+eHh4sHjx4qcuM23aNO7du4eXlxeNGjVi586dNGrUCD8/Pzw9PRk9ejT+/v75Lj958uTcUgy+vr5kZGTw7rvv8v777+Pv7092dnbuvGvXrsXLywtfX1/OnDnD8OHDsbW1xd/fnxYtWjwW0K4oChs2bGD79u3UqVMHT09PPv74YxwdHenbty8+Pj40atSIdu3aMWfOHBwcHHjxxRc5dOgQTZs2zY3/Ajh58mRuMP3MmTOZNm0aAOPGjaNr164lEtCu5GdO0wYNGjRQ72cSVDZCQ0NzzaWVkcq+/yCPAchjIPdf7H9ERAQNG1ZOx0hiYuJjwdyVDV09Bk86LxVFOayqatNH5y2wzpVEIpFIJBKJpGhIcSWRSCQSiURSgkhxJZFIJBKJRFKCPFVc5WQMdlcURQoxiUQikUgkkqdQGMH0DTAEOK8oymxFUdxLeUwSiUQikUgk5ZaniitVVYNVVX0RaAxEAtsVRdmnKMooRVEMS3uAEolEIpFIJOWJQrn6FEWxRTRvHgscBRYgxJascyWRSCSSCoe+vj6+vr54eXnRs2dP4uLiSmzdhw4dYsKECYWePzIyElNT08dqSBWX+/t2/zF79uwiryM0NJR9+/YVewwVnYIaNwOgKMpvgDuwAuipqur1nI/WKopyqDQHJ5FIJBKJNjA1Nc2tan6/h+AHH3xQIutu2rQpTZs+VhqpQOrUqVOoKuuPkpWVhYFB3kv9w/tWXEJDQzE3N6d169bPtJ6KSmEsV0tUVfVQVfW/94WVoijGAE8qnCWRSCQSSUWiVatWXL16FRCiokePHrmfvf7667ltXaZMmZJb1f2dd94B4JdffsmteN62bdvH1nHgwAFat26Nn58frVu3ztN252k8uuz9ItzLly/nhRdeoGfPnrlNnQvD9OnTadasGV5eXowbNy63Z9/ChQtz92vQoEFERkayePFi5s2bV6TK85WJp1qugE+BLY9M249wC0okEolEUmrcmDWL9IgzJbpO44buOEydWqh5s7OzCQkJYcyYMQXOFxsby4YNGzhz5gyKouS6EadPn85ff/2Fk5PTE12L7u7uhIWFYWBgQHBwMJ988gmbNm16bL6LFy/mNo729/dn0aJFjy07derU3L6G+/fv58SJE9jY2Dy2rtTU1DxNqN9//30GDhzI66+/ntvAeNiwYfz555/07NmT2bNnc/nyZYyNjYmLi8Pa2ppXXnkFc3PzXBEpyUu+4kpRFAfACTBVFMUPuN8q2xKoUgZjk0gkEolEK9wXIJGRkTRp0oSOHTsWOL+lpSUmJiaMHTuW7t2751qm/P39GTlyJAMGDKBfv36PLRcfH8+IESM4f/48iqKQnp7+xPU/yS346LKZmZm5n3Xs2PGJwgrydwvu3LmTOXPmkJKSQmxsLJ6envTs2RMfHx9efPFF+vTpQ58+fQo8DhJBQZarzoggdmfgi4emJwKFk/wSiUQikTwDhbUwlTT3BUh8fDw9evRg0aJFTJgwAQMDAzQaTe58aWlpABgYGHDgwAFCQkJYs2YNX331FTt27GDx4sX8+++/bN68GV9f38dEzYcffkhQUBAbNmwgMjKSgICAQo/x0WUf7ktpZmZWpP1NS0vj1Vdf5dChQ9SsWZOPP/44d982b95MWFgYv//+OzNmzOD06dNFWndlJN+YK1VVf1RVNQgYqapq0EOPXqqq/laGY5RIJBKJRCtYWVmxcOFCPvvsMzIzM6lduzbh4eGkp6cTHx9PSEgIAElJScTHx9OtWzfmz5+fK6IuXrxIixYtmD59OnZ2dly5ciXP+uPj43FycgLIjd0qLM+y7KPcF1J2dnYkJSXx66+/AqDRaLhy5QpBQUHMmTOHuLg4kpKSsLCwIDEx8Zm2WZHJV1wpijI056WLoihvPfooo/FJJBKJRKJV/Pz8aNSoEWvWrKFmzZoMGDAg11Xm5+cHQGJiIj169MDHx4eAgADmzZsHwOTJk/H29sbLy4u2bdvSqFGjPOt+9913ef/99/H39yc7O7tI4yrusvddnvcfU6ZMwdrampdeeglvb2/69OlDs2bNABFzNnToULy9vfHz8+PNN9/E2tqanj17smHDBhnQng/K/WyAxz5QlJdVVf1WUZSPnvCxqqrq9JIeTIMGDdT72Q6VjdDQ0Dwm3cpGZd9/kMcA5DGQ+y/2PyIigoYNG2p7OFohMTERCwsLbQ9Dq+jqMXjSeakoyuEnVU7IN+ZKVdVvc14Gq6q695GV+ZfEQCUSiUQikUgqGoWpc/VlIadJJBKJRCKRVHoKKsXQCmgNVHskxsoS0C/tgUkkEomk8qKqKoqiPH1GiaQMyC+EKj8KslwZAeYIAWbx0CMBeL6Y45NIJBKJpEBMTEy4e/dukS9oEklpoKoqd+/excTEpNDLFBRztQvYpSjKclVVo0pigBKJRCKRPA1nZ2diYmK4ffu2todS5qSlpRXpIl4R0cVjYGJigrOzc6HnL0z7G2NFUb4DXB6eX1XVdkUenUQikUgkT8HQ0BBXV1dtD0MrhIaG5pZ3qKxUhGNQGHH1C7AYWAIUrQiHRCKRSCQSSSWjMOIqS1XVb0p9JBKJRCKRSCQVgMKUYvhDUZRXFUWpoSiKzf1HqY9MIpFIJBKJpBxSGMvViJznyQ9NUwG3ghZSFKUm8BPgAGiA71RVXVCcQUokEolEIpGUF54qrlRVLW5UYRbwtqqqRxRFsQAOK4qyXVXV8GKuTyKRSCQSiUTnKYzlCkVRvAAPIDc3UlXVnwpaRlXV68D1nNeJiqJEAE6AFFcSiUQikUgqLE8VVzmNmwMR4moL0BXYg3D5FQpFUVwAP+DfYoxRIpFIJBKJpNygPK0CrqIoJ4FGwFFVVRspilIdWKKqas9CbUBRzIFdwExVVX97wufjgHEA1apVa7Ju3boi7kLFICkpCXNzc20PQ2tU9v0HeQxAHgO5/5V7/0EeAyhfxyAoKOiwqqpNH51eGLdgqqqqGkVRshRFsQRu8ZRg9vsoimIIrAdWPUlYAaiq+h3wHUCDBg3UwMDAwqy6whEaGkpl3XeQ+w/yGIA8BnL/K/f+gzwGUDGOQWHE1SFFUayB74HDQBJw4GkLKaLj5lIgQlXVL55plBKJRCKRSCTlhMJkC76a83KxoijbAEtVVU8UYt3+wDDgpKIox3KmTVVVdUvxhiqRSCQSiUSi+xQmoL3tk6apqhpW0HKqqu4BlGcYm0QikUgkEkm5ozBuwYeLh5oAzRHuQdm4WSKRSCQSieQRCuMWzJMVmFN5fU6pjUgikUgkEomkHFOoIqKPEAN4lfRAJBJJJSb+KlzeRZ0LWyBzJxiZg5EZGFV56HXOw/Ch10bmYGCk7dFLJBJJHgoTc/UlopcgiEbPvsDx0hyURCKp4KTGQeQeuBQqHnfPA+CoZwzXVcjOKPy69AwfF2F5BJgZVHOHlq+CXmF61UskEsmzUahSDA+9zgJWq6q6t5TGI5FIKiKZaXDlXyGkLu+Ca0dB1QgR5OIPTUaCWyC7I24RGNQOsjMhI/mhRxJkpjx4nZEMGSkPvU6GzOS8yyTdEPOkJ8LRFWIcrV/X4kGQSCSVhcKIq1+Aujmvz6qqml6K45FIJBUBTTZcPy6E1KVQiP4HstJA0QfnZtD2XXALBKcmed16Z0LFs74hmFqLx7OiqrB2KAR/DLVbiW1KJBJJKZKvuMqprj4XUasqEuEStFcU5UtVVWcriuKnqurRshmmRCLRaVQVYi/BpZ051qndkBYnPrP3gKajhZiq3RqMLcp2bIoCvb+CxW3g19Hw8m4wsSzbMUgkkkpFQZarz4EqgIuqqokAOe1vPlMU5RugC+Ba+kOUSCQ6SeLNHMtUjnUqIUZMt3QG9x5CTLm2BYvqWhxkDqZVof8SWNYN/pwE/ZcK0SWRSIpHSizcPCW+45LHKEhcdQPqqQ91dlZVNUFRlPHAHaBraQ9OIpHoGPei4MQ6OL0Bbp0W00ysxQ9smzfBLQhs3HRTuNRqCUFTYccMMc7Gw7Q9IomkfBJzCNYNh4Sr0PdbaDRI2yPSOQoSV5qHhdV9VFXNVhTltqqq/5TiuCQSia6QGgfhm+D4GojeJ6bVag0dPgbXAKjRCPT0tTnCwvPcm3A5DLZMhprNoVoDbY9IIik/qCocXgZb3wMLBxE/+cdEsG8ofgckuRQkrsIVRRmuqupPD09UFGUoEFEagzFJuw0ajUyXlki0TXYmXAgWgursVshOB9t60G4aeA+AqrW1PcLioacP/b6Db/zhl1HwUggYmmp7VBKJ7pOZCpvfhmOroG4H6Pe9SFz5LkAkjIzbBVVstD1KnaEgcfUa8JuiKKMR7W5UoBlgCvQtjcEYZsbDxvHQexHoF6e+qUQiKTaqClePwIk1cGo9pNyFKrbQZIQw+zs21k13X1GxcBCujFX94a8PoMcX2h6RRKLb3IsUAurGSQiYAgHvPTCCDFgBy7rA+jHw4q/lx4pdyuSrYFRVvQq0UBSlHeCJaMK8VVXVkNIaTLqxrfhhz0oTwaf6hqW1KYlEcp+4aDixFo6vFcU89Y2hQVchqOp2qJjfw3odoPUE2LcQ3ALAo7e2RySR6Cbnt8P6sYAKQ9ZB/c55P3duAt0+gz8mwI5PocNHWhmmrlGY3oI7gB1lMBYyjKpCpzfg7w8gKx1eWA6GJmWxaYmkcpEWD6c3ClEVlVMTuLY/tH5DCI2SqC+l67T7UOz7pjeghm/5dXVKJKWBRgNhcyH0v1DdCwb+JJJVnkSTEXDtCOz5Ahz9wKNX2Y5VB9E931vr14Wg2vw2rBkMA1eJ1hYSieTZeGIcVV0ImgY+5TiOqrgYGImSDN+2FXfmo7ZUTCudrpOWAPFXIC4aq7iLQKC2RyRJvQe/jYPzf4PPIOgx7+nX4a5zhNtw43iRKFLJk0V0T1wBNBsLBqbw++uw6nkYsrbsCw9KJBUBVRV3lMfX5sRR3XkQR+UzCJwqSBxVcbFxhZ7zRXHRnbO059LIzoR/vqHGtRugBlSs/0lavHA9x13JeY6GuKgHr+8XmwX8ACxihVWxIh2DwqCqsHcBPsc3gNVL4NlPO4aF6ydg3TDRTL3759B0TOH+FwbGIv7quwBY8yK8tKNSF+vVTXEF4Pei+Gf9Ng5+6gND11cOV4VEUhJkJMPJX+DA96LQn74xNOgCjQZX3Diq4uLVXxRC3TMPXNtAnXZlu/3bZ2HDy3DtKA0A1kVDr6/Kz+9datwDoRT/BAGVFp93fsMqYF0LrGqKVH7rWrmPa5vn4Lj7c7Fc70XiGlAZyEiBTa/C6Q2YG1rDptdEsoXvi6K7gV3dp6+jJDi2WhTZNbWBUVuhZrOiLW/lJMJ5fuwFG16BgSsrbfa/7oorAO/nwcAEfh0FP/aEYRvBzFbboyp5MpIxzIh/+nwSydO4exEOLoWjKyE9XsRK9Jgn7oLLy8W6BFFVlfXn13Po5iGmt56Okb7Rk2fsMls0lv7tZRi/F8ztS39wGg38uxhCPhGC44XlXDiyi7pnVwhX5QvLdLMPYkayiMU5HyxEUPqj4snsgWCq2SKPeMK6trCc5mMJOVd/PI4eLcUxSbgOg1aK6voVmfgYWDNEWIw6fMK+zEYEuhqK7/GBb+GfRaLbQbOxUL9r6WTSZ2XAX+/DwSXg0gaeXwbm1Yq3LpfnoNOnYn17Poe2k0t2rOUE3RZXAA17wKDVsPZFWN4dhm/SjXYaJcGtM3BoKRxbTeuMJLjVQbhr6neRlgVJ4dFki4yeg9+LmCo9A2jYC5qPE1XJK5t7JYeUzBQ+2f8JWy5vAcDL1ouhHkOfPLNRFXj+B/i+nbAivbi+dO+470UJ60TkbnHB7LkALKoTc7sqdQNfFDeUSztDpxnQ4hXd+R9eCIE/3xRWKbcg0QjbquYj4smm+ONVFGjzlljXxvGwtBO8+AtUdSnR3dAZrhwQLrTMVBH+Ur8zhIYKgeLynGgxdfQnOLRclEKwcIQmI6HxcLCsUTJjiL8Kv4yAmIMig7b9R88u4FqOF+EIO2ZCDT+RnVvJ0H1xBeIf8+Iv8PMgWNYVRvwOVs7aHlXxyMqAM3/AwR8gag/oG4FnX6Ljsql9c6/4AplXF+bgxsNFTIhE8iRSYuHoCnGHGxcF5g4Q+L748bVw0PbotMr5e+d5e9fbRCVE8brv6xy8eZBvT3xL77q9sTDKJ36zuid0+a8QD/sWwnOTSn5gqiqsitveF+97fQV+Q/OKkZrN4OUwIb62TYHIPaLxtDYtOMl3hSXixFqRBDFyC7j4l972vJ8HixoiqWlJB1ECwKlx6W1PGxxdJVxwlk4w4g+wd398HovqwvLj/6YILj+4BEJnQdgccO8urFkubYovZi+HiXjDzFQY8FPJlSRRFOi5EG5FiPpX40Ir3bWs/DhDXdvCsA2QfFsIrNjL2h5R0Yi7AiEzYJ6nOJnjr0CHT+CtCOj3HZfdhsGkUzB4jUhl3TsfFvoK3/Wp30RpCokE4NpR2PgafNEQtv9H3Gi8sBzePAWBUyq9sNp0YRNDNg8hIT2B7zt+z8uNXubNJm8Slx7HD6d+KHjhJqPEBWbHDLhysGQHlngTVg8WiTo1Ggn3Y+NhT74wVrGBQT9D51lwbhssbgsxh0t2PIVBVUUyxFdNRUJE28nwyt7SFVb3cfGHMdtFBf3l3UWGa0UgOwu2TRUxVrVaicDvJwmrh9E3APduMOw3eOOIsAxdDhPhMouawz+LRexbYckJnuen3iK+6qWdJV/rzaiKiLlCFUaDjJSSXb+OU37EFUCtFsJqlZ4outvfOa/tERWMRiPcNKsHwwIf2P25uPt68VeYcEzcGZvZPZhf30AUbxyyVgitoA8g9pJwEXzRUAQ46vo+S0qHrHRxkfu+PXwXKBonNxoM4/eJEgKefSu9Kzk1K5UP937ItL3T8K7mza+9fqV5jeYAeNp60s21GyvCV3Aj+Ub+K7l/x23hCOtHF+2CVRCnN8LXLeHiDuj8X2GpeFrpC0WBVq/B6L/E+x86wf5F4sJYFtyLhJX9YcM4sK0DL+8W7Y/KsvZgtQYwNkQ8rxkiEjTKM6lx8PMAEUfV/GWRqFXUljG2dURM01sR0GcxGFvCtvfENeL3N+DasYKXT08UTZe3/0eED7wUAtXqF3+fCsLGFfr/ADdPiyKjZXXulgXZWSIBIB/Kh1vwYRz9YMSfsKKPsGAN3yTM+bpESqww/R/6Ae5dhip24D9JuGsKW0vIygkC3oU2b8PFnXBkuQh+3f+VKPbYeIQo1Cb7olVs4q6IRqmHfxRlFGzrQpf/ge9gMLHS9uh0hsvxl3kr9C0uxl1knM84Xm30KvqPtOF4w+8Ntkdt5+tjXzPdf3r+KzO1FvFXP3QWTWlfWF58t0vqPdjyLpxcJ367+n5b9Pqq0oG3AAAgAElEQVQ/zk3hlTDY9Dr8NTXHTbio9Pq4ZWfBv9+I0hSKHnSdC83GaK+tibk9jNwMv46BLe8IF3iH6eUvC+3OeVg9SMTb9VwgrgfPgqGp+B3wHSwE1aGlcOIXOPITODUVLkPPvnnF8O2zwop096IQaK1eL/14vnodoN0Honq7UxNhdSvPZGcJ93jYXHF9z4fyJ64AHLyEz/+nXsJcPGwjOPpqd0yqCjGHxAl+6jdRoLFWa3Gn17Bn8VOK9fTFyVmvg3ArHFslvjwbxsHWd0WLksYjoLpHye6PRHuoKlzeJe7Sz4pgbOp3heZjwTWw/F1USpktl7bwyf5PMNY35psO3+Dv9GSXlbOFM4PcB7EqYhXDPYZTt2oB6e01m0H7DyH4Yzi8HJqOKvrALoQIQZR0U8TCtXm7+NZF06rCxfLvt/D3NJFN+PyyoqfKP43rx+H3CXD9mDjnun+mG/GtRmYwaBVsfQ/2fSluOvp+W346eFwIhl9GC+/EiN+hduuSXb+jL/T6EjrOEEWCDy6Bja+IODm/oaKcw/Xj4nw0NBVGCdc2JTuGgnjubbh6VHhfHLxFsH55IztL3CTtmiNEVY1GIoznk25PnL18iisQZsxRW4XA+rEXDP0VajYv+3FkJMPJX8XJfOMEGJmLOIqmo0veomZRXWTS+E8SWUaHlwvr2L+Lwbm5yDT07Ct+iCTlDv2sFPj3O5H1d+ecSFn3nyjOJeta2h6ezpGenc6cA3NYd24dfvZ+zGk7BwezguPNxnmPY+P5jcw/Mp+v2n9V8AZaTxT1r7ZNESUFCnsDk5EsXC4Hl4BdAyEKSiIYW1Gg5StCUP0yUjTL7fBxyVgfMlJEm5P9i8R598Jy8OijO1mKIG40u80V1v+/p0HidZFJrsvleVQV/vlajNfeQ8TRlWYnBFNrcY60eFlcIw4ugX++EYIUxHViwI9g6Vh6Y3gSenrQdzF8HyTO3XG7hHemPJCdJWoGhs0RYToOPuK8a9C1wO9H+RVXIPy5o7aKoL6f+ohYpbJS47fPCmFzbLWo82LvCd2/EG1ESruavJ6eaDbrFiCyeI6vFkJr02siC8n7BSG0ajQq3XFInp17UXAxBC7uoNW57ZCdJkznfRY/btKX5HIl4Qpv73qbiNgIRnmN4g2/NzDUe7pVyNrEmtHeo1lwZAEHbxykmUMBlh89Pej3HXzjL+IeX9r59IrZ0f8Ki0HsZSF62k0rede9UxMR//T76+KiHbkH+nxTfDfhxZ0ia+1epMhQ7jhdd2tLKYrof2nlLGqSLe0obqzz63mnTbLSRebpsVXg3kNY2ozNy2bbiiKSwFzbinphR3OKebZ6Q7R90gYmlqKd3ZL2IuZr1BbdLhKbnQWnfhWWqtiLwuI26Gdo0K1QNx3lW1yB+JKN2iqyHlY9L+4S65ZSTY2M5Jx02KXirkDPEDz7iPYA2qonZGYr+jG2eg2i94vYnGOrhHvSqQl0milq0Uh0g/QkcTG8GCLcRrEXxXRLZ27ZB+DY4z3dLBypQwRHBfPh3g/RU/T4st2XBNYMLNLyQxsOZc2ZNXxx6At+7v4zSkHfW3N76PctrOgrLFi9Fj55vqx0YfnZu0D8Jo38s3RdH6bWotXIge+Eq2VxGxEnVqtF4deREiuWPf4z2NQRsaxl6Sp6Fjz7ilINq3NKNQxeW/Iu0mch8aaIbYo5AAFTIOA97bnzLWtAgI4U8rR3hz5fC3G19V0Re6ZrZGeJzNiwOXD3AlT3FqLQvXuRrvHlX1yBSD0fuVkEua8eLEza7t2fbZ2ZaaJtyLWjDx63z4CqAataotCa37DiV7EtaRRF+PFrt4aus+HEOti7ULgOfAaKu9FKnqKvFTQa4S6+GCIsBNH/gCZTVOR2eQ6avwR12oNdPc7t2oWjFFb5kpmdyReHv2BlxEq87byZGzAXJ/OiuxZMDEx4zfc1/rPvP/wV9RddXLoUvECddvDcm6I9jlsgePXL+/mNU6Lw6M1TwvLTeVbZ9EJVFOH+cW4mLGvLuoreiK3eKPhCrqoilGHbFNHXr807osRCebOS1mopSjWs6g8/9oD+S0R8q7a5dkxkNqbEimuRZ19tj0i38Oj94Pvk2Fh4WXQBTbb4XuSKKi8R59ige7GEccUQVyBKGoz4Q6QOrxsuzPle/Qu3bFYG3DqdV0jdigBNVs66q4mToGEvEdflFqi9zJnCYFpV/Oj6DYXdX4iCiGe2QND7omp3ZUjZT74Lf38gUuAta4gKz1VdxbON64PXpWGmT7wpUu7vC6qUO2J6dW9o9aq4WNdqpdsmcR3jWtI13tn1DifvnGRow6G81eQtDJ/hPO5Vpxc/hf/EwiMLaV+z/dPXFfSBsDj+MVHET1V1EXe4+xbAzv+K79zgtaJ/Y1nj1FgUHf39DRHrFblHuJWfFIt0Lwo2vyUCrJ2aCkucrmVbFwW7uqJUw+pBsHaYELatXtXeeE79BhtfFXFrY/6SoRn50e5DIUK3vCNEjLMWbyo12cJStWsO3D0vxjNghXDlPoO1seKIKxA/cMM2ws8DYf1YYar3HZJ3nuwsYYF6WEjdPAXZGQ/W4egH/p3Es2NjEfynS4GdhcXITGQ8+Q4RWTZ/TYUjK0RQaHkx/xcVVRXBh9umiIaxPoMgM1nEk1w9Iu7UH8as2gPhZeOaV4RZOBTu/56ZJlyyF3eIx81TD9Zdt70QU25BFadtUxmz68oupu6ZikbV8EXgF3Ss3fGZ16mvp8+bTd7ktZDX+OXcLwxpOOQpCxhC/6XC/fbraOj9tRAzMQfEnXj3edoNrDaxghd+FAHMf02Fb++7CVuKzzXZIvFlx6eAIsp5NH9Jt28SC8v9G+v1Y0V2XFyUEFlluW8aTU7l9Lki+WHgyrLpT1le0dMX5+e3AbBumAhwL2svkCZbiOFd/xOiyt5TVKl371kiLtyKJa5ABM0NXS/MshvHQ/IdcZG7L6RunICsNDGvsaVIYW05PkdI+YneWOVRSBWEbR3RPujsFiE6fuwhrHqdPi37rJHS5F6UCCC9GJL/XXnqPSG07kWKoON7l8Xr6H9E8KKqeTCvgWmO2HJ5XHipmgdiKnIPZKWKGLxaLUUGV512wlIlyyYUm0xNJl8e/ZJlp5bhbuPO5wGfU8uy5LIm2zi1oZlDMxYfX0yvOr0wN3qKFbNqbXFO/TJCFAQ1sYR+S0SrFl34zVAUIZic72cTdhMB9XU7CIvbtSNQrzN0/xysa2p7tCWLoam4MP49TWTnxcdAv++fnoBQEqQnCbfwmT+Ft6D7F9IqXRiq2IjG3Es7Cbf2sI2l05T6UTTZogjzrv+JrGx7D3Fj0rBXif5eVzxxBeILNXiN+BHc/qGYZmgmhFSzsQ+EVFXXynPxUxQRh1anHeyZL/zd5/4ShUpbjNdeBklJkJ0l7sp3zswpejhH/J+fdOdqWvWBdfJRsjJEW6J7l3OEV+SDx+UwYQF7FNt6Is6mbntR3LWssoEqODeTb/Ju2LscuXWEAfUH8G7zdzHWL9kLlqIovNXkLQZvHsyy08t4w++Npy/k2QduThbZwl3/p5s3J46+8PIuIahCPhEPs2rCUuDZTzeEYGmgpy96Q1rXzrmJ7CmuA6VpEbkXCauHwO0I6DJbt5pslwdqNBJB7RtehuCPoPPM0ttWrqiaA3fOQrWGIiauYe9S0QEVU1yBCM4csEJk9Vk6gV29imECf1YMTUXsVaNBomzD9v+INN2uc6BOkLZHV3SunxDumevHoH4XcVde3KKHBkbCymdb5/HPVFX0tbxv8dJkioappVmzppKy7+o+puyeQlp2GrPbzKa72zMmpxSAl50XXVy6sCJ8BQMbDMS+SiFcOe2mldp4SgwTK1Fk1C1IhEG0nVx6Fd11jZaviBpK68fC0g6i3ZhdvaKvR1VFQ+OMJNEyJj3xoddJIpYybK6IzX3xV3GDJSk6jQbB1cOi+4ijn7AEPwtpCSIg/c554e67c168v3tReBiquYvvhkefUjWuVFxxBeJiKU/4J2PjCkPWCOvV1vdEpqVHbxGroAsVmZ9GRgrsmg37vhLBo88vE1k5pXXXqCgihsLcXjvFaisB2ZpsNsdt5q/gv6hjXYfPAz/Hzar06xdN8JtAcHQwXx/7mo9bf1zq2yszFEV3MrHKmoY9RQb5zwNFLaxOM0HPADJyhFEeofSIaEpPfDCfml3wduwaiNpHdgVU+5c8nU4z4cZJUUG+2lOaWIOwQsVFwZ0LeQXUnfOQ9FDvUEVPWDLt6olEtJotnjlQvbBUbHEleTr1O4NrgKjgu/tzOL8d2r4jCiDqatzAw0UP/YZBpxm6W/RQUihSMlN4L+w9QuND6VO3D1NbTMXUoGz6Zta0rMnABgNZfWY1wz2G42atgwUpJUXHuSmM3Q4rn4dNj2YQKiLm1thcdNUwthCvzas/mG5s8dBnFnnnM8qZZm4vPSIlgYGRiHv6ti2sHYqBx6dieuq9RwTUefE+9pJoMXcfE2uwqy+MKbZ1hZiyrSeMCFq6jklxJREu1IDJ0GigcBWGTIejq4SrsF4pFWQtDuW56KEkX+6k3uGNkDcIjw3n+arP85H/R2U+hnE+49h4YSPzjszjy3Zflvn2JaWEjRu8skcELhuZPxBNhlVkbJSuYVEdBq6AZd1oemgSHJ34oIwNCMtjVVchnOp1fCCg7OoJ74WO/T+luJI8wLqWqHB/IVi4Clf1FybUzrO0G1v0WNHDt3OKHpaNZUNSelyOv8z44PHcTb3L/MD5KJe08wNpY2LDGK8xLDy6kCM3j9C4egn0ApToBkZVRJC/RPep2ZyY7rP555/vCXJshK295wMBVdWlXNVorCSpcpIiUbcDjN8vSgpc3AmLmkPo/0Q9p7LmXpRoa/TbWCHwxu2C9v+RwqoCcPjmYYZuGUpqVio/dP6BoFraTagY6jEUe1N7Pj/8OaqqanUsEkll5MD1Aww49wOfmKcQlPAPw+IPsTTzOpcM9FH1ypctSIoryZMxMBItCl4/KLp/h86Cr1vA2W1ls31NNuxfJOoJRe0XRQ/HbAcHr7LZvqRU2XZ5Gy/9/RI2Jjas7LYS72re2h4SpgamvOr7KidunyA4OrhMt3367mn6/96f6VensypiFclPKvshkVRgNl7YyMvbX6aaaTVes3+N8b7jydBkMP/IfHpv6k2PDT2Ye3Auh24cIut+9xQdpnxJQUnZY+UkaoE0GQlb3oXVA6FmS1Gcs2pt4Uq0rgXWLiLVuyT83jdOivIK145W3KKHlRRVVVl2ehnzDs+jsX1jFrZbiJWxlbaHlUvvur1ZEb6CBUcWEFgzEEO90nVDZGuyWX56OV8d/QobUxvM9c2ZfWA2i44uol+9fgxpOARHcx2spSWRlBAaVcNXR7/i+5Pf06JGC74I/IIj+44Q2CiQ8Y3GcyP5Bruu7GJnzE5Wn1nNT+E/YWVsRVuntgTWDMTfyR8zQzNt78ZjSHElKRxugTB+L/z7LZxcJ3oxPdpKxtBMCK08oquWSIW1riUy+goSX5mpEDpbZC5Wsan4RQ8rGVmaLGYfmM3as2vp7NKZmc/NLPHCoM+KgZ4Bk5pM4o0db7D+3HoGuQ8qtW3dSL7B+7vf59DNQ3Ss3ZGPWn3E0f1HsfG0YUX4ClZGrGRlxEra12rPMI9h+NrLuCFJxSI9O51pe6axLXIb/er1Y1rLaY/d0DiYOTDQfSAD3QeSnJnMvmv7CL0Syq6YXfxx6Q8M9Qxp7tCcoJpBBNQMwMHMQUt7kxcpriSFR98QWr8uHiB698VdEfVG4qLF417O66h9kJ6Qd3kji0eE14PXVWOPwNeTRHV0v6HQcUblKXpYCUjJTOHdsHfZFbOLUZ6jmNRkEnqKbkYlBDgH0KR6E745/g096/QslbvibZHbmL5/OtmabGb4z6B3nd4oOTcRPtV8mBswl+tJ11l9djW/nvuVv6P+xsfOh2Eew+hQuwMG5Sz+pKKRlpXGH5f+4FrSNZzNnXG2EI/qVarL/00hiU2LZcKOCRy/fZxJjScx2mt07ncgP8wMzehYuyMda3ckS5PFsVvHCL0Sys4rO/n030/59N9PaWjTkKCaQQTWDMTdxv2p6ywt5FkgKT4mVuBglX8cVOq9x0VXXLSoT3VpV552Mo1ApE2P+ANc25bF6CVlxJ3UO7we8joRsRF80OKDUrUGlQT32+K8uOVFfjz9I6/6PlojqfgkZyYz699Z/H7xd3zsfPhvm//m2y+xhnkN3mryFq/4vMKmi5tYGb6SyWGTcTBzYLD7YPrX669TLtXKQFJGEmvPrmVF+Arupt1FT9FD81A/UgPFAAczh1yx5WTuhLOFMzXNa+Js4YylkaXWLva6xKX4S7wW/Bq3U2/zecDndHLpVOR1GOgZ0NShKU0dmvJ207e5nHCZ0CuhhF4J5Zvj3/D18a9xMHMg0DmQoJpBNHVoipF+2bV5k+KqgpGenc6emD1subyFa0nXeK/5e9pzJ9zv41ej0eOfqeqDJspx0UScPELD/u/LLMAKxqW4S7wa8iqxabEsCBJxTOUBn2o+dKzdkeWnlzOgwQDsTO2eeZ3Hbx9nStgUriVf42Wfl3m50cuFiumqYliFwe6DGdhgIGExYawIX8G8w/NYfHwxvev0ZqjHUGpbyjZMpUlsWiwrw1ey5swaEjMTae3YmrHeY/Gz9+NWyi1iEmOISYoRz4kxXE26yo7oHcSmxeZZj4WhBU4WTg+sXeYPRJijuWOZXvy1xYHrB5gUOglDPUOWdl5Ko2pPuD4UEUVRcLNyw83KjdFeo7mbepewmDBCr4Sy6eIm1pxdg5mhGd1du/N207epYlj6Db2luKoAZGmyOHD9AFsubyEkOoSkzCRsTGww0jdi1F+jeL/5+7xQ/wXdumNSFOH2q2IDTo25eduahlJYVSgO3TjEhJ0TMNQzZFnnZXjaeWp7SEViYuOJ7IzeyTfHvuHDVh8Wez1Zmiy+P/k93x7/lupVqrOs87Ji1dHSU/QIrBlIYM1AzsSeYUX4CtafX8/as2sJcA5gmMcwmjk0063veTnnRvINlp9ezvpz60nPTqd9rfaM9R6b51x2NHfE0dyR5jzeFis5MzlXbD0swC7GXyQsJowMTUbuvAoK1c2qY5plyvqQ9VgaW2JpZImVsRVWxlYPXhtZYWlsiZWRFRZGFuiXowrxGy9s5JN9n1DLshaL2i/C2aJ0Wq3ZmtrSt15f+tbrS1pWGgduHGB71HZ+OfcLh28e5ovAL0q9E0OpiStFUX4AegC3VFWV+fMljEbVcPz2cbZc2sLfUX8TmxaLuaE57Wu1p5trN5rXaE5yZjJTdk9hxj8zOHnnJNNaTtO5AGJJxWTLpS1M2zsNZwtnvm7/dan9iJYmtS1r83z95/nl3C8M9RiKq5VrkdcRkxjD+7vf59jtY3R3684HLT7AwsjimcfmbuPOzOdm8maTN1lzZg3rzq4j9O9Q3G3cGdpwKF1du5YrK0i2JpvQmFC2x23H+pY13nbeWhUNkfGR/HDqB/649Aeo0M2tG2O8xhT5gmxmaEYDmwY0sGnw2GcaVcOd1Du5outq4lVikmKIiIngRsoNzt07R3xG/FPLclgYWgix9YjweliQWRpb4mblVqxzuCR4UkagpZFlmWzbxMCEts5taevclu5u3Xkv7D0GbR7ER60+KtWm8KVpuVoOfAX8VIrbqFSoqsrZe2fZcnkL2y5v43rydYz1jQlwDqCbazeec34uj3iyMrbiq3Zf8fXxr/nuxHecv3eeeYHzqGFeQ4t7IanIqKrKD6d+YP6R+TpZaqGovNLoFX6/+DsLjixgftD8Qi+nqip/XvqTmf/OREFhdpvZpfJDbmdqx+t+rzPWeyybL21mZcRKpu2dxvwj8xnYYCADGgzAxkR3E0OSM5PZeGEjK8NXEpMUA8DmrZuxNrbG38mfNk5t8Hf0x9rEukzGE3E3giUnl7A9ajtG+kYMqD+AEZ4jSqUchp6ih30Ve+yr2OexZIaGhhIYGJj7PlOTSWJGIvHp8cSnx5OQkfDE5/uvrydfJyEjgYT0BLLUvPWg/J38Gek5khYOLcrMwlmYjMCyomWNlvzS8xcm75rMlN1TOHzzMO81f69UjA6lJq5UVQ1TFMWltNZfmYhOiGbL5S1subyFy/GXMVAMaOXYijf83qBdrXYFZjPp6+nzht8beNp6MnXPVAb+OZC5AXNpUaNFGe6BpDKQpcniv//+l3Xn1tHVpSsznptR7i2ltqa2jPIaxaJjizh261ih4hcTMhL49J9P2Xp5K43tGzOrzSyczJ1KdZwmBib0r9+ffvX6sf/aflZErGDRsUV8f+J7urh2obtrd5rXaK4zmWzXkq7xc8TPrD+/nqTMJHyr+fJmkzfJuJiBgZsBu6/uZs/VPWy+tBk9RQ8fO59c60P9qvVLVBioqsrhm4dZcmoJe6/uxdzQnDHeYxjacCi2prYltp3iYqhniI2JTZFFsqqqpGSl5Aqv3Vd383PEz7z090u427gzwnMEnV06l6rQKU5GYGljX8WepZ2X8uXRL/nh1A+cunOKzwM+p6ZlydZSVEqzzUOOuPqzsG7BBg0aqGfPni218egyj96t3Ey+ybbIbWy9vJXTd08D0KR6E7q5dqNj7Y5UNala5G1cjr/MpJ2TiEyI5K0mbzHcY7jWT/T7PLr/lZHyfAxSMlOYHDaZsJgwRnuNZmLjicUqtaCLxyAlM4XuG7rjbO7MT11/KvA7c+jGIabumcqtlFu86vsqY7zGFMm9VZL7fynuEisjVrLl8haSM5OxMbGhQ60OdHHtQmP7xlpxux27dYwV4SsIjg5GQaFT7U4M8xiWW6H/4f3XqBpO3zlN2NUwwmLCCL8bDoiLYxunNrRxbkOrGq2KHZysqiq7r+5mycklHL11FBsTG4Z5DGNgg4El4rotLqX5HUjPTmfzpc38ePpHLsVfonqV6gzzGEb/ev0xNzIv0W09nBE467lZRcoILKvfgV1XdjF1z1RUVWWG/wza125f5HUoinJYVdWmj03XtrhSFGUcMA6gWrVqTdatW1dq49FlkpKSUEwVjqYc5XDyYS6mX0RFpaZRTZqYNaFxlcZUNSi6oHqUNE0aq+6u4ljKMRpXacwQ2yEY62nfupCUlIS5ecl+ucsbdxLuYGJmgnr/L+e7qUGDSs5r9cFrFRUNIg1cVdUnvldR0Vf0qWZQrdT+zwnZCSy+tZiYjBgG2AzgOYvnir0uXT0P9ibuZU3sGsZWG0ujKo9nN2Wr2WyJ28L2hO3YGtgywm4ELsYuRd5Oaex/pppJeGo4R5KPcCr1FBlqBpb6ljSu0pjGZo1xMXIp1ZusbDWbYynHCE0IJTIjElM9U/zN/Wlr0fax37SC9j8hO4Hw1HBOp57mTOoZ0tQ0DDCgjkkdPE098TT1xN7Q/qnj0agajqYcZXv8dq5mXqWqflXaW7anlXkrjPS0H6dWFt8BjaohPDWcHQk7OJ9+HhPFBH8LfwIsAkrkOnMu7RxLbi/BAANesn8JV+OixXqV5e/A3ay7/HD7B6IzogmyCKJ31d7oK4W/8QgKCtJNcfUwFd1ylZmdSVx6HPfS7xGXlvd559mdnEs7R5aahYulC93cutHVpSsuVi4lPo77cTELjy7EzcqNBUEL8q21U1boosWitFFVlfNx5wmJCiE4Ophz986V6vaqmVajtmVtalvWxsXShVqWtXCxdMHZwrnYwc8X4y7yavCr3Eu/x9y2cwmoGfBMY9TV8yBLk0W/3/uhqiobem/I416LSohiStgUTt09Rd+6fXmv+XvFLjxa2vufkplCWEwY2yK3sTtmNxmaDBzNHOns0pkurl1oaNOwxIRWQkYC68+t5+czP3Mj+Qa1LGox1GMovev0ztfaVNj9z8zO5Oito+y+upuwmDAuxV8CoJZFLdo6t6WNcxuaVs9b1ygjO4M/Lv7BD6d+IDoxGlcrV8Z4jaGbWzetxQA9ibL+Dpy+c5ofT//I31F/o6DQxbULIzxH4G7jXqz1lURGYFkfg4zsDD479Bmrz6ymUbVGfBbwWaErveus5ephypO4ytZkk5CR8EShlPucHpdnWmJmYr7rs9G3obd7b7q6di2zqrL7ru3j3bB30Wg0zG47m7bO2iveqasX1ZJGo2o4decUwdHBhESFEJ0YjYKCn70fjhmOeNX3Qk/RQ0ERz4qCHuL54Wm5rx+eL+f9w8voKXqkZqVyJfEKkfGRRCVEEZ0Ynaf+jp6ih6OZY67welh81TCrka/76OCNg0zcOREjPSMWtV9UIqUWdPk82BG9g4k7J/Jhyw8Z0GCAEFoXNjD7wGwM9Qz5qNVHxSqG+DBluf9JGUnsvLKTrZe3sv/afrLULGpZ1KKLaxe6uHShXtV6xVpvdEI0KyNWsvHCRlKzUmnu0JxhHsNo69z2qa7i4u5/TGJMrtA6eOMg6dnpmBqY0rJGS9o4tyElM4WfTv/ErdRbeNh68JL3S7Sr1U4nuwRo6ztwNekqK8NX8tv530jJSqFljZaM9BxJa8fWhboelWRGoLaOwbbL2/ho30cY6Rvx3zb/5Tmnp1vhy1xcKYqyGggE7ICbwEeqqi4taBm3+m5q2OEwzA3NMTMyK/O7ibSsNO6m3eVuas4j5/Wd1Du5r2PTYolLjyM+PT7XPfMopgamWBtbY21sTVWTqnmfjatibfLIs7E1e3fv1doX6s2db3Im9gzjfcfzss/LWvnB0eWL6rOSpcniyM0jQlBFh3Ar5RYGigEtarSgfe32BNUMws7UrkyPQXx6PNEJ0UQmRBKdGE1UfBSRCUJ8pWSl5M5nqGdILYtaeYRXbcvaXEm8wox/ZuBs4cw3Hb4psYBtXT4PVFVlxLYRXEm8ws/dfmbOwTkERwfT3KE5M5+bWSI9zbS1/3FpcYREh7AtchsHbhxAo2qoa11XWLRcujzVgq6qKoduHlFa0L4AACAASURBVOKn8J/YdWUX+nr6dHPtxjCPYUWygJTE/qdmpXLwxkHCYsLYHbOba8nXAGjm0Iyx3mNpVaOVzsSaPgltfwcSMhL49dyvrApfxa3UW9S1rstIz5F0c+2Gof6Tr8klnRGozWMQGR/JW7ve4sK9C7zk8xKvNnq1wPhErViuioqpq6la9+O6ue+N9Y0xMzQTYsvQDAsjizzvzY3M8743NMfcyFw85wg0Y31j4tLjHhNJD4un+89JmUlPHJeFkQW2JrbYmtrmZm08KpyqGlelqklVrIytMDUoejFMbZ5MaVlpTN8/nT8u/UGAcwCz2swqsxok99H2D0pJk56dzr/X/2V71HZCr4QSlx6Hib4J/k7+tK/VnrbObR8rUaALx0BVVe6m3c21cj38iE6MJlOTmTtvk+pNWBC0oERLLejCMSiIY7eOMWzrMAz1DFFRmeA3gRGeI0rshkQX9v9O6h2Co4LZenkrR28dRUWloU3DXNfhw0I6MzuTrZFbWRG+gjOxZ6hqXJUBDQYwyH1Qsaral/T+q6rKxbiLZKvZT6w1pYvowjkAD/63y08v5/y989ib2jOk4RBeaPBCnutDbFosE3dM5NjtYyWWEajtY5Calcqsf2ex8cJGmjs0539t/5fv+ZyfuNKNvNwc7AzsmOE/g+TMZJIyksRzZhJJmUm5064lXXswLSP5sToehcXSyBJbU1tsTWxxt3HH1sQWO1O73GkPP5enYnzFwcTAhJnPzcTLzou5B+cyZPMQ5gfOp27Vuk9fWJJLcmYyu6/uJiQqhN1Xd5OcmYy5oTkBNQPoUKsDrR1bl0nbhWdBURTsTO2wM7WjqUPe34tsTTbXk68TlRBFYkYi7Wq1q/DfjUfxtfelV51eRMRG8Kn/p3jYemh7SCWOnakdg9wHMch9EDeSb/B35N/8FfkX84/MZ/6R+fjY+dDFtQspmSmsObuGO6l3qGNVh49bfUx3t+6YGJhoexdyURRF/o4VE0N9Q3rV6UVPt57sv7af5aeXM//IfL478R396vVjqMdQ0rPTn7lHoC5iamDKDP8ZopTKv7N44Y8XmNN2Ds0cmhV6HTolrqroVaFP3T6Fnl9VVdKz0x+IrxzB9fD7tKw0rIythHB6yPpU2S4KT0NRFIY0HIK7jTtv73qbIVuGMMN/Bp1dOpfqdtOy0jh99zT/JP1Djdga1KtaTyfjIPIjLi2O0JhQQqJC2HdtHxmaDGxMbOji0oUOtTvQwqFFvqb08oa+nn5uQ9rKzKf+n+q0W6kkcTBzYLjncIZ7DicmMYa/Iv9iW+Q25hycA4iilDMbzqSVo2672iTFR1EUWju1prVTa87GnuXH0z+y5swaVp9ZjZG+EaYGpiXWI1DX6FuvL552nrwd+jZj/x7LG35vMNprdKGuUTolroqKoiiYGJhgYmBSIo1VJdC4emPW9ljLW6Fv8c6udzh95zQTGk8oseKDt1Nuc+z2MY7dEo/w2HCyNML6uOqPVVgZW9G0elOaOTSjafWmOie2sjXZRCVGceD6AYKjgzl04xDZajYOZg4MaDCA9rXa42fvV676fUmKRmUVEc4WzozxHsMY7zFEJUShoGg9y1hStjSwacCsNrOY0HgCqyJWce7eOT5s+WGFvuGqX7U+a3qs4eN9H7PgyAKO3jrKTP+ZT+0aUK7FlaR0sK9iz7LOy/jfwf+x7PQywmPDmdt2bpELl2ZrsrkQd4Fjt45x9PZRjt06xtWkqwAY6RnhZefFcI/h+Fbz5ebZm1Rxq8LBGwc5eOMgIdEhAFoVW1maLCLjIwmPDSf8bjgRdyOIiI0gNSsVABdLF0Z5jaJDrQ542HpU2ouupPJR27K2tocg0SIOZg683fRtbQ+jzDAzNGNO2zk0rt6YOQfnMODPAXwW8Bk+1XzyXUaKK8kTMdQ3ZFrLaXjaevLpP58y8M+BzAuah6dt/un2SRlJnLhzguO3jnP01lFO3DmR23TU1sQWP3s/BrsPxtfeFw8bjzzustBLoQTWCaRXnV6AaI9x6OahMhNbWZosLsZdFCIqNoLwu+GcjT1LWnYaIHzwDao2oE/dPnjYeuBTzQc3q9Ltqi6RSCQS3UBRFAa7D8bbzpu3Q99mxLYRvNP0nXznl+JKUiB96/WlftX6TAqdxPAtw/lPq//Qu25vVFXlatLVPC6+83Hn0agaFBTqVa1HD7ceNKrWCD97P5zMnYpk2XE0d6SXea9SEVuZ2ZlciLuQR0idu3eO9Ox0AKoYVMHdxp3n6z+Ph60HDW0a4mrlKl19EolEUsnxsvNiXc91fLDnA2YfmJ3vfFJcSZ6Kp50na3us5d1d7zJt7zR+O/8bVxKvcDv1NiDEiE81H172eRnfar74VPMp8T5VxRVbtS1rczHuIqfvns4VUufvnc8tKWBuaE5D24YMbDBQCCnbhrhYuuhUnJdEIpFIdAcrYysWtlvIpgub6Ee/J84jxZWkUNiY2LC442K+OvoVO6/spHmN5vhW88XP3o+61nXL3KpTWLH1MBZGFnjYejC04dBcIVXToqYUUhKJRKJlNKmpJO3ZQ+L27VjFXCXDxQUjFxdtDytf9BQ9+tbrm+/nUlxJCo2BngGTmkxiUpNJ2h7KY+Qntq4kXqGedT0a2jbE2dxZBp1LJBKJjpAdH09SaCiJwcEk7d6DmpaGvpUVRhkZXOrTl2qTJmIzbBiKfvkLyZDiSlIhuS+2JBKJRKI7ZN66RVJICInbg0k+cACysjCoXh3rfv2w6NiBKk2bsnvzZly3/cWt2f8jcdtf1Jg1C2M3V20PvUhIcSWRSCQSiaTUyIiKIjE4mMTtwaQePw6qilHt2tiOGolFhw6YeHuj6D0Iz9BYW+P8zdck/PEHN2bO4nKfPlSbOAGbkSPLjRVLiiuJRFJoVFUlMyqKtIgIDKo7YOzmir51wcX0JBULTUoKyQcOkH0vDsMaNTB0csSwenUUI9n14llQVZXkPXsx3bmTzPr1MXR01PaQio2qqvy/vTOPruK68/znvk1vF1pASKySbTACA8IsAttCSWxIvCXT9kzsTnfsxEnsOOlOzunpyXKmncVLEmfvzumeyXRiJ5lM4rbTSYy3ADYCG4wwNgIjNmMwAiMJkITeoqe33vmjiscTCKHlSXoPfp9z6lTVrVu37u++V7/61u/eqoru309w3XqC69YRPXAAgILqOUz8+7/Dd+ONOK68csBhGkopCm+/Hc/y5bR+61uc+P4PCPxlLRWPPUrBlbn/SSMRV4IwzuhUisALL1L4299yYudOXAsW4FqwAFvR0F7aOlrEjx8n3LiNnq1bCTc2kmhr67PdWlyMo6qSgsoqHFVVFFRV4qisxD5lSt7cZQoDEztyhNDGTYQ2baJn2zZ0LNY3g1LYJk7EXl6OraIce0UF9vIKY26uW3w+GfPYD6lolMBzz9H55JNE3zmIHzj41H/gXrwY/+234V+9Gmth9j6OPlroVIpI006C69YRXL+e+NGjoBSuaxcx6atfwXfjTTimTrl4QedgmziRqf/yLwReeIH2hx/h8H/5K0q/+EVK7vs0ypa7EiZ3ayYIlwGhzZs58cMfEt2zF7vfT8euXZBMAuCYMQPXwgW4Fi7EtWABBbNmjYkzSZw6RbixkZ6tjYQbG4m3tACGiHIvW4pnWS3Oa+aRPHWK6KHDxA4dInr4EMGXXyb59NPpcpTDgWPGDBxVVYb4qqrCUVlFQeVMLB7PqNshDJ9UNErPG9sJbdpIeOMmYkeOAOCorKTo7rvxrqzDXlFBvK2N+PvHibe2Ej9+nPjx4/Tu2UNo/cvoeLxPmRaPB3tFxQXFl23ixPEwddxIdHXR9bvf0fXb/0eyo4OC2bMp/+53eLu3lzldXXQ/u4a2h75B+8OP4K1fif+22/CuXImloGC8q55Gx2KEt71hCKpXXiZ58hTY7XiW11Ly2c/g++AHsZWO/NN0SikKb7kFT20tbQ8/wskf/5jgunWUP/YozlmzsmBJ9hFxlQOkYjEsnZ0kAwEsXm+fvmfh0iSyu5mTP/oh4S2vY58yhYrvP84Oj4e62lp6m5vpaWoisnMnoc1b6P7zswAolwvX3Lm4ahaejW5l4YKUPH2a8Btv0NO4jZ7GrUTfOQiAxefDvXQpxX/zN7iXLaPgqivP+296V67ss57o6iJ2+D1ihw8RPXSI2KHDRPftI7h+fVo0AtgmT8ZRObNvtKuqCrQesT3C8Ii//z6hTZsIbdxEuLERHYmgCgpwL1tK0d/+Ld66G3BM7/stwQs9Kq9TKZIdHYbgam3tK8BaW4k07STV3d13J5uN0sJCjlRWYp9Sga08Q4RNqcBeXo7F5Rol68eO6KHDdP7qV3T/6U/oaBRP3Q2UfOpTuGtrUUqRbGig9K67KHngAXqb9xBY8yzdz79AcN16LD4f/g+vxn/rbbiXLB7za4VOJundt4/I9u30bN9OuHEbqUAA5XbjravDd+ONeFfWYfX5RuX4tpISpv7kxwReWk3btx/m8B13Uvr5Byj97GdRdvvFCxhDlM4hZzZ79my9f//+8a7GmJCKRAi9+irBtesIbdhAKhxOb7N4PFh8Pqw+HxafD4vPi9Vrzn0+LF4fVr8x75Pm82Lx+7G43Xkn0BoaGqivrx/vaow6sZYWTv7kpwReeAHrhAmUPvh5Jtx1FxaHo9820FoTf/84kZ2G2Irs3Envnr1gRgXsFRVGZGuhIbYK5szBcpGxL8lQmMhbbxLe2kjP1q307t0LWqNcLtzXXoundhnuZbU4q+dkrVtPx2LEjh5NCy4j2mXMU6FQOl+qoADXjBnYp0/DMW06junTsE+dZswrKnLOgWabsTwPdCxGz1s7DEG1aSOxg+8CYJ8yBe/KlXhX1uFeunTUBE0yFCbRmhn1auXYjh0Up1LEjx8n0d4OqVSffaxFRelxXn3EV4UhwKxFRTnZ9ai1pmfbG3Q++SShDRtQDgeFH72d4nvuOW/8UL9+IJEgvLWRwJpnCaxbj+7pwVZeTuGtt+C/9Tacs0cneqPjcXqbm42br+3bibz5Vvp8tU+bhnvpEnwfuhHPiuVYnM6sHXcw50Gis5P2Rx4l8MILFFTPoeKxx3BefXXW6jBYlFJvaq0Xn5eeS+Lq6iuu0HsPHszJkyMbpMJhQhs3Eli7jtDGjehIBGthId4bP8RRp5Mrp04jFQySDAVJBUOkQkGSgaCZFkrPOSfcfh5KYfF6sZWW4lmxAm99Pe6lS3IqnHwul7q4SnR0cOpf/42up55C2e0U33sPJffdh9V79k32g22DVDRK7549hthqMgRXorUVMLrinNXVRmTLFFzW4mIiTU2Et26lp3EbkbffhkQCZbfjqqnBXbsMz7JluK65ZswHJWutSZw8aQiuw4d499VXKUtpYseOEj96DB2Nns1stWIvLzeE1rTpOKZNNebmutWbv12N8dZWwlte58COt5hVswhroR+Lz4+10I/V7zdumjyeEfvGePsJwq+a0aktW4ybOrsd9+Jr8dYZgspRWTluPjjzHNCJBIn29j7iKx0JM7sgdSTSZ3/ldBri6xwB5pg+A+fsWWPeHa3jcQIvvUTnE0/Su2cP1qIiiu6+m6K/vvuC3WUX8wOpnh6Cr2wgsGYNoddeg2SSgtmzKbz9Nvy33IJ98uRh1zcVjRLZudMQUtu307OjKd3Gjqoq3EuW4F68GPeSxSM6zsUYyvUgsG4dbd/6NsnTpym9/35K7//cmPqxvBBX85wu/Z8LFuCcNw/n3Lk4583FNW8etvLyvBVcyWCQ0IYNBP6ylvBrr6GjUawlJfhuuhH/qlW4lyxB2e2D/jNprdHRqCG0giFSwYAxDwVJBjNEWTBEvKXFCO/39qLcbjwrluOrr8dTV4d90qTRN34IXKriKhkK0/nkk3T+8pekolEm/Nc7KX3wwX7bfyRtEG9v7yO2enfvPitMLBYjAmC14po3D3dtLZ7aZbhqarJ6t5kN+lxcUykSJ08Sb2kh1nKU2NEW4i1HiR07RrylheTp0332tRYXY5829WzEKyPyZZs0Mad8SDIUpmfbNsJbthDesoXYoUMX38lqNaLUfkNwnRFdVr//rBjLXDaFWaKjIz0YPbp3L2B0y3pvuMGITtUuzxlhOpRzQGtN8vRpEhcSX62tJE+dOruDUjgqK3HOmYOzuhrn3Gqcc+aMymDxZCDA6aefpvM3/5dEWxuOykqK772Xwo/eftFzbihtkOjoIPDiSwTWrDFecaAU7qVLKbz9NnyrVl20ey4VDtPT1ETP9u30vPEGvTt3GWPllKJg9mxTSC3BvfhabCUlgzV/xAzVFya6umj/zncIPLvGGLv22KO45s4dvQpmkBfias6UKfqVT3+ayO5mou+8A4kEYISCnfPmGWJr7lyc8+ZhKyvLKWeZSaKri9ArrxBYu5bwltchHsdWVobvppvwr16Fa9Gi87pbRktcpHp76WlsJNjQQKhhYzrC4Zw3D299Pd76eqP7Z5y7ES81caVjMbqefppT//pvJDs68K1ezcQvf4mCygu/CC+bbaDjcXr37TeiWidO4FpUg3vx4j6RslxkKG2QDAaJtbQQP3qUWMtRY370KPGWFuJtbX26lCweD64F840u1JoaXPPnj+kTWDqZpHf3bkKbNxPesoVI004jeuh04l6yBM+KFXhWrKDx3YMsn7+AVKCbZCBAsjtg3EB1B0gG+i4nA92kAkFzOTBwRNtqxV1Tg2dlHd66lRTMuion/We2/UAqGiXR2kr00CF69+yld+9eevfsSftBMLpBndXVOKtN0VVdPeyxjLFjx+j89a/pfuYPpHp6cC9bRvGn7sVbVzdoHzvcNogdOUL3c88ReHYNsSNHUA4H3g98gMLbb8N7ww0oh4NkIEDPm28aYmr7dnqb9xjXWasVZ3X12cjUtYvG9QnF4bZB8JUNtH3jGyQ6Oyn57GcoffDBiw6TGCl5Ia4yx1ylolGi+/cT2b2b3t3N9DY3Ez14MD0o1lpainNuNa6589KRLnvZ+EVjEqdOEVz/MsG1fyHcuA2SSexTpuBbtQrfqptwLVgw4Mk1FuJCa030wAFCGxoINTSkX+ZmmzgRb/1KvPX1eJYvx+J2j2o90vVJpUi0txM70sLbGzcyd+kSbEVFWIuLsRYVGYP7c/ACMBA6lSL40kuc+MlPibe04F6yhEn//R9wLVhw0X0vNYE5HLLVBjoWI/b++2nBFT14kEjTTqL796dFl+PKK3AtXIi7pgbXwoVGd1gWbzJiR48S3ryF8ObNhBsbSQUCoBTOOXPwXHcdnutWGNHDjO764dqvtUb39pqCrNuIbHcbAszicuNZXovV78+abaPFWJ0Dic5OU2ztoXePMcWPtKS32yZOpCBDbDnnVGOfUnFBfxRpaqLjiScJrlsHFgv+mz9C8T33DCt6MtI20FrT+/bbdK95jsDzz5Ps7MRSWIh98mTjfVNag92Oa/58Q0gtXoyrpiZnopcwsjZIdnfT/t3v0f3HP1Jw1ZWUP/YYrmuuyW4FM7iQuMrZpwUtBQW45s/HNX9+Oi0VidC7bx+9zXvo3b2b3ubdnHr1tbSztE2c2LdLce7cUX28N97eTnDtOoJr19Lz5puQShlvnb3vPnyrVuGcW51T4kAphXP2bJyzZ1P6wP0kOjuNwawNGwm88CKnn34G5XDgXrYMb/1KfPX12KcM/b0kmehkknhrG/GWI8RaWogdaSF25AixliPEW46m35dTCBx74om+O9tsWIsmYCsyxJYx9V23FRdlbCsa13Fl4ddf58QPfkhvczMFs2Yx7ef/G88NN+TUf+ByQTkcFFRWnhcpTIbC9O5+m8iOHfQ0NRFct57uZ/4AgKWwMB3dctfU4Lxm/pAuOMlAgPDWrUZX3+Ytxnt+AFt5Ob6bbsR73XW4ly8flfeXKaVQLhcWlwt7WVnWy7/UsBUX473+OrzXX5dOSwaDRPftS4ut3j176ci4vlgKC43o1pzqdKQr+s5BOp94gkhTExa/n5L7Pk3RJz4xquORLoZSKn3tLPsf/0j49dfpXvMcyY5T+L7wBdxLluBaMD/nhgRkC2thIRXfeQz/Rz5M6z89xHsfv4uS+z5N6Re/OOjrg04kjGE2ZlT4ghHkYOCCZeSsuOoPi8uFu6YGd01NOi3V02MIrt276W1uJrK7mVBDQ/qRbmtpKdbCQiwuFxa325h73IYjcnvMdGObSudxG3P32X2U20hLnjpFYO06gn/5C5GmJgAKrrqS0gcewLd6dc6G2/vDVlzMhI99jAkf+5j55NBbhDY0EGzYQPvDj9D+8CMUzJqV7j50LZjf79NjOpEgfvy4IZxajhhjZN4zxdSxY326K1RBAY7p03HMnIm3bqWxPGM6bx05wuLqapJdXSQ6u0h2mdPps+vR/ftJdnaSPPcR7gwsbncfsWUrLsZWVoatbBL2sjJsZZOxlU3CVlKStSfhevfu5cQPf0T4tdewVZRT8b3v4r/1VnmBZg5i9Xrw1Nbiqa0FjEhj7L33iOzYQaSpiUhTE6c2vWpktlgomDUL18IF6eiWffr09Pmt43Eiu3YZkanNW4wHBVIpLG630R30yU/iue46HJUz88YnXM5YfT6jW2zJknRaKhIheuCA0Z3YbIiurt/8ps87vOxTp1L29a8z4Y6/yrn3tym7HW9dHd66uvGuypjjrauj6rk1nHj8cTr+z78TfPkVij91L7o3el6XelpEmcuZT+/3i92eHvd4IfJKXPWHxe3GvWgR7kWL0mnJUJjovr1Edu8m+s47pEJhUpEeUj09JE6eJHWkh1QkYkw9PemxXUOhYM4cJn75S/hWraKgqiqbJo0LyuFIX3TKvvZVoocPE2rYSKihgY5f/IKOn/8c64QJeFfWUTD7alNMmRGo94/3aUPlduOYPp2Cq67Cd+OHsE+fjmP6DBwzpmObNKnfrpdkNNonSjkQOpEwToSuLpKdnSS6ukh2nTYFWcZ6ZyfRgwdJnDx5/m9stWKbNAn7pEnYJk/uI77sZZNMQVY24J1O7NgxTv70nwmsWYO1sJBJX/kKRX99d04/lSn0RVksFFRVUVBVxYQ77gCMCFRk56604Ao89zynf/8UYAyady1cCFrTs22b4YQtFlzXXEPpA/fjWbHCGAJwib8y4nLB4nKl3yl3Bh2LGWO4mvdgnVCIt75ebqRyFKvPR/nDD+NbtZrWhx6i7Z8eSm+zuN1YCgux+nxY/X7sU6fi9PmMB0L8fqy+8x8OOfMAiXI6z94wXeDGKe/FVX9YvZ50X/Jg0LEYqZ6etNhK9UTSYkxnpvX0YHEW4P3AB857md6lxpkulZJP3Wt0d7z2WnpQfPefn8Xi8eCYMQNndTX+D38kHYGyT5+ObeLoPpmlbDYjIlVcDFdccdH8Opkk2dlJvK2dxIl24u3tJNrajce8T7QTPXCA8KuvGkL7HKwTJhhCa3IZ9kmG4LJPLqP3wAG6fvd7lNVKyec+R8ln7suLMS3CxbH6/XhvuB7vDdcDxv8nevBdI7JlCi6tU/hvu9UYiL5sWV58nkTIDsrhwHn11ePyTiVheHhvuJ4rXnqRRFubIZC83lG/AbokxdVQUQ4HVodDPkB7Aax+P/6bb8Z/882GUAkEsE6YkDddHcpqxTZxojn+bt4F8yVDIRJtbYb4aj9Bov3scry9jd7dzSQ7OozMFgsT7riD0i9+Qca4XOIoqxXn7Fk4Z8+i6OP/bbyrIwjCMLAUFOCYMWPMjifiShgSymrNmQ8KZxur14v1yisH/OK6jsWInziJstvH9elUQRAEIXcRcSUIQ0A5HMP6srsgCIJw+ZBfH6ATBEEQBEHIcURcCYIgCIIgZBERV4IgCIIgCFlExJUgCIIgCEIWEXElCIIgCIKQRURcCYIgCIIgZBERV4IgCIIgCFlExJUgCIIgCEIWEXElCIIgCIKQRURcCYIgCIIgZBGltR7vOqRRSgWB/eNdj3GiFDg13pUYRy53+0HaAKQNxP7L236QNoD8aoMZWuuJ5ybm2rcF92utF493JcYDpdT2y9V2EPtB2gCkDcT+y9t+kDaAS6MNpFtQEARBEAQhi4i4EgRBEARByCK5Jq5+Pt4VGEcuZ9tB7AdpA5A2EPsFaYNLoA1yakC7IAiCIAhCvpNrkStBEARBEIS8ZtjiSik1TSm1QSm1VynVrJT6kplerJRap5R6x5wXmeklZv6QUupn55R1t1LqbaXULqXUS0qp0gsc81oz30Gl1D8rpZSZXqeUeksplVBK3Tlcm4ZCLtmfsf1OpZRWSo36Uxa5ZL9S6sdKqSZzOqCUOj3a9pvHHY82eFQpdVQpFTonvUAp9ZTZNo1KqZmjY/V59clmG3zctL9ZKfX4AMe8VP3AiOzP2J6vfmCkv/+l4AcG2wb57gduUkq9af6ObyqlPphR1oD/74vlGw8/0C9a62FNQDmwyFz2AQeAauBx4Ktm+leB75nLHuB64AHgZxnl2IATQKm5/jjwzQsccxuwHFDAi8BHzPSZwHzg18Cdw7UpX+3PqMMmYCuw+HKzPyPP3wG/vIT/A7XmcUPnpD8I/C9z+S7gqTxrgxKgBZhorv8K+NBQ/gfktx8Ysf0ZdchHP5AV+zPy5KMfGEob5LsfqAEqzOV5wPtD+X0Hysc4+IH+pmFHrrTWrVrrt8zlILAXmAJ81PxTnPlzfMzME9Zavwb0nlOUMiePqTz9wPFzj6eUKgf8WuvXtdGCv84o+z2t9S4gNVx7hkou2W/yMMYf+dzyR4UctP8MdwO/G6F5g2Ks28AsY6vWurWfTZnHfAb40IXu+LJJFtugCjigtT5prq8H7jj3eJewHxix/Sb56geyZf8Z8tEPDKoNzDLy3Q/s0Fqf8XHNgNOMug3q9801P9AfWRlzZYYea4BGoOzMj27OJw20r9Y6DnweeBvjglIN/KKfrFOAYxnrx8y0cWe87VdK1QDTd84cLgAABQ5JREFUtNbPjcSO4TLe9mfUYwZQCbwyDDNGxBi1wUBMAY6a5SWAbow74TFjJG0AHASuVkrNVErZMBzltH7yXZJ+gCzYn89+gCz+/vnqBxh8GwxEPvqBO4AdWusogz+/c9YPnGHE4kop5QX+AHxZax0Yxv52jAtLDVAB7AK+1l/WftLG/VHH8bZfKWUBfgz8w1CPnQ3G2/5z1u8CntFaJ4daj5Ewhm0wYDH9pI3Z+THSNtBad2G0wVPAq8B7QKK/Q/W3+1CPl23G2/589wNZ/v3z0g8MoQ0GrEZ/RQ+1LsNlqG2glJoLfA+4/0xSP9n6q39O+oFMRiSuzIvCH4Dfaq3/00xuN0N2Z0J3Jy5SzEIArfW7ZnjvP4AVSilrxuDEb2Mo06kZ+03lAl0nY0WO2O/D6LNuUEq9h9EX/6wam8GsuWB/JncxRl0BZxjjNhiIY5h3ueZdbyHQOSyjhkiW2gCt9Rqt9TKt9XKMb4y+cxn5gZHan+9+IJu/f776gcG2wUDkjR9QSk0F/gh8Umv9bkb9z/t988EPnMtInhZUGF0Xe7XWP8rY9Cxwj7l8D/DnixT1PlCtlDrz4cObzDKTWuuF5vSQGVIMKqVqzWN/chBljxq5Yr/WultrXaq1nqm1nokxkPV2rfX27FjaP7lif0Z9ZgNFwOsjNm6QjHUbXKSMzGPeCbxiCrVRJYttgFJqkjkvwhiY+++XkR8Ykf2XgB/Iyu+f535gUG1wkSLywg8opSYAzwNf01pvPpN5gP93TvuBftHDfzrgeoww3C6gyZxuxujffRl4x5wXZ+zzHoaKDmEoz2oz/QGMAXC7gDVAyQWOuRjYDbwL/AzSL0FdYpYXBjqA5uHalY/2n5OngbF5Siin7Ae+CXx3tO3OgTZ43NwvZc6/aaY7gacxxm1sA6rysA1+B+wxp7sGOOal6gdGZP85eRrIPz8wYvvJfz8w2DbIaz8A/E/zPG3KmCYN9v89UD7GwQ/0N8kb2gVBEARBELKIvKFdEARBEAQhi4i4EgRBEARByCIirgRBEARBELKIiCtBEARBEIQsIuJKEARBEAQhi4i4EgQhL1BKaaXUbzLWbUqpk0qpYX3uRSk1QSn1YMZ6/XDLEgRByETElSAI+UIYmKeUcpnrN2G8gHW4TMB4UaMgCEJWEXElCEI+8SJwi7l8NxmfOVFKFSul/qSU2qWU2qqUmm+mf1Mp9UulVINS6pBS6u/NXb4LXGF+UuP7ZppXKfWMUmqfUuq35tufBUEQhoSIK0EQ8onfA3cppZzAfKAxY9u3gB1a6/nA14FfZ2y7GlgNLAW+YX4H7avAu9r4pMY/mvlqgC8D1UAVcN1oGiMIwqWJiCtBEPIGrfUuYCZG1OqFczZfD/zGzPcKUKKUKjS3Pa+1jmqtT2F8PLbsAofYprU+prVOYXySY2Z2LRAE4XLANt4VEARBGCLPAj8A6jG+XXaG/rrwznzfK5qRluTCvm+w+QRBEC6IRK4EQcg3fgl8W2v99jnpm4BPgPHkH3BKax0YoJwg4BuVGgqCcFkjd2WCIOQVWutjwE/72fRN4Aml1C6gB7jnIuV0KKU2K6V2YwyUfz7bdRUE4fJEaa0vnksQBEEQBEEYFNItKAiCIAiCkEVEXAmCIAiCIGQREVeCIAiCIAhZRMSVIAiCIAhCFhFxJQiCIAiCkEVEXAmCIAiCIGQREVeCIAiCIAhZRMSVIAiCIAhCFvn/hhnkORFd0n4AAAAASUVORK5CYII=",
"text/plain": [
"
"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Alternative way to visualize data: Create a stacked barplot\n",
"(df_clean[list(products_dict.values())] / 10**6).plot.bar(stacked=True, figsize = (14,6))\n",
"plt.xticks(rotation = 60)\n",
"plt.title('China Clean Exports (Breakdown by Product)', fontsize=14)\n",
"plt.ylabel('Quantity (Millions bpd)')\n",
"plt.xlabel('Month')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"While we see a lag on the coronavirus impact on China's crude imports, the impact on clean product exports is more immediate. **Diesel** exports showed an uptick from Oct 2019 reaching a 2-year high at **~515k bpd** on March, a ~**30%** increase compared to the (2-year) historical average of **358k bpd**. March **Gasoline** and **Jet/Kero** exports held steady at **390k bpd** and **290k bpd** respectively, both matching February levels."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Finally, to finish our analysis, let's look at the historical trend of the main **destinations** for the Chinese *Diesel/Gasoil* exports. This time we won't look at regions, but we will explore results on a *country* level. More specifically, we will focus on exports to the *Phillipines, Australia and Singapore*."
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"2020-04-16 11:15:02,792 vortexasdk.operations — INFO — Searching Geographies with params: {'term': ['Philippines']}\n",
"2020-04-16 11:15:02,918 vortexasdk.client — INFO — 3 Results to retreive. Sending 1 post requests in parallel using 6 threads.\n",
"2020-04-16 11:15:03,273 vortexasdk.operations — INFO — Searching Geographies with params: {'term': ['Australia']}\n",
"2020-04-16 11:15:03,387 vortexasdk.client — INFO — 5 Results to retreive. Sending 1 post requests in parallel using 6 threads.\n",
"2020-04-16 11:15:03,738 vortexasdk.operations — INFO — Searching Geographies with params: {'term': ['Singapore']}\n",
"2020-04-16 11:15:03,872 vortexasdk.client — INFO — 24 Results to retreive. Sending 1 post requests in parallel using 6 threads.\n"
]
}
],
"source": [
"# Find country IDs\n",
"philli = [g.id for g in Geographies().search('Philippines').to_list() if 'country' in g.layer]\n",
"australia = [g.id for g in Geographies().search('Australia').to_list() if 'country' in g.layer]\n",
"singapore = [g.id for g in Geographies().search('Singapore').to_list() if 'country' in g.layer]\n",
"receivers = philli + australia + singapore\n",
"\n",
"# Ensure we've only got one ID for the desired countries\n",
"assert len(philli) == 1\n",
"assert len(australia) == 1\n",
"assert len(singapore) == 1\n",
"\n",
"# Create a dictionary to map country ids to names. This will be useful when plotting the results\n",
"receivers_dict = {philli[0]: 'Philippines',\n",
" australia[0]: 'Australia',\n",
" singapore[0]: 'Singapore'}"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Loading China diesel/gasoil exports to Philippines\n",
"2020-04-16 11:15:04,258 vortexasdk.operations — INFO — Searching CargoTimeSeries with params: {'timeseries_frequency': 'month', 'timeseries_unit': 'bpd', 'timeseries_activity': 'loading_end', 'filter_activity': 'loading_end', 'filter_time_min': '2018-01-01T00:00:00.000Z', 'filter_time_max': '2020-03-31T23:59:59.000Z', 'size': 500, 'filter_charterers': [], 'filter_owners': [], 'filter_products': ['deda35eb9ca56b54e74f0ff370423f9a8c61cf6a3796fcb18eaeeb32a8c290bb'], 'filter_vessels': [], 'filter_destinations': ['065aab207e6fe875caf93419bd6cfedcbb0933098c75e52a6702b75bdfe71c53'], 'filter_origins': ['b5fafce6e20de2dc307fb7e0b89978ee91a49a7b6ec6f5461daf2633f3c56674'], 'filter_storage_locations': [], 'filter_ship_to_ship_locations': [], 'filter_waypoints': [], 'disable_geographic_exclusion_rules': None, 'timeseries_activity_time_span_min': None, 'timeseries_activity_time_span_max': None}\n",
"-----------------------------------------------------------------------------------\n",
"Loading China diesel/gasoil exports to Australia\n",
"2020-04-16 11:15:04,806 vortexasdk.operations — INFO — Searching CargoTimeSeries with params: {'timeseries_frequency': 'month', 'timeseries_unit': 'bpd', 'timeseries_activity': 'loading_end', 'filter_activity': 'loading_end', 'filter_time_min': '2018-01-01T00:00:00.000Z', 'filter_time_max': '2020-03-31T23:59:59.000Z', 'size': 500, 'filter_charterers': [], 'filter_owners': [], 'filter_products': ['deda35eb9ca56b54e74f0ff370423f9a8c61cf6a3796fcb18eaeeb32a8c290bb'], 'filter_vessels': [], 'filter_destinations': ['24075b270335ddb25b5f3f0fa8d9657f7a39df829ce9fa262f40a41a8758d21c'], 'filter_origins': ['b5fafce6e20de2dc307fb7e0b89978ee91a49a7b6ec6f5461daf2633f3c56674'], 'filter_storage_locations': [], 'filter_ship_to_ship_locations': [], 'filter_waypoints': [], 'disable_geographic_exclusion_rules': None, 'timeseries_activity_time_span_min': None, 'timeseries_activity_time_span_max': None}\n",
"-----------------------------------------------------------------------------------\n",
"Loading China diesel/gasoil exports to Singapore\n",
"2020-04-16 11:15:04,988 vortexasdk.operations — INFO — Searching CargoTimeSeries with params: {'timeseries_frequency': 'month', 'timeseries_unit': 'bpd', 'timeseries_activity': 'loading_end', 'filter_activity': 'loading_end', 'filter_time_min': '2018-01-01T00:00:00.000Z', 'filter_time_max': '2020-03-31T23:59:59.000Z', 'size': 500, 'filter_charterers': [], 'filter_owners': [], 'filter_products': ['deda35eb9ca56b54e74f0ff370423f9a8c61cf6a3796fcb18eaeeb32a8c290bb'], 'filter_vessels': [], 'filter_destinations': ['7fed43c640957555ddac588be64822538078409a0acdaf22126623203ef9954a'], 'filter_origins': ['b5fafce6e20de2dc307fb7e0b89978ee91a49a7b6ec6f5461daf2633f3c56674'], 'filter_storage_locations': [], 'filter_ship_to_ship_locations': [], 'filter_waypoints': [], 'disable_geographic_exclusion_rules': None, 'timeseries_activity_time_span_min': None, 'timeseries_activity_time_span_max': None}\n",
"-----------------------------------------------------------------------------------\n"
]
},
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
Philippines
\n",
"
Australia
\n",
"
Singapore
\n",
"
\n",
"
\n",
"
date
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
"
\n",
"
2019-11-01
\n",
"
62138
\n",
"
74625
\n",
"
46324
\n",
"
\n",
"
\n",
"
2019-12-01
\n",
"
108409
\n",
"
60698
\n",
"
25452
\n",
"
\n",
"
\n",
"
2020-01-01
\n",
"
39039
\n",
"
26275
\n",
"
85208
\n",
"
\n",
"
\n",
"
2020-02-01
\n",
"
45258
\n",
"
54056
\n",
"
101426
\n",
"
\n",
"
\n",
"
2020-03-01
\n",
"
62362
\n",
"
57715
\n",
"
101959
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Philippines Australia Singapore\n",
"date \n",
"2019-11-01 62138 74625 46324\n",
"2019-12-01 108409 60698 25452\n",
"2020-01-01 39039 26275 85208\n",
"2020-02-01 45258 54056 101426\n",
"2020-03-01 62362 57715 101959"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Create an empty list. After each API call the resulting DataFrame will be appended to this list. At the end\n",
"# the DataFrames of the list will just be concatenated to create a single DataFrame\n",
"df_list_3 = []\n",
"\n",
"# Iterate through all destinations\n",
"for p in receivers:\n",
" print('Loading China diesel/gasoil exports to {}'.format(receivers_dict[p]))\n",
" dfp = CargoTimeSeries().search(\n",
" # Filter on cargo deparure date\n",
" filter_activity = 'loading_end',\n",
" # Will again use China exl HK & Macau instead of China\n",
" filter_origins = china_excl,\n",
" # At each iteration an API call for a different destination will be made\n",
" filter_destinations = p,\n",
" # Look only at Diesel/F=Gasoil exports\n",
" filter_products = diesel_gasoil, \n",
" # Keep same quantity as before\n",
" timeseries_unit = TS_UNIT,\n",
" # Look at monthly exports\n",
" timeseries_frequency = TS_FREQ,\n",
" # Keep same date range as before\n",
" filter_time_min = START_DATE,\n",
" filter_time_max = END_DATE).\\\n",
" to_df()\n",
" dfp['key'] = pd.to_datetime(dfp['key']).dt.date\n",
" dfp = dfp.drop(columns = 'count')\n",
" dfp = dfp.rename(columns = {'key': 'date', 'value': '{}'.format(receivers_dict[p])})\n",
" dfp = dfp.set_index('date')\n",
" df_list_3.append(dfp)\n",
" print('-----------------------------------------------------------------------------------')\n",
"\n",
"# Concatenate DataFrames \n",
"df_receiv = pd.concat(df_list_3, axis=1)\n",
"df_receiv = round(df_receiv).astype(int)\n",
"df_receiv.tail()"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"