{ "cells": [ { "cell_type": "code", "execution_count": 1, "source": [ "import numpy as np\n", "import pandas as pd\n", "from mikeio import Dfs0, Dataset\n", "from mikeio.eum import ItemInfo, EUMType, EUMUnit\n", "from datetime import datetime\n" ], "outputs": [], "metadata": {} }, { "cell_type": "markdown", "source": [ "# Write a dfs0" ], "metadata": {} }, { "cell_type": "code", "execution_count": 2, "source": [ "nt = 10\n", "d1 = np.zeros(nt)\n", "d2 = np.ones(nt)\n", "\n", "ds = Dataset(data=[d1,d2],\n", " time=pd.date_range(datetime(2000,1,1), periods=nt, freq='H'), # hourly data\n", " items=[ItemInfo(\"Zeros\", EUMType.Water_Level, EUMUnit.meter), \n", " ItemInfo(\"Ones\", EUMType.Discharge, EUMUnit.meter_pow_3_per_sec)])\n", "ds" ], "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "\n", "Dimensions: (10,)\n", "Time: 2000-01-01 00:00:00 - 2000-01-01 09:00:00\n", "Items:\n", " 0: Zeros (meter)\n", " 1: Ones (meter pow 3 per sec)" ] }, "metadata": {}, "execution_count": 2 } ], "metadata": {} }, { "cell_type": "code", "execution_count": 3, "source": [ "ds.is_equidistant" ], "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "True" ] }, "metadata": {}, "execution_count": 3 } ], "metadata": {} }, { "cell_type": "code", "execution_count": 4, "source": [ "dfs = Dfs0()\n", "\n", "dfs.write(filename=\"test.dfs0\", \n", " data=ds,\n", " title=\"Zeros and ones\")" ], "outputs": [], "metadata": {} }, { "cell_type": "markdown", "source": [ "# Read a timeseries" ], "metadata": {} }, { "cell_type": "code", "execution_count": 5, "source": [ "dfs = Dfs0(\"test.dfs0\")\n", "\n", "ds = dfs.read()\n", "ds" ], "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "\n", "Dimensions: (10,)\n", "Time: 2000-01-01 00:00:00 - 2000-01-01 09:00:00\n", "Items:\n", " 0: Zeros (meter)\n", " 1: Ones (meter pow 3 per sec)" ] }, "metadata": {}, "execution_count": 5 } ], "metadata": {} }, { "cell_type": "markdown", "source": [ "## From comma separated file" ], "metadata": {} }, { "cell_type": "code", "execution_count": 6, "source": [ "df = pd.read_csv(\"../tests/testdata/co2-mm-mlo.csv\", parse_dates=True, index_col='Date', na_values=-99.99)\n", "df.head()" ], "outputs": [ { "output_type": "execute_result", "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Decimal DateAverageInterpolatedTrendNumber of Days
Date
1958-03-011958.208315.71315.71314.62-1
1958-04-011958.292317.45317.45315.29-1
1958-05-011958.375317.50317.50314.71-1
1958-06-011958.458NaN317.10314.85-1
1958-07-011958.542315.86315.86314.98-1
\n", "
" ], "text/plain": [ " Decimal Date Average Interpolated Trend Number of Days\n", "Date \n", "1958-03-01 1958.208 315.71 315.71 314.62 -1\n", "1958-04-01 1958.292 317.45 317.45 315.29 -1\n", "1958-05-01 1958.375 317.50 317.50 314.71 -1\n", "1958-06-01 1958.458 NaN 317.10 314.85 -1\n", "1958-07-01 1958.542 315.86 315.86 314.98 -1" ] }, "metadata": {}, "execution_count": 6 } ], "metadata": {} }, { "cell_type": "markdown", "source": [ "Remove missing values" ], "metadata": {} }, { "cell_type": "code", "execution_count": 7, "source": [ "df = df.dropna()\n", "df = df[[\"Average\",\"Trend\"]]\n", "df.plot()" ], "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "" ] }, "metadata": {}, "execution_count": 7 }, { "output_type": "display_data", "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" } } ], "metadata": {} }, { "cell_type": "markdown", "source": [ "A dataframe with a datetimeindex can be used to create a dfs 0 with a non-equidistant time axis." ], "metadata": {} }, { "cell_type": "code", "execution_count": 8, "source": [ "df.to_dfs0(\"mauna_loa_co2.dfs0\")" ], "outputs": [], "metadata": {} }, { "cell_type": "markdown", "source": [ "To get a equidistant time axis first interpolate to hourly values." ], "metadata": {} }, { "cell_type": "code", "execution_count": 9, "source": [ "df_h = df.resample('h').interpolate()" ], "outputs": [], "metadata": {} }, { "cell_type": "code", "execution_count": 10, "source": [ "df_h.to_dfs0(\"mauna_loa_co2_eq_1hr.dfs0\")" ], "outputs": [], "metadata": {} }, { "cell_type": "markdown", "source": [ "# Read a timeseries" ], "metadata": {} }, { "cell_type": "code", "execution_count": 11, "source": [ "dfs = Dfs0(\"test.dfs0\")\n", "res = dfs.read()\n", "res" ], "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "\n", "Dimensions: (10,)\n", "Time: 2000-01-01 00:00:00 - 2000-01-01 09:00:00\n", "Items:\n", " 0: Zeros (meter)\n", " 1: Ones (meter pow 3 per sec)" ] }, "metadata": {}, "execution_count": 11 } ], "metadata": {} }, { "cell_type": "code", "execution_count": 12, "source": [ "res.time" ], "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "DatetimeIndex(['2000-01-01 00:00:00', '2000-01-01 01:00:00',\n", " '2000-01-01 02:00:00', '2000-01-01 03:00:00',\n", " '2000-01-01 04:00:00', '2000-01-01 05:00:00',\n", " '2000-01-01 06:00:00', '2000-01-01 07:00:00',\n", " '2000-01-01 08:00:00', '2000-01-01 09:00:00'],\n", " dtype='datetime64[ns]', freq=None)" ] }, "metadata": {}, "execution_count": 12 } ], "metadata": {} }, { "cell_type": "code", "execution_count": 13, "source": [ "res.data" ], "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "[array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]),\n", " array([1., 1., 1., 1., 1., 1., 1., 1., 1., 1.])]" ] }, "metadata": {}, "execution_count": 13 } ], "metadata": {} }, { "cell_type": "markdown", "source": [ "## Or as a Pandas dataframe" ], "metadata": {} }, { "cell_type": "code", "execution_count": 14, "source": [ "dfs0file = \"../tests/testdata/da_diagnostic.dfs0\"\n", "\n", "dfs = Dfs0(dfs0file)\n", "df = dfs.to_dataframe()\n", "df.head()" ], "outputs": [ { "output_type": "execute_result", "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
State 1Sign. Wave HeightState 2Sign. Wave HeightMean StateSign. Wave HeightMeasurementSign. Wave Height
2017-10-27 00:00:001.7494651.7494651.7494651.72
2017-10-27 00:10:001.8113401.7968951.807738NaN
2017-10-27 00:20:001.8634241.8427591.853422NaN
2017-10-27 00:30:001.9222611.8898391.897670NaN
2017-10-27 00:40:001.9724551.9348861.935281NaN
\n", "
" ], "text/plain": [ " State 1Sign. Wave Height State 2Sign. Wave Height \\\n", "2017-10-27 00:00:00 1.749465 1.749465 \n", "2017-10-27 00:10:00 1.811340 1.796895 \n", "2017-10-27 00:20:00 1.863424 1.842759 \n", "2017-10-27 00:30:00 1.922261 1.889839 \n", "2017-10-27 00:40:00 1.972455 1.934886 \n", "\n", " Mean StateSign. Wave Height MeasurementSign. Wave Height \n", "2017-10-27 00:00:00 1.749465 1.72 \n", "2017-10-27 00:10:00 1.807738 NaN \n", "2017-10-27 00:20:00 1.853422 NaN \n", "2017-10-27 00:30:00 1.897670 NaN \n", "2017-10-27 00:40:00 1.935281 NaN " ] }, "metadata": {}, "execution_count": 14 } ], "metadata": {} }, { "cell_type": "code", "execution_count": 15, "source": [ "dfs0file = \"../tests/testdata/random.dfs0\"\n", "\n", "dfs = Dfs0(dfs0file)\n", "df = dfs.to_dataframe()\n", "df.head()" ], "outputs": [ { "output_type": "execute_result", "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
VarFun01NotFun
2017-01-01 00:00:000.8435470.640486
2017-01-01 05:00:000.0937290.653257
2017-01-01 10:00:00NaNNaN
2017-01-01 15:00:000.3050650.214208
2017-01-01 20:00:000.9001900.999157
\n", "
" ], "text/plain": [ " VarFun01 NotFun\n", "2017-01-01 00:00:00 0.843547 0.640486\n", "2017-01-01 05:00:00 0.093729 0.653257\n", "2017-01-01 10:00:00 NaN NaN\n", "2017-01-01 15:00:00 0.305065 0.214208\n", "2017-01-01 20:00:00 0.900190 0.999157" ] }, "metadata": {}, "execution_count": 15 } ], "metadata": {} }, { "cell_type": "markdown", "source": [ "## Create a timeseries with non-equidistant data" ], "metadata": {} }, { "cell_type": "code", "execution_count": 16, "source": [ "d1 = np.random.uniform(low=0.0, high=5.0, size=5)\n", "\n", "ds = Dataset(data=[d1],\n", " time=[\n", " datetime(2000, 1, 1, 0, 0),\n", " datetime(2000, 1, 8, 0, 0),\n", " datetime(2000, 1, 10, 0, 0),\n", " datetime(2000, 2, 22, 0, 0),\n", " datetime(2000, 11, 29, 0, 0)],\n", " items=[ItemInfo(\"Random\")])\n", "\n", "ds" ], "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "\n", "Dimensions: (5,)\n", "Time: 2000-01-01 00:00:00 - 2000-11-29 00:00:00\n", "-- Non-equidistant calendar axis --\n", "Items:\n", " 0: Random (undefined)" ] }, "metadata": {}, "execution_count": 16 } ], "metadata": {} }, { "cell_type": "code", "execution_count": 17, "source": [ "ds.is_equidistant" ], "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "False" ] }, "metadata": {}, "execution_count": 17 } ], "metadata": {} }, { "cell_type": "code", "execution_count": 18, "source": [ "dfs = Dfs0()\n", "dfs.write(filename=\"neq.dfs0\",\n", " data=ds,\n", " title=\"Non equidistant\"\n", ")" ], "outputs": [], "metadata": {} }, { "cell_type": "markdown", "source": [ "## Create a timeseries with accumulated timestep" ], "metadata": {} }, { "cell_type": "markdown", "source": [ "## Find correct eum units" ], "metadata": {} }, { "cell_type": "code", "execution_count": 19, "source": [ "EUMType.search(\"prec\")" ], "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "[Correction of precipitation,\n", " Precipitation correction,\n", " Precipitation,\n", " Specific Precipitation,\n", " Precipitation Rate]" ] }, "metadata": {}, "execution_count": 19 } ], "metadata": {} }, { "cell_type": "code", "execution_count": 20, "source": [ "EUMType.Precipitation_Rate.units" ], "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "[mm per day,\n", " mm per hour,\n", " cm per hour,\n", " meter per sec,\n", " meter per day,\n", " feet per day,\n", " inch per hour,\n", " inch per min,\n", " inch per day,\n", " mm per year]" ] }, "metadata": {}, "execution_count": 20 } ], "metadata": {} }, { "cell_type": "code", "execution_count": 21, "source": [ "from mikecore.DfsFile import DataValueType\n", "\n", "n= 1000\n", "\n", "data = [np.random.random([n]),np.random.random([n])]\n", "\n", "time = pd.date_range(\"2017-01-01 00:00\", freq='H', periods=n)\n", "\n", "items = [ItemInfo(EUMType.Water_Level, data_value_type=DataValueType.Instantaneous), # use default name and unit based on type\n", " ItemInfo(\"Nedbør\", EUMType.Precipitation_Rate, data_value_type=DataValueType.Accumulated)] # use a custom name\n", "\n", "ds = Dataset(data, time, items)\n", "\n", "\n", "dfs = Dfs0()\n", "dfs.write(filename='accumulated.dfs0',\n", " data=ds,\n", " title='Hello Test')" ], "outputs": [], "metadata": {} }, { "cell_type": "code", "execution_count": 22, "source": [ "dfs = Dfs0(\"accumulated.dfs0\")\n", "ds = dfs.read()\n", "ds" ], "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "\n", "Dimensions: (1000,)\n", "Time: 2017-01-01 00:00:00 - 2017-02-11 15:00:00\n", "Items:\n", " 0: Water Level (meter)\n", " 1: Nedbør (mm per day)" ] }, "metadata": {}, "execution_count": 22 } ], "metadata": {} }, { "cell_type": "markdown", "source": [ "# Modify an existing timeseries" ], "metadata": {} }, { "cell_type": "code", "execution_count": 23, "source": [ "dfs = Dfs0(\"test.dfs0\")\n", "ds = dfs.read()\n", "ds" ], "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "\n", "Dimensions: (10,)\n", "Time: 2000-01-01 00:00:00 - 2000-01-01 09:00:00\n", "Items:\n", " 0: Zeros (meter)\n", " 1: Ones (meter pow 3 per sec)" ] }, "metadata": {}, "execution_count": 23 } ], "metadata": {} }, { "cell_type": "code", "execution_count": 24, "source": [ "ds['Ones']" ], "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "array([1., 1., 1., 1., 1., 1., 1., 1., 1., 1.])" ] }, "metadata": {}, "execution_count": 24 } ], "metadata": {} }, { "cell_type": "markdown", "source": [ "Modify the data in some way..." ], "metadata": {} }, { "cell_type": "code", "execution_count": 25, "source": [ "data = ds.data\n", "data[1] = data[1]*np.pi\n", "data[1]" ], "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "array([3.14159265, 3.14159265, 3.14159265, 3.14159265, 3.14159265,\n", " 3.14159265, 3.14159265, 3.14159265, 3.14159265, 3.14159265])" ] }, "metadata": {}, "execution_count": 25 } ], "metadata": {} }, { "cell_type": "code", "execution_count": 26, "source": [ "dfs.write(\"modified.dfs0\", ds)" ], "outputs": [], "metadata": {} }, { "cell_type": "code", "execution_count": 27, "source": [ "dfs = Dfs0(\"modified.dfs0\")\n", "res = dfs.read()\n", "res['Ones']" ], "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "array([3.14159274, 3.14159274, 3.14159274, 3.14159274, 3.14159274,\n", " 3.14159274, 3.14159274, 3.14159274, 3.14159274, 3.14159274])" ] }, "metadata": {}, "execution_count": 27 } ], "metadata": {} }, { "cell_type": "markdown", "source": [ "The second item is modified." ], "metadata": {} }, { "cell_type": "code", "execution_count": 28, "source": [ "res['Zeros']" ], "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0.])" ] }, "metadata": {}, "execution_count": 28 } ], "metadata": {} }, { "cell_type": "markdown", "source": [ "## Convert units\n", "\n", "Read a file with waterlevel i meters." ], "metadata": {} }, { "cell_type": "code", "execution_count": 29, "source": [ "filename = \"../tests/testdata/waterlevel_viken.dfs0\"\n", "# filename = r\"C:\\Program Files (x86)\\DHI\\MIKE Zero\\2021\\Examples\\MIKE_21\\FlowModel_FM\\HD\\Oresund\\Data\\1993\\Boundary_Conditions\\waterlevel_viken.dfs0\"\n", "dfs = Dfs0(filename)\n", "ds = dfs.read()\n", "ds" ], "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "\n", "Dimensions: (577,)\n", "Time: 1993-12-02 00:00:00 - 1993-12-14 00:00:00\n", "Items:\n", " 0: ST 2: WL (m) (meter)" ] }, "metadata": {}, "execution_count": 29 } ], "metadata": {} }, { "cell_type": "code", "execution_count": 30, "source": [ "import matplotlib.pyplot as plt\n", "plt.plot(ds.time,ds.data[0])\n", "plt.ylabel(ds.items[0].name);" ], "outputs": [ { "output_type": "display_data", "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYoAAAD4CAYAAADy46FuAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAABTYElEQVR4nO29d5xkV3nn/T2Vc+fu6clRI42EEoNAAoFIRmsbSdhmDfa7htd4sdc4p+VdnBbsXWzWXr9ee9dmbbINGFgbEQyIpICQUA4jTY49PZ2ru3I++8cNXeFW6O66FbrP9/PpT1fqqnOrq+5znvR7hJQShUKhUCjq4ej2AhQKhULR2yhDoVAoFIqGKEOhUCgUioYoQ6FQKBSKhihDoVAoFIqGuLq9gHYzOjoq9+7d2+1lKBQKRV/xxBNPLEgpx6zu23SGYu/evTz++OPdXoZCoVD0FUKIC/XuU6EnhUKhUDREGQqFQqFQNEQZCoVCoVA0RBkKhUKhUDREGQqFQqFQNEQZCoVCoVA0RBkKhUKhUDREGQpFRyiVJA+cnOcT3z9PsaSk7RWKfmLTNdwpepMvP3eFX/n0UwDsGg7w2sPjXV6RQqFoFeVRKDrCsekVHAI8TgcPnVro9nIUCsUaUB6FoiOcnk1w1USY0ZBXGQqFos9QHoWiI5yaS3BwPMSrDo1yYjbOXCzT7SUpFIoWUYZCYTvpXJFL0RSHxsO8bO8wAM9OrXR5VQqFolWUoVDYzpn5BFLCwfEQe0cCAFyKprq8KoVC0SrKUChs5/RcAoBDEyGGgx6CHicXl5ShUCj6BWUoFLZzeTkNwO7hAEIIdg0HuKQMhULRNyhDobCduViGsM+Fz+0EYOeQn6lousurUigUraIMhcJ25hNZxsNe8/pY2Md8PNvFFSkUirWgDIXCduZiWcbKDMV42MtiMke+WOriqhQKRasoQ6GwHc2j8JnXxyOa0VhIKK9CoegHlKFQ2M58PMtoqNyj8Jm3KxSK3kcZCoWtZPJFUrkiw0G3eZuRr5iLKUOhUPQDylAobGU5lQdgMOAxbzNCT3PKo1Ao+gJlKBS2Ek3lABgqMxRGGGourvSeFIp+QBkKha2sGorV0JPb6WA46FEehULRJyhDobAVI/Q0FPRU3D4e9qochULRJyhDobAVq9ATwFjYy7wKPSkUfUFXDYUQ4k4hxAkhxGkhxHsbPO7HhRBSCHG0k+tTbJzVZLa74vbxsE+FnhQd4w/vPcaP/o8H+dj3zrGo+nfWTNcm3AkhnMBfA28EpoDHhBD3SilfqHpcGPhV4NHOr1KxUaLJHH6309R5MhiPeJmPZymVJA6H6NLqFFuBUknysYfPA/D85Rf43BNTfOVXbu/uovqMbnoUtwCnpZRnpZQ54DPA3RaP+wDwJ4CKU/Qh0VS+IpFtMB72UihJMzSlUNjF+cUkAP/xzqu5afcgx6ZjJLOFLq+qv+imodgBXCq7PqXfZiKEuBnYJaX8SqMnEkK8WwjxuBDi8fn5+favVLFullO5ih4KA6M7W4WfFHZjTFO84/AY77njIAAvXIl1c0l9R88ms4UQDuDPgd9s9lgp5YellEellEfHxsbsX5yiZaKpHENBC49CNd0pOsQzU8v43A4OjYd4yc4BAJ5To3jXRDcNxWVgV9n1nfptBmHgOuC7QojzwCuAe1VCu79YTuUtPYoxo+kupiKKm4GvPHuFs/OJbi/DkmenVrhu+wAup4OJiI+xsJfnLytDsRa6aSgeAw4JIfYJITzA24B7jTullCtSylEp5V4p5V7gEeAuKeXj3VmuYj1EUznLHMWorve0lFQ5in4nky/ynn98kh/+ywe7vZQaMvkiz02tcPOeIfO2l+wY4LkGhmIhkeU3Pvs0x2dUeMqga4ZCSlkAfgn4OvAi8E9SymNCiPcLIe7q1roU7aNYkiyn8zU9FABBjxOvy8GiMhR9z/GZOACZfIlSSXZ5NZU8eSFKrlji1v0j5m3X7RjgzHyCVM46of2BL7/A/3nqMj/70ceIZfKdWmpP09UchZTyq1LKq6SUB6SUf6zf9vtSynstHnuH8ib6i1g6j5RYhp6EEIyGvCwmlKHod45Nr+7OL/bYLPSnLi0D1HgUJQkvTNd6DLFMnn99foYjkxGmVzJ88enpTi21p+nZZLai/7HSeSpnOOhhMamS2f3O+YWkefnEbLyLK6nl2PQKe0YCDPhXP4PX6wntp3UjUs6zl1bIFUq870euwed2VBzbVkYZCoVtRA2dJwuPAmAk5FEexSZgejnDhF7FdnKm1wxFjGu3Rypum4j42DMS4NFzSzWPv7yseUS7hwPsHg70nIfULZShUNjGsuFRBOsYiqBXySk0QUrJB778Aq/84Lf5gcWJrRe4vJzm0HiY7QM+zi321g58NpZhx6C/5vaX7xvm8fMWhiKaxiFg24CP3cNBLi4qQwHKUChsZNWjsA49jYY8LCRzSNlbCdBe4okLUf7+oXNcXk7z4KnebCadXk6zfdDHaLi3ck6ZfJFMvmSZI9s/FiKayhOvSlZPLaeZiPhwOx3sGvZzeTndqeX2NMpQKGzD8CisvqighZ5yhRLJXLGTy+orvntiHqdDMBL0cHqu9/oUiiXJfCLLtoiP4aCnp8qd6wlSAmzXvYwrK5V9PFPRtOmBjId9JLKFutVRWwllKBS2EU3lcDoEEZ+19uRIUItrq/BTfR47v8R1Owa4afdQTxqKRLaAlBDxu3sulLictpa4B9g+oEnITJd5DFJKTs3GOTQRAjQpfIB5pR6gDIXCPqKpPIN+N0JYq8OOhLQv8EIPhSt6CSklx2fiHJkMc3A8xPnFJIViqdvLqsAI3UR8bq04oYdCidGk7lH463sU08urHsV8PEs0lefwRBjQhCuN27c6ylAobEMTBLTOT8Dq7Oxe2oX2ErOxLCvpPFdvi3BwPES+KLnQY1U4CV2FNeRzMRL0kO2hUGKj0Od42IvTISo8CqO096ptmqEwPAqlR6YMhcJGoknrrmyDYb0aSnVnW3NOr+E/MBbi4LgWDum18FMioxsKr8v8fy71iIe4nDbG8NZuVlxOBxNhL9MrZYZCL+1VHkUtylAobCNaR2LcwDyxKENhybzuaU1EvBwYCwK9Zyji5R6FEUrskSZKI5k9YBF6Ai38VOFRzMQZDXkY0T3doYAHl0Mwp0b2KkOhsI/lOkOLDHxuJwGPk6gyFJYYyrrjYR9hn5ttER9nesxQGB5FxOcyixN6xaOIZfK4nQJ/1XRFA81QrBqBk7NxDuthJwCHQ5OZUR6FMhQKm5BS6rMo6nsUoHkVS2rKnSXziSwel4OIX6saOzge4nSPSXnHzdCTuyyU2Bsn1lg6T8RXv5hictDHzEqGUklSKklOzia4aiJc8ZixsFflKFCGQmET6XyRbKHUMJkNmqFQHoU187EsYyGveaI7OB7izFyiZ6qKABJZLbxTHnrqlZzTSjpfN+wEsGPQT65YYiGZ5VI0RTpfNPMTBmNh5VGAMhQKmzA6dEf1cEQ9hgK91aTVS8wnsmblDcCB8RDJXLGmSaybJDIFhICA20nA48LvdvZQ6KlAuIGh2D6wWiJrJrK3VRqKceVRAMpQKGzCSMSWn+isUKGn+szFsmblDcDBMa3y6UwPhZ9W9PCOw6F5PZoicG/8P7W1WTd7ghZ6AriynOakXhp7yMKjWExkKfbYnI1OowyFwhYMd72ZoRgKeMzGKEUl1R5FL5bILqfzFeHFAb+bWLo3/p/xFkJPoIkanphNsHPIT8hbaVhGgh5KcrUnY6uiDIXCFgxDYTTV1WM46CaRLZAt9EaTVq+QK5RYSuYYD/vM20ZDHgIeJ1PR3hGqi1bNRA95XWYTXrdZSeeJNDAUA343Qf39fPFKrCY/Aasje3vFS+oWylAobGFBDz0ZCc56GFVRRs27QsOoHBqPrBpaYyrgQg91sq+kchUSGQGvk1QPdGZLKYllGnsUQgj2jAR58mKU03OJiil4BkbJby+9591AGQqFLczHswwHPbidjT9iwwHVdGfFXEwP3VV5ZL1WhaN5FKsn46DXRbIHPIpMvkS+KIn4Glfd7RsN8uyUNsr1tgMjNfePGpVcPZKg7xbKUChsYT6erTnJWWF4FKpEthKjsmki4qu4fTTk6and7XIqVyHTEvL0RuhpRc+TGD0o9dgzEgC09/X6nYM1948oPTJAGQqFTVQnYuuh9J6smYpq4n+7hiuns/WSR1EsSWKZQkV4p1dCT7FMY/kOg3tu2sH+sSA//+oDOB21jXmDfjcOoRSOG5tbhWKdzMez7NkTaPo4Yzca3eJVJdVcWkoR9rlqTnSjIS/RVJ58sdQ0rGc3xq69PPQU8rpI5gpIKet2RHcC06NoEnq6aiLMt3/zjrr3OxyC4aC3Z7rNu4XyKBRtR0rJQosexVDAjcfp4HIPVfL0ApeiaXYNBWpOtsZ72gsxc3MmelnoKeh1ISVd9yqMEt1mHkUraOG+7r/f3UQZCkXbSWQLZPKllgyFy+ng8LYwx6ZjHVhZ/3BxKVUTdoLVcuNeyFMYMt4DVclsgGSXx4caoadG5bGtMhLyqBxFtxeg2Hy02mxncN2OCM9Pr/SUhlE3kVIyFU2xa6g2dNdL4zktPQqPptSazHbXo1hpIjG+FkZD3i2fQ1OGQtF2Wm22M7hp1xDLqTyneqjjuJvMJ7Jk8iV2j1gYCv09ne+BHa7R+1LeR2F6FF2ufIrpqrbhBhIeraLNAleGQqFoK0Y8t1WP4raDWv36Q6cWbFtTP3FJH3dq5VEYxrcXPIpoyjqZDXS9RHYlnSfgcbYl4T8S8ujh1O5Xc3ULZSgUbWdenwjWSh8FwM6hAHtHAjx8RhkKgMv6MJ0dQ7U5Cr/HScjr6okcxUoqhxCVlUUBPfSU6naOoonO01pQlXnKUChsYD6RxekQDedlV/PKg6M8cnaJfLFk48r6A6P5cKTO0CdNeK/7TW3L+snYUdZ/sOpRdDlHoavatgPDY9rKMjPKUCjaznw8y0jQU3ECacarDo6SyBZ4dmrZvoX1CUtJbadeb0cc9rnMqh47ODa9wms+9B2++tyVho+LpvIV+QnopRxF+zwKw1Aoj6JLCCHuFEKcEEKcFkK81+L+3xBCvCCEeFYI8S0hxJ5urFOxNhYSuZbzEwa3HhhBCHjo1KJNq+oflpI5BvxuXHXi6xGbpbz//sFzXFhM8Qf3Hmv4uOVUrkI5FiDo6RFDkS40le9oFcMzVh5FFxBCOIG/Bv4NcAR4uxDiSNXDngKOSimvBz4P/GlnV6lYD/Px1prtyhkMeNg3GuSFKys2rap/WErlTGkTKyI+t1nVYwdGRdV8PNswF7JcJQgIEPT2SHmsCj21lW56FLcAp6WUZ6WUOeAzwN3lD5BSfkdKmdKvPgLs7PAaFeugVUHAavaPhji3kLRhRf1FNJkzVXWtiPhdtnoUS8kcHpd2ajipjwi1Yjmdq8lDuZwOvC5HTzTctaPZDlQyG7prKHYAl8quT+m31eNdwL9a3SGEeLcQ4nEhxOPz8/NtXKJirZRKmnzH6Bo9CoD9Y0HOL6a2/NjJpWTOVNW1QvMo7DMU0WSOW/drJcsnZhsYipR1HiDUZanxYkkSzxTaZih8bic+t2NLT7nri2S2EOL/AY4CH7K6X0r5YSnlUSnl0bGxsc4uTlHBcjpPoSTX6VEEyRVKTC9vbd2nhUSubsUTaDmKRLZAyQaDKqVkMZnjqokQYa+L83U8vEKxRDxTqAk9gaYg201DkdDDcu1KZgMM+j0q9NQlLgO7yq7v1G+rQAjxBuB9wF1Syu4XjysaYsS015qjAG2IDMDZLRx+KhRLLCazjFfNoSgn4tOE9+I2nIzT+SLZQonhoJc9owHOL6YsH2eos1qVQAc9rq6Wx5o6T23oyjYYDLjNBsOtSDcNxWPAISHEPiGEB3gbcG/5A4QQNwF/i2Yk5rqwRsUaWavOUzn7xjRDcW5+Vcrji09f5vf+5fkt0xW7mMwhJUxE6r9/xk7ZjjzFUlkPx96RIBcWrY22VVe2Qcjr6mrD3erQovZ5FEMBDytpFXrqOFLKAvBLwNeBF4F/klIeE0K8Xwhxl/6wDwEh4HNCiKeFEPfWeTpFj7BWnadyxkJewl4XZ+a1k9NsLMOvfuZpPvnIBf7m/jNtXWevMhvTurLHww08CsNQ2JCnMAzFUNDD7uEAU9G0ZYjLOGlahXcCXc5RtFNi3GCrexRdHVwkpfwq8NWq236/7PIbOr4oxYbYiEchhOCmPUN8+/gcoa8d5+MPnyfgcTI54OMT37/Ae157sOvDeuzGmJU93uD9M8o+7ejONgzFcNDNeNhLoSSJpnLmSFADI15vFXoKeZ1cjvaAR9Gm8ljQyrebJbNLehJ9wMLL6nc297dO0XEWElk8Lse648M/fvMOLi+n+V/fPUPQ6+Lv3nGU337T1Swlczx6dqnNq+09ZmLWs7LLMRrJ7PAojBLQ4aCXMd2rsVKqbRR6CnpcXe2jMMegtvGEPRRws5zKN5TC//yTU9zw/m/w/OXN1wukDMUmZGYlwx/ee8ycu9xJjB6K9Y7B/JGXTHLdjghH9wzx8Htfx20HRnnNVWN4XA7uP7n501SXl9O4naIlj2LFhhyFIac9HPAwGtK8hYV47U7a2F1Xd2aDJuPRzT6KVY+ivcnsQkk2VMV95IymKvCxh8+37XV7hZbfSSHEELAdSAPnpZRKva1H+dQjF/jYw+c5Nr3C537hto6+9pWVDOMNErHNcDkdfOE/3IbL4TCH3fs9Tm7cOcgPzkfbtcyeZSqaZvugv6FOVsTGZHY0lcPpEET8LrMXxqo7eyWdxyEg7K09hQT18thuzc2OpQs4xKqcSDsYLJPxCNcJaRkG6kSDJsV+paFHIYQYEEL8JyHEc2id0X8L/BNwQQjxOSHEazuxSMXa+M4Jbef92Pkolzvck3B+Mcm+keCGnsPrcppGwuDo3iGev7yy6aufLkdT7BislRcvJ+x1IQS2yHgsJfMMBTwIIRpO04umcjXKsQZBr4uShEy+O3tJoyt7LaKUzTDEDxt5cRf0OSKn5uKbrmm0Wejp82jd07dLKQ9LKV+lN7btAj4I3C2EeJftq1S0zGwsw7HpGK+/ehyA0x2cGpfOFbmykmHv6MYMhRXX7RigWJKcmt3cU/CmoummhsLhEIS89sh4RJM5hvTYftjrwuNyWHoUy6l8XRn5UJfnZrdT58lgsIkwYLEkubiYYjjoIZMvmcOnNgsNDYWU8o1Syk9KKZct7ntCSvlrUsq/t211ijVz/0lNwuTtt+wGYGalcx7FhSWtrHWfDYbiyGQEgBevxNr+3L1CtlBkLp5lp8Vku2rskvGIZ1c1koQQjIW8lsns5VS+brI40GUF2XYOLTIwhQHr9FLMxDLkiiXeeM0E0Fj6pB9pOZkthLheCHGXEOLHjB87F6ZYHz84t8Rw0MOrrxpDCC1n0CnOzdtnKHYPBwh6nLywiQxFLJOvCOtMN5hsV03EpuFFiUzB9AgARkMey9CTlSCgQUhXkO3WONSVdL5tEuMGhuGp51EYjYlvOKIZikZiiv1IS++mEOIjwPXAMcAIPErg/9i0LsU6efz8Ei/dM4TH5WA05GWmk4ZC/7LYEXpyOARXT0Z4YXrzGIqf/t+P8tzlFU7+0b/hvhdmec8/PgnQNPQEWkWPHR5FIltg5/CqRzMW9pqjWctZTuW5ajxs+Ryrw4u6k0+KZQoNy4vXw0CTHMUFXerkmskwu4b9m86jaNXsvkJKWT0rQtFjzMUznF9M8VMv18JOkwO+jnsUY2FvxY60nRyZjPAvT13uWjVNO8nkizyn19t/7dgM//DIBfO+nS16FHbEwRPZQkUl02jIyzNTtX0BjUJPRlVQ3EaF20as2BB6MhRk6xmKqWgKp0MwOeDn8ESYk5vMULQaevq+xVAhhc3MxTP88qefajku/4RePnp07zCgdfdahQ3K+c7xOf7p8UsNG4laQUrJc5dX2G+DN2FwYCxIPFswu4f7mScvrJb6fv35GZ68GOXm3YP82M072N6SR+EmbkPVUyJTMD0C0AzFYiJbUcWTL5ZIZAt1Q0+DTcI0dhNLt28WRTmagmydHMVKlvGwF6dDcNVEmLPzSXKFzdNB0OrW7xNoxmIGyAICkPrkOYVN/NGXX+RLz0xTKkn++qdvbvr456dXcDoE120fAOrvBsv55U8/RSKrxaV/+CWT617rA6cWOD4T54/uuW7dz9EMo1N4IVErKdFvGP+X2w6M8BV9NvXv3Hk1r9DnQDTDjuFFpZIkmStWeIRjYS8lqZXDGvpdyw26sqF5mMZOMrr6bbs9CtCOt57xm41lzHDXVRNhCiXJhcUkhyasw3P9Rqsexd8D/w64E3gz8KP6b4VN5AolvnNc64f4zom5ltQ4zy+k2DXkN6eTjYVrd4PlZPJFM+H4qbLQx1pZSub47c89w4GxID/xUvuGEBqdws28pH7g2all9owE+OO3vIQBv5vRkJeX7hlq+e8jPjfxbKGt9fpGOWvYV+lRQGXTXSNBQFhtCOyGoTC8rHAbu7INBvxulusc00wswzbdUBgeoSHHshlo1VDMSynvlVKek1JeMH5sXdkmRkrZNNRzYiZOPFvgHbfuIZUr8s0Xm8tXnFtIViSSy3eDVpzXk89Xbwvz8JnFdXeUfuaxi8zFs/zl22/C53au6zlawWwAS/T/F/D0XILDE2H2jQb5wftezzd/49VrEjw0TsaJNoafjE1DddUTVBpnU+ajznAlp0MQ9rm6YiiMDVU7u7INBvxuVhp4FNsGNEPRqFGxX2n1k/mUEOIfhRBvV+WxG0NKyc985Af8u7//QcPHGRVEb7tlN363k2cuLTd93guLSfaWdUUbu8F6H1ijGe93f+QIQwE37//ysVYPo4JvHJvlhp0DXKuHvOzC+AJaaQ/1E6WS5MJSyiwj9rqclppJjTB0jNpZ+WQYnYochYWMx6rCbP01DwbcXTEUhrELetu/Yal3TKlcgXhZpZWh0zW3iQxFq2bXj5ab+KGy21R57Dp48NQCD55aALSkYL1d5Ln5JEJoPQn7RoOcnW/ckbycypPMFdlVVdoImqG4xiL9cHougRCaPMabb9jOP6+joqhUkrxwJcY7bt3T8t+sl5DXhdflsGwA6yemV9LkCqUNlRGXh3d2NXlsqxgT80K+yhwFVBrnRXO4UePhSt2YMW2U5AZtqLwbDHgsG+6MEnRj2FTQ6yLgcW4qj6Kld1NK+f/avZCtwv95csq8fHY+yeFt1smu84tJtg/48bmdHBgPNfUoDE2nHYOr9eNjFvHlcs7MJ9k5pL3G7uEA8UxBk2ZosFOs5koss+GTXqsY+kMLff4FNGru94w078CuhzmToo0ehdFJXV4ea8h4zFt4FEPB+gnjQb+nKx6FkWexw1AM+N1k8iUy+WJFiNXIRWwr690Ya6HisJ9oJgr4u0KI4Qb3v04I8aPtX9bmpFAs8Z0T87xkhxaiOT5Tv+xVyzdoJ5L9o0EuRVMNBfGMfonJgdXSytEmsdIzcwkOjoUArfMZ4OIaa/Mv6POtNyoE2CqjdSQl+gnDqO8cXL+hWB2H2sYcRabWozBkPMqN81IyR9jrwuuqH94J+1y2lO82I2mRZ2kXRpVXtQE0hk1NDFRu0raMoQCeA74khPiWEOJDQojfEUL8vhDik7qi7JuBR+1f5ubgmakVVtJ53nHbXmB1Z2nFuYXVfMOB8RBSNn78tH7yKa/BD3qc+N31XeBL0ZRpIPbor3VhjYbCyKXs6YBHAZtjp3ZF73SeGFh/ia8dw4vidU6yo+FK47yYzDEcaux1hryurkh4GIYi4LEhR+HXjrm6OMRq2NR4xMtcvP+LLgyaiQJ+UUr5SuAX0OQ7nEAM+BRwi5Ty16WU8/Yvc3Nw/4k5HALecM04ExFv3RN/NJljJZ03k51GE9uZBnmK6ZU0HqeDkbKwkRmqsdiBxzJ54pmCaVi26yGr6TXKkl9YTOF1OZhss2RCPUZD1sfTT1xZSTMa8jbckTfDjpkUpkdRZSjGqvSelpLZhols0Lqzu+NRaF63HR6FEWqLJivf85mVDCGvq7L/ZJN5FK3mKE4Bp2xey6bn/pPz3LR7iMGAhz3DQS7qaqvVHNfLVA/oYaH9Y7qhaCAZPr2cYXLQV6PBPxryWIZqjF2tYSjCPjdhn4srazQU5xaS7BkJtFX7vxFjYS+LyRyFYglXn87Pnl7JmIZ5vYQ87Z9Jkcxax/dHQ16evrTauLmYyDWVGQn7NI+iWJI1s0XsZNWjaL+hMIxjtUehNdtVeodjYS+xTKEmn9Gv9Oc3rQ9ZTGR59vIKr7lqDIDdI4G6HsVDp+dxOgQv3as1YAU8LnYM+jm7YG1YAK4sp5kcqD351AvVWIWqdgz6LQXg6nF2PsF9L8yaYatOMBb2IiV9LeMxXed/tRYcDkG4zTMpEtkCPrejphJvNORlKbnauLmUzLXgUXRnJkUiV8DjdJhNp+1kWC9hXkzWGoptVf/PzdZLoQxFh3jk7BJSwu2HRgHYMxxgLp4lnatNUH//zCI37ByoGL6yfyzYOPS0nLbUCNJCT7Un1SmzSmr1bzQRwdY9iv/53TMAvHxf3XqHtjNmNID1afhJSqkb9eZ6Ts2I+Ns7kyKeLRDy1lYyjUe0xs0Li0mklERTOYYblMbCqqHodPgplS3a0kMBq8OLojWGIlujVjuuy81sll6KdRsKIcSvtXEdm57nLq/gdgqObNcG8OzWSyMvRSu9inyxxLHpGDftrpRzODAW4sxcwrKju1AsMRvPst3i5KPtBnPki5UCZVPRFB6nw2wOAs27aDVHIaXkmy/O8pabdvBzt+9v6W/aQb/v1GKZAslcccOhJ9CHF7U5RxGyOMm+8cgEbqfgnR99jMvLafJFWZELs8IwOO3sHG+FZLZgS2ksgMflIOx1VXizpZLUPIoqQ2GUmHejl8QONuJR/EbbVrEFODa9wuFtYTOBaVQbVYefTs7GyRZKXL+zssv58LYwyVzRMvw0F9fCAvU8CliVXTCYWkqzY8hfkVvYPugnmspbejnVxNJaz8W1uuHrFKvaQ/35BTQ8tvZ4FK62lscms4WK0liDyQE/v/Omq7m4lOJLz2gChq2GnjotNW4IXNrFUNBTYSgWklkKJVkTejLGyXZLQbfdbMRQ9PdAgA5zZi7BobJBL2Y56mLlid+Q1bh6W+UJ+FZdVfThM4s1z22efCx2qfWa7qaiqZqEpLHLbSX8ZIR+xsLrL/FcD81kSXqd1SKCNnkU7ZTwyBbqJoHfcdtefG4HX3pmGoCRZuWxhqHocIlsKle0pTTWYCLirRD7m4rqPTFV3yWjlLaeiGC/sRFD0T7Zyk1OqSSZi2crdh1DATdhr6umwc0YRrN7uLIZa89IgOGghxema2XDjQS01WS0ek13U9F0zWxmY5c73UJC23i+0Q7LffeSPIKUkjPzCbKF1ie5Ges2YtgbQRuH2r4TUSZf/yTrcTm4fuegOYrWaBqtu7Yu5SgSNoaeAHYNBZgq+84ahmJX1Xcp7HPhEFsk9CSEiAshYhY/cWB7h9bY9ywmc5p7WhbHFEJYVj5dWEwxHvbir/rCCiEYDXlqargBs6TVsurJYgeezBZYTNaWOBqGppU8xUKXPArjNVvppfjIQ+e45ve+xu9/8Xlb1vGxh8/z+j+7n//ylRdb/pvFFgT1WkXzKNp3Ik7ni/gblHIaxuHAWLDpPJBuTblL2hx62jkcMGVrYHVjVz3n3OEQut7VFvAopJRhKWXE4icspbTvv7HJmLXo3ATNS6j2KC4spWq8CYPBgMdSMvzycpqwz2V+OctZlebOVjweqBAQNNYnxOr9jeiWRwGtNTOlc0X+9OvHSeeLfOXZKxue4GeFMb/7049dMv/HzVhKZvG5HW0Jj0T8Wq9CodieSWrNDIXRz/PGI9uaPpdxsu50MlsLPdnpUfiRcnUzNRVNMxL0WL6mJiK4BQyFEOIvhBBvFUIo72EDGOqS1Qmv3cNBpqKpiuEzZ+cT5heymuE6huLkbNxszqvG53YS9roqTqxTeqVVtUfhcTmYCPtaMhQLiSwuhzDHXnaSZnpP+WKJrzx3hUy+xI9eP8liMsf5BvInBl8/NsPv/cvz/OG9x1p6D2ZiGYaDHoolyd/ef7altS8mcowEvW2Z+W2UT7dLKiOTL+FtYCh+7Kad/OGbj/DrbzzU9LkCHicO0Z3Qk1XlVrswNldGtaJVrs+gWwq6dtAsR3EaeAvwsBDivD6T4peEEDcJIVQPRotYqUuC5lHki9JMHi8lcywkclxVZ3yiVnFRuUORUnJiJs7VdVRoQW+6KzuxXlqyTsCBlmS9HG3NoxgJeTrWkV1Os9DTD///D/Jbn3sGgJ9/9QFAqzprxPOXV/j5Tz7BZx+7xMe/f54P33+m6TpmYxmO7hninht38I8/uGB2BTdiMZlrmghulUibhQEzucYehd/j5J2v3NeS9IgQouN6T1JKW8tjocxQ6N+hyxa5PoNGo1P7jWahp7+SUv6UlHIvcBva/In9wOeA5Y2+uBDiTiHECSHEaSHEey3u9wohPqvf/6gQYu9GX7MbzMYyOMTqtDADU7F1McXl5bQZSz84bu0dDAW0HUp5GGU+kSWayteVKwctob1Q5VF4XQ4zf1HOjqFAyx5FN/IToHkUy6m85fD65VSOU3rl2E+/fDeHJkI4HaLp9L77T2qSZd977+v44esm+fKzVyg1GTM6s6J15L7hmnEy+RLnGnTOGyy2oJPUKkbCuF1y3ul8Eb+nffu/cJurspqRK5YolKSthmJbxIfbKZiKpiiVpF4UYu1RDNWZX9GPNP1UCI3rgbuAu4HXoHkaf7aRFxZCOIG/Bv4NcAR4uxDiSNXD3gVEpZQHgf8O/MlGXrNbzKxkGA15a7SJDENxfjHFL37qCe57YZZX7B/m5jqzk4eDHgolWVFyeHJGOykebjDEfSzsregQvbSkfbitwh/bB3zMrGSaxvQXErmu5CegbJiOhVdhhJj+4idv5A/vuhaf28nekUBTQ/HI2UUOT4QZC3t53dXjLCZzvNhABj6dKxLTp5oZu8ypaPPw1pIeemoHptR4G07Gef0k28ijWCthn6ujOQpzaJGN5bFOh2D7oJ9L0TRz8Sy5YqlJ6GkLeBRCiPuAR4D3oE24+y9SypdKKe+UUv7nDb72LcBpKeVZKWUO+AyaISrnbuDj+uXPA68X7QjudpgZCy0Y0Brc3E7BZx67yDNTK7z/7mv5zLtvrZDuKMeQEFguCz8ZMy0aeRSTEU2awzj5Ty2n6rrLY2EvuWKpbjhjJZXn5z/5OM9dXrH0SDqB0S9i5fkYfSnXbo+YmkUHxkLmfHArcoUSj5+PcusBrVfltoPa7x+cW6r7N0auaCToMUsjm83ykFKy0MbQ00Cd+QjrIa3POmmngF2nZ1LUEzVsN9duj/ClZ6b5+U89AWhjAKwYDGgKuu0qNugmzTyKs0AJOKT/HBRCjLbptXcAl8quT+m3WT5GSlkAVoCR6icSQrxbCPG4EOLx+fneUz3X1CVrDYXTIdg5FODZqRUCHif33FR9+JUM6zLHS2UJslOzCUZDnoblipODfjL5krm7mYqm2TVsvQtarZKyruL5q++c4uvHZgEsu3g7gTEkySrUc25BGyFbXtE1qXtJ9Xju8grpfJFX7Nc0q7ZFfPjcjoZlwoahGAy4GQi4ifhcZty6HslckVyh1LbQ04C/fYYiY4OhCHldxLOd21Eb+ZCwzZ/Ld71Kk6wxpk5WN8caDOkbu25M+ms3zXIUPy+lvBW4B/gu8FLgU0KIJ4QQH2/0t51ESvlhKeVRKeXRsbGxbi+nBk00zPpEboSfXrF/pGmS0EqU7Nxi0pxbUY/tujczvZImnsmznMrX9ShMMbOYdbL4Gy/MMhHxEva5uGVv58QAy9k55MflEJy3MBRn5pPsGPRXnPC2Dfg1jaU6iVUj0X3DrkFgdY5HI0G3Fd3oDugduJMD/oqOXSsW9VBZM52kVmmrochpu952hp4G/O6OniQT5uAleyvxXrpniBfff6d5vZ7hNybibYYS2VZNbxZIAWn98k5go5/2y1AxF36nfpvVY6aEEC5gAKjVsOhhMvkiK+k8E3U6cQ2X/87rmtemGzLH5SWyFxdTvPJgYydvUm+ku7KcwaFH7qo7SQ2s+i4MppfTXFhM8QdvPsI7b9vblhLP9eByOtg1HODsfK2hODufqCkVNhoRZ2IZyzLiF6/EGAy4K6rSxsO+hr0axpffOBloE80a93YYzXbtCj353U7cTtHW0FN1o+dGGAl5WeqgJpfVKFe78HucfO3XbrdsgDUwDPlmKJFtlqP470KIR4ErwH8GwsDfAIellC/Z4Gs/BhwSQuwTQniAtwH3Vj3mXuAd+uWfAL4t7eicshFTsqGOR/FrbzjEm2/YzluahJ1gVZHSECXL5IvMxDLsGWk8e3mP7rWcnk/U1aYxaKTOanSRXzUR7pqRMDgyGeG5y5Ulr6WS5Ox8ssYYGPmheuGn43p5cfkxjTfxKIwwnhFeGAt7mW/iURgnzXYls4UQbdu1m4aijR7FcNBDMldsSWSyHdQb5WoXV2+LmHktK4zPxmZIaDd7R8+hjT19WkrZ1v+2lLIghPgl4OtoI1Y/IqU8JoR4P/C4lPJe4O+BTwohTgNLaMakrzDm5tbT9rntwCi3HWgt7RPxuXA6hPnBM+QDmhmKoaCHXcN+np1axqMneOsZiojPhcflsDxJGt3HVon5TnPDrgG+8twVFhNZMz9zJZYhnS/WNCwaHsUVC0MhpeTMXIK7bqzsKR0Le/ne6YW6r2+UPZoeRdjHfCKLlLKuEV1Mau9pu3IUoDXdtcVQ6Cdzr7t95bFGOfhiMstOT+PP6HrI5Is8dn6J2w9p4WbDo7A7R9Eqg5tIQbbhOyql/Es7X1xK+VXgq1W3/X7Z5QzwVjvXYDdGrL+eR7EWhBAMBdxmCMPY4deT/Cjnhp2DPH4+ylDAQ9jnqnuyEkIwXmcqnnGirW4c7AbX7xwE4NmpFV579TighZ2AGo/CKCSwGvMaTeWJZQrsG638m/EmoyxXUnm8Lod533jYS74oiabydd/bdoeeoH3CgBlbPArtM7+UzNXNiW2En/ibh3n+coxv/sZrODgeIqEnzjvlUTTDUJC1UlPoN1R3tc3MtVEtFGAs7GNO39lfND2K5qNIbzswykwsw5eema4Js9S+hrWhmI1lCHtdtpcftsJLdgzgEPC0XnkCqzPFD4xXvh8+t5PhoIcrFqGhcwva3+yvKggw/l/18hTRVM7cMcLqRsDwIK1YTOTwu51t1SJqV+gpY0uOQvcobMhTXFxM8fxlrTTcKGpIZAoIga0y42vBUJDd9FVPio0zF8/gdIi2VbrsHPKbeYaLSynCXpc5JKURr7t6HIfQJqw16rmA+qJ7V1bSTPRA2Am0WvmD46EKQ3FsWktKW/V3bItYl8gaCfG9VYaiUVIftHCCsWOE5tVioO2s2+lNQPsMhR05itFg/cbIjfLl56bNy8aGKa4rx3Y7f2awmRRklaGwmblYlrGQt22aSDuH/FyKpsxZCLtHAi19MbYN+PhPP3wNhyfC3HVD48S5VsFTe1I9v5Bib5N8SCe5df8Ij55bNHfDPzi/xMv2Dlu+H5MDPsu+iHMLSVwOUZOzMQxFvRP/cjpvNrwB5kjZRgnwhUS2bRsGg142FMOhyuKLdvK90wtcvS1MwOM0BfoSmQLhHvB2y+mEguxHHjpnDpSyi5YNhRDiy42uK6yZi2fbkp8w2DUUIJUrspTM8dzllaYDZMr5udv38/VffzW37Gvc/7At4iOaypPKrfYd/Kd/fo4Ts/GmPRud5I6rNY2lR88tcXI2zoXFFLfVqULZNuCz7HM4t5Bk93DA7OI2MP5n83VCSSupfIUn10roaSmZa2siGzRDEUvnm+pSNWM1md0+QxH0OPG6HGZupl1IKXnywjKv2D/C7uGAWdSRqDPKtZsMBuxVkC2VJO//8gv88qefsrW6bC0exb9vcl1hwVw8a+4224Fxov728TmWU3mzSaydGMlgIyzzxIUl/vHRi8Bq018vcOv+EbwuB985PsffPXgWr8vB3Tdae0vbB/0sW8wDP7dg3bA4EvTiEPU9hOV0riL0FPC4CHldDUNPi4mcmeBtFwN+NyUJidzGpDLsSGZrw7ZaGzK1FubjWdL5IgfGguwcCpgd8XZPt1sPg363rcnsctmYB0/Zp0rRsqGQUl5pdF1hzXw8w1ibEtkA1+7Q5AL+QT9xX7+zdY+iVQz12lNzmpDekxeWARAC3nTtRNtfb7343E5uPTDCxx4+zxeevMxPvXx33R37ZFl3ukGpJOsaCqdDMBTw1N0NL6fyFclsoG61GECxJJlP1O/QXy9md3adOPhiIst/+eqLTQc9ZfIlnA6B29ne+P5w0NP20NMF/eS4azjA7mFt+JeUknjG3ul260Hz+OzTuzo2vSpc+UC3DIUQIiKE+K9CiE8KIX6q6r7/aduqNglSauWS7YxLj4d9bIv4ePrSMj63o+7sio2wZySIyyE4rVcRvXglxkTEy7n/+iMcHG//622E1x7WSmOLJckv3nGw7uOMeeBXyuaBX4llyBZK7Ks3KCrosewsTueKZAulihwFGCq91qGnxUSWYklajqvdCJEmMh4PnV7gww+c5Z0f/UHD5zGm27U7ETwS8rS96uni4mq13+5hP+l8kcVkjkS20DM9FAYRv71S66fnEggBrzo4yv0n522Z5AjNPYqPAgL4AvA2IcQXhBDGlugVtqxoE5HKFSmWZNs/vG+5WQuv3LhrsCa23g48Lgd7R4OcmtUMxcm5uC0GqR286dpt7B8L8uf/9oaG8zG2D9Z6FOf00Fq9vEu93bDZbOev3ACMR3x1Q1UzdcbhbpTBJgqyC/pJ+th0rGEeI12nX2SjjAS9psZVuzAGfW0f9Jn9GVPRNIke9CgiPi2HZNcJ/Mx8gh2Dfn7o2gkuLaVbmuS4Hpq9qweklD+uX/4XIcT7gG8LIe6yZTWbDGMnEWnzuNBfff0h9o8Gec1h+wQQD46FODmrhZ5mVjJrSpp3km0DPr79m3e09Dio9ChO66G1emNkR0IeyzkWRrmjVehpLmbdnX2lzjjcjWJ4q/VCZOUn6XOLtfImBplcEV8bu7LN9YW08F2jjvW1EssU8LudeF1Os9w4qnsUdgsCrpWI30VJasrBdhixswsJ9o+FeM1V2rnggZPzthScNPtkeMtHnkop/xj438ADWMh9KyoxtPjrzZdYLz63k7ce3dW2Jj4rDk1oMxxSuQKLyZytr9UJvC4noyGPuRsFbZc9GvLULTao61E0MBTpfNFy/OdsnXG4G8WQL6m3ay9PJD91cbnu8xihp3YzEvSQLZRItrEiJ5bOm166kZOaT2R7surJ+O7HbQo/XVzUStb3jATZMxLggZP25CmaGYovAa8rv0FK+THgN4H+70u3GUNaodfipq1wcDxESWrDe6RsjwRJt5kc8DNd1nT3/HSMI9sH6u50h4NeltN5ilUhm5W6oaf6vRQzKxlcDtFwbsh6GPS7cTpE3TzAQiLHNZMRwl4XT1+K1n0ebQxq+w2FcSJvZ/gplsmbXrohlGk0ofZaH0W755qXk8oViGUKppf6tpft5trt1rMxNkozraffqXP719AGGSkaYFfoqRMc0pPWhjBePZn0fmJywGcOO8oWipyajfPaBuG7kaAHKTW5jvKxr/U9itXu7OoQz8xKhvGwF2ebGi8NHA7BcNBjCg5Ws6jPNh8Ounnm0orlY4C6mlYbxXjfFpO5CqmZ8wtJPC4H2wetxSkbEc8UzHnhYa8Lt1OYvRS95lEYm0Q7EtqG0oBRIPEf7jjQ9tcwUJ3ZNrIaeuqtD28r7B8LIgQ8eEozFJvBo9ivj0RN54qcnElQKEmu3V4/9zIctO4sjjYIPYF1091MLGOb/MlI0GMmrauZjWl9PEcmI5yYjdcdy5nOl+xJZlvoPZ1bSPKmv3iA1/3Zd8080VrQQk/ae68JZXrMfoJeTGYDbRFurMYwFO0ukLBCGQobWQ099Z9H4XM72TcS5PhMHLdTmL0V/cwt+4bIFyVPXYryxAVtHnYjV91MFFedhJfTOTxOR01MfzxSX0hwJpaxTXV3NGRdWZQvlpiNZ9g+6OfqbRFyhVLd2eHpXIGADYbCKvT0tednyBZKZPIlfvNzz655pnQsU6jw0oeDHrOUe6iHGkKhLPRkh0cRMzyKtXtla6VZH4Uqgd0AsR7Tx18rR/ST6PU7B9uqeNotju4dxud28CdfO8HfPnCW63cONJzlUU+raCWl6TxV5zYiPhdei1keUkpmVqznprcDo7KompmVDFLCjkGfWd58xmIqIGil3HbkKIwhTeXre+JClP2jWknzM5eWeajB3A8r4pl8hZc+FPCY5cG9MCulHGOdduQoDO2ydvfmWNHMo1BNdRtgOaXJStvh0neC/Xqc/c3XT3Z5Je0h4nPzWz90mGcuLXNlJcMH7r6uYcnmauip8sS/mMyZY2nLEUJogopVmlJLyRypXJFdLcwNWQ8jQS8LFl6McSLZPug3jV60Thlt2iZD4fc4CXqcFV7ZM1PL3Lhr0BzYddlCrLERsXShwksfLlPk7TVDEbYx9HRpKc1Y2NuR80v/bxN7GCuZh37iXa/ax/7RIHfdsL35g/uEd71qHwN+N9ftGOCaycYVIkYYo3q3Pt9A6HE8XNt0Z84NsctQhFZHjpaf7A2pi+2DflPAMFpH6iOdL9oSegLtRG4k2xcSWebjWY5sjzAa8iCElkdplUy+SK5YIuJfPXUZRjvkdfVcjsLj0kKUdoSeppZTdSdVtptm7+p+IUT1HGsTKaVqvGtANJU3tXj6kQG/m3tamOXdTwgheOvRXS091u10MBhw14jazcezNYOODMbDXk7p8fJMvsjnnpgyY/C7bZJorzdy9OHTC4wEPewb0QoTPC6H2VVejpRSMxQ2DfwZCXrN8J3RwHj1tggup4PRUK0H1gjjhFvuURglso0687tJxO8yC1vayaWlNDfaIApqRTNDMQ/8WScWshlZSed6LrmmWBuTA/6Kbm4pNXG/eiel8bJZ27/9+Wcr5gTssmEcKJTlARKrI0ellDx0epHbD42as1CGAm6Wk7U720y+hJTgtykPNRrycFl/D1+8oonYXT2p5Uy2Razl3+thxPrLcxRG0UGvbsoivvbrPRVLkunlND/aobBws09GQkp5f0dWsglZTuU3RbXQVmbHoM9s5gKtQCFXKNU3FBEfsUyBcwvJSiMx7LclBwAwGq6dJDcVTbOQyHJ07+rskUG/x1Ly2pg74rdBwgO0XM+zU1oPx/GZOKMhr9lfMRHxmkakFeIWvUnG+2roefUaYZ+r7cnsmViGQknalveqptkn41xHVrFJWU73d45CocX3yyfjGYOM6hkK4/ZHzi4C8BY9dFdaWwXomjD6N8pj/U9e1Lqwy0MT2hCd2p1tSpfXsKuybedQgPlElpV0nuMzMa6ZXBWYnIj4THmTVohZ9CYZ0ujX9agemR0KslN6/qlTOYpmhuK/CiG2GVeEED8jhPiiEOIvhRCNx6RtcaSULKdyDPhV6Kmf2THoJ5YpmDtZI1HdKPQEmvQJaMlzgJfvt+/rMh7WhiyV61gZUtzlHu1QwNqjMMeg2uTxvGzvMFLCQ6cWODETN8uuQTMUS8kc2UJrWlBG9VC5ftpdN+zgT3/iet59+/72LrxNRHztGVdbziXdy7UrnFlNM0Pxt+iaTkKIVwMfBD4BrAAftndp/U0qVyRflMqj6HMMiYlpPTxiNNPVExI0pDu+cWwGj8vBkckI9/36q/mje66zbY0up4OJiM9cI2ihiaGAu6J0sl5SNW16FPYYipt2DxLwOPm1zz5Fvii5pSwcNmGOnG2t8slUOygLPTkdgn97dBcuGyT320G75pqXc1k3FJMdCrc1e2edUsol/fJPAh+WUn5BSvl7QP0pMQpzoPqQMhR9zaqh0L6YxgltLGT9Bd05pJWiJnNFdg8HcDgEhybCtjcsTg74KjyK2Vi2psGvXlLVCD3Z5VH43E5+8Y4D5IsSn9vB0T3lhsKnr7e18NNq1VNvlcE2YiigGYpqccmNMBvPMBL04HV1pkerqaEQQhj/kdcD3y67r3/+U13AGKiuQk/9zQ7dUBhNYfOJLB6Xo6KOvxwhBNfvHATgcAeHPU0O+iuS7nPx2k7wsM9NKleskcxI541ktn0nnfe89iBf/ZXbeeC3X1sxGdBokJtuMaEdS+dxOYSta203gwFNXLKdTXezNnb6W9HMUHwauF8I8UUgDTwIIIQ4iBZ+UtRhpY5wnKK/GA97cTvFqqGIZxkLeRt2dN+gJ5A7+b8/PBHmUjRFUp+FMbNSqy1lGLfq8JPdyWzQDOiR7RFTD8tg32gQj8vBs1PLLT1PXNd5avfIVjsZChrNjtZd8cdnYjxxob4EvBWz8Uzb5683oqGh0AcV/SbwMeBVcnWenwP4ZXuX1t/UUxhV9BcOh2DbwGqJ7NRSuqm2zg8dmQBW53l3gmsmI0iplZ9mC0XmE9kaOYuwOUSnnqHo/C7d63Jyw84B/veD50xhv0bEMvm+CjuB5lGAdVd8Jl/kzr94kB//Xw+TX4M4olVo0U6aZn+klI9IKf9ZSpksu+2klPJJe5fW39Sbq6zoP3YPB7i0lEJKyYtXYk2lP67bMcCx//wm3qAbjE5w3Q5tTc9cWmZ6WRMDrK6xj9SZjZCxueqpGW99qdYp/90Tc00fG0vn2z4x0m6MpttlC4/i28dXj/l7LYojFkuShUS2bkGFHfRmmcAmoN5wG0X/sXs4yKWlFFPRNPFsoamhAAh2WHNocsDPnpEAD59ZMIf47KqqsTcF6qoMRTc9CoC3Ht2J0yHqhmbK0UJP/eVRNNLZ+vbxOfxuTTjx3rIGzUbEM3mkhIEOqj4oQ2ET0WQOn9vRt8qxilV2DwdYTObM3ogjNo2b3Ci3HRjl0bNL5syJGo/Cby15bRgKX4cqaKoRQjDod9cVLCwnlskT9vbX5suIKlh5FM9NrXDbgRHedO02vnN8jtXofn2MUttOSpZ0xVAIIYaFEPcJIU7pv4csHnOjEOL7QohjQohnhRA/2Y21rpeFBnpAiv5it37C/dqxGRyis9VMa+GVB0eIZwv8wyMXCXtdluWxsCqDYZDOFfC5HaYmVDfQusabexSxdP95FGGfC4egpiu+VJKcX0yybzTIDbsGiabyLelebRlDAbwX+JaU8hDwLf16NSngZ6SU1wJ3An8hhBjs3BI3xnxCq45R9D/GcKP7Xphl/1ioa7H8Zty6fwSAE7Nxbr9qtGY+tzmW0yKZ3e3BVEMBD1ELwcJqtKFF/eVROByCQYuu+JlYhmyhxL6xoDlp8djlWNPn20qG4m7g4/rljwP3VD9AT5if0i9PA3PAWKcWuFHm48qj2CyUh3Betrd3lWtGyjYmb7RIpId8RnlstUdR7HpfgtWJtJpCsUQyV+zL0cJWOlvnFrQQ4b6RINdMRhACjk0rQ1HOhJTyin55BmhYHiKEuAXwAGfq3P9uIcTjQojH5+fn27vSdbKQyJkKmYr+pvwLeed12xo8svu8/RatguhN19au0+kQhLy1SqZ2zqJolaE6goXlJLNaLiXUZ+WxYK2zZRiKvaNBgl4X+0aCHJtu3p5m/P86aShse8eFEN8ErL5V7yu/IqWUQoi6GRwhxCTwSeAdUkrLQmMp5YfRtaeOHj3avj75dZIvllhK5pRHsYm44/AYS8kctx8c7fZSGvL+u6/jd950dd1QUsTnqvEotNBTtz0Kt+VQpXKSuhx6sEdDf40YCrhr5NTPLyTxuR1mY+SR7RGevrTc9LkMj6KTuRrbXklK+YZ69wkhZoUQk1LKK7ohsCygFkJEgK8A75NSPmLTUtuOMR9YGYrNw0fe8TKAriZ8W8HtdJgT36wIW+g9pXPFrlfnDfjdZPIlsoViXf0is4y3x8adtsJgwFMTVjq3kGTvSND8TO0dCfKvz89QLMma/FI5K+k8bmdnZUy6FXq6F3iHfvkdwBerHyCE8AD/DHxCSvn5Dq5tw6wKxylDsVlwOETPG4lWsFKQTeULXfcojDBKowE/xoAlu2Z728lw0MNiMmeWv5ZKkmcvr3CorIJuLOylWJJNczUr6RyDAU9HZUy6ZSg+CLxRCHEKeIN+HSHEUSHE3+mP+bfAq4F3CiGe1n9u7Mpq14gxaWxUeRSKHsPKo+iFqidDNryRHPeqR9F/hmI05CFXKBHXtbieu7zCfDzLaw+v1ucYEYhmkuvRZJ7BDo997cqnQ0q5iKZGW33748DP6Zc/BXyqw0trC8qjUPQqEZ+L03OVu/ZktkCoy+Gc1gyF7lF02aitB8MILMSzRHxuvnV8DoeAO8r0wMoNxTUNRmFHUzlTFqRTqM5sG5hPNJ6CplB0i7DPXZPM7oUmNjP01GBkqOFR9GMy26iAnI9nkVLyjWMz3Lx7iOGyfNJYqDWPYqULI5aVobCB+XiWsM/V9QShQlFNxO8ilimYsfJcoUQ6X+x6E9tqjqKBoch2V7xwI5jeQiLLY+ejHJ+Jc/eN2+s+phHRVE4Zis2A6spW9Cphn5tiSZpzso0dfKTDMe9qDEPVSugp2IehJ8OjuLSU5tc/+zTbB3y85eadFY8Jel0EPM6GHoWUkmgq3/HQU/+9433AfDyrEtmKnsSU8UgXCHhc5g6+Z0JPDQxF0uaRrXYyHPCwY9DPn3ztOACf/vevsMwLjYe9zDUwFJl8iVyhZM646BTKo7CBBSXfoehRwlUyHobuUye7fK3wuBz43c6GHkU6V8TpEHhd/XfacjgEv/2mw+wbDfIHbz7CrQdGLB83FvYyH68vDGiUznY69KQ8ChuYT2R5tQo9KXqQSFXS2PQoekA/KeJ3NS2PDbidfTUGtZx7btrBPTftaPiYsbCXEzPxuvcbhmJI5Si6Q75Y4tmpZeZakPltRCZfJJ4pKI9C0ZMYHoXR2NYrOQrQvJpmOYp+DDuthbGQt2GOYsUciKZCT10hmsxx1199j399fmZDz7OY1Cz+SAMZBYWiW0R81R5FoeL2bjLgdzfpzC52fHJgpxkNeYllCuZ42mqiXZqcqQyFzljYS8Tn4tRcfbevFRJ6zLcfpZAVmx9zyl2m2qPo/gk44mvBo9jkJedGEcxS0lrGYzX0pDyKriCE4NBEmFOziQ09T0Jv0Q/2ocyAYvNTPeVuJZ3H5eiswFw9moeeipv+e2VEIhbq9FJ0YxYFKENRwcGxEKfnNmYozFrvTe4iK/oTr8uBx+lYzVGk80T87p5IEEf8tTpU5SRzRfx92EOxFgyPwlCgriaazOF3OzvezKsMRRmHJkIsJnN13b5WSGb7tylIsfkRQhD2uVZzFJlC10tjDQYDbuKZAoWi5dgZ0rlCX8p3rIXRYOPu7KVUruMVT6AMRQUHx0MAG/IqEsYULuVRKHqUiN9tSo3H0nkiPTIxztA9itaZdJfMFjd91dNoWHsP6nkUS8kcw6HOF8ooQ1GGoQ1/cnb9Ce2kylEoepywb7UjO5bJ90RpLKwainoefTpf3PSeesDjwu921s1RRJM5hoOdL71XhqKM7QM+fG4HFxaT636OpMpRKHqcSNlMCs2j6C1DsZi0Pkkms90fsNQJRsMeFusYisVkriul98pQlCGEYNdQgAuLqXU/RzJb6FuZAcXWIOxbnXK30gMS4wZm6ClZG3oqliTZQqkvZ1GslZGgl4VGoSdlKLrP7uEAF5c2YiiKBD39KzOg2PxEfG5i6TyFYomlZO8oHa+Gnmp306tDi7aARxHyWoaeMvkiqVxRGYpeYNdwgEtLKVOvf60kemBamELRiMGgm+VUnrl4lpKE8Yiv20sCVpvIFi1yFOk+HoO6VkZDHsv3wLhNGYoeYMegn2SuaHaurpVUrkBAGQpFD7NnOEiuWOKZS8sATPSIoXA7HQz43ZbJbHNe9hbxKJaSOUqlys3qUkIZip5hYkD70syuUxwwkd38ejSK/mbvSACAR88tAbCtRwwFaJ3JVrtpo0jE7978362RkIdiSbJc1aW+lOqejpwyFFVM6J2RMyvrMxTaoPrNv+tR9C97RoPAqqEYj/RGjgK03fKSRSLXCD1thbJzYxpedZ7CyN0oj6IH2LZBjyKZLWz6Wm9FfzMZ8RHxuXjxSgyvy9EzyWyAoaDHMvSU3GKhJ6g1FEYT3ojqo+g+Rrx23YYiV1ChJ0VP43AIbtmnTVjbNxrE4eidCr2RoMcMsZSTNqueNv93azRkCANWvg9LyRxOh+hKObMyFFX43E5GQ95191Iks5tf4VLR/7zm8BjQeEZ1NxgOeogmczVVh8ns1vMoqpvulpI5hgKerpTeK0NhwaHxEKfn16f3lMgqj0LR+7xFH8n5lpsbj+bsNMNBD4WSrBlglMobhmLzf7cG/G6cDlEbeupSVzaomdmWHBwP8S9PXUZKWWG9jV1OPYueL5bIFUqEtsCHWdHfhLwuXnj/m/C5emuHPhJalfEYKFNJTWW3TsOdwyEYDXlqRqJ2qysblEdhyaGJEPFsgbmqf9Sf33eS1/6379atiFoVBFSGQtH7BDyunspPAKbgXXVC2+ij6IUBS51gPOyrOf9Eu6QcC8pQWHJwTJMbr55297f3n+X8YorPPHbR8u+SW6iET6Gwg+E63dnGGNReM2x2MRHxMhvrndCTMhQWHJww5lKsyo1fXEyR0weqPHp2yfLvlEehUGwMY8cctfAottIGbDziY66s8jJfLLGSzqvQUy8xFvIS8bk4VTbA6KHTCwD80JEJHjm3yJ/fd7Lm75ZT3Zlnq1BsFkaC9TyKzT+0qJzxsJfFZI68vjmNpron3wFdMhRCiGEhxH1CiFP676EGj40IIaaEEH/VwfVxaCJcMenu+2cXmYh4+fOfvJGRoJe//NYpU9HSwPhnGuJmCoVibfjcTgIeZ02OIp7JE/ZunQ2Y0c9lJLSN391otoPueRTvBb4lpTwEfEu/Xo8PAA90ZFVlHBwLVRiK8wtJDm+LEPK6+IM3HwGokSNf1g3FYBdm2ioUm4Vhi+7sWKZAuEdGtnaCcV1KyEhon53Xhqnt0+VXOk23DMXdwMf1yx8H7rF6kBDipcAE8I3OLGuVQxMhFpM5M1Z6KZpi15Af0GZWgJa3KMeY9as8CoVi/VgJA8YzBcI9MomvE1QrRJyaS+AQsH9saxmKCSnlFf3yDJoxqEAI4QD+DPitZk8mhHi3EOJxIcTj8/PzbVngnhHtH3JhKUU8k2c5lWfnkGYgTEOxVG0ocnicji1R661Q2IWm91RZ8RNL53tmEl8nMIQajYT2mbkEu4cD+LpUHmzbOy+E+CawzeKu95VfkVJKIYTVlKBfBL4qpZxq1rIupfww8GGAo0ePrm/iUBW7hjXv4dJSyhxratw2GHAT9rq4VB16SuYZDLjVdDuFYgMMBz01penxTO/M9u4EI0EvDrEaejo1F+fgeKhr67HNUEgp31DvPiHErBBiUkp5RQgxCcxZPOxW4HYhxC8CIcAjhEhIKRvlM9rGLt17uBRdNQb7R7V/lBCC3SMBLlh4FCrspFBsDC30tOpRlEqSRHZr5SicDsFY2MuVlQyFYolzC0led3VN4KVjdOudvxd4B/BB/fcXqx8gpfxp47IQ4p3A0U4ZCdB6IUaCHu57YZbT+u6mPD64ezjAidl4xd9EUzmGgltn16NQ2MFw0EsmX9KmRXpcJHMFSpIt5VGANonw4mKKC0sp8kXJoS56FN3KUXwQeKMQ4hTwBv06QoijQoi/69KaanjzDdt56uIycb2Rrjw+uHs4wNRSumJcodY52Tva/gpFP2L2Uugy23F9LPFW8ihAq3A6u5Dg+csrABzeFu7aWrryzkspF4HXW9z+OPBzFrd/DPiY7Qur4n0/cg1vuGaCpy9F2aFXPBnsGg6QK5aYjWeYHNDu66Zol0KxWTC+Q0vJHLuGA8QyWjXhVqp6Ai2C8dnHczxwcgGf28HVW81Q9Atup4NXHRrlVYdGa+7bo88dvrCYYnLAT6FYYjnVvRZ7hWKzMFRmKGDVo9hKVU+w6kF84ckpXrZ3CJeze0IaSsJjnVSXyBo9FCNdUndUKDYLIzWGYmt6FLfsG8YooLxx12BX16IMxTrZPujHIVab7owPtfIoFIqNYQgDGt8pY4jRVstRBDwurt4WAeAlOwe7uhZlKNaJ2+lg/1iIF67EAMxyPmUoFIqNEfa6cDuF2Z1teBRbreoJ4O/ecZSfeOlO7tBH13YLZSg2wE27BnnqYhQppbn7UVVPCsXGEEIwHPSYo0BjW7TqCWDHoJ//9tYbum4klaHYADfvGSKaynNhMaVCTwpFGzkwFuKk3qcUy+TxOB1dk69QKEOxIW7aPQjAkxejZs33kFKOVSg2zEt2DvDilRjZQpF4prDlKp56DfXub4BD42FCXhdPXowiEAwG3F0tYVMoNgs37BwkX5Qcm44RS+e3XMVTr6HOahvA6RDctHuQx85FVbOdQtFGXrF/BICHTy8wH8+q71aXUYZig7xi/wgnZuOcmU+Yg+EVCsXGGA56ODIZ4aHTC5yeS3RV50ihDMWGefm+YQCOz8TZPuhv8miFQtEqrzo0yiNnl1hM5roqsa1QhmLDvGTnAB49L7FzSBkKhaJdvPLgqnTOVRPd0zlSKEOxYbwuJzv1gUbGBDyFQrFxXrZ3yLx8tOyyovOoqqc2cOOuQc7OJxnwq8oMhaJdBDwuDo6HEPplRfdQ734b+L0fOcJwwMPrrxnv9lIUik3FV3/l9m4vQYEyFG1hKOjhd3/0SLeXoVBsOjwuFR3vBdR/QaFQKBQNUYZCoVAoFA1RhkKhUCgUDVGGQqFQKBQNUYZCoVAoFA1RhkKhUCgUDVGGQqFQKBQNUYZCoVAoFA0RUspur6GtCCHmgQvdXkcTRoGFbi+iTWyWY9ksxwHqWHqVXj+WPVLKMas7Np2h6AeEEI9LKY92ex3tYLMcy2Y5DlDH0qv087Go0JNCoVAoGqIMhUKhUCgaogxFd/hwtxfQRjbLsWyW4wB1LL1K3x6LylEoFAqFoiHKo1AoFApFQ5ShUCgUCkVjpJRb/gf4CDAHPF922w3A94HngC8BEf12D/BR/fZngDvK/uZr+m3HgL8BnK2+nn77h4DjwLPAPwODdf5+GLgPOKX/HtJvvxtYAvJAGnhVHx/LHUCu7Fh+v4+P5Qdlx/E8UARu78PjGALOAwUgBVzXB/+Tt+qvUQKOlt0+AlzRb1/sk+99vWO5BXha/3kGeEs7zosVr93uJ+zHH+DVwM1UGorHgNfol38W+IB++T3AR/XL48ATgEO/bnyoBPAF4G2tvp5++w8BLv3ynwB/Uufv/xR4r375vcbjgFDZc58CjvfxsdwBPLxJ/i/m8wJvBr7dp8fxIbST3c3ASeBbffA/uQY4DHyXypNrUF/fH1NpKPrxWAJlfz+JZoxcVs+x3h8VegKklA+g7cTLuQp4QL98H/Dj+uUjaF90pJRzwDJwVL8e0x/jQtuByDW8HlLKb0gpC/rVR4CddZZ8N/Bx/fLHgXv0v0+UPbej7PX77lh0liyeu++Opep53w58uh+PQ1/bR/XnzgF7hRATvXwsUsoXpZQnLG5PSin/GohW3dWPx5Iq+3tfvdffCMpQ1OcY2hcGNJdvl375GeAuIYRLCLEPeGnZfQghvo5m0ePA5zfw+j8L/Gud+yaklFf0yzPARNnrvwX4FrBHf46+PRbgVuCrwB4hxLV9fiyg7TjvRNt19uNxPAP8mH7Zj/YZ29njx7JW+vJYhBAvF0IcQwuN/UKZ4WgLylDU52eBXxRCPAGE0XZQoLneU8DjwF+ghUeKxh9JKd+E5v55gdet54WFEO9DiwP/Q7PHSs3flGXX/xl4PXAR+EAfH8uTaCeiHwYWgX/p42MxCAPfk1Iu9elxfBAYRDPeI8BT+tr64lhapC+PRUr5qJTyWuBlwP8nhPCtZw2NXkD9aLG9vVTFDsvuuwr4QZ37HgaOWNz+M8Bfoe06ntZ/fqHZ6wHvREumBcpu+6j+91/Vr58AJuVqTPKE1bEAZ4HRTXIs5/v5WPTnjQE/tYk+X+fR4/O9eixlt3+Xsrh+2e2/RVmOop+Ppez+bze6fz0/bXuifv+p/gcC4/pvB/AJ4Gf16wEgqF9+I/CAfjlU9uVyAZ8FfqnV19NvuxN4ARhrstYPUZls/FP98kG08MZe4DRwWb/ej8eyrexYzqB5SH15LPr1l6DtFo019t1xoHkTHv25LwOf6PVjKXv8d2nBUPTjsQD7WE1m7wGmqdpUbfTHlpNuv/2gJRevoJUwTgHvAn4VrbLjJJrLbXSx70Xbcb0IfBNNmhe0OO5jaCVuzwP/gzqVB1avp99+GrjE6k7kb+r8/QhaHuKUvoZh/fb/CKzoz1tCi5n267H80iY6lk+jJT9L9Pfn61Y0r6igH8vlPjiWt+h/lwVmga+X3ZfQj0Pqx/S7/XgswL9Dy608jRayvafd50gl4aFQKBSKhqhktkKhUCgaogyFQqFQKBqiDIVCoVAoGqIMhUKhUCgaogyFQqFQKBqiDIVCoVAoGqIMhUKhUCga8n8BYj1nvzMbZ/gAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" } } ], "metadata": {} }, { "cell_type": "markdown", "source": [ "The aim is to convert this timeseries to feet (1m = 3.3 ft)" ], "metadata": {} }, { "cell_type": "code", "execution_count": 31, "source": [ "data = ds.data\n", "data[0] = data[0]*3.3" ], "outputs": [], "metadata": {} }, { "cell_type": "markdown", "source": [ "Which units are acceptable?" ], "metadata": {} }, { "cell_type": "code", "execution_count": 32, "source": [ "ds.items[0].type.units" ], "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "[meter,\n", " kilometer,\n", " centimeter,\n", " millimeter,\n", " feet,\n", " feet US,\n", " inch,\n", " inch US,\n", " mile,\n", " mile US,\n", " yard,\n", " yard US]" ] }, "metadata": {}, "execution_count": 32 } ], "metadata": {} }, { "cell_type": "code", "execution_count": 33, "source": [ "dfs = Dfs0()\n", "\n", "items = ds.items\n", "items[0].name = \"Viken\"\n", "items[0].unit = EUMUnit.feet\n", "\n", "dfs.write(filename='wl_feet.dfs0', data=ds.data,\n", " start_time=ds.time[0],\n", " dt = 1800,\n", " items=items)" ], "outputs": [], "metadata": {} }, { "cell_type": "markdown", "source": [ "![WL](https://github.com/DHI/mikeio/raw/main/images/wl_feet.png)" ], "metadata": {} }, { "cell_type": "markdown", "source": [ "## Extrapolation" ], "metadata": {} }, { "cell_type": "code", "execution_count": 34, "source": [ "# filename = r\"C:\\Program Files (x86)\\DHI\\MIKE Zero\\2021\\Examples\\MIKE_21\\FlowModel_FM\\HD\\Oresund\\Data\\1993\\Boundary_Conditions\\waterlevel_viken.dfs0\"\n", "filename = \"../tests/testdata/waterlevel_viken.dfs0\"\n", "dfs = Dfs0(filename)\n", "ds = dfs.read()\n", "df = ds.to_dataframe()\n", "df.plot()" ], "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "" ] }, "metadata": {}, "execution_count": 34 }, { "output_type": "display_data", "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" } } ], "metadata": {} }, { "cell_type": "code", "execution_count": 35, "source": [ "from datetime import date\n", "rng = pd.date_range(\"1993-12-1\",\"1994-1-1\",freq='30t')\n", "ix = pd.DatetimeIndex(rng)\n", "dfr = df.reindex(ix)\n", "dfr.plot()" ], "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "" ] }, "metadata": {}, "execution_count": 35 }, { "output_type": "display_data", "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYkAAAEbCAYAAAAvc3j1AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAABAj0lEQVR4nO29e7gcdZnv+327Lt29rrmthEACYSQIREJwMlwFmRHc4myDODNexqMwFy8H2V5mjs92ZB5nth4cNvOoc9PjMMqAjtsZt2dQdBgREcVjwiVIAAFJIgaSELJWsrLu3V1dVe/5o+pXXd2rL9XdVd29er2f58mTXt3VVb/VSf++9d6JmSEIgiAI1Uh1ewGCIAhC7yIiIQiCINREREIQBEGoiYiEIAiCUBMRCUEQBKEmIhKCIAhCTfRuL6AWa9as4U2bNnV7GYIgCEuKxx577Bgzj8V1vp4ViU2bNmH37t3dXoYgCMKSgoheiPN84m4SBEEQaiIiIQiCINREREIQBEGoSc/GJARB6D2KxSIOHTqEfD7f7aUsezKZDDZs2ADDMBK9joiEIAiROXToEIaHh7Fp0yYQUbeXs2xhZhw/fhyHDh3C6aefnui1xN0kCEJk8vk8Vq9eLQLRZYgIq1ev7ohFJyKREOMzebw8LSa50H+IQPQGnfp3EJFIgKkFCxd8+n784R2PdnspgiAIbSEikQAvHF8AADxzZKbLKxGE/uPmm2/Gli1bsHXrVmzbtg0PP/wwrr32Wmzbtg1nnHEGRkdHsW3bNmzbtg07d+4se+9HP/pRnHXWWdi6dSuuvfZaTE1N1b3W3/7t3+LDH/5w8PP73vc+XHnllcHPf//3f48PfvCDAIChoaGGa//Wt76FT37yk9F/WQBXXnklTpw40dR74kREIgGmcsXgcc5yurgSQegvdu3ahe9+97v42c9+hieffBI/+MEPsHHjRtx1113Ys2cPvvSlL+Gyyy7Dnj17sGfPHlxyySVl77/qqqvw85//HE8++STOPPNM/NVf/VXd61166aVlQvPEE09genoajuN9r3fu3LnoGvW49dZbccMNNzTxGwPvete78IUvfKGp98SJZDclwNSCFTx+aTqHV4w1vsMQhKXG//jO03jmpXit5XNOHsFfvGlLzdePHDmCNWvWIJ1OAwDWrFnT1Plf//rXB48vuugifPOb36x7/LZt27B3717kcjlYloVsNoszzjgDTz31VGCp3HrrrZGuvXfvXqTT6WDN119/PbLZLB5//HGMj4/j9ttvx1e+8hXs2rULF154Ie644w4AwI4dO3DZZZfhpptuaup3jQuxJBJgJmRJHJ2R4LUgxMXrX/96HDx4EGeeeSZuuOEG/PjHP275XLfffjuuvvpqAMBLL72EN77xjYuO0XUd559/Ph599FE89NBDuPDCC3HRRRdh586dOHz4MJgZGzdujHS9n/70p3j1q19d9tyJEyewa9cufO5zn8OOHTvwkY98BE8//TSeeuop7NmzBwCwcuVKFAoFHD9+vOXftR3EkkiAqYWSSMwXxN0k9Cf17viTYmhoCI899hh+8pOf4IEHHsDb3vY23HLLLbj++uubOs/NN98MXdfxzne+EwBw8skn45577ql67CWXXIKdO3cil8vh4osvxubNm/HpT38aY2NjTbmajhw5grGx8uasb3rTm0BEOPfcc7Fu3Tqce+65AIAtW7bgwIED2LZtGwBg7dq1eOmll7B69eqmfs84EJFIgHBMYr5gd3ElgtB/aJqGK664AldccQXOPfdc3HnnnU2JxB133IHvfve7uP/++yOlkV566aX44he/iHw+jw984AMYGxvDM88807RIZLNZTE9Plz2n3GapVCp4rH627dLekc/nkc1mI18rTsTdlACz+SJS/v+9OREJQYiN5557Dvv27Qt+3rNnD0477bTI7//e976HW2+9FXfffTcGBgYivefiiy/GQw89hImJCaxduxZEhLGxMXz729/GpZdeGvnaZ599Nvbv3x/5eAUz4+WXX0a35uuISCRAwXaxatC7K1iwRCQEIS7m5uZw3XXX4ZxzzsHWrVvxzDPP4C//8i8jv//GG2/E7OwsrrrqKmzbtg3vf//7AdSOSQBeTGBsbAxbtpTcaxdffDHGx8dx3nnnBc8tLCxgw4YNwZ/PfvazZee5/PLL8fjjj4OZm/iNgcceewwXXXQRdL07jh9qdsGdYvv27bxUhw6976u78atj89h7dA4ffN1m/MlVZ3Z7SYIQC88++yzOPvvsbi9jyfKhD30Ib3rTm8pqLaK8Z8eOHXjd61636LVq/x5E9Bgzb297sT5iSSRAwXaRNTQMmprEJARBCPj4xz+OhYWFpt7zqle9qqpAdAoRiQTIFx2kdQ0DaV1EQhCEgHXr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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" } } ], "metadata": {} }, { "cell_type": "markdown", "source": [ "Replace NaN with constant extrapolation (forward fill + back fill)." ], "metadata": {} }, { "cell_type": "code", "execution_count": 36, "source": [ "dfr = dfr.ffill().bfill()\n", "dfr.plot()" ], "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "" ] }, "metadata": {}, "execution_count": 36 }, { "output_type": "display_data", "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" } } ], "metadata": {} }, { "cell_type": "code", "execution_count": 37, "source": [ "dfr.to_dfs0(\"Viken_extrapolated.dfs0\", items=ds.items, title=\"Caution extraplolated data!\")" ], "outputs": [], "metadata": {} }, { "cell_type": "markdown", "source": [ "## Clean up" ], "metadata": {} }, { "cell_type": "code", "execution_count": 38, "source": [ "import os\n", "\n", "os.remove(\"test.dfs0\")\n", "os.remove(\"modified.dfs0\")\n", "os.remove(\"neq.dfs0\")\n", "os.remove(\"accumulated.dfs0\")\n", "os.remove(\"wl_feet.dfs0\")\n", "os.remove(\"mauna_loa_co2_eq_1hr.dfs0\")\n", "os.remove(\"mauna_loa_co2.dfs0\")\n", "os.remove(\"Viken_extrapolated.dfs0\")" ], "outputs": [], "metadata": {} } ], "metadata": { "interpreter": { "hash": "f4041ee05ab07c15354d6207e763f17a216c3f5ccf08906343c2b4fd3fa7a6fb" }, "kernelspec": { "name": "python3", "display_name": "Python 3.9.6 64-bit" }, "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.9.6" } }, "nbformat": 4, "nbformat_minor": 4 }