{ "cells": [ { "cell_type": "markdown", "id": "bdcb5c7e", "metadata": {}, "source": [ "# Simple Physical Models for the Global 21-cm Signal" ] }, { "cell_type": "markdown", "id": "96f33cbe", "metadata": {}, "source": [ "To begin, first import ares and a few standards" ] }, { "cell_type": "code", "execution_count": 1, "id": "e57dddbb", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Populating the interactive namespace from numpy and matplotlib\n" ] } ], "source": [ "%pylab inline\n", "import ares\n", "import matplotlib.pyplot as pl" ] }, { "cell_type": "markdown", "id": "2bcda2af", "metadata": {}, "source": [ "To generate a model of the global 21-cm signal, we need to use the \n", "``ares.simulations.Global21cm`` class. With no arguments, default parameter values will be used:" ] }, { "cell_type": "code", "execution_count": 2, "id": "4e5f2fdf", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "# Loaded $ARES/input/inits/inits_planck_TTTEEE_lowl_lowE_best.txt.\n", "\n", "############################################################################\n", "## ARES Simulation: Overview ##\n", "############################################################################\n", "## ---------------------------------------------------------------------- ##\n", "## Source Populations ##\n", "## ---------------------------------------------------------------------- ##\n", "## sfrd sed radio O/IR Lya LW LyC Xray RTE ##\n", "## pop #0 : fcoll yes - - x x - - ##\n", "## pop #1 : sfrd->0 yes - - - - - x ##\n", "## pop #2 : sfrd->0 yes - - - - x - ##\n", "## ---------------------------------------------------------------------- ##\n", "## Physics ##\n", "## ---------------------------------------------------------------------- ##\n", "## cgm_initial_temperature : [10000.0] ##\n", "## clumping_factor : 1 ##\n", "## secondary_ionization : 1 ##\n", "## approx_Salpha : 1 ##\n", "## include_He : False ##\n", "## feedback_LW : False ##\n", "############################################################################\n" ] } ], "source": [ "sim = ares.simulations.Global21cm()" ] }, { "cell_type": "markdown", "id": "541ee65d", "metadata": {}, "source": [ "Since a lot can happen before we actually start solving for the evolution of IGM properties (e.g., initializing radiation sources, tabulating the collapsed fraction evolution and constructing splines for interpolation, tabulating the IGM optical depth, etc.), initialization and execution of calculations are separate. \n", "\n", "To run the simulation, we do:" ] }, { "cell_type": "code", "execution_count": 3, "id": "6949a605", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "# Loaded $ARES/input/hmf/hmf_ST_planck_TTTEEE_lowl_lowE_best_logM_1400_4-18_z_1201_0-60.hdf5.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "gs-21cm: 100% |#############################################| Time: 0:00:03 \n" ] } ], "source": [ "sim.run()" ] }, { "cell_type": "markdown", "id": "ade2c580", "metadata": {}, "source": [ "The main results are stored in the attribute ``sim.history``, which is a dictionary\n", "containing the evolution of many quantities with time (see [the fields listing](../fields.html)) for more information on what's available). To look at the results,\n", "you can access these quantities directly:" ] }, { "cell_type": "code", "execution_count": 4, "id": "8237d479", "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "pl.semilogx(sim.history['z'], sim.history['dTb'])" ] }, { "cell_type": "markdown", "id": "71f75917", "metadata": {}, "source": [ "Or, you can access convenience routines within the analysis class, which\n", "is inherited by the ``ares.simulations.Global21cm`` class:" ] }, { "cell_type": "code", "execution_count": 5, "id": "d6d35ed5", "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "(,\n", " )" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "sim.GlobalSignature(fig=2)" ] }, { "cell_type": "markdown", "id": "1a79ccd6", "metadata": {}, "source": [ "If you'd like to save the results to disk, do something like: " ] }, { "cell_type": "code", "execution_count": 6, "id": "7111995d", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Writing test_21cm.blobs.pkl...\n", "Wrote test_21cm.history.pkl\n", "Writing test_21cm.parameters.pkl...\n" ] } ], "source": [ "sim.save('test_21cm', clobber=True)" ] }, { "cell_type": "markdown", "id": "1cc87e91", "metadata": {}, "source": [ "which saves the contents of ``sim.history`` at all time snapshots to the file ``test_21cm.history.pkl`` and the parameters used in the model in ``test_21cm.parameters.pkl``.\n", "\n", "**NOTE:** The default format for output files is ``pkl``, though ASCII (e.g., ``.txt`` or ``.dat``), ``.npz``, and ``.hdf5`` are also supported. Use the optional keyword argument ``suffix``." ] }, { "cell_type": "markdown", "id": "37c75d30", "metadata": {}, "source": [ "If you just want the plot, you can do, e.g.," ] }, { "cell_type": "code", "execution_count": 7, "id": "6861896d", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "pl.figure(2)\n", "pl.savefig('ares_gs_default.png')" ] }, { "cell_type": "markdown", "id": "9a25da47", "metadata": {}, "source": [ "To read results from disk, you can supply a filename *prefix* to ``ares.analysis.Global21cm`` \n", "rather than a ``ares.simulations.Global21cm`` instance if you'd like, e.g., " ] }, { "cell_type": "code", "execution_count": 8, "id": "83d6544d", "metadata": {}, "outputs": [], "source": [ "anl = ares.analysis.Global21cm('test_21cm')" ] }, { "cell_type": "markdown", "id": "96aa4071", "metadata": {}, "source": [ "See [built-in analysis routines](../analysis.html) for other options.\n", "\n", "See the [parameters list](../params.html) to learn about other parameters that can be supplied\n", "to ``ares.simulations.Global21cm`` as keyword arguments." ] }, { "cell_type": "markdown", "id": "8e06f801", "metadata": {}, "source": [ "## 2-D Parameter Study" ] }, { "cell_type": "markdown", "id": "4666a66a", "metadata": {}, "source": [ "To do simple parameter study, you could do something like:" ] }, { "cell_type": "code", "execution_count": 9, "id": "e66400a8", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXQAAAEsCAYAAADTvkjJAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAABlzklEQVR4nO2deXxU1dn4v2eWTPaEkJUQICHsARJQZHHXoqioaF3aupVat1rt66t1aSvyFrHa6k8rVVGr2Na61J0CIiiK7AQIe4CwhhCSQAhZJrOf3x93ggmZCTOTmUyW8+VzPzNz1udebp4589znPI+QUqJQKBSKro8u3AIoFAqFIjgoha5QKBTdBKXQFQqFopugFLpCoVB0E5RCVygUim6CUugKhULRTVAKXaFQKLoJSqErFApFN0EpdIVCoegmKIWuUAQJIcT9Qgjp4VgYbtkUPQOhtv4rFMFBCBELxDYr+jHwLHCtlHJJeKRS9CSUQlcoQoAQ4hbgb8B1Usqvwy2PomegTC4KRZARQtwJvAxcqZS5oiNRCl2hCCJCiPvRzCyXSSlXhFseRc/CEG4BFIrughDiYeBR4FIp5aZwy6PoeSgbukIRBIQQjwOPAdcB25tV1Usp68MjlaKnoRS6QtFOhBACqAHiPVT/Rkr5UsdKpOipKIWuUCgU3QT1UFShUCi6CUqhKxQKRTdBKXSFQqHoJiiFHmSEEP8jhNguhNgmhHhPCBEphEgSQiwRQuxxv/YKk2yRQoh1QojNbhlnuss7RD4hRJYQYpkQYqd7/gc7an4hxFtCiEohxLZmZU8JIcqEEEXu44oOmPPPQohiIcQWIcSnQojEDpizU9x/3vD0NxNumToaIUSiEOIj972xUwgxIZBxlEIPIkKITOAB4CwpZR6gB25Gc2f7Wko5CPja/TkcWIGLpZSjgXzgciHE+A6UzwH8r5RyGDAe+JUQYngHzT8PuNxD+f+TUua7j2AH0fI05xIgT0o5CtgNPN4Bc3aW+68VbfzN9DReAr6UUg4FRgM7AxlEKfTgYwCihBAGIBo4AlwDvOOufwe4NhyCSY0mn2ij+5B0kHxSynIp5Ub3+zq0mzazI+aXUi4HqoM9rr9zSim/klI63B/XAH1DPSed5P5rA09/Mz0GIUQ8cD7wdwAppU1KWRPIWEqhBxEpZRnwF+AQUA6clFJ+BaRJKcvdbcqB1HDJKITQCyGKgEpgiZRybTjkE0IMAAqAsMzfjPvd5o+3wmCKmA4s6oB5Os39dzpt/M30JHKAKuBtIcQmIcSbQoiYQAZSCj2IuBXCNUA20AeIcUfd6zRIKZ1Syny0leE4IUReR8vgDjP7Mdqmm9qOnr8ZrwID0cxP5cDzHTWxEOJ3aCaodztqzs5IV/ib6QAMwBjgVSllAdBAgGYxpdCDy6XAfilllZTSDnwCTAQqhBAZAO7XyjDKCID7J923aPbWDpNPCGFEU+bvSik/cReH5fpIKSvcX3Au4A1gXEfMK4S4HbgK+JnsmJ19ne7+a4a3v5mexGHgsPvXMsBHaAreb5RCDy6HgPFCiGj3dvBL0OzEXwC3u9vcDnweDuGEEClNXhVCiCi0P6bijpLPfU3+DuyUUr7QrCos16dJybmZBmzz1jaIc16OFsDraimlOdTzuekU958XvP3N9BiklEeBUiHEEHfRJcCOQMZSW/+DjNsV8Ca0n9ObgDvRsth8CPRDu4FvkFJ26AM6t2yj0B6K6dG+zD+UUv6fEKJ3R8gnhDgX+B7YCrjcxU+g2dFDOr8Q4j3gQiAZqABmuD/noz0YPgDc3WRrDuGcjwMm4Li72Rop5T0hnvMzOsH95w1PfzNSSmt4pepYhBD5wJtABLAP+LmU8oTf4yiFrlAoFN0DZXJRKBSKboJS6AqFQtFNUApdoVAouglKoSsUCkU3oUsqdCHEASHEVndApUJ3WacMQCSEuCvcMpyJcMrY0+buKXP6S1eQMdQE4xp0SYXu5iJ3QKWz3J87awCigP+ThBBTg9muDcL5x9TT5u4pc/pLV5Ax1PRohX46nT0AUSD4qqjbq9AVCkU3oEv6oQsh9gMn0DaEzJVSvi6EqJFSJjZrc0JK2crs4v5Z0/RNODY6OjqksjocDgwGQ0B9nU4ner0+aO280R4Z20tPm7unzOkvXUHGUOPrNTCbzVJK6XEx3lUVeh8p5REhRCpafOlfA1/4otCbExMTIxsaGkIrrEKhUAQRIYRZSukxGmOXNLlIKY+4XyuBT9GCKnXmAEQKhUIRcrqcQhdCxAgh4preA5PRgip15gBECoVCEXK6otEqDfhUC8yGAfi3lPJLIcR64EMhxC9wByAKo4wKhULR4XRJG3qwUDZ0hULR1eh2NnSFQqFQtEYpdIVCoegmKIWuUCgU3YSu+FC03bi3yk81mUzhFkWhUCiChnooqh6KKhSKLoR6KKpQKBQ9AKXQFQqFopugFLpCoVB0E5RCVygUim6CUugKhULRTVAKXaFQKLoJSqErFApFN0FtLFIoFIpugtpYpDYWKRSKLoTaWKRQKBQ9AKXQFQqFopugFLpCoVB0E5RCVygUim6CUugKhULRTVAKXaFQKLoJyg9doVAougnKD135oSsUii5EW37oPXKFrlAAOKqrsWzfjv1IOY6KCqTNqlUYDBiSktAn9caYkU5ETg6GXr3CK6xC4QNKoSt6FNaSEk7O/y91ixdjO3DghwohEEYjANLhAJerRT99UhKmIYOJGj2aqPx8okaPbreSd7gcHG88TqW5kkpzJSesJzDbzZgd2mF32t2iCZr+mQwmogxRRBmiiDZEE2WMIs4YR2JkIr1MvegV2YsoQ1S75FJ0XZTJRZlcegSW4mKqXvor9cuWgV5PzDnnEDNpIpEjRxKRlYUhOfkHhe5y4Tx5Eufx49jLyrDu3Yd1314sO3Zg3bUbnE4AInJyiJkwgZiJE4geNw59XJzX+ett9RRVFbGlagslNSWU1JRwqPYQTun02N6kN2HUGZFIpJSnXq1OK5K2/2Yj9ZH0iuxFoimR3lG9SY1OPXWkRaedet/L1AshRIBXVBEu2jK5KIWuFHq3xmWzUfXSS1TPewd9bCy9br+NXjfdhKF378DGM5uxbN+OuagI8/r1mNcXIhsbQacjcmQeMeMnEDNhApEF+ZQ0HOCbQ9/w7eFvKa4uxiVd6ISOrLgsBiYMJCcxh4yYjFMKNikyiRhjDFGGKAw6zz+em5S62WGm0dGI2W6m3l7PCcsJaqw1nLCc0A6r9vlY4zEqzZUcbzze6ovAqDOSEpWiKfqYNNKj00mLSSMtOo30mHTSotNIjkpGr9MHdK0UoUEpdC8ohd69sVdUUvbAAzRu3kziDT8m9eGH0SckBHUOabPRuHkzDatX07B6DY1btoDTic0o2J4FW7MFtjHDyBlzIWPTz2JU8iiijdFBlcEX7C47xxuPU2GuOGXiqTBXUGWuOlV2tOEoVqe1RT+90JMSndJCyZ9671b+KVEpSul3IEqhe0Ep9O6L7dAhDt52O87aWvo88wzxl00O6XyV5kre2PIGi7Z/Qu5+Cxcf7c3I/ZLIsmMA6FOSiZkwgdhJk4ieMAFjampI5QkEKSUnrSepMFdwtOFoi9eKhopTny1OS4t+eqEnOSq5xSr/9NV+clSy118dCv9QCt0LSqF3T2yHyzh4663Ixkb6vf0WkcOGhWwus93Ma5tf49/F/8bpcnJ17tX8dOhPGZI0BAB7eTkNq1bRsHIVDatX4zxxAgDToEHETJxIzKSJRJ91Frrojl+1B4KUklpbbQuFf0rpuxW/J6WvEzqSo5I9rvLTo9OV0vcDpdBPo9nGol9aLJYztld0HVwNDRy4+WbslVX0n/d2SJX5skPLmL1uNkcbjnLNwGu4Z/Q99I3r67W9dLmwFhdrCn7VKsyFG5A2GxiNRI0cSVRBPtEFBUQVFARs4+8MnK70T630m63yK8wVNDoaW/Q7pfRPW933jupNUmQSvSN70zuqN4mmxB6t+JVC94JaoXcvpJSUPfgb6pYupd+bbxAzcWJI5ml0NPKndX/ikz2fMKjXIJ4c/yT5qfl+j+OyWDBv2IB59WrMGzZi2bYNaddcFY39+xGdX0BUQT6Rw4ZhGjwYXVT3cUeUUlJnr/Oo6CsaKjhq1lb+pyv9JhJNiSRFJmmK3q3wT312K/4EUwKJpkTiIuK61ReAUuheUAq9e3Higw85OmMGqb/9Lb2n/zwkcxyqPcSDyx5kb81e7hx5J/fm34tRZwzK2C6rFcv2HTRu2oh50yYaN27CWV2tVep0RORkEzl0GJHDhhE5bCgRA3MxpKZ0W9fDJqVf3VjNcctxqi3VVDdWU2354fPxRne5pZpaW63XseKMccSb4k8p+YSIhJafTQkkRCSQYNLK44xxpzyOOtv1VQrdC0qhdx/sR46wb+rVRI4cSb+33wrJH+GWqi3c//X9SCTPnvcsEzND8wugCSkl9rIjWHbuwLpzJ5adxVh27sRx9OipNrqYGCKys4nIzsaUk01Edg4R/bIw9umDLiGh0ymjUGJ32jlhPXFK0ddYazhpPclJ20nttelo9rnWVotLuryOqRd6YowxxEXEEWuMPfXe02usMfbU+2hDtLb5yxh9aiOYUWcMyv+HUuheUAq9+1B69z00rFtHzhefE5GVFfTxV5St4H+W/Q8p0Sm8eumr9I/vH7zB7RaoPwr1VWBv0D7bzeCwAhKErtkhcNTbsB6uxlp+AltZFbaySqylR3AcrWwxrC46GmNmHwx9+mBsOtLSMCQno09O1l4TExG68AdddbokFrsTs81Jo81Jo92J2eag0ebE6nDhcEkcTu3V6ZLYnS6cLnnqs8P1gx4TQJPe1N5rH4TQPjd90AnQC4kDCzZXHVZZj9VVj8VZh02asbnMWJ1mrC4zFlcDVqeZRkcDFmcDjY4GzI4GzI56HNLh0zkahOGUco8yRp1S+qcr/qZdwJGGSEx60w+v+khMBhPn9T1PxXJRdF8aVq+m/rvvSH3k4ZAo8zXla3jwmwfJSczhtUtfo3dUgA8s7Y1weD0cLoSqXVC1E04cAMtJv4YxuI8YgEhgoHa4HAJbnR5bvRG7JRJ7owu7eS/2HftpXOvCZfGweNMJDPFR6BNiMSTGoU+IQx8fjz4+AV1iIvrE3uiTeqNPSkHXOw19Yi90MbHooqPa/CJwuiRVdVbKTzZy9KSF8pMWquqt1Jjt1JhtnDDb3O/t1DTasNi9r5I7Fh2Q4D58RNgROivoLAi9BaGzgM6G0NkRwoZOb0NvsIPOTr3eRoPOhk5nA70NIepAdxwpbCCsSGHDhRUp7AFJ360UuhDicuAlQA+8KaX8U5hFUoQY6XJR+ee/YOiTQa9bbgn6+EWVRTzwzQP0i+/H6z96nV6RfsZvOVkGO7+AnfOhdB243H+o8ZmQMgT6joO4NIhNh9hUiIgBYxQYo8Fg0lbl0gVSaq8uJzht2peD3dzs1YzO3kikrYFIeyPYGrTVvq0BbGawN+Csq8NR04DzZAOOOiuOehuOBicOSz1OSzWOUh22Eh1Ouw6XTdBsPesRYQCdUYBRhzTqcBl02PU6bHodVp0eu0GPQ28AnYFkvZ5EnREZEQEmE8IUiTBFoY+KRB8VjS4uCn1UFIaoKHRRUURExRARbcJoisIYFYXeFInOZEJvikRvNGHQG9AZItAbDRgMEej1RtDpQHJqR6yUnNobq4VPoFm5RErti+eHlX7TL4Efylyy+efWvwpc7temXw9Nr3an9t7eok4bo6nO4f6l0bzc6dTK7C4ndqcFm8uGQ1qxu2zYpRWnywb80uv/SbdR6EIIPfA34EfAYWC9EOILKeWO8EqmCCW1ixZh2bGDPs89iy7I8e3L6st44JsHSI1O5Y3Jb/iuzKWEfctgzWuw5ytAQuoImHAf9J8EWeMgquOjN+rdRwtcrlNfCNjqNeVva0Ba63DVVOM8cRznyRM4T5yg/lgNJ6uqaayrx1FvxtloxWi3Y3A60Dmc6B0OTDZJpEOCA6QdpAO0cDXtsx273IcDQEi39Ul7RSc1c4pOInQCTlmohPZZL9zvAZ3QzDFCaO91AiEEETqhBWjTaeUI3an32qtO+0UihPZ6qk73Q13zV727jdC759TKT82LaPlZO4Ef5hZN9c3auD/Ht3Gduo1CB8YBJVLKfQBCiPeBawCvCt1paWT5+GGYYwSuG67lintmd5CoimAgpeT4628QkTuQ+KuuCurYZruZB755AId0MOfiOSRHJfvWcf/38NXvobwIYlLg/Edg1E2QnBtU+YKGTgemWO3gh92rAqg82cj3e46xpuY4a6urKattBBNExOgYlhHPyMx4RvRJYHBaLNnJsSTFRHicQkoJNhuuxnqkuQ7Z2IBsrNc+N5qRlkZkoxmXtRFpsSCtVu1w2JB2u+bK6XAgHQ6kw+5+dYDdgXQ6kA6n9tnhRDq199LpQjqd4NBepdOFdEmkU4KUSJf2iksLeoZLIl0ubYV/qhx3G3eZxN0Pdx2cIU5ah9OdFHomUNrs82HgnNMbCSHuAu4CiNALjqcZSSuzE/nKp6wdMJRzLr+tY6RVtJuGlauw7tpFxtNPB/XBnpSSJ1c9SUlNCa9e8ioDEgacuVN9FSx4SDOvJGTBNX+DkTdoZpMugpSS4qN1LNlRwZIdFWwt02z7STERjM9J4u4LcjirfxKD0mIx6n2/3kIIMJnQm0yQ2HU3THlCU/4ucLm0LwSnU3t1ub9QZNMXh8v9pfDDZ6T8oazps8v9LeF0ur9UnO7xne45nFBwlld5upNC9/SbrtX3p5TydeB10Lxcpn2+hS0r52P91W85/pdncV76U/SG7nRZui/Vb72FISWF+KnBXZ1/VvIZiw8s5sExD/rmmli8EL64H6x1cPEfYMKvNDt4F6Gi1sKnm8r4aMNhSirrEQIKshJ59PKhXDQ0hSFpcT3K/dEfhBCg14Ne306jUnDoTprrMNDcxaEvcMSXjqMmTeX9i19j9MJ9fP7c3Vz3xN9DIqAieFh276Zh1SpSHnoIXYTnn/qBcKj2EM+se4Zx6eOYnje97cZSwvI/w7KnIWM0TJsLqaELNRBMpJR8v+cYb6/cz3e7q3BJOKt/L56elsePhqeRGhcZbhEVAdCdFPp6YJAQIhsoA24Gfupr52lP/4c1q8cSt3g1zt861Cq9k3Py40/AaCTxhh8HbUyXdPGHlX/AoDPw9LlPoxNtmBWcDvjsXtj6IYy6Gaa+BMbOrwRtDhefFZXx9+/3s6uijpQ4E/ddmMt1YzLJSYkNt3iKdtJttJaU0iGEuB9YjPYw/y0p5XZf+5uioimflMvo/5aw6LXHuOr+v4RM1nBRVV/LJztWsLpsE8caq7C7bCRHpnLJgIncVnAJBn3XiGktbTZOfvEFcRdfHNRcn5+VfMbGyo3MnDiT9Jh07w2ddvj4TtjxGVz8ezjv4R92snRSnC7Jp5vKeHHpbg6faGRoehx/uWE0U0dnYDJ0jf93xZlRO0Wb7RStOV7Orh9dzNF0Pdcs3BZGyYKHy+Xi7Y1L+Hjze9RYNlMXY0eiQ7hiEBhw6WoRwoXR0Zffjf8D148I7Xb2YFC7+CvKHnyQrNfnEnv++UEZ83jjca7+7GpyE3N5+/K3va/OXS749C7Y+h+Y/DRMvD8o84eSZcWVzF64kz2V9eRlxvO/k4dw4eDuGwOmu9PW1v9us0IPBom9M9g/MpG8dTVsX/sVI84JbVKEUOJyufj7P/+Ic/HHDNpv5/kT7nKjJKYgk76zX8PQdxDHzXW8uOpjPj/4FjPW38fuY4/z+AU3hVf4M1DzyccY0tKImTQpaGPOKZqD2W7myQlPtm1q+Xa2pswv/kOnV+ZlNY383/ztLN5eQU5yDK/8bAxT8tKVIu/GhD+IQycj97YH0UvY+uascIsSMMsWvMVnU0dx7jPvM2mznajECBKm5pP2swvolZeOpbCM/VdPxVr4Db2j4/jjpXfw3+s/Jto1gHf3z+bN9YvDfQpecZw4QcOKlSRcPRURJBPRvpp9fLLnE24aehMDEwd6b7jlQ+0haMGtcN7/BmXuUOBySeat3M+lz3/H8t3HePTyoXz5m/O5YmSGUubdHGVy8RCca8HkESTWuDjruw2YorpGJhmA0gM7+P73dzByYx12Axwen8GlT8whesDwFu0sK+Zz6P5H0BkF2QuWoE/VkjIcrTvBlA9vxCEa+Pjqjxic3Cccp9EmNR9/QvnvfseA//yHqJF5QRnz11//msKKQhZet9D7btBje2DuBZo3y+1fgD44IXODzdGTFh75aDPf7znGRUNS+OO1efTt1XXuYcWZacvk0iNX6EKIqUKI151Op8f6xon5JNXC4rmPd7BkgfP5Sw9SesP1jC6so2RYJL3/9SZXv/5NK2UOEHnuVLKefRJ7vaTykR/ihqfH9eLZ8/+MFGYe+LJz/kKp++orjH36EJk3IijjbajYwLeHv+UXI3/hXZnbLfCfn2ubhH78906rzL/eWcFlLy6n8MAJnp6Wx1t3nK2UeQ+jRyp0KeV8KeVdei8/2Sc/+P+ojwTnsmUdLJn/1Bwv58ObxjL41a+wGeHoE7cx7eNN9B/Vtn056rKf0uvcHGrWlWJdt+RU+eRB+QyPuZIy5/d8sXNtqMX3C2ddHfWrVhE3eXLQTAdzN8+ld2RvfjbsZ94bLX8OKrbCta9CfOf71eJySV5auodfvFNI315RLHjgXH52Tn9lXumB9EiFfibie6Wyf1gMA0vsHNq1MdzieGXLqgWsu+4SRm42s3VsHPmff80lt/n+qyJ5xssIPRz/6zMtyl+a8jA4o3hh3avBFrld1H/7LdjtxE0OzsPqrVVbWV2+mttH3E6UwcvOzqPbYOVLMPqnMOTyoMwbTMw2B3f/awP/b+lurivI5ON7Jyp/8h6MUuheSL3udoxOWPnKE+EWxSOL//4Ujfc/TPIJyc7bJnHju+tITPFv9WjoO5CEs7Ko3XQEx5H9p8oz4nqRF385x+RGVh8qDrboAVP39TfoU5KJyh8dlPFe3/o6CaYEbhxyo+cGLifMfwAiE+Gyp4MyZzCpbrDx0zfW8vXOCp68ajjP3ziaSKPyKe/JKIXuhQtv+DWHUyFl48Fwi9KKz/5yH2n/7wMsJrA881uue+LNgMfqdecDSKegdl7LjVQzzr8LpI4/r3q7veIGBelw0LB6NbHnnR+UQFy7T+zm29Jv+dmwnxFj9Ph8CTa/D2Ub4LLZEJ3U7jmDyeETZn782ip2lNfy6i1jmX5utjKxKJRCb4vjYwaQWQXL3n8h3KKc4j9P/oSBby2jKgn6vPYmE69sXzLkyElXEdFLUPft6hblQ1P7kqwrYI95OWa7tV1zBIPGrVtxnTxJ7LnB8T3/985/E6mP5KdDvUSHsJnhmz9C5lgY5WUFHyZKq83c+Npqquqs/HP6OC4b0cauVkWPQin0Npj4qz9h00PVZ/8OtygAvP8/VzD8wyJK+wiG//MTBo0OgnITgvjxIzCXmnEc3NWiatqga0Bfz+vrF7V/nnbSsGIl6HRET5jQ7rFqLDUs2LeAK3OuJMHkJdXYmr9BXTlMntWptvUfqWnkJ2+sod7q4L1fjuecnO4VjlbRPpRCb4N+g0azN9dITnEDNcfLwyrLe7+5nNGL9lMyUM+E95eS2T94Uf1ir/kJSEHD/H+0KP/l2VPAGcv8vfODNlegNKxYQeTIvKDEbvmk5BMsTgs/HeZldW6uhhUvwdCroH/nCYVQUWvhJ2+s4WSjnX/deQ55mX7kvVT0CHqkQj+TH3pzjJdcSowFlvw1fDsDP5x5K6O+PMjugXou/XAlvYK84Sfy3KvRmyQNq1a1KI82mugbcTaVjs3UWy1BndMfnDU1NG7dSuy557V/LJeTD4o/4Oz0sxnca7DnRuteB1sdXNR5HojXWezc/tY6jtVZ+cf0cYzqmxhukRSdkB6p0M/kh96cy+95hup4iFq9uQMka838OY8w9MNCSjMF589bTExM8FdlwmAgelASDcVHtWwrzbg85xLQWXl38zdBn9dXGtasBZeLmCDYz1ceWcmRhiP8ZOhPPDew1MKaV2HIlZAWnM1L7cXudPGrf29iT2U9r94yloJ+HZ+PVNE16JEK3R+MESZKR/Ym+5CLou8/79C5l33wIpmv/5fjiTD8tffolZIZsrlizjkbhxlsG79tUX7HmB8hXUYW7F0asrnPhHn9ekR0NFF57d/q/1nJZyRFJnFh3ws9Nyj8O1hq4PzOEatFSsmTn29j+e4qnr42j/MHp4RbJEUnRil0Hxhym/bHXfxOx8VI3/DNx0Q9N5dGE6Q8/wL9BgXH99ob0RddDUDj8oUtyhMio+klRnCwcUNI528Lc2Eh0fn5CGP7ttyfsJxgWekyrsy5EqOn7fsOG6x+BQZerHm3dAL+ueYg760r5b4LB3LzuH7hFkfRyVEK3QcKLpjGgX46+m45ht0Wehe+PVtXUf+732Nwgm7Gw+SNnxLyOSPyL0BnlDRuaW1ayk8eh0tfzcaykpDLcTrOmhqsu3cTfbb3xLi+smDfAhwuB9fmXuu5wY7PoaESxv+q3XMFg42HTvDH/+7gkqGpPDx5SLjFUXQBlEL3EfP4UfSuhS9fC23Arsqyvez/9Z0k1MHxX9/EhKt+EdL5mhAGA1GZMTSWtPbmuXqolkTiox3fdYgszTFv3ARSEn1W+xX6ZyWfMaL3iDYehs6FpIHaCj3MHK+3ct+/NpKREMULN+aj03Ue10lF50UpdB/50YMvUBsNLPoqZHPUn6xm7fSr6VMh2X/r+Vz2i6dCNpcnIodmYz3uwHWyukX5JTkjwRnHuqMdH6zLXFiIMBqJHDWqXePsPrGbXSd2cU3uNZ4blG2Ew+th3F0QhJ2o7UFKyf98uJkTZhuv3jKGhOjOGd1R0flQCt1HEntnsH9sCrn7nXz/yd+CPr7dZmXxHReRe9DF9qlDmPbo3KDPcSaixo4HKbB839LvXKfTkWocQYV9G67TvGBCjXn9eiJHj0JnMrVrnMUHFqMTOib39xLYa/3fISIW8n3OKx4y/rH6IMt3V/GHq4Yzoo/yNVf4jlLofjDx4RexGKHyX28EfexPpp/P8J02is5P4abnPgv6+L4Qdf6VADQWrmhVl598FujrWFe2q1VdqHA1NGDZsYPose0zt0gpWXxgMWenn03vKA87K611sP0TyLseIuPbNVd7KamsY/bCnVw0JIWfnaMegir8o0cqdH82FjWn35Ax7BkVy+BiK5u++zRo8rz/68mMKqxla340N74SPn9vQ/9h6KMk1j17W9VNHjgegEV71nSYPI3bt4PTSVRBfrvG2XViFwdrD3L5AC/hb7d/BnYzFNzSrnnai93p4n8+2Ex0hJ5nfzxKBdtS+E2PVOj+bCw6neG//j9cOtj/woygyPLRUz9j9JJSduUauObt79Ebwpu3OzItGuvhY63KL8oZgXRGsqmi4zZYWbZsASCqnfbzL/d/iV7ouaTfJZ4bFP0beg+Cvme3a5728vryfWwtO8kz140kNS4yrLIouiY9UqG3h7zxU9h5di+G7bKz9B+z2zXWf//2CIP/s5GDmYIL3v6yU+QvNQ3og/WYDWm3tyiPMBiIFTmUNXacyaVxy1aMWVkYkgIPXSul5MsDXzI+Y7znFHPH98KhVZrtPIwr4oPHG/jr13uYkpfO5XkZYZND0bVRCj0ALpz5Diejwfn2v7A2mgMa46t5fyRjbsfsAvUH0+AhSKfAtm11q7qBccOx6so43lDXIbI0btnS7tX5juM7KKsv47IBl3lusPl9EDoYfXO75mkPUkp+9+k2IvQ6nrq6c4QbUHRNlEIPgPR+gzg0JY9+5ZJPf3ut3/2/fOMPJL/wbxqiofef/xLyXaD+YMrXbOXWja0fjI7PHIMQkv/uCr37or2iEsfRo0SNGtmucb4+9DV6oeeirItaV0qpPQwdcG5Yc4V+uqmMFSXH+O3lQ0iLV6YWReAohR4g1898jz3ZeoYtK+XbD170ud+CVx4l/a8fURsLvV96iVETrwydkAFgGnsRCIl1x9ZWdVMGjQNgddmmkMth2arZz9vrf/7d4e/IT80nMTKxdWXFNjheAiOua9cc7aHe6mD2wmLysxL52Tn9wyaHonugFHqA6A0GhjzzCuZIMDw/l03LPj5jnw+f+DFZf/uCE/GQ8bdXGXFOcJIdBxNdQjIR8QLrvtap93KT0xCOFHbXbA+5HI2bt4DBQOTw4QGPUV5fzu4Tu70H4tr+GQg9DJsa8Bzt5ZVlJRyrt/LU1SPUblBFu1EKvR0MyT+fxod+gckGtv/9PR8/PR2nw9Gq3aZlH/PxtNGM/GQ7h/voyH7znwwpuLDD5fWViPR4rBUnPdb10mdTbd8Xchkat24lcsiQdm0o+u6wFqrg/KzzW1dKCds/hezzICY54DnaQ2m1mTdX7Oe6gkzysxLDIoOiexFeH7luwMU/fZjV8b0wP/sXhv9zNd8tGsmx/rG4oqPQNTSSVFpPZhUMEbB5QhJT/7qQmLjOvfvP1Ded+j27kHZ7qwiHOfGDKaxbR3ndcTLiQpP+TEqJZccO4q9oX1Cybw9/S7+4fmTHZ7eurNgG1Xth4q/bNUd7+NOiYvRC8MjlKvCWIjj4vUIXQgwRQkwRQlwnhDhPCBEbCsFCSaAbi7wx4apfcM5/V7L1mqHYIgSDN9cz+vsqhmypx2bSsfmCNFx//ws3v72y0ytzgIicHHAJ7Ltb28rHpGsxyZfuDZ0d3V5Whqu2lshhgZtbzHYz68rXcUHWBZ436Gz/NKzmlsID1SzYWs49FwwkIyEqLDIouh8+rdCFEAOA+4BbgDSg+V+IQwixAngN+I+UUgZbyGAjpZwPzI+JifllsMaMTUjixme13aPWRjN2m4XYhCQ6j/+K70QMGQl8iW3bOiJGjGtRd8nAMby+B9Yd2cqt+ZeGZH7Ljh0ARA4bGvAYq4+sxu6ye7ef75yvebeEwdwipeTPi3eRHGvil+d7+PWgUATIGVfoQog/A9uAIcATQB6QAJiADOAKYBXwJ6BICDEmZNJ2EUxR0cQmBL4ZJtxEjNRcF227Wz/8HJaaDo4Edp8oDtn81uJi0OsxDfYS5tYHlpctJ84YR0FaQevK43vh2G4YckU7pAyclSXHWbu/mvsvGkh0hLJ6KoKHL3dTHDBYSnnEQ12F+1gK/F4IcQMwDNgYPBEVHY0+ayi6CBfWA609XYQQxOsGUGUN3YNRy46dmHKy0UUG5pMtpWTVkVWM7zMeo85D6Nk97hDIgzvey0hKyZ+/2kWfhEh+ooJvKYLMGVfoUsp7vChzT23/I6V8t/1iKcKJ0OmISIrAVlbpsb5f7CBsugpqrQ0hmd+ycyemocMC7r+/dj9HG44yPmO85wa7v4TkIZCUE/AcgfL1zko2l9bwwCWDMBn8jyWkULSFTw9FhRBn9B0TQuS3W5ozz/GUEKJMCFHkPq5oVve4EKJECLFLCOFln7fCV0zpidiqPCvsvORhCCH5/sCWoM/rqK7GUVFB5LDAFfrqI1rYgol9JrautNbBgZUwuONvESklLyzZzYDe0Vw/tm+Hz6/o/vjq5fLvtiqFEMOBxe0Xxyf+n5Qy330sbDb/zcAI4HLgFSGEWv60g4isTBwN4KqtaVU3MUvbvbm2LPgbjCw7dwIQOTxwhb7myBqy4rLoG+dBae5dBi57WBT6t7ur2FFey68uysWoV1tAFMHH17tqohDiZU8VQohcNBv6uqBJ5T/XAO9LKa1Syv1ACTDuDH0UbRCRkwuArXhDq7pz+g1EOiMoPr476PNamxT60MA8XOwuO+uOrmNCxgTPDXYvhsgEyDonUBED5pVlJfRJiOSa/M4RiE3R/fBVoV8J3C6EaJEhWQjRD/ga2AlcH2TZvHG/EGKLEOItIURTPNRMoLRZm8PuslYIIe4SQhQKIQodHnZ1KjSMuZoPuH136/jn0RFGjK4+lJn3B31ey46dGPpkoE9MDKj/lqotmB1mz+YWlwv2LIbcS0HfsXk61x+oZv2BE/zy/BwiDGp1rggNPt1ZUsqNwI+BGUKIWwGEEBloyrwMmCqltAVDICHEUiHENg/HNcCrwEAgHygHnm/q5klsL+fyupTyLCnlWYYwJ5PozEQM1bxPbfs8r8J7R/SjzlVKsLcdWIqL27WhaNWRVeiEjrMzPCSrqNgGDVWaQu9gXllWQlJMBDefrTxbFKHDZ40mpfxKCPFL4A0hhAvNJ70WmCKlDCwouOd5fPprE0K8AfzX/fEwkNWsui/gk2eOwjP6zMHoIlzYSw97rB8QP5CKk8spq62ib0JqUOZ0WSzYDhwg/nIvqeJ8YM2RNYxMHkl8hIfcoPu+1V5zLgx4/EDYcaSWZbuq+N8fDSYqQj3aUYQOv377SSn/CfwB+AfaCvhHUkrPUZxCgPtXQRPT0DY8AXwB3CyEMAkhsoFBhNem3/XR6YhIMGA7WuWxelSKZuNefjB4ni62ffvA5cI0eFBA/RvsDWw7vo1zMrzYx/ctg5ShHR77/O8r9hMdoee2CQM6dF5Fz8PXrf9fnVZkdx/vN4+TIaUM9U6N59zukRI4ANztnne7EOJDYAfgAH4lpQxOoJYejDE5FutRz66Lk/rn8UYJbCjfyU9HBceEYS0pAcCUmxtQ/81Vm3FJF2NTx7autFvg4GoYe3t7RPSbY/VW5m8+wk1nZ5EQ3bF2e0XPw1eTS9lpn98LtiC+IKW8tY26p4GnO1Ccbk9EejL1u04inU7EaQm18/tkIR0xlJzYE7T5rHtKwGgkon9giR42VmxEJ3SMTvUQQefwOnA0Qo6HzEUh5L21h7A5Xdw+cUCHzqvomfik0KWUPw+1IIrOhzErC+nah+PQHozZLd0I9TpBJJkctRwI2nzWkhJMA/q3CtnrKxsrNzKk1xBijDGtK/cu06IrDpjUTil9x+Zw8c81Bzl/cAq5qV0uKKmiC6L8pxReicjWbNm2Ys+heVJMAzDLMlzSFZT5rCUlRARobrE77Wyt2srYNA/mFtAeiPY9G0xxgQvoJ4u2lVNZZ+XnanWu6CD89ttzb6u/BEjltC8EKeVtQZJL0QkwDtZ2hNpLdnqsz44byOGar9hbXcqg3u3Lh+kym7GXlpJw7TUB9d9RvQOL08KYNA/BPhtPwJFNcOFj7ZLRX95eeYDs5BguGJzSofMqei5+rdCFELOARcBkIB1IOe3oEgQ7wUV3xThkDAiJ7YDnyIqjUrVMOysPbfNY7w/WvdocpkGBebhsrNB+RRSkegiXe2AFICH7gkDF85vNpTUUldZw+4T+KleoosPwd4V+F3CHlPIfoRCmowhFgovuiIjtjTFWYj9S7rF+Qr8R/G03FFXuRNtMHDg/eLgEqNArN9I/vj/JUR4SVhxcBYZIyPRijgkB/157iCijXgXhUnQo/trQXWjJLBQ9hIheJmwVJzzWDUtLxWXvxd6aknbPYy3ZgzAaieiXdebGp+GSLjZVbmJMqpfcKgdXavZzQ0Q7pfSNOoud+VuOcPXoPsRFKldFRcfhr0J/BbgzFIIoOifG1ETs1RaPdREGHZGuDCotrRNh+Iu1pISInBxEAOEY9tXs46T1pGdzi+UkHN0K/TvOu+WLzUcw25zcPM7/LyeFoj34+9fzR+C/QojNwBa0zUWnkFJOD5Zgis5BRGY6zsIqnLUn0ce3TnDd29SfcrkEu8vuOTuQj9j2lBBV4EEh+8DGSs1+7tHD5dBakC7o7yFYV4h4f10pQ9PjyM9K7LA5FQrwf4X+f8AUQI+WTzTrtEPRzTD215IY23dt8lifHT8QhIN9NYGv0p31DdiPHME0KDCXxY2VG0mOSiYrzsMteHAl6IyayaUD2FZ2kq1lJ7n57Cya76JWKDoCfxX6/cB0KWWelPJSKeWPmh+hEFARXow5WqIJ2+6tHuvzUjRPl7WlOwKew7bX/UC0HR4uY1LHeFagB1dB5hiIiA5YPn94f/0hTAYd0wrUw1BFx+OvQrcBK0IhiKJzEjFUM4PY93sOozu+7zCkFBRVFAc8R3tiuJTXl1PeUO7Z/9xmhiMbO8zcYrY5+HzTEa4cmaHitijCgr8K/XXgF6EQRNE50fcdqoXRPVTqsX5YRm+krXe7PF2se0oQJhPGvv6vapvs5x49XA6vA5ejwx6ILt5+lDqrg5vOVtZHRXjw96FoBnC9e7foZlo/FL0rWIKFEiHEVGCqyXTG3NcKg4mIeB22o5Ueq2NNBoyuDCra4eliLSkhYmBOqwBgvrCxYiMxxhgG9xrcuvLgKhC6Dks398nGMrKSojh7QFKHzKdQnI6/K/SBQBFwEhiAFne86QjsiVYYkFLOl1LepQ9AgfREjL2jsVfVea3vHdGfBtdRrE5rQONbS0oCDpm7sXIj+Sn56HUe/i8ProL0URDpIdlFkKmotbCy5BjT8jPVzlBF2PBrhS6l7NjYo4pOQUR6b+r3lHoMowswID6HygYX+2v2M7S3f8mdnXV1OI4eDeiB6EnrSUpqSpiSPcXDwHY4XAhj7/B73ED4vKgMl4RpY9TDUEX4OOMKXQjh835pIUSkEGJY+0RSdDaMmZlIFziOeE5HNyJFM3cUlnsO4tUW1j2BPxDdVKm5Unq0n1ds1+KfZ3WMu+InG8so6JdIdrKH0L0KRQfhywr9cyHEeuA1YImUrWOlCiEygduA+4CZgP9/2YpOS0T2QGANtl2bMGa1jqp4dp8hvLVfx6ajxdyS59/Y1hItQUYgK/SNlRsx6AzkJXuY9PB67TUA//Pa2loqKyux2+1nbgzYnS7+d1wsidFGdu5Ut76ifRiNRlJTU4mP999U6ItCHwI8BvwLiBRCbELLYGQBkoARQDbwLfATKaVya+xmGHM1hWnfsw0uvbZV/dD0XrhsyZSc8N/TxVpSgoiKwtjH/zyfGys2ktc7j0hDZOvKw4UQmwYJ/nmc1NbWUlFRQWZmJlFRUT5tDiqvaUQ02BiWHodBr1IMKAJHSkljYyNlZVqSOH+V+hnvPillg5TyD0Bf4FagEIhE83ipBf4GjJBSXqKUeffEODjfHUZ3r8f65NgI9I4MjjYe8HtsW0kJpoEDETr/FKHFYWH78e2e/c9BW6H3PRv83K1ZWVlJZmYm0dHRPilzKSUnGu3EmQxKmSvajRCC6OhoMjMzqaz07FnWFj4/FJVSWoHP3IeiByF6ZWGMdmEvO+K5Xgh6G/tzXG7GbDcTbfR9V6Z1Twkxk/z3E996bCsOl8Oz/dxcDdV7YYzXFLResdvtREVF+dy+3urA4XTRK9HDrwSFIkCioqJ8Nvk1p0cuKVSCCz/R6TH2MmI/etxrk/5xOQDsP7nf52GdNTU4qqoCs59XbEQgyE/Nb115uFB7DTB+iz8xWGrMdvQ6ocLkKoJKoHGAeqRCV37o/hORHIetutFrfZOny+YK3x8KntryH0BQro2VG8ntlUuCqXUESA6v1zYU9QkseqOvuKSk1mInPtKITgXiUnQCeqRCV/iPMSMVp9mFy2z2WD82MxfpMrDp6C6fxww0hovD5aCossh7QovD6yFtBESE1oWw3uLA6ZIkqrgtik6CUugKn4jI6geAbZ/nIF2DUxNw2VLYfWKPz2Na95Sgi4nBkJHhlyy7T+zG7DB7VuguF5Rt6JBwuTWNmrklxuR/Ug6FIhQoha7wCWOOZlLxFhc9MzEKYcug3A9PF2tJCRG5A/22FzYlhPbo4XJsN1hrQ67QXS5JbaOdhKjOZ2554403yMnJwWAwcPfdd4dbnJDRU87TH5RCV/iEcfAoAOx7PYfJ1ekESRH9aHQdp87mPe5Lc6wlJQFvKMqMzSQ9Jr11ZTs2FPlDndWOS0oSojqXuaW4uJh7772X559/ntLSUp5//vmQz/nKK6+QnZ1NZGQkY8eO5fvvv2+z/fLly7n66qvJzMxECMG8efP8njMc59lEOM7XV9ql0IUQk4UQG4UQB4UQnwshvBg1FV0dfb88dEYXtkMHvLbpH6tlN9pb49lfvTmO6mqcx4/7bT+XUrKxYqPn/KGgKfTIREga6Ne4/lJjtmPQ6YjtZOaWL774gry8PKZNm0ZGRgaxsbEhne+DDz7gwQcf5IknnmDTpk1MnDiRKVOmcOjQIa996uvrycvL46WXXvLLRbQ5HX2eTYTrfH1GShnwAewFzgPigAvRdove2p4xO/KIjo6WCh9xueTe8YPkoWkXeG0y+6uVMm9envzX9g/OOFz9mrVyx5Chsm7FCr/EOHDygMyblyc/3PWh5wZ/myDlP6/za8zm7Nix44xtHE6X3Hq4Rh6ubgh4nlAwaNAgCZw6rr322pDPOW7cOHnnnXe2KMvNzZWPPfaYT/1jYmLk22+/7dec4TjPJjryfL3di0CD9KLT2mtyqZRSfi+lrJNSfgtcATzazjEVnREhiEiKxFZZ47XJ6PQBSGcEm3wI0mXdE1gMlyb7+dhUDzHjrHVQuSP05hZLk7klIqTz+MuKFSsYPHgws2bNory8nHfeecenfrNnzyY2NrbNw5NZwWazsWHDBiZPntyifPLkyaxatSoo5+SJQM+zia52vv4Q0O9FIcQHwAZgpRDij8D/SSntgBMILCh2B6ISXASGMTWR+gNVSJfL41b9IenxuGxpPnm6WPfsQZ+QgCElxS8ZNlZuJNGUSHZCduvKso2AhL5n+TVmW8ycv50dR2pblFkdTpwuiI4IzT6G4X3imTF1hN/94uPj2bdvH5MmTSI9PZ0XXniBiooKnn32WQCmT59OVlYWM2fObNHvnnvu4cYbb2xz7MzMzFZlx44dw+l0kpaW1qI8LS2NpUuX+i2/r5x+nv7S1c7XHwI1AL4M5AOJaKaW24UQ+9CCdP0jGIKFEinlfGB+TEzML8MtS1ciIjMD6azCUVWF8bSbGqB/UjTSlkZ5o28K3TRoUEAeLgWpBZ77NT0QzfQ54nNAOFwSo5+xZzqCbdu24XA4yM/PBzQFPnr0aGbOnMm7775LaWkpb775Zqt+SUlJJCUFnmXp9P8LKWXAOx194fTzbI7ZbMZisbR5Pl3tfP3BJ4UuhHgDeFBKaQaQWhCuFc3q9cAwoAAYFQI5FZ0AY/9sYAv2Pds9KnSDXkcvQz/qXIWcsJygV2Qvj+NIKbHu2UPC1Kv8mv9Y4zEO1R3ixiFeVleHCyF5MER5njcQTl8p15htHKo2k5MS2+keiBYVFdG/f38SExMBSExM5IorruDxxx9nwYIFrFy5Ep2HL6LZs2cze/bsNsdetGgR5513Xouy5ORk9Ho9R48ebVFeWVnZahUbTE4/z+Z88803FBYW8tRTT3nt39XO1x98vSOnA78DPG4TlFI6gW3uQ9FNiRg4DPgc2+4tRJ97scc2/eNy2OaCkpoSzk73bMt2VFTgqqvz236+oWIDgGcPFym1Ffrgy/wa019qGx0YdDpiQmRuaQ9FRUWtVq133HEHEyZMYOXKlaR4MW8FaoKIiIhg7NixLFmyhBtuuOFU+ZIlS7j++uv9PwEf8XSeTz/9NEajkVy319T777/PokWLPNrXu9r5+oOvCr1z/J5QhBXj4NGAxL7f825RgBHJQ9hWCduPFXtV6IE+EN1QsYEoQxTDentIinViP5iPBdV+fjouKamzaJuJOstP7OYUFRVx6aWXnvospWT27NkkJyfTViC69pggHnroIW699VbGjRvHpEmTeO211zhy5Aj33HPPqTZz5sxhzpw5FBdrexjq6+spcYd9cLlcHDp0iKKiIpKSkujXr5/f5wnw8MMP8+KLL3LfffdhNpu55ZZbvPqmd7Xz9Qd/DIEyqDMruhwiJRdjtBPbQe8+t6P69MPliKOwfKvXNtbdboXupw/6hooN5KfkY9R52MzTzgiLvlBvdeCUkvhOtpkINOW9ZcuWFivXZ555hoSEBObOncucOXNCMu9NN93Eiy++yKxZs8jPz2fFihUsXLiQ/v1/yGx17Ngxdu36IcZPYWEhBQUFFBQU0NjYyIwZMygoKODJJ5881WbevHkIIThw4MAZzxOgpqaG3bt3Ex0dTWJiIiUlJa1MI535fIOGN3/G5gfgAj4BHgEuAuJ96RfoAdwAbHfPe9ZpdY8DJcAu4LJm5WOBre66vwLiTPMoP3T/OXjxYLnv4rO91m8vOymHzrleXvr+VK9tyh59TO4+73y/5q2x1MiR80bK14pe89xgwcNSzsqQ0unwa9zTacsPvbS6QW49XCOdTle75ugIli5dKvPz82VDQ4N0OBwyNzdXlpWVhVssn3nyySfl8OHDpd1u96n9yy+/LD/66CM5f/58OWPGDLl27Vr5yCOPhFjK0BJqP/Q+wO+Br4ETQojdQoh/CyEeEkJcIISIa+d3S3O2AdcBy5sXCiGGAzejpb27HHjF/UAW4FXgLmCQ+7g8iPIo3ESkxmKrqm/6Em1FTkoMLksmFZaDWBwWj22aPFz8YWPFRiSSs9K9mFQOr4fMMaALjW1bSklto4O4SAM6XecztzSntLSUu+++mw8//JDo6Gj0ej133nknc+fODbdoPrNw4ULmzJmDweCbVfj+++9vYcceN24czz33XKjE67T485j+aqAKLcfoWOAs9zEViEFbTQflsb+Ucid4DPJ+DfC+1LIn7RdClADjhBAH0H41rHb3+wdwLbAoGPIofiAiMxXXpgM4Kis9erpEGvUkGbKp5xv2nNjDyJSRLeql04l171563XyzX/MWVhQSoYvwnBDa3ghHt8LEB/wa0x/MNicOl4uEqM6fmSgrK+uUzbaJRx/tWvv91q9fH1C/q666iquu8s97qjvh6wpdArhX/MVSynellP8jpTwPiAdGAj8PlZDNyARKm30+7C7LdL8/vbwVQoi7hBCFQohCh8MRMkG7K6bsAQDY9nqP15KbOBSAndWtd4zaDx9GWix+J7XYULGBUSmjMOk9bAYr3wwuR0jt5ycb7QghiIvsXK6KCkVzfFXoXn9jupX8dinlP/2ZWAixVAixzcNxjZ9yyDbKPcn7upTyLCnlWb7+nFP8QESu5mFi3eE5jC7AsJR+SGc0245tb1Vn2ak9+TcNHuLznPW2enZW72RsmpcNQ6ciLIbGw0VKLTNRrMmAvhNuKFIomvBVo10C1ARzYinlpWdu1YrDQFazz32BI+7yvh7KFUHGMHAEwuDCtsd7vJbBafE492eypdKTQt8Jej2mwb7b0IuqinBJV9v288T+EJvq85j+YLE7sTlcpMapUBGKzo2vy4370ezXCCGGCiEWu1fT7wshrgideK34ArhZCGESQmSjPfxcJ6UsB+qEEOOFZni/Dfi8A+XqMYheAzDFObDt954MOjc1FqelDwfq9mJ3tsxcbtm5A9PAgej8iKNTeLQQgzAwKtnLJuTDhaE1t1gcCFCJoBWdHl8V+gXAFvf7fwPVwPdADvBfIcRbIog7LYQQ04QQh4EJwAIhxGIAKeV24ENgB/Al8Cup7VIFuBd4E81tcS/qgWhoSMgiIs6J7XCF1ya5qbG4LJk4pYPdJ1puQrLs3EnkMA8bg9qgsKKQ4cnDiTZGt648WQa1ZSFV6LWNdqIjDBj1ytyi6Nz4eofGArVCiFHAm1LKn0gp75VSjkNT9lPQXAaDgpTyUyllXymlSUqZJqW8rFnd01LKgVLKIVLKRc3KC6WUee66+6U3vzpF+zBEEJESjf1EA67GRo9NYk0Gkg1ayrqiqqJT5fbKSpxVx4gcMdzn6epsdWw7to1z0s/x3KAstBuKrA4nFruzU24mUihOx1eFXgFkoG0q+rB5hZTye+A3gErq10Mw9U0BCdZ9+7y2GZ7WD72rF0WVRafKrDs1u7s/K/R1R9fhlE4m9pnoucHh9aA3QfpIz/XtpLZRMxklRKkH6IrOj68KfSHwBtpOUU+BmjcA/vmhKbospoEDALDu8h7TZWh6HNb6fmxqptAtboVu8kOhrz6ymihDFKNTRntucLgQMkaDITTJJk42Oogy6okwdL5gXArF6fiq0B8FNgLLgKFCiHuEEM2T+P0MKA+2cIrOSUTuEIReYi3e4bXN0Ix4HOZ+VJiPcrRBi6lh2bETY79+6P3I/7imfA1np5+NUe/B5OG0w5FNITO32J0uzDaHMrcougw+/Y6UUtYCp5JBCCGeAY4JIQ6i7RLNAP4nJBKGAJWxqH2IpGxMCXYs270H4BqaHoezUQtYVFRVxOUxl2sPRIf7bj8vqy/jYO1Bbh7iZVdpxTZwWELmf/6DuUUpdEXXIKDH9lLKx9EyFr2DZlO/UUr51yDKFVKklPOllHfp9epndED06o8p0Y51z16vMV2yk2Mw2DPRY2Jz5WYcJ05gLy31S6GvPrIagAl9JnhuEOIIiycb7ZgMOkyGruXd8sYbb5CTk4PBYODuu7vvo62ecp7+EPCd6g4BMFtK+ZCU8uNgCqXo5CQNJDLRgbO2HkdVlccmRr2O3NQEomU264+up3HzZgCiCvJ9nmb54eWkx6STk5DjuUHpOohNh4S+nuvbgcPlosGqebd0xtjn3iguLubee+/l+eefp7S01GtM8GDyyiuvkJ2dTWRkJGPHjvWYYLk5y5cv5+qrryYzMxMhBPPmzfN7znCcZxP+nu9TTz2FEKLFEUguVF/oWksPRecgNhVTivYQ0tos7vPpDE2Pw1I7kF0ndlG9fhXo9USN9M0bxeKwsPrIai7se6F3hVq6FrLOhhAo3DqLA4kkvottJvriiy/Iy8tj2rRpZGRkEOvH84pA+OCDD3jwwQd54okn2LRpExMnTmTKlCkcOuQ9Zn59fT15eXm89NJLREVFBTRvR59nE4GcL8CQIUMoLy8/dWzd6t1c2R6UQlf4jxBEDsoGoHHLFq/NhmbEUVOttTu+fhWRw4ah8/EPeE35GixOCxf1u8hzg/pKqDkIWV7809tJbaMdo15HdCdMNeeNwYMH8+ijj7J582aEEEybNi3kc77wwgvccccd/PKXv2TYsGG8/PLLZGRk8Oqrr3rtc8UVVzB79mx+/OMfe8xxeibCcZ5NBHK+AAaDgfT09FOHt3SA7UUpdEVA6DOHEpF4BoWeHo/L0oc4XRzG4gNEecjS7o1vS78l1hjL2Wle7OOl67TXvuN8HtNXXC5JncVBfKShS5lbVqxYweDBg5k1axbl5eUe82l6Yvbs2cTGxrZ5eDIr2Gw2NmzYwOTJk1uUT548mVWrVgXlnDwR6Hk2EY7z3bdvH5mZmWRnZ3PzzTezr409HO1B7ZZQBEZyLlG9FlC/eTNSSo+Kb2hGHKBjzIlsDLaNPit0h8vBstJlnJt5rmd3RYDD60Bn1HzQg0yd1YGrKdXcose0WOsdSfpImPInv7vFx8ezb98+Jk2aRHp6Oi+88AIVFRU8++yzAEyfPp2srCxmzpzZol+gSZOPHTuG0+lslfE+LS2NpUuX+i2/r5x+nv7S0ed7zjnnMG/ePIYOHUplZSWzZs1i4sSJbN++nd69e/stf1soha4IjOTBRPW2c3L/SeyHDhHRLKdiEymxJpJiIsjdq5lZyrJjSfBh6LXla6m2VHP5gDaSTpWu05S5MfgJJ2ob7eh1ghhT1/rz2LZtGw6H41S+zenTpzN69GhmzpzJu+++S2lpKW+++Warfu1JmgytE9F4+4IPFqefZ3PMZjMWi6XN8+no850yZUqLz+PHjycnJ4d33nmHhx56KGA5PNG17tggofzQg0DyYKKSbQCYN23yqNCFEAzLiCNrRTXlSYJt1s0M54IzDj1/33ziIuI4r+95nhs4bNqGorN+0a5T8ISUkjqLnfhIIzohAloph4uioiL69+9PYmIiAImJiVxxxRU8/vjjLFiwgJUrV3q0Wc+ePZvZs2e3OfaiRYs477yW/x/Jycno9fpWyZgrKytbrWKDyenn2ZxvvvmGwsJCnnrqKa/9w32+sbGxjBgxgj179vjcx1d6pEKXUs4H5sfExPzyjI0VnumVjSlRoo8xYV69hsRrr/XYbGRaNNmH91I8IY0lB5fw64Jft7maMdvNfHPoG67MuZIIvZft/BVbtQ1FWcH3P7c5XOhckvguGLulqKio1ar1jjvuYMKECaxcudLrg7hATRARERGMHTuWJUuWcMMNN5wqX7JkSYv8nsHG03k+/fTTGI1GcnO1CCTvv/8+ixYt8mhfD/f5WiwWiouLuegiLw/820HXu2sVnQNDBKJ3NtEDTDSsXu31Z+dZDUeIctqgYCIHar9g+/HtnvOCull8YDGNjkauymkjL2RpU4ai4D8QbbS7iBOCWFPXclcETdFdeukPeWOklMyePZvk5GScTqfXfu0xQTz00EPceuutjBs3jkmTJvHaa69x5MgR7rnnnlNt5syZw5w5cygu1rJV1dfXn8p56nK5OHToEEVFRSQlJdGvXz+/zxPg4Ycf5sUXX+S+++7DbDZzyy23ePVN7+jzffjhh5k6dSr9+vWjsrKSP/7xjzQ0NHD77bcHJENbKC8XReD0HkRMqgVHZSU2L0/t+xcXYtfpsQ2dRpQhio92f+R1OCkl/9r5L3ITcxmTOsb7vKVrIT4TEjymjQ0YKSUWu9Odaq7reLeAJvuWLVtarFyfeeYZEhISmDt3LnPmzAnJvDfddBMvvvgis2bNIj8/nxUrVrBw4UL6NzPBHTt2jF3N9isUFhZSUFBAQUEBjY2NzJgxg4KCAp588slTbebNm4cQggMHDpzxPAFqamrYvXs30dHRJCYmUlJS0so0Eq7zPXz4MD/5yU8YMmQI1113HSaTiTVr1rToEzSklD32iI6Olop2sPj30vbbVLljyFB57I03WlW7XC65+8KL5D8vul4+9vFm+bvvfyfH/WucPGk96XG41UdWy7x5efLj3R+3Pe8LI6T88PYgnEBLNpeekF+t3CCP11uDPnZHs3TpUpmfny8bGhqkw+GQubm5sqysLNxi+cyTTz4phw8fLu12u0/tX375ZfnRRx/J+fPnyxkzZsi1a9fKRx55JMRShpYdO3Z4LAcapBedplboisBJGYIxykLksEHUfrm4VbVlyxYc5eWUjRrP1rKT3DL8FswOM//Y/o9WbV3SxUsbXiI1OpUrc670PmdtOZwsDYm5ZfH2owggPrJrWyJLS0u5++67+fDDD4mOjkav13PnnXcyd+7ccIvmMwsXLmTOnDn4msj9/vvvb2HHHjduHM8991yoxOu0dO07VxFe0rTQ+PFnD6LyHwux7t2LaeDAU9Un3nsfER2N7vwL2bWhkuz4ifyo/4/4545/ctOQm0iJ/uEh3YJ9C9h2fBuzJs3CpG/D++iwe0NRVigUegXnnJuAoYunmsvKyjplo27i0UcfDZM0gbF+/fqA+l111VVcdVUbz1+6OV37zlWEl5ShIHQk5MUgIiKofueHlbfj2DFqFywg8dprGZbbB7tTsvtoPQ8UPIBTOnl8xeOnEkjvObGH2WtnMzpldNsPQ0HzP9ebIN1LwugA2VtVT0llPVFdaKu/QnE6SqErAscYBb1zMZj3knDttdR8+imW3VoWo8oX/h9SSpJuu5WRmdp2oq1lJxmQMIDfnfM71pav5bZFt/Hsume5fdHtRBuiee7859DrzqBQD67S4p8HOUPR4u3aA7Qoo1Loiq5Lj1ToQoipQojX23LlUvhI2gio2EbKbx5EHxfH4ft/zZHf/Y6Tn3xC75//nIgBA+iXFE18pIGtZTUATBs0jefOf44T1hO8V/weo1JH8c6Ud+gT26ftuax1UL4Z+nvJL9oOvtpewai+CV3Ou0WhaE6PtKFLtbEoeKTlwfZPMUQb6Pu3OZT97/9y8tPPSLzxRlIefADQdoyOzkqkqPTkqW5TsqcwJXsKTpfzzKvyJkrXgnQGXaEfPWmhqLSGRy4bAtiDOrZC0ZH0SIWuCCJp7k1ClTuJLjiH3KVLkXY7utPCKozp14uXv9lDncVOXLMY4z4rc9DMLTpD0EPmfrVDM7dcNiIN+/HDQR1boehIeqTJRRFE3J4uVGwDQOh0rZQ5wJj+vXBJ2Nxsle43B1dBRj5ExAQ+hgcWbClnUGosualxQR1XoeholEJXtI+EvhCZcMYQs/lZiQgBGw+dCGweeyOUbQi6uaWy1sK6A9VcOSojqOMqFOFAKXRF+xBCWzUf2dRms4QoI4NSY9lwMECFXrYBnDboPymw/l74cvtRpIQrRyqFruj6KIWuaD+ZYzWTi72xzWZj+/di46ETuFzS/zkOrgIE9Auu/fy/W8oZnBbLoDRlblF0fZRCV7SfzLHgcpzR7DKmXy/qLA5Kqur9n2P/ckjPg6heAQrZmspaC+sPVHOFWp0ruglKoSvaT+ZY7bVsQ5vNxvTXlLHfZhdbAxxaAzkXBiCcdxZtU+YWRfeiRyp0tbEoyMRnaOFsDxe22SwnOYbkWBNr9h33b/yDq8Flh5zgJgRY0E3NLW+88QY5OTkYDAbuvvvucIvjE11R5s5Ij1ToUsr5Usq79Hq1zTtoZI454wpdCMGEgb1Zvfc4WhRQH9m3TIvfEkQPl4paC+sPVnPlyDPsTu1iFBcXc++99/L8889TWlrqNclDsFi+fDlXX301mZmZCCGYN2+e32N0tMzNeeWVV8jOziYyMpKxY8fy/ffft9k+GOcbSnqkQleEgMyxcGI/mKvbbDZxYG8q66zsrWrwfey9y6DfeC12TJBYtLVcM7eM8j9rfGfmiy++IC8vj2nTppGRkUFsbGxI56uvrycvL4+XXnqJqKjA/n86WuYmPvjgAx588EGeeOIJNm3axMSJE5kyZQqHDh3y2icY5xtSvAVK7wmHSnARRPZ/L+WMeCl3Lmiz2YFj9bL/o/+V/1i137dxa49q4y5/vv0yNuOaOSvkZf/vu1bl3pIKdAUGDRokgVPHtdde26Hzx8TEyLffftuvPuGUedy4cfLOO+9sUZabmysfe+wxn/oHcr7+oBJcKMJH5lmaWeTAijab9UuKJjMxilV7fbSj71umvQ4Mnv18X1U9RaU1TCsIbgq7cLNixQoGDx7MrFmzKC8v95gg2ROzZ88mNja2zeNMpoiOlrm9sttsNjZs2MDkyZNblE+ePJlVq1a165zCSaeM5SKEuAF4ChgGjJNSFrrLBwA7gaaEfWuklPe468YC84AoYCHwoPvbTNERGCO1pBMHlrfZrMmO/vXOClwuie5M0Q13fwmxaZA+OmiifrapDCHgmvwzK/Rn1z1LcXVx0Ob2haFJQ3l0nP8JKeLj49m3bx+TJk0iPT2dF154gYqKCp599lkApk+fTlZWFjNnzmzR75577uHGG29sc+zMzNB8+Z0us78EKvuxY8dwOp2kpaW1KE9LS2Pp0qV+y9FZ6JQKHdgGXAd4ypm1V0qZ76H8VeAuYA2aQr8cWBQqARUeGHAefPuMZkeP9p5VfUJObz7acJidR2sZ0SfB+3gOG+xZCnnXgS44PyallHxaVMakgcmkJ0QGZczOwrZt23A4HKcSKE+fPp3Ro0czc+ZM3n33XUpLS3nzzTdb9UtKSiIpyfv/Vyg5XebmmM1mLBZLm7K1V3YhWi4opJStyroSnVKhSyl3QuuL7Q0hRAYQL6Vc7f78D+BalELvWLLPg29na7s6h3nPPHTuoGQAvt1V1bZCP7gCbHUwZErQRNxw8ASl1Y385pLBPrUPZKUcLoqKiujfvz+JiYkAJCYmcsUVV/D444+zYMECVq5cic7DF+Ps2bOZPXt2m2MvWrSI8847L+QyN+ebb76hsLCQp556ymv/QGVPTk5Gr9dz9OjRFuWVlZWtVu1diU6p0M9AthBiE1AL/F5K+T2QCTSPe3rYXdYKIcRdaCt5IiKCm/Wmx5M5FgxRsP+7NhV6WnwkIzMT+Ka4kl9dlOt9vF2LtPGyLwiaiJ9sKiPKqOfyvO7l3QKacjx9pXvHHXcwYcIEVq5cSUpKisd+4TS5eJL56aefxmg0kpur3Rvvv/8+ixYt8mhfD1T2iIgIxo4dy5IlS7jhhhtOlS9ZsqRFsumuRtgUuhBiKeDpr+p3UsrPvXQrB/pJKY+7beafCSFGAJ6W8h7t51LK14HXAWJiYpSNPZgYTJB9PuxeDFOe0wJ3eeGSYam89PUejtdb6R3rISm0lJpCH3gRREQHRTyrw8mCLeVcNiKNGFNXXMu0TVFREZdeeumpz1JKZs+eTXJyMm1tomuP2aK+vv5UQmqXy8WhQ4coKioiKSmJfv36+S0zwMMPP8yLL77Ifffdh9ls5pZbbvHqm94e2R966CFuvfVWxo0bx6RJk3jttdc4cuQI99xzDwBz5sxhzpw5FBf/8AylvecbasLm5SKlvFRKmefh8KbMkVJapZTH3e83AHuBwWgr8r7NmvYFjoRSfoUXhkyBmoNQubPNZpcMTUNKWLarynOD8iI4WRpUc8uX245ystHOdWP6nrlxF0NKyZYtW1qsdp955hkSEhKYO3cuc+bMCcm8hYWFFBQUUFBQQGNjIzNmzKCgoIAnn3zyVJt58+YhhODAgQNnlBmgpqaG3bt3Ex0dTWJiIiUlJa1MI8Hgpptu4sUXX2TWrFnk5+ezYsUKFi5cSP/+/QHtwemuXbta9PHlfMOKN3/GznAA3wJnNfucAujd73OAMiDJ/Xk9MB5ttb4IuOJM4ys/9BBw8ojbb/wvbTZzuVxy3NNL5L3/KvTc4MsnpJzZW8qG40ET7cbXVsnznv1GOp0ur226sh96c5YuXSrz8/NlQ0ODdDgcMjc3V5aVlYVFlieffFIOHz5c2u12n9q//PLL8qOPPpLz58+XM2bMkGvXrpWPPPJIiKXsfHQbP3QhxDQhxGFgArBACLHYXXU+sEUIsRn4CLhHStm0NfFe4E2gBG3lrh6IhoP4DOhToJlL2kAIwcVD01i++xhWx2nmAJcTtn0Mg37UpreMP+ytqmft/mpuHpd1ZlfJLk5paSl33303H374IdHR0ej1eu68807mzvXkNBZ6Fi5cyJw5czAYfDNz3X///S3s2OPGjeO5554LlXjdik5pSJRSfgp86qH8Y+BjL30KgbwQi6bwhSFXwLLZcLIMErw/TJs8PI331h1ixZ5jXDKsmWfBwVVQVw4j2/Ze8If31h7CoBPcMDYraGN2VrKysk7ZeZt49NHweeusX78+oH5XXXUVV13l/eG6ojWdcoWu6OLkXQ9I2PqfNptNyk0mMdrIF5tPe9xR9G+IiIXBlwdFHIvdyUcbD3PZiHRS4jw8gFUouglKoSuCT++B0HccbH5P81bxQoRBx5S8DJbsqKDR5ja7NBzXzC2jbw6ad8vCreXUmO38ZFz4vRAUilCiFLoiNOT/BKqK4cjGNptdPboPZpuTpTsrtIKif4HTCmf9IihiSCl54/v9DEqNZVJu76CMqVB0VnqkQlcJLjqAvOshIg7WvNpms3HZSaTHR/LxxsPgdMD6v2uJoNOGB0WMlSXH2Vleyy/Pz+nSW7oVCl/okQpdqgQXoScyAcbcBts+gZOHvTbT6wQ3ntWX73ZXcXzNvzQf9vH3BU2M17/fR0qciWvyu1ciC4XCEz1SoSs6iPHajjtWvtRms5vG9cOIA/H9XyB9JAy9MijT7yyvZfnuKu6YOACTQX15K7o/SqErQkdiP22VXvgWHCvx2iwzMYo/pq8gyVKK/YIn2gwZ4A8vLd1DnMnAz85RD0MVPQOl0BWh5aIntABb8x/QNgx54vheflz3L5Y6C/i0fmRQpt1WdpIvtx/lF+dlkxitgrApegZKoStCS2wqTHkWDq6EZU+3rrfUwoe3oTOa+GfSr3ntu704Xe2Pmfb8V7tIjDYy/dzsdo+lUHQVlEJXhJ78n2qml++fh69+Dw6rVn7iALwzFaqKEde9yY8vnsC+Yw0s2lberum+3VXJsl1V3HvBQOIjje2XX6HoIiiFrgg9QsBVL2q+5atehueHwtwL4K9j4NgeuPnfMOhSrhiZwaDUWP68eFfr+C4+YnU4eeqL7eQkx/DzST1zdf7GG2+Qk5ODwWDg7rvvDrc4PtEVZe6MKIWu6Bh0erjqBbjtcxg0GaJ7w8Rfw/3rYPBlgObC+Lsrh3HwuJl/rDoY0DSvfbuPA8fNPHX1CCIMPe/2Li4u5t577+X555+ntLTUaxzxYLF8+XKuvvpqMjMzEUIwb948v8foaJmb88orr5CdnU1kZCRjx449YzLsp556CiFEiyOQXKiholMG5wo1QoipwFSTScX16HByLtQOL1w4JJULh6Tw4tLdXJ6XTlaS79v/N5fW8PI3e5g6ug/nD/acnae788UXX5CXl8e0adM6ZL76+nry8vK47bbbuO222wIao6NlbuKDDz7gwQcf5JVXXuHcc8/llVdeYcqUKezYsaPNZBVDhgzh22+/PfW5U+1n8RZXtyccKh5656S0ukHmPfmlvP6VldLRRuzy5lTXW+X5z30jJ8xeKmsabAHP3ZXjoQ8aNEiiZeqSgLz22ms7dP6YmBj59ttv+9UnnDKPGzdO3nnnnS3KcnNz5WOPPea1z4wZM+SIESNCLZqUshvFQ1f0bPr2imbmNSMoPHiC/5u/vSm5iVcsdid3/2sD5TUWXv5pAQnRPfNB6IoVKxg8eDCzZs2ivLzcYw5OT8yePZvY2Ng2jzOZIjpa5vbKbrPZ2LBhA5MnT25RPnnyZFatWtXmnPv27SMzM5Ps7Gxuvvlm9u3b55fMoaRHmlwUnZ/rxvRlZ3ktb3y/n9hIAw9PHuIxFkutxc5d/yhk3f5qXro5n7H9g5MQo4mjs2dj3Vl85oZBxDRsKOlPPOF3v/j4ePbt28ekSZNIT0/nhRdeoKKigmeffRaA6dOnk5WVxcyZM1v0C2eS6NNl9pdAZT927BhOp5O0tLQW5WlpaSxdutTrWOeccw7z5s1j6NChVFZWMmvWLCZOnMj27dvp3Tv8wd+UQld0Wh6fMozaRgd/W7aXXUfrePKqEfTrrdnUpZR8u7uKGZ9v50hNIy/dnM81+aFROl2Fbdu24XA4TuXonD59OqNHj2bmzJm8++67lJaW8uabb7bq155Ey+3ldJmbYzabsVgsbcrWXtlPXyRIKdsM4jZlSssct+PHjycnJ4d33nmHhx56KGA5goVS6IpOi04n+NP1IxmUFstfvtrFBX9ZxsjMBHpFR1BSWU9ZTSP9kqJ5767xnD0gNAopkJVyuCgqKqJ///4kJiYCkJiYyBVXXMHjjz/OggULWLlyJTpdayvr7NmzmT277exQixYt4rzzzgu5zM355ptvKCws5KmnnvLaP1DZk5OT0ev1rZJPV1ZWtlq1t0VsbCwjRoxgz549PvcJJUqhKzo1QgjuPC+HK0dl8MH6UtYfqKa6wcaovgk89KPBTB3dp0e6J3qiqKio1Ur3jjvuYMKECaxcuZKUFM+eP+E0uXiS+emnn8ZoNJKbmwvA+++/z6JFizza1wOVPSIigrFjx7JkyRJuuOGGU+VLlixpkc/0TFgsFoqLi7nooot87hNKlEJXdAkyEqL4zaWDwy1Gp6aoqIhLL7301GcpJbNnzyY5OZm2Yv+3x2xRX19/Kn+py+Xi0KFDFBUVkZSU1KbrnzeZAR5++GFefPFF7rvvPsxmM7fccotX3/T2yP7QQw9x6623Mm7cOCZNmsRrr73GkSNHuOceLUronDlzmDNnDsXFPzxDefjhh5k6dSr9+vWjsrKSP/7xjzQ0NHD77bcHJEOw6ZFLG5XgQtHdkFKyZcuWFqvdZ555hoSEBObOncucOXNCMm9hYSEFBQUUFBTQ2NjIjBkzKCgo4MknnzzVZt68eQghOHDgwBllBqipqWH37t1ER0eTmJhISUlJK9NIMLjpppt48cUXmTVrFvn5+axYsYKFCxfSv39/QHtwumvXrhZ9Dh8+zE9+8hOGDBnCddddh8lkYs2aNaf6hBtxJpew7kxMTIxsaGgItxiKTsTOnTsZNmxYuMVoN19//TUPP/wwK1euxGQyMXToUL777jv69On4RB8zZszgo48+YvPmzRgMZzYKzJkzh4yMDEwmE4WFhVxxxRV89NFHPPfccx0gbefB270ohDBLKWM89emRK3SFojtTWlrK3XffzYcffkh0dDR6vZ4777yTuXPnhkWehQsXMmfOHJ+UOcD999/fwo49bty4HqfMA0Wt0NUKXdGM7rJCV3R91ApdoVAoejBKoSsUCkU3QSl0hUKh6CYoha5QKBTdBKXQFYrT6MmOAorOQaD3YI9U6GpjkcIbRqORxsbGcIuh6OE0NjZiNPofBlq5LSq3RUUzamtrqaioIDMzk6ioqDYj7ykUwUZKSWNjI2VlZaSlpREfH9+qTVtuiyqWi0LRjKY/oCNHjmC328MsjaInYjQavSrzM6EUukJxGvHx8QH9MSkU4aZH2tAVCoWiO6IUukKhUHQTOqVCF0L8WQhRLITYIoT4VAiR2KzucSFEiRBilxDismblY4UQW911fxXqaZZCoehhdEqFDiwB8qSUo4DdwOMAQojhwM3ACOBy4BUhhN7d51XgLmCQ+7i8o4VWKBSKcNIpFbqU8isppcP9cQ3Q1/3+GuB9KaVVSrkfKAHGCSEygHgp5Wqp+WH+A7i2o+VWKBSKcNIVvFymAx+432eiKfgmDrvL7O73p5e3QghxF9pKvumzOUC59EAgO5M6ul97+hoAxxlbBW++9vRV16fzzamuT9sEen2ivNZIKcNyAEuBbR6Oa5q1+R3wKT9sgPobcEuz+r8D1wNnA0ublZ8HzPdBhsJ2yP96V+jXzjkDuj5hklVdn843p7o+Ibg+bR1hW6FLKS9tq14IcTtwFXCJdJ892so7q1mzvsARd3lfD+WhZH4X6dfevh09n7o+oemrrk/nmzPodMqt/0KIy4EXgAuklFXNykcA/wbGAX2Ar4FBUkqnEGI98GtgLbAQeFlKufAM8xRKKc8K0Wl0edT1aRt1fdpGXZ+2CcX16aw29DmACVji9j5cI6W8R0q5XQjxIbADzfb0Kyllk+3qXmAemn1pkfs4E68HW/Buhro+baOuT9uo69M2Qb8+nXKFrlAoFAr/6ZRuiwqFQqHwH6XQFQqFopvQYxW6EOJyd/iAEiHEY+GWpzMghDjgDp9QJIQodJclCSGWCCH2uF97hVvOjkII8ZYQolIIsa1Zmdfr4S0sRXfFy/V5SghR5r6HioQQVzSr6zHXRwiRJYRYJoTYKYTYLoR40F0e2vsn2H6QXeFA2wiwF8gBIoDNwPBwyxXuAzgAJJ9W9hzwmPv9Y8Cz4ZazA6/H+cAYYNuZrgcw3H0fmYBs9/2lD/c5hOH6PAU87KFtj7o+QAYwxv0+Di2EyfBQ3z89dYU+DiiRUu6TUtqA99HCCihacw3wjvv9O/SgkApSyuVA9WnF3q6Hx7AUHSFnuPByfbzRo66PlLJcSrnR/b4O2Im2ez2k909PVeiZQGmzz15DBfQwJPCVEGKDO0QCQJqUshy0mxRIDZt0nQNv10PdUz9wvztS6lvNTAo99voIIQYABWh7ZEJ6//RUhe4ptK7y34RJUsoxwBTgV0KI88MtUBdC3VMarwIDgXygHHjeXd4jr48QIhb4GPiNlLK2raYeyvy+Pj1VoXsLIdCjkVIecb9WosXQGQdUuKNZ4n6tDJ+EnQJv10PdU4CUskJK6ZRSuoA3+MFs0OOujxDCiKbM35VSfuIuDun901MV+npgkBAiWwgRgRZj/YswyxRWhBAxQoi4pvfAZLRgaV8At7ub3Q58Hh4JOw3erscXwM1CCJMQIhstJv+6MMgXVpqUlZtpaPcQ9LDr406w83dgp5TyhWZVIb1/OuvW/5AipXQIIe4HFqN5vLwlpdweZrHCTRrwqTvUggH4t5TyS3eMnA+FEL8ADgE3hFHGDkUI8R5wIZAshDgMzAD+hIfrIdsOS9Et8XJ9LhRC5KOZCw4Ad0OPvD6TgFuBrUKIInfZE4T4/lFb/xUKhaKb0FNNLgqFQtHtUApdoVAouglKoSsUCkU3QSl0hUKh6CYoha5QKBTdBKXQFQqFopugFLpCoVB0E5RCVyh8QAgR647zfXa4ZQEQQswVQvwl3HIoOhdKoSsUvvEoUCilXN9UIISYJ4SQQoiPT28shLjWXec4rf1ST4O7297ihzz/B9wrhMjxo4+im6MUukJxBoQQkcC9wFwP1YeAqUKItNPK7wIOhkomKWUZ8DVwX6jmUHQ9lEJX9DiEEP8RQixu9jlFCGEWQoz10uVyIAr4ykPdHmANcEez8foBPwLeDlC+C90r9tOPA6c1/RTwZ1Wv6OYoha7oibQIVSqlrEJLPnCtl/YXAJuklA4v9a8Dd7oj7AHcibZ6DnSFvgothVnTMQItlOqy09qtBdKEEMMCnEfRzVAKXdETOT32NEA93rMxZQNlbYz3EZCEFmlQD0xHU/KeuFAIUX/60byBlNImpTwqpTwKHAf+BuwD7vFwHqDlxlUoemb4XEWP5zAQK4RIkFKedMd/Pxf4lZf2UcBJb4NJKS1CiH8Cv0RLCGwA5gM/89B8LT/Ew27OHi/Dv4r25TNeSmk9rc7STD6FQil0RY+kaWWbhaaonwGOAp94aV+FtgJvi7nAJqAf8LaU0v6DBaYFjVLKktMLPbUVQvwWuA6YIKU85mGsJpmqziCbooegFLqiJ9Kk0Pu6/cpvBc6VUlq8tN8I3N/WgFLKne5kIJPwvAL3CyHEtWiuiZdLKXd5aTYScKJ9kSgUSqEreiRlgAt4EC3n5eQzZKxaBDwvhMiSUpa20e4yIFJKWd0e4YQQI4B/AU8BxUKIdHeV0/0At4kLgRVnSD6s6EGoh6KKHofbW6UCGA1c0nyzkJf2O4Fv0VbybbUzt1eZuzkbiEEzBZU3O5pvahLAT/HsG6/ooagUdAqFDwghzgPeBwZJKc2dQJ4bgT8A+d08N6fCD9QKXaHwASnl98BMNBfGzoAJ+LlS5ormqBW6QqFQdBPUCl2hUCi6CUqhKxQKRTdBKXSFQqHoJiiFrlAoFN0EpdAVCoWim6AUukKhUHQT/j+RGQyMU//euQAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "ax = None\n", "for i, fX in enumerate([0.1, 1.]):\n", " for j, fstar in enumerate([0.1, 0.5]):\n", " sim = ares.simulations.Global21cm(fX=fX, fstar=fstar, \n", " verbose=False, progress_bar=False)\n", " sim.run()\n", "\n", "\n", " # Plot the global signal\n", " ax, zax = sim.GlobalSignature(ax=ax, fig=3, z_ax=i==j==0,\n", " label=r'$f_X=%.2g, f_{\\ast}=%.2g$' % (fX, fstar))\n", " \n", " \n", "ax.legend(loc='lower right', fontsize=14) " ] }, { "cell_type": "markdown", "id": "8b085421", "metadata": {}, "source": [ "These parameters, along with ``Tmin``, ``Nlw``, and ``Nion`` round out the simplest parameterization of the signal (that I'm aware of) that's tied to cosmology/galaxy formation in any way. It's of course highly simplified, in that it treats galaxies in a very average sense. For more sophisticated models, check out [this example](example_pop_galaxy).\n", " \n", "Check out [the listing](../params_populations.html) of the most common parameters that govern the properties of source populations, and [](example_grid) for examples of how to run and analyze large grids of models more easily. The key advantage of using the built-in model grid runner is having *ARES* automatically store any information from each calculation that you deem desirable, and store it in a format amenable to the built-in analysis routines." ] }, { "cell_type": "markdown", "id": "b2d5e456", "metadata": {}, "source": [ "## A Note About Backward Compatibility" ] }, { "cell_type": "markdown", "id": "5304e149", "metadata": {}, "source": [ "The models shown in this section are no longer the \"best\" models in *ARES*, though they may suffice depending on your interests. As alluded to at the end of the previous section, the chief shortcoming of these models is that their parameters are essentially averages over the entire galaxy population, when in reality galaxy properties are known to vary with mass and many other properties.\n", "\n", "This was the motivation behind [our paper in 2017](http://adsabs.harvard.edu/abs/2017MNRAS.464.1365M), in which we generalized the star formation efficiency to be a function of halo mass and time, and moved to using stellar population synthesis models to determine the UV emissivity of galaxies, rather than choosing $N_{\\mathrm{LW}}$, $N_{\\mathrm{ion}}$, etc. by hand (see [More Realistic Galaxy Populations](example_pop_galaxy)). These updates led to a new parameter-naming convention in which all population-specific parameters were given a ``pop_`` prefix. So, in place of ``Nlw``, ``Nion``, ``fX``, now one should set ``pop_rad_yield`` in a particular band (defined by ``pop_Emin`` and ``pop_Emax``). See [the parameter listing for populations](params_populations) for more information about that. \n", "\n", "Currently, in order to ensure backward compatibility at some level, *ARES* will automatically recognize the parameters used above and change them to ``pop_rad_yield`` etc. following the new convention. This means that there are three different values of ``pop_rad_yield``: one for the soft UV (non-ionizing) photons (related to ``Nlw``), one for the Lyman continuum photons (related to ``Nion``), and one for X-rays (related to ``fX``). This division was put in place because these three wavelength regimes affect the 21-cm background in different ways.\n", "\n", "In order to differentiate sources of radiation in different bands, we now must add a population identification number to ``pop_*`` parameters. Right now, ``fX``, ``Nion``, ``Nlw``, ``Tmin``, and ``fstar`` will automatically be updated in the following way:\n", "\n", "- The value of ``Nlw`` is assigned to ``pop_rad_yield{0}``, and ``pop_Emin{0}`` and ``pop_Emax{0}`` are set to 10.2 and 13.6, respectively.\n", "- The value of ``fX`` is multiplied by ``cX`` (generally $2.6 \\times 10^{39} \\ \\mathrm{erg} \\ \\mathrm{s}^{-1} \\ (M_{\\odot} \\ \\mathrm{yr}^{-1})^{-1})$ and assigned to ``pop_rad_yield{1}``, and ``pop_Emin{1}`` and ``pop_Emax{1}`` are set to 200 and 30000, respectively.\n", "- The value of ``Nion`` is assigned to ``pop_rad_yield{2}``, and ``pop_Emin{2}`` and ``pop_Emax{2}`` are set to 13.6 and 24.6, respectively.\n", "- ``pop_Tmin{0}``, ``pop_Tmin{1}``, and ``pop_Tmin{2}`` are all set to the value of ``Tmin``. Likewise for ``fstar``.\n", "\n", "Unfortunately not all parameters will be automatically converted in this way. If you get an error message about an \"orphan parameter,\" this means you have supplied a ``pop_`` parameter without an ID number, and so *ARES* doesn't know which population is meant to respond to your change. This is an easy mistake to make, especially when working with parameters like ``Nlw``, ``Nion`` etc., because *ARES* is automatically converting them to ``pop_*`` parameters." ] }, { "cell_type": "code", "execution_count": null, "id": "8b2660bc", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.6" } }, "nbformat": 4, "nbformat_minor": 5 }