\n",
"\n",
"**This is a fixed-text formatted version of a Jupyter notebook**\n",
"\n",
"- Try online [![Binder](https://mybinder.org/badge.svg)](https://mybinder.org/v2/gh/gammapy/gammapy-webpage/v0.14?urlpath=lab/tree/source_population_model.ipynb)\n",
"- You can contribute with your own notebooks in this\n",
"[GitHub repository](https://github.com/gammapy/gammapy/tree/master/tutorials).\n",
"- **Source files:**\n",
"[source_population_model.ipynb](../_static/notebooks/source_population_model.ipynb) |\n",
"[source_population_model.py](../_static/notebooks/source_population_model.py)\n",
"
\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Astrophysical source population modeling with Gammapy"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Introduction\n",
"\n",
"The [gammapy.astro.population](..\/astro/population/index.rst) package contains some simple Galactic source population models.\n",
"\n",
"Here we provide some Python code to compute observable parameter distributions for Galactic gamma-ray source populations.\n",
"\n",
"* Observables: Flux, GLON, GLAT\n",
"* Source classes: Pulsar (PSR), Supernova remnant (SNR), pulsar wind nebula (PWN)\n",
"\n",
"References:\n",
"\n",
"* Section 6.2 in the Fermi-LAT collaboration paper [\"The First Fermi-LAT Catalog of Sources Above 10 GeV\"](https://ui.adsabs.harvard.edu/abs/2013ApJS..209...34A)\n",
"* Axel Donath's bachelor thesis [\"Modelling Galactic gamma-ray source populations\"](http://pubman.mpdl.mpg.de/pubman/item/escidoc:912132:1/component/escidoc:912131/BScThesis_ddonath.pdf), specifically Chapter 4.\n",
"* Casanova & Dingus (2008), [\"Constraints on the TeV source population and its contribution to the galactic diffuse TeV emission\"](https://ui.adsabs.harvard.edu/abs/2008APh....29...63C)\n",
"* Strong (2007), [\"Source population synthesis and the Galactic diffuse gamma-ray emission\"](https://ui.adsabs.harvard.edu/abs/2007Ap%26SS.309...35S)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Setup"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"%matplotlib inline\n",
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import astropy.units as u\n",
"from gammapy.utils.random import sample_powerlaw\n",
"from gammapy.astro import population"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Simulate positions"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"# Spatial distribution using Lorimer (2006) model\n",
"n_sources = int(1e5)\n",
"\n",
"table = population.make_base_catalog_galactic(\n",
" n_sources=n_sources,\n",
" rad_dis=\"L06\",\n",
" vel_dis=\"F06B\",\n",
" max_age=1e6 * u.yr,\n",
" spiralarms=True,\n",
")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Simulate luminosities"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Several source population models, e.g. the 1FHL paper or Strong (2007), use power-law luminosity functions.\n",
"\n",
"Here we implement the \"reference model\" from the 1FHL catalog paper section 6.2."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"# Source luminosity (ph s^-1)\n",
"\n",
"luminosity = sample_powerlaw(x_min=1e34, x_max=1e37, gamma=1.5, size=n_sources)\n",
"table[\"luminosity\"] = luminosity"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Compute observable parameters"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"
\n",
" name dtype unit description \n",
"---------- ------- --------- --------------------------------------\n",
" age float64 yr Age of the source\n",
" n_ISM float64 1 / cm3 Interstellar medium density\n",
" spiralarm str18 Which spiralarm?\n",
" x_birth float64 kpc Galactocentric x coordinate at birth\n",
" y_birth float64 kpc Galactocentric y coordinate at birth\n",
" z_birth float64 kpc Galactocentric z coordinate at birth\n",
" x float64 kpc Galactocentric x coordinate\n",
" y float64 kpc Galactocentric y coordinate\n",
" z float64 kpc Galactocentric z coordinate\n",
" vx float64 km / s Galactocentric velocity in x direction\n",
" vy float64 km / s Galactocentric velocity in y direction\n",
" vz float64 km / s Galactocentric velocity in z direction\n",
" v_abs float64 km / s Galactocentric velocity (absolute)\n",
"luminosity float64 \n",
" distance float64 pc Distance observer to source center\n",
" GLON float64 deg Galactic longitude\n",
" GLAT float64 deg Galactic latitude\n",
" VGLON float64 deg / Myr Velocity in Galactic longitude\n",
" VGLAT float64 deg / Myr Velocity in Galactic latitude\n",
" RA float64 deg Right ascension\n",
" DEC float64 deg Declination\n",
" flux float64 1 / kpc2 Source flux\n"
]
}
],
"source": [
"table = population.add_observed_parameters(table)\n",
"table.info()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Check output"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The simulation is done, you could save the simulated catalog to a file.\n",
"\n",
"Here we just plot a few distributions to check if the results look OK."
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXkAAAD4CAYAAAAJmJb0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nO2df5Bc1XXnv6d7nlCPSDRSPDjQQUihiBQrKmbMFMbRJhURF3JMgDEYyxTe8h+ukFTZu4XsmlphU5ZwkUIVlYNTW7tJyMZlbxlj8XMsLJdFbNh4l0Q4I2aEUAwVY0DQaI280siBaUk9M3f/6H6j16/vve/e9/u9Pp8qlaT+9e77dd65537POSSEAMMwDFNOKlkPgGEYhkkONvIMwzAlho08wzBMiWEjzzAMU2LYyDMMw5SYgawH4OU973mPWLt2bdbDYBiGKRSHDh36hRBiWPZeroz82rVrMTU1lfUwGIZhCgURva56j8M1DMMwJYaNPMMwTIlhI88wDFNi2MgzDMOUGDbyDMMwJSayuoaILgXwPwH8OoBFAA8IIf6KiFYD2AtgLYDXAHxcCHEq6vYYhullcrqBPQdexluzTVwyVMPE1vUYH61nPSwmB8Thyc8D+LwQ4rcBXAPgM0T0PgA7APxQCHEFgB92/s8wTMxMTjdw1+NH0JhtQgBozDZx1+NHMDndyHpoTA6IbOSFEMeFEM93/v3vAH4CoA7gJgDf6HzsGwDGo26LYZhe9hx4Gc3WQtdrzdYC9hx4OaMRMXki1pg8Ea0FMArgOQDvFUIcB9oPAgAXKb5zBxFNEdHUiRMn4hwOw/QFb802rV5n+ovYjDwRXQjgMQB3CiF+afo9IcQDQogxIcTY8LA0K5dhGA2XDNWsXmf6i1iMPBE5aBv4B4UQj3de/jkRXdx5/2IAb8exLYZhupnYuh41p9r1Ws2pYmLr+oxGxOSJyEaeiAjA3wP4iRDiLz1v7QPwqc6/PwXgO1G3xTBML+Ojddx38ybUh2ogAPWhGu67eROraxgAAEXt8UpE/wHA/wZwBG0JJQB8Ae24/MMA1gA4BuBWIcRJ3W+NjY0JLlDGMAxjBxEdEkKMyd6LrJMXQvwfAKR4+w+j/j7DMAwTHs54ZRiGKTFs5BmGYUoMG3mGYZgSw0aeYRimxLCRZxiGKTFs5BmGYUoMG3mGYZgSE1knzzBZw7XUGUYNG3mm0Li11N1Su24tdQBs6BkGHK5hCg7XUmcYPWzkmULDtdQZRg8beabQcC11htHDRp4pNFxLnWH08MIrU2jcxVVW1zCMHDbyTOEZH62zUWcYBWzkmVCwNp1higEbecYa1qYzTHFgI89Yo9Omj4/WM/PyeXZRLvh8xgMbecYanTY9Ky/fdLtsOLLF9PjzbDE+YpFQEtHXiOhtInrR89ouImoQ0Uznz0fi2BaTPTptelYZqCbbdQ1HY7YJgfOGY3K6kejYmDY2x58zmeMjLp381wF8WPL6/UKIkc6f78W0LSZjdNr0rDJQTbbLhiNbbI4/ZzLHRyxGXgjxIwAn4/gtJv+Mj9Zx382bUB+qgQDUh2q47+ZNGB+tZ5aBarJdNhzZYnP8OZM5PpLOeP0sEb3QCeeskn2AiO4goikimjpx4kTCw2HiYny0jmd3XItXd1+PZ3dcuxQnzSoD1WS7bDiyxeb4cyZzfCRp5P8awOUARgAcB/AV2YeEEA8IIcaEEGPDw8MJDqe/mJxuYPPup7Fux35s3v10anFnnZef9XbZcGSLzfHP6joqIySEiOeHiNYC+K4Q4nds3vMyNjYmpqamYhlPP+NXJgDtm4lvkmzUNazoOQ8fi2QgokNCiDHZe4lJKInoYiHE8c5/PwrgRd3nmfgI0rH3M2mXQGApYDdcgiJ94pJQPgTgnwGsJ6I3iejTAP6CiI4Q0QsAtgDYHse2mGB4gTE/sKKHyZpYPHkhxG2Sl/8+jt9m7LlkqIaGhWKBSQ5+4PbCIZt04XryJYQXGPMDK3q64YS09GEjX0JYmZAfknrgZqWeigqHr9KHa9eUFF7gygdJNDUp8mIuh6/Sh408wyRM3A/cIquneL0ofThcwzAFo8jeMK8XpQ8beYYpGEVezOX1ovThcA3DFIyJreulGc1F8YZ5vShd2MgzTMFIYjGXKS9s5BmmgLA3zJjCMXmGYZgSw548wzBMCIpSnoGNPNOXFOUGZfJJkRLSOFzD9B13Tx7B9r0zXD+FCU2RyjOwJ8/0FZPTDTx48Bj8rXKKkjGaJjzbUVOkhDQ28kxfsefAyz0G3sX2Bi2zESxSOCILilSegcM1TCZkVUVRZ8htblBZydzte2dw9+SRGEaZDrpzUKRwRBYUqTwDG3kmdWQG8s69Mxi556nEjb3OkDdmm8YPHJkRFAAePHisELH9oLruRQpHZEGRyjOUIlxT5mlzHohyfL3fHRp0IAQw22xJPzvbbCUeEtiyYRjfPHhM+b5pWEJl7ARQiNh+UCXLIoUjsqIoCWmFN/IcO4wfv2F+58w8WovtSLbN8fWfm1NzcuPuJakFUHefZIYraAze47Gy5oAIyrg+0D5Gk9MN7T5k7ZgEeeqq+jhbNgxj8+6n2aEqELEYeSL6GoA/BvC2EOJ3Oq+tBrAXwFoArwH4uBDiVBzb81Lk2tp5xMQwmx5f2bkxIUpIQGY8AfQYLNMx+I+HahbiR/cgzINjEuSpy+rjbNkwjMcONdihKhhxxeS/DuDDvtd2APihEOIKAD/s/D92OHYYL6aG2eT4hj0HYUMCqjjzrn1HrR82FaKlB0aYB1WztYA7985gbU4XNU0WDsdH63h2x7W4f9sIAOCbB49lPm7Gnlg8eSHEj4hore/lmwD8Qeff3wDwvwD8lzi254Vjh2rChARMDbPJ8VWdGx1RFAoq4xnGSC8IYe39q/B7vHlwTEwrWfpnHTLYoco3Scbk3yuEOA4AQojjRHSR7ENEdAeAOwBgzZo11hspem3tpAgbEjAxzKbHV3Zu/L9zy1V1PPPSiVhivGGMTb0ThnjouTewILoj7c3WAqpEPa+HwWZRM614vcnCoclMxv/A965/uMevzvH7zCARwwUMAB1P/ruemPysEGLI8/4pIcQq3W+MjY2Jqakp621nvYiVRzbvflpqSOpDNTy741rl92Sem1MlrFg2gNPNVizqmjC/Y4Jqn1cNOjjTWuxxBLySt3U79isXU2tONRaPngC8uvt66TEmtBdzV/kWul2Gag523bgRQLp15HXHBeg9jjrPnwDcfs0a3Du+aemzfN/GAxEdEkKMyd5L0pP/ORFd3PHiLwbwdlIbKoqUKU3ChgTibkiR5rlRzep23hBsHFXeteuB+tU1s3MtVCy9fNmiZmO2uWTgAbUCabbZwsSjhwGBUEqnsOhmdjLvXOf5u3kEY5etBoDMF5/7hSSN/D4AnwKwu/P3dxLcFuMjylpFUR+aQQ8o3T7pwn6q4zE53cCde2eMxiZb1BwfrStnHzJaC70PlKSVZKrjokr8CXIi3DwCAKyKS4m4JJQPob3I+h4iehPATrSN+8NE9GkAxwDcGse2GDP6da0i7AMqzAxmfLSOe548qvS+TeLRcSxaJrnwaXtcTNZ0dOPlRdz4iUtdc5virT+M4/cZe7gPqD1hHhA7b9ho5en6CaNAkv1Gktgcl6DFduD8eFkVlw6Fz3hl1BQ17FIkoj5MJ7aux/a9M9rFTR15m5351xv8eMfbjzPNLIhNXRMHYdU1/QKrEcrJ3ZNHemrcu/JSmbTTpQiyRN01y9dzfOjUNWzkM8TmIpdJ02zCAky+UV0LfN4ZE7KSUDIabJOVuEZPfKjq26ThVaqMuSq0xmsrTFTYyGeErdHOQyp8GZA9XCceOQzQeYliUprtsFnIsgdAGUIdZdiHIsBNQzLC1mirVAesRrBD9nBtLYoeDXoShbfiKkw2Od3AxKOHM2m6EhfcTD092JPPCNtkpX7QvZt6drr4tSoM462jYorbKUr3+zaeZ1yzsXuePCpNjEqj6UoccDP1dGEjnxG2RrussVlvMStver8slDE53ehJPnI/N/X6yZ5a53funUEFwGLns2EKjel+Xza+MKUTbGdjuuYrKkOZp9BIUDP1vIw1L+OICqtrMqTfq/WZlLF1C6oFfTauapG2uONTySCDineFUcqs3bE/8DMEaJumZKnQ0RU9G3QqaLYWtccxDYqmatKpazgmnyHjo/Wl5g2ugSpibHJyuoHNu5/GOl+DDNXrLibNPNxQRlDJ27AGnijU15ZozDalBh7ojbePj8bT/Hmo5gR+xhvnvufJ3uOcZbMP3cxlzmfggWzGmofGLnHB4ZqMKbo0UqUYCQpv3D15xKiVnoC6hHAcxOH86xqDe9sIeqf+928bCX1+d924EROPHO4pRyxD1zTFuxZw9+SRpcSrKhFu+8ClSyWBZeOPMtuUhSoJQM2pYK61KP1O2iqyMqnZ2MjHjO3NUPSLSfWQUjXhcD2hBzWG0U9SBj4NCL3hiagSTX/pgLChqqHB9ozg7skjXQ+qBSGW/n/v+KbYe9Kq1pe2ayp6umNNizJ1nOOYfIyEieOFbe6RFf6HWBgDvGrQ0S4e9gtxn2PVtTRUc/DuufkeRU4FwErNuagS4ZX7PpLaNaqbsQ3VHMzsvC62bQXBMXlGSpg4nklD5bxw9+QR3OnTNttCpFeH9BNxz9ZU19KuGzdixbLeSfsi9OfCnR2kNdvUXfMmob04iWv9JA9wuCZGwtwMeZVG+j32LRuGtbFnU3I0ccycChHW7dgf2znXXUu6UIiKamdVOo3QhXu9qaDOZ9K8L8pSxZWNfIyEvRmyvphkBt2/aBqHgY9KtUJYMFhsLAp+RRUQPYlJdS2FCa3d9oFLASSfiGcipXU7Spkcn7Lo2+OCwzUxsmXDMPyKvLyGXlx549od+3vSyx88eCyWxtV+ak4VqxQLaEM1B1/dNqKVBwYZ+EGnIpVEViLKJONGNpyk5XmyUI6KKhE+6Wm4nXToIkge62ISHnIfGGHLJQTJfosIe/IxMTndwGOHGl0qCgJwy1Xxe+lRPRW/5+Q3nUn5ys3WApY7FTgV6pL/1Zwq/vjKi7HnwMs43WyhHsLrHKo5ODu/KA0HVYmwmKM4kWokSaqIgpp5uKwadDD9pd4FziRnm6axfZPwVhRJctwqoryQuCdPRK8R0REimiGi4kpnApBdXALAMy+diHU7UT0V1VjT4tRcq8vAV4nw/jUr8dihRtc+qZzvVYOO1CPV6cFbiwI1p6L8zTwhO49xeZfjo3U8u+Na1DXhw1NzrdQ9WNPY/oIQgdd8lEXiMiVAeUkrXLNFCDGikviUgbQUCFEuxMnpBka//FSiHqOtIV0QAs++clL6gJSFvnbesBHvX7Oy53fOzsuTaFzOtBZx/7YRZbgoLgiAUw3/OPGfxzge6n4mtq7Xnqe0s67DhDNV13yUaq1Fz1lRweGamEgreUJ3IQZVYUyDV3dfH1uGqjessWrQwc4bNmJ8tI7PPWyvFLlkqLYUcjCp/RIGV0cNtEs2hJH9uZUv3XM4d24+9ozo8dE6pl4/KS3F4N3GnXtnsOfAy4k3VRkfrePOEOof2b0QZZG4TAlQXtLw5AWAp4joEBHd4X+TiO4goikimjpxIt7QRpqkpXdXXXAra06Pxzfx6GFMPHI4NQPveskTW9dH8mZlnOmku09ON2ArsPGfB124Igpe73Jm53X46raRJRmiDd5zqNKxRz2n945vwv3bRgKPhdtUxV+/fvveGazNeHFSdi9EWSQuUs6KDYlnvBLRJUKIt4joIgD/AOA/CSF+JPtsGTJek5ZuqTLxljuV1JKMZBmUTpWw52NXLtVd/9zeGegDKPa4Bkln4GQp/hUCFsX5xtcA8LmHZ6wfFqZ4MyPdBh+y+u9ReW339bH8zuV3fS9SBc84MkFH7nlKOvPxlp/2vx6l/o+KosovM+3xKoR4q/P320T0BICrAUiNfNFJQ++uSngJM911Ud1IMtwMStkY3LHt2nc0dgMPBMdGKySvRukaczfW/P41K60N/Ht/ZRl+/u/njD7bE05JQdgTxji534laojmOgnqyomtOhbDt6ku7cjaA9vV6+zVrErnXss5ZSYJEjTwRrQBQEUL8e+ff1wH4cpLb7Af8F+LkdMPKUPsx/d5QzcGuGzcubVt1MySVgn5JgCdvYribrQU8+8pJ620PVM005i7uGPcceNmoWmQYRr/8FGbnWhgadPDOmfml7ZhI/0wSkGyIGj7SZeuOXbbauBNY2Qx0HCTtyb8XwBPUjksOAPiWEOL7CW+z1ExON/CFx19YKslKBCwfqIQ28KsGHQwuG5DepK6+PA83kDc2KgtXJSkJXTXoWBsxNw0/SWWGG56ThemCvOu4ZbRh1h78qLxoVSPzMmrakyBRIy+E+BmAK5PcRj8xOd3A9r0zXQZdCKCpqMEdhCtJBMw7BwV5T3dPHgk1Fhm6h4x/DHEoiAjAQJV61hp23rARn3/4sFVYQ6AdtlpZc1IvruWie8Do3ls16EAIuxlZ2l25it6HIU1YQlkgvvjEkdAee82p4par6njmpRNKAx009ZV5T3funcGde2eWFjUfeu6NsLvXM17VYp7K4zMJP9ScKt6/ZqU0ZHP7NWuUoYEwax6zzVamCViXDNWUD2WVXNBbPljXpk/2vbjQSYGDSlwXXdOeBGzkC8LkdAPvnjOfXjsVwoXLBzA71zIKt6imxO6NNTToYHaupU3Jv+vxI7F4dP4+tyaxV5O0fSLggoEK/umVk1ixrIq5cwtd+/PMSycwdtlqaY30MKUWgFTWXKXUnCq2bBhWhjRM9OSmRc2SLFbmSoEh0LXmoFqDKrqmPQnYyOcIWTVI1/OuWMY8L1w+sJQ8FHYs3pvNRJ4ZNcYrk8XZxF7dJB9ZxcwK2lUs3RDEu+cW2lp+n/FQ/bbMKOaNWqcJdpUosDuX+yDTPTxNykt7k9TiQBaGkclPZQa+DJr2JODOUDkhbrUDEE2/nGRf1Qq14+1e1Ykri/P3FVXFwt14/dCgg7OtBWVv0DCoOh5NTjciSVWTZpVPZaOC0M5M9uOfuZ2eaymlsP7ZVlzYhIiA8/LfpMZTFDLVyTNmJFE0zGYhKo62fkD7Zlv7azWtTHFlre39qbzIyelGYFkA1/AnkQCmiuuOj9aV4aAVy6pYFNFnM1EwPRaykIbNzC2o7V8UaaPttZcfFzW/cD35nBBmwYgAbL58tXbRK2wN7jALhoR2WOPBP/kgvrptRPm5WY0BcceSlSIF0Md1VSUbzs0v4par6kvp9HlFFdKwcTJ011SYgmreKptz5+bhhGgAkHZRtSLBRj4n2C4Y1YdquH/bCB78kw9qy8ea/K6qTLItAudj2eOjdeWYhgZ76+y4N+iufUczj3vPnZtfMhb+Mr8ApP1SW4sC+184jmd3XItXd1+fWH2csBDayWzLnQq2753pqTlj42TorinbKqn+h8KpuRZA7QYwtpShLHASsJHPCTade9zpsncKHKW4UlyyM79hU41JSMIazdZC6MqNcXNqroW7Hj+C2//un3u6ZulmGafmWkuGU3c+0+5UtWrQwf3bRnB2fhGnOgopv+dr42Rs2TCsfM+2XK9qoTVs7gdLKHthI58gNs0eZNXzVMhillGq78UhO5M9UFRjUhnJPBh4F7f8gX9G02wtaMMxrifp7rusnWGabWrdZK4gD1v2UHKqBJlD/dihhvJatq3nrjLKYQ8RSyh7YXVNQsjUMrZKAFV1wCoRXrnvI4mONYgKAb+63MHpppkO30vUqodFoN6RwMpkjGmOwT0vKtWKV2kjWzBVLTS7s8mgJvCAXuUVRsXl7pdplnY/wOqaDNDFuU0LSKmMQ9xGw7T/p4u/UJktZTfwQPscB2nMk8RfhtikIYa/SJjuenCb1PhzGB471AjMrPYiM9a6YnvujFFX0Izpho18QgTFBnXyRvfmURH3op7XG1uxrKrMrA2SzpluQ1bznbHDDQPJQlx1STkDlYftDbHJjLYus1QVAnrmpRPG14nMWMvGCvQmXpWxLHASsJFPCBO9r81ilAtBv/Blg0yPrjLwUbIJ/caDDXx0Tjdb+N3LV+P5Y6e7rhWnQjj17tmupC1TD1s1+/Qbevda2K5IDGt0vHxTAywz1qoaQow9bOQTwiQN3nYxCmjfbI8damDsstWRShbYKlluuSq815REole/I4CehDMCsAhIs39NPGzdImh9qNZjcHXhnDBlf72zj5pTQXN+EQLA/z19BlOvn2QjHxJW1ySEV1kCoEeRofKMJ6cbgXVqouiB3XZ0tkoWnaIiiLRlbTGUNtfiVGipn22eEAAWNNKdoPOgcjrcMN2ru6/vku7qZKK216hfLz/XWoQ74VsQAt88eCzWMtb9BBv5BBkfrePZHdfitd3XLzVN1skb3QvdJJxhazhdOeede2dC9Ru1uWn90tGVEhlhUhCAlcuT2x6hnfiUZD9dAvDJa9bEvvYSJC+0zbVwHRkVNteoyWwvrjLW/QaHa1JC1rJv8+6ne+RqpmGNChHW7dhvFK+Mq/iZTYkE7+JdW29NibXB8yLQjlebMmTZ1COpPZA1SJE1iQmLyZpKGMWKLmxjc42aXFu8lhMONvIZoCqfa2OE3QveRI4ZV0w8bImE1oLoajOYpLqmPlTDu2fnjQ336WYrdK34uKgA+NXawFJNn6nXTy4Z2kGN2skUm3LAYRQrqvUnm2vURKgQR4vBfoTDNRmgkp6FvYjdUIoqw9bUgOm27lQp0BO8e/KIcluzc62lcEBSBt5Vlth45q6XaVpSIgkWga5yA988eGwpNh3GwK8adJbCgl/dNoLpL12X6KKlP7NZdh0HhftMzsFtH7g06lD7ksQ9eSL6MIC/AlAF8D+EELuT3mbeUU1NF4TQNqXWveefDXi9J1PPWfuJgK/fPXlEn/xDwBcefyF0TRIjSK4s0bFlw7A0TPFWx8iakCfd/yd9NflNUDWr8c66grK0vTOAdTv2Sz+jC8n4z4FTJZzzrB1tvny19X4xbRL15ImoCuC/AfgjAO8DcBsRvS/JbbrY1I1JG52KwesRDdWcLq/Mq9bx43YD8uJ6T3EYoNai0HpiQYtiQtgbYFvCLCg/89IJAOcXyV0Fye3XrDH6vlMhfOXjV+amvPA3Dx6zut5lpYHdmQTQG3Ix+V2b+jXe+3TPgZcxsXU97t82gmql2zQ9f+x0ru7hIpG0J381gJ8KIX4GAET0bQA3AfjXJDdq0zIuC3T9NU1iorLvqjz8t2ab2pizzYKozhPLiydri2qfXK/xW88dWyoo5lSAZQPnY+Q1p4LlThXb986gkiNv3uZ6t1mvMW1CY9I/FlDfpxcMVJQOi1+8wAlTwSRt5OsAvC7emwA+4P0AEd0B4A4AWLPGzHsKQldxLw8XQZS6G6rv6hQOWzYM48GDx6ThhwuXD+CXzXkjA6VbeM1TyMIGmbzTxHi4BsqVUuZt302vd1sprnuN6Y6R6fWtuk91DotL3h25PJG0kZfNYrvuBiHEAwAeANpVKMNsxLR1XZ5qTbseuzv27XtnlqarQRepyttXKRweO9RQxpdPzbWw+fLV2nZ9Lu+enVemq9/2gUszLcgVlnc9DULcB6U3jV9lPKIoltyG20ljcr2HafW4dsf+wGNkMiO1vR+9TkbeHbk8kbSRfxOAd0n8NwC8FecGbIsq5Yk4vRH387LG1zpjRGjHO/1ccdEK/OKdc11JP7PNlnJ8bngjy9K6YWgtCHzxiSNd/VllNeT9xiOKw7B6xQVWC7thCbreJ6cbmDs3H+q3TY5RELoHjFOlrjWWmlPFlg3DS7klqmOXJ0cuLyQtofwXAFcQ0ToiWgbgEwD2xbkBXVElL1EKbCWFbau0IMZH61i0NLAC8ofA3LlFDEra3OnGd+/4Jrxy30fw1W0jmUoSbXn3nDpE4OI3HlEcBnfGmSRB17s/3HT+e+FNgq2Bndi6XrlgvWLZQFeG+C1X1fHYocbSArGKvDlyeSBRT14IMU9EnwVwAG0J5deEEEfj3IZtUaW8MDndUHoxURJzVN6Rbcxcd8MGNXJOoyCZruZ4EqysOV0ZyqpyuCa412McWcgyTJrSqM7RufnwR9XWwI6P1ruqZXo53WxhZud1S//fvPvpwGOVR0cuDySukxdCfA/A95L6fZVRi1L7PEnaHpReLx4ls0+lbHj/mpX4J187u5pTxXKnIq3D4t6wQY0mvMRVPsGIlK38bLO1lGQlK90LAkyeodT5/p4DL+OWq+p44vlG5IxWL/5mISp0uRphCGtgVcov96FqkiFNQC4dubxQ+IzXKA2s48BGjz853cDEI4cDF92ixLRlfVVvuaqO54+d7rKJhHb54J03bFQeP9tjm2ZJYf8hWrGsGtgguz5UU4YjbB+r3tK9r+6+XmvgBz3b9C5W7v2XN9A0NPBXXLQi1rR+1YPaZhvuJ3UF94LuDVWm62yz1aPVl1EfqvVUx2S6KXztmizbgNkunO7ad9RIkx61+qBf2SCb6gq0E4HcBVPd8TM9tlkueg0NLoNjULOm2VqUNsHweuVDg+2iZUHP2sZsc6kAF2k8eVUSmE3y1r+9/W7gZ2yeAaoZ3y1X1fHQj9+Qliy+4qIVmDu3aHQtmN4b/taTNhM0Ds+YUXgjD2TXBsxGxjU53TCqqZLEhasyvu7ruuNnc2zDyPHiwuQB447Na0T88WvXOJlOptws0TxgMwHUOUdjl63GF5840hVGWlYl/OKdc5idM2vcbnNvuNeYTVNvdybK3nswpTDyWRFkPL2YKGaiNshWYdLEOQ4mtq7HxCOHUykp7Ee3hqBiqOZ0rdtMTjekEtSiYDsDlDXu9r7u9cTPLQicmzu/JhEk9bW5N0ze8+PORJlg2MhHwMZ4Bl3AYQpLmSIzvk4luKqkLeOjdXzh8RcyMfLuvtjUX/fOrGwatuQRkxmgN2lwaNDBmdZC1/qQ13gHra8E6eLDOBa2M0HWxJtR+IXXLLFZmAzymhOvsOeP1yZUUSvpImQqXC/U1kR7O2YFJY3FzebLV8Op9v6yiVTdqRKGat3F60wax7g681NzLakAwDXeJgZU95kwggjbks+siTeDPfkI2FiZL00AABiASURBVCz6ut3tZUYo7jZvfvYceLlnka+1IEqVAt6YbWLikcPW31PptP0MVAkrlg1Y98aV4W3icffkkZ66QgPVKrZdfX4h2Fv+N6y4wEb5FFQexEVnZFX3BoCejmjez62sOVjuVLpi/4C8KB8vuprBRj4ipguT46N1TL1+sueGTuNiDRMfDcuqQSfR/qc6kgwTtRYEiOyqdqrYecNGTL1+Ep97eAayn2q2FvDdw8e7koFskBUPsznXQ4NOYLKWaTtBf9VIv+Jm4pHDAJ1XGs02W6g5Vdy/bURa0CyvyY15hkSOYpBjY2Niamoq62EkShblUVWqBVdZEud4JqcbmHj0cKja7kXAX1MlSb4qMXRByGYGuqQ3GUM1BzM7r+u6VlfWHBDBWF0jw0Y9k9dkxrxCRIeEEGPS99jIlx9ZJqpTJQxUqCcuW3OqgfHdIGSGhrHH1tDpunMN1RycbraMzgkBeNUwc9aGdTv2G18TtmPo99ryOiPPC699gD8LdtWgAwhoF96i8MxLJ9jAx0BjtmnV4elBTalnUwMPJLegafO7Np+Vdbcy7WLVD3BMvk/wxkc3735aO3WPGqtnaVt82HR40hnxoUEHg8sGAsMlbm2dzbufjiV05+8d6y/q5lSoKyYP9JYVDvLMuba8Hvbk+5AgIxzVk2NpW3yYzKx0FU1d3jkzjy0bhrVSUFkjkLDesMy7dou6eesq7bn1Suz52JXassJBY0lTWFBE2JPvI1zPSufxxaH2SbKMblhUlQzdctRRw0ufvGYNxi5bjXuePKqcJenqsjgVQJViEFTa2fX2dbQWBR567g3tfto0AgmKgau8a7eom5+gWku6saSV0V1U2Mj3CSZlgL367SjoulS523nnzHxkKaJNMatrfnMVnj92Wqq1VvXHrRJhUQijJt1uMpvb0lFV/MtbBE2IdqzcpE/vuh37pQoXG/37ghDWFZplDxipFPLRw9i17yhmmy1taeAoSVaq100bh/crbOQTJi+r/jpjYNJkwhZZ/ROgffPtvGEjACwZhbAMWMgZnz92usvI+s+Fqj+u928V/mS2oCQ5VYXGW66qY++P3+h5+Lnb9x4r9zu2syW3a5pfYnnBQEV6LmTesOxaai2Ipe/rjleFSNkn2LtNG8/cJilxcrrRNdtKql5UnmAJZYJIpYsVwoXLByLpjcOgkq8lJZdzCXrI2WinvYTpGeJ65rJxeMdp4rl7qRCwKMwflqp9Hqo5ePfcvJUO37bjl4u/axogfyB75bTuMYpadTNIpquaCUWV9qpyOJwKYc+tVxba0LNOPiNMDJj34k3S69clRGWZdGKjnU4K11C6RtqmyJkKncGPe5/9CVpBD8AqEb7y8V6jprv+4u76FXTdJXEv6O7HrO+DqLCRzwibm1kWp47De3FJyjuyHYP/xo3DM4wTXejCFqdT78Ybd7etm260Hd/s0KT/rO25j3vMgHmrwrjQ3Y9Jz2iTJpNkKCLaRUQNIprp/PlIUtvKKzar+6fmWj2x2DgSk1xkbQHTNvB+Sd2de2dw8t2z0kqMWdFsLeCXZ+KpvePGqf0yQNtqi4HbWRQYXDaw1Abv3vFNS+dahe21FVaOqDqzBKSerKS7HwUQ2L6zqCStk79fCDHS+ZNYM++8EsfNHJfWN+sFYNXCb7O1CIhOFm5O8It+4mqt2mwt4J4nj2J8tI5bror32Puvk/HROp7dcS1e23290tAGSTO9/VlX1szPj7f36+3XrJFuX8CskU6cTGxdr3Uoypopy+qaBPH3rwxDHFpfXb9Nd3xJG3+dQXE90ayqVwYRZ0Tz1FwLG7/0fZybj7fufphmHKrvyK4Xp0rGFTgv8cW3VfV00k5Wcq9rXS5DGTNlk/bkP0tELxDR14holewDRHQHEU0R0dSJE+Vq5+X1nlcNOu0Ubgvi0vqqElN27TuaWs2PoIdVnuLySfPuuYVYyyKHacbhLR3geuvueVdJJC9cPrAUAtJdyX7jrQobZZGsND5ax/SXrgs9wykikYw8Ef2AiF6U/LkJwF8DuBzACIDjAL4i+w0hxANCiDEhxNjw8HCU4eQKWSceEJa6+QSFAOKMmasu2tlmS5lZGDdxx6HTZKjm5GrdwKkQVg2ad4WSrcfoSgeoHrin5lpL5zGoTo6XMF2i0kD1kClbpmykcI0Q4kMmnyOivwPw3SjbKhoqb2jFBQOY2Xkd1u3Yr/wuAbHKuZLsnWka69dNlWtONZUSCGG09TWnil03boycuBUXNsk7sgJhbjLYQ8+90aOvdx/wKu19lcgow/adM/NdCU82yUpxYHpN9kumbGIxeSK6WAhxvPPfjwJ4Malt5ZGg1Gyd4Y3bk1BdzKpGEqbb18X6VYZelQ9g2oYvCJ0htzXwXq379pjGpyLoAWSSaOVv8uFNrGrMNrti47qyA6pxLAhh5AC0FntbS5p2ULPFm6DlPpxkhdbcMXhJ++GTFUkuvP4FEY2gfbxfA/CnCW4rdwQtdk1sXY+JRw5LY7Nz57o9oajo+m2G8WR0mY8mC1eyGz4OI+/WhwnSiJvwyWvWdDVXt50NmeA28tBp2009d/8DN+ysw70+VYlzqvf8pBHX9u+z++CyKbSW1MMnTyRm5IUQ/zGp3y4CQVNB98KShQFOzbWM64iboruYbTwZk8zHMMawHoMRdascujVqovzeMy91iwBMK2vWh2pY+2s1/NMrJ/Vx606LPS+yKpazzRa2753B1Osnux46fmwKlanwXp+6a9fkOKQR17ZtTt6vsIQyIUymgq7hlWUTpiXl8o/TXXT11ytx92Hu3HzgjVUNISyPqzxxY7aJvT9+Axcuj3Zpy3TngF4OWyVa+t7t16xZetDICoLturFdpM1/fGUIAA8ePIaxy1Yrr4eoRkwWDgoqJSwLC7n7l0Zc2+YhXrbFVBvYyCeI6VQwy6YHQRp6/3smLAhhnXwleyhu2TCMh378BhYs5YatRRFZc7+y5iw9fL21bbZsGMbjh97EnKT4uxsucOPfbshHdSwmpxtdITvd8XWTh1THMO5wku7a9b+XRaKdjcyXAGzZUB7lni1s5HNAlk0PdK3TTLx2GUM1x2pB1kVmWMYuW91lQExCIXHwyzOtntK5/sXLIL7p8779s6Vd+45a6eVVRnxyuoG5c/PGv6P67bAhwizi2jYyXwHgsUMN7UyozHCBshwgi3O7U/wkar17ibsiok61E1elvyhlgQFgxbIqmucWEG/OqRz3/PWUnLaohe/lq9tGerzoNKtD5oUw121R9i0MmRQoY8zxJqu4eCVgE48eTqyehmq2ECauXiXCfTdvwqwiVOI2iPZnWNri1mV5dff1+MrHrzROsnL36UxrMRUDD2DJc5flTIThniePdv3fdsHVqRKGNHVoirJAqbpubTJx+wU28jnBNVyyQl2tBdFzc8vwF5UyMaKqbMQwjSjcGuW6GzDuEgr+bE5Zdqpbd8W001OcXNJpzhEXp+ZaXcfM5rerRNjzsSsxs/O6XJUaCIPsuiW0F7yLvm9xw0Y+Z6gWDIMWEmWlfE2MqKoEsepGUTn4FQK2753B5t1PY8uGYekNqNIvR8Xr2c/svA57PnZl1/6sWDYQa60YG9b+Wg2VuMpYdvAeM1OPtuZUuxqF5LXUgBed0yK7bu/fNoJ7xzcVYt/ShGPyOWOtptyBPx7rJe7OT7pm1CYNKfxNq1UPqTSaNYSJ37oNP4IaUwcRppSCyW+6x8ykabhK8ZKGKibsNqI2ucm6tHba6GLyrK7JGYNORSrPA/QSurhlmDqdv1fxIlv4dJOSnt1x7dLNqiKNKbStvFC12B2mO1ISLpT3mEVJzU9aFWNb9sKLTvWVh30rEmzkc8TkdEO7IOcuXMpu5iRkmKobxVuDRlWOwH246BYG05pC2yRa6WY+cSVsmUAAfvfy1Xj+2OnAshN5NWhRDHWWuSNlg418jthz4GVt7NhduAR6vaK0K+qZeOi6srUAUms/6M9WlRWyAoKPl/s7n3/4sDR84/+9sKEab6PtIocdVAa5MdvEyD1PLeUhrBp0sPOG7vo8WeaOlA028jlC56XoFi69nlxaBmHXvqNaD33LhmHtQ6A+VEvVWMm83TAG1H3fJA6+ZcMwHjx4TGnoh2oOzs4vauPOefXSTdCFybz1mk7NtTDx6GEA549vv5QBTgM28jlCdVPoFv68D4a0DMLkdENb5fC+mzclHqaJw8MNe7xsH6iyLFmnQkv1a4rqqauYnG4oW+ypZjethe7yxP1SBjgNWF2TI3SKAlVhrCyy+HQLkO54dIoWVyWUlfIibfxGz6bxR1HQlZ92WaVRWQHpKK3KCqtrCkKQ95KX6asurOSORzUrGao5SwY+bHPxqMqLtIlrhpW3+LzXsJusPwwuG8DgsoHUmuUwbdjI5wydogXIx/RVZcBXDTpdMVVZU5R3Ow1RVIb6nieP4kxrUSu760flRRQ5YhrjMYkHvDXbxP3bRqTXhVMljrcnBBv5AhGHRxiHN6haFNt5w8auscrism7sVWWQZdN5v5fej8oLk9lLmp5+mCYll3gW273NcmTqGiY+2Mj3EZPTDUw8erir76df1WCC6axCVajM/Y5tc3FdeKDsyoug2YvM079z7wzuefKolQE1fVDYzpqcynlPvciKoSISycgT0a0AdgH4bQBXCyGmPO/dBeDTABYA/GchxIEo22Kic8+TR3uSrdziZ0koU3Qet2o2cMFARarcWemrUS9wXqlRJeqqg2OzL3mLc6sImr2oPGubVpI2ISGbh3QZF5qLRFRP/kUANwP4W++LRPQ+AJ8AsBHAJQB+QES/JYRIPlXQQ1Fu4Ch493FlzQFR24OW7W/Y4mdh0WmdVbMBQL7ATIQeI+Yaem9TDxuD9oXHX+gqIZF1nFtHkG5c51mbLkrbLGjLxpNWDwTGjkhGXgjxEwCg3ip7NwH4thDiLIBXieinAK4G8M9RtmdD3haqksC/j14POA/7GxTW0c0G/N/ZriifoEsQU+EPW9l+X0dSjkXQsQzyrE3CK7oMVVU5jbI7UWUgqZh8HcBBz//f7LyWGkWT2YUhaPHLv79DNUcaCtE1kYhKmPir7DtBGmwvQQZtz4GXtTWCZN83Md62jkWYPriq94Pq6pgsSqseFLpyGmW5l8pMYD15IvoBEb0o+XOT7muS16R3FRHdQURTRDR14sQJ03EH0g8yO1vvbNeNG+FUfA01PJmXeUbVJEJGkEELOm4Voq4a5qa1+nWOhZ+w9f9VjI+266vLHtimi9KqY5xUHwCmTZhmPzYEevJCiA+F+N03AVzq+f9vAHhL8fsPAHgAaGe8htiWlH6Q2ZksfvnL0k69fhIPPfcGFoRAlQjbrr60EN6YLDywZcNwT217E4MWdNy8MX5VlU3ZrNDGsUhipumtDmo6Q/B/1l9/R3WcyuQsZUkaYeWkwjX7AHyLiP4S7YXXKwD8OKFtSemHAkdBU3T//k5ON/DYoUZXG7widbGXhQe8te1NDZptTXgVfkNn41ioxhDH2EzDKDID89ihRld5CFUJizI5S1mSRlg5Uvs/IvooEb0J4IMA9hPRAQAQQhwF8DCAfwXwfQCfSVtZ405f/W3timDMTPHv41DNwapBR7m/qgvq8w8n1yg8acZHz7f+e3bHtVoD74ZHZIRZl/AbOpu2c6pG6WEaqIfFJLwk2ycAmOtkLjPRSCOsHFVd8wSAJxTv/TmAP4/y+1Hph4Uhm31UXTgLQmSuxEka1SK1t8CbTecnVfMOd1tBMwtVVdE0m4ybGBhZhipgp79n1KQRVuZG3n2E7sIp+2KaiUFTea1egmaFQTMLd5FNhaqBehKorgf/6+Ojday4oNcfLPs1kwZpNB1nI99HBBmxMi+mmRg0N/y1Ypn8GH3ymjWBYSEdQSGjtNeMbAxMP6jVsiCNsDLXrukj3AtH1b6uzItppgvxbvjr7skjXSqk2z5wKe4d3xRpDLq8hiyyRG3CS/2gVsuKpMPKbOQllLkcQt5q06eFbYbmveObIht1Pyqvl4DUG7+4mBqYflCrlRU28j76oRxCv6akZ70QX2RvuF+vmTLA7f98qBQWWbTZY8pF0doWMsWB2/9ZwAtM2VHmMBnA3jCTDWzkfRR5Sl1k+iFMBmQfMmL6D5ZQ+khDt8r0YlPci2EYc9iT98FT6mwIU8ucYZhg2MhL4Cl1+oSpZc4wTDAcrmFyAdcyZ4JIuu56WWFPnskFsjAZ1zJnXPplYT4J2MgzucEfJuNa5oxLP7TzTAoO1zCZo5qGs9KJceH8lfCwJ89kisk0nJVODOevhIeNPJMpQdNwVjoxALBlwzAePHisayGeZ3VmsJFnMoWn4Ywff3kLt2G718ATgFuuYgfABI7JM5li2p2I6Q+8jVUE2uG7Bw8e65ntCQDPvHQikzEWjaiNvG8loqNEtEhEY57X1xJRk4hmOn/+JvpQmTLCi6uMF1n4TlUnl2d7ZkQN17wI4GYAfyt57xUhxEjE32dKTpkXV8teVTOIMPtvY7h5tmdGJCMvhPgJABBRPKNh+pIyLq6mlbyT1wdJ2P3XlbfgRddwJBmTX0dE00T0j0T0e6oPEdEdRDRFRFMnTnCMjSkHaVTVlMWv73r8SC7S/cPuvyp8d/s1axJtdl1mAj15IvoBgF+XvPVFIcR3FF87DmCNEOL/EdFVACaJaKMQ4pf+DwohHgDwANDuDGU+dIbJL2FVQzaeeZ6zQMPuf5nDd1kRaOSFEB+y/VEhxFkAZzv/PkRErwD4LQDZ9vZjmJQIk7xjG+LIs/w0SvJSGcN3WZJIuIaIhomo2vn3bwK4AsDPktgWw+SRMKoh2xBHnuWnrJrKD1EllB8lojcBfBDAfiI60Hnr9wG8QESHATwK4M+EECejDZVhisP4aB333bzJKo5s65nn2ZCG2X8mGUiI/ITBx8bGxNQUR3SY/kRVdbM+VMOzO66Vfiev6homXYjokBBiTPYelzVgmJwwsXV9V0weCPbMOX7NBMFGnmFyAitLmCRgI88wOYI9cyZuuEAZwzBMiWEjzzAMU2LYyDMMw5QYNvIMwzAlho08wzBMiclVMhQRnQDweoSfeA+AX8Q0nCwo+vgB3oe8UPR9KPr4gXT34TIhxLDsjVwZ+agQ0ZQq66sIFH38AO9DXij6PhR9/EB+9oHDNQzDMCWGjTzDMEyJKZuRfyDrAUSk6OMHeB/yQtH3oejjB3KyD6WKyTMMwzDdlM2TZxiGYTywkWcYhikxhTfyRHQrER0lokUiGvO8vpaImkQ00/nzN1mOU4dqHzrv3UVEPyWil4loa1ZjtIGIdhFRw3PsP5L1mEwgog93jvNPiWhH1uMJAxG9RkRHOse9EB14iOhrRPQ2Eb3oeW01Ef0DEf1b5+9VWY4xCMU+5OI+KLyRB/AigJsB/Ejy3itCiJHOnz9LeVw2SPeBiN4H4BMANgL4MID/7vbOLQD3e47997IeTBCd4/rfAPwRgPcBuK1z/IvIls5xz1yjbcjX0b6+vewA8EMhxBUAftj5f575Onr3AcjBfVB4Iy+E+IkQQt7puCBo9uEmAN8WQpwVQrwK4KcArk53dH3D1QB+KoT4mRDiHIBvo338mYQRQvwIgL8H9E0AvtH59zcAjKc6KEsU+5ALCm/kA1hHRNNE9I9E9HtZDyYEdQBveP7/Zue1IvBZInqhM43N9VS7Q5GPtRcB4CkiOkREd2Q9mAi8VwhxHAA6f1+U8XjCkvl9UAgjT0Q/IKIXJX90ntZxAGuEEKMAPgfgW0T0q+mMuJeQ+0CS13KheQ3Yn78GcDmAEbTPw1cyHawZuT3WlmwWQrwf7bDTZ4jo97MeUB+Ti/ugEO3/hBAfCvGdswDOdv59iIheAfBbADJZjAqzD2h7k5d6/v8bAN6KZ0TRMN0fIvo7AN9NeDhxkNtjbYMQ4q3O328T0RNoh6Fk61V55+dEdLEQ4jgRXQzg7awHZIsQ4ufuv7O8DwrhyYeBiIbdRUoi+k0AVwD4WbajsmYfgE8Q0QVEtA7tffhxxmMKpHNTunwU7YXlvPMvAK4gonVEtAztBe99GY/JCiJaQUS/4v4bwHUoxrGXsQ/Apzr//hSA72Q4llDk5T4ohCevg4g+CuC/AhgGsJ+IZoQQWwH8PoAvE9E8gAUAfyaEyOXCiGofhBBHiehhAP8KYB7AZ4QQC1mO1ZC/IKIRtMMdrwH402yHE4wQYp6IPgvgAIAqgK8JIY5mPCxb3gvgCSIC2vf2t4QQ3892SMEQ0UMA/gDAe4joTQA7AewG8DARfRrAMQC3ZjfCYBT78Ad5uA+4rAHDMEyJKW24hmEYhmEjzzAMU2rYyDMMw5QYNvIMwzAlho08wzBMiWEjzzAMU2LYyDMMw5SY/w9A9q06jIyJkAAAAABJRU5ErkJggg==\n",
"text/plain": [
"