{ "cells": [ { "cell_type": "markdown", "id": "3350bd62", "metadata": {}, "source": [ "# Gradient through RUBIX" ] }, { "cell_type": "code", "execution_count": null, "id": "b108191d", "metadata": {}, "outputs": [], "source": [ "# NBVAL_SKIP\n", "from jax import config\n", "#config.update(\"jax_enable_x64\", True)\n", "config.update('jax_num_cpu_devices', 2)" ] }, { "cell_type": "code", "execution_count": 2, "id": "7a728a04", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[CpuDevice(id=0), CpuDevice(id=1)]\n" ] } ], "source": [ "#NBVAL_SKIP\n", "import os\n", "\n", "# Only make GPU 0 and GPU 1 visible to JAX:\n", "#os.environ['CUDA_VISIBLE_DEVICES'] = '1,2'\n", "\n", "import jax\n", "\n", "# Now JAX will list two CpuDevice entries\n", "print(jax.devices())\n", "# → [CpuDevice(id=0), CpuDevice(id=1)]" ] }, { "cell_type": "code", "execution_count": 3, "id": "839c9ebd", "metadata": {}, "outputs": [], "source": [ "# NBVAL_SKIP\n", "import os\n", "os.environ['SPS_HOME'] = '/home/annalena_data/sps_fsps'" ] }, { "cell_type": "markdown", "id": "dcb32323", "metadata": {}, "source": [ "# Load ssp template from FSPS" ] }, { "cell_type": "code", "execution_count": 4, "id": "ef5f7772", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "2025-07-01 14:19:12,434 - rubix - INFO - \n", " ___ __ _____ _____ __\n", " / _ \\/ / / / _ )/ _/ |/_/\n", " / , _/ /_/ / _ |/ /_> <\n", "/_/|_|\\____/____/___/_/|_|\n", "\n", "\n", "2025-07-01 14:19:12,435 - rubix - INFO - Rubix version: 0.0.post465+g01a25a7.d20250701\n", "2025-07-01 14:19:12,435 - rubix - INFO - JAX version: 0.6.0\n", "2025-07-01 14:19:12,436 - rubix - INFO - Running on [CpuDevice(id=0), CpuDevice(id=1)] devices\n" ] } ], "source": [ "# NBVAL_SKIP\n", "from rubix.spectra.ssp.factory import get_ssp_template\n", "ssp_fsps = get_ssp_template(\"FSPS\")" ] }, { "cell_type": "code", "execution_count": 5, "id": "eb0688b5", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(107,)\n", "(12,)\n" ] } ], "source": [ "# NBVAL_SKIP\n", "age_values = ssp_fsps.age\n", "print(age_values.shape)\n", "\n", "metallicity_values = ssp_fsps.metallicity\n", "print(metallicity_values.shape)" ] }, { "cell_type": "code", "execution_count": 6, "id": "9fbf0de6", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "start age: 15.848933219909668, start metallicity: 0.025251565501093864\n", "target age: 3.1622776985168457, target metallicity: 0.014199999161064625\n" ] } ], "source": [ "# NBVAL_SKIP\n", "index_age = 90\n", "index_metallicity = 9\n", "\n", "#initial_metallicity_index = 5\n", "#initial_age_index = 70\n", "initial_metallicity_index = 10\n", "initial_age_index = 104\n", "\n", "learning_all = 5e-2\n", "tol = 1e-10\n", "\n", "print(f\"start age: {age_values[initial_age_index]}, start metallicity: {metallicity_values[initial_metallicity_index]}\")\n", "print(f\"target age: {age_values[index_age]}, target metallicity: {metallicity_values[index_metallicity]}\")" ] }, { "cell_type": "markdown", "id": "f9b479b9", "metadata": {}, "source": [ "# Configure pipeline" ] }, { "cell_type": "code", "execution_count": 7, "id": "b01e145b", "metadata": {}, "outputs": [], "source": [ "# NBVAL_SKIP\n", "from rubix.core.pipeline import RubixPipeline\n", "import os\n", "config = {\n", " \"pipeline\":{\"name\": \"calc_gradient\",},\n", " \n", " \"logger\": {\n", " \"log_level\": \"DEBUG\",\n", " \"log_file_path\": None,\n", " \"format\": \"%(asctime)s - %(name)s - %(levelname)s - %(message)s\",\n", " },\n", " \"data\": {\n", " \"name\": \"IllustrisAPI\",\n", " \"args\": {\n", " \"api_key\": os.environ.get(\"ILLUSTRIS_API_KEY\"),\n", " \"particle_type\": [\"stars\"],\n", " \"simulation\": \"TNG50-1\",\n", " \"snapshot\": 99,\n", " \"save_data_path\": \"data\",\n", " },\n", " \n", " \"load_galaxy_args\": {\n", " \"id\": 14,\n", " \"reuse\": True,\n", " },\n", " \n", " \"subset\": {\n", " \"use_subset\": True,\n", " \"subset_size\": 2,\n", " },\n", " },\n", " \"simulation\": {\n", " \"name\": \"IllustrisTNG\",\n", " \"args\": {\n", " \"path\": \"data/galaxy-id-14.hdf5\",\n", " },\n", " \n", " },\n", " \"output_path\": \"output\",\n", "\n", " \"telescope\":\n", " {\"name\": \"TESTGRADIENT\",\n", " \"psf\": {\"name\": \"gaussian\", \"size\": 5, \"sigma\": 0.6},\n", " \"lsf\": {\"sigma\": 1.2},\n", " \"noise\": {\"signal_to_noise\": 100,\"noise_distribution\": \"normal\"},\n", " },\n", " \"cosmology\":\n", " {\"name\": \"PLANCK15\"},\n", " \n", " \"galaxy\":\n", " {\"dist_z\": 0.1,\n", " \"rotation\": {\"type\": \"edge-on\"},\n", " },\n", " \n", " \"ssp\": {\n", " \"template\": {\n", " \"name\": \"FSPS\"\n", " },\n", " \"dust\": {\n", " \"extinction_model\": \"Cardelli89\",\n", " \"dust_to_gas_ratio\": 0.01,\n", " \"dust_to_metals_ratio\": 0.4,\n", " \"dust_grain_density\": 3.5,\n", " \"Rv\": 3.1,\n", " },\n", " }, \n", "}" ] }, { "cell_type": "code", "execution_count": 8, "id": "d084be52", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/factory.py:26: UserWarning: No telescope config provided, using default stored in /home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/telescopes.yaml\n", " warnings.warn(\n", "2025-07-01 14:19:13,008 - rubix - INFO - Getting rubix data...\n", "2025-07-01 14:19:13,009 - rubix - INFO - Rubix galaxy file already exists, skipping conversion\n", "2025-07-01 14:19:13,045 - rubix - INFO - Centering stars particles\n", "2025-07-01 14:19:13,713 - rubix - WARNING - The Subset value is set in config. Using only subset of size 2 for stars\n", "2025-07-01 14:19:13,714 - rubix - INFO - Data loaded with 2 star particles and 0 gas particles.\n", "2025-07-01 14:19:13,715 - rubix - INFO - Setting up the pipeline...\n", "2025-07-01 14:19:13,715 - rubix - DEBUG - Pipeline Configuration: {'Transformers': {'rotate_galaxy': {'name': 'rotate_galaxy', 'depends_on': None, 'args': [], 'kwargs': {}}, 'spaxel_assignment': {'name': 'spaxel_assignment', 'depends_on': 'rotate_galaxy', 'args': [], 'kwargs': {}}, 'calculate_datacube_particlewise': {'name': 'calculate_datacube_particlewise', 'depends_on': 'spaxel_assignment', 'args': [], 'kwargs': {}}, 'convolve_psf': {'name': 'convolve_psf', 'depends_on': 'calculate_datacube_particlewise', 'args': [], 'kwargs': {}}, 'convolve_lsf': {'name': 'convolve_lsf', 'depends_on': 'convolve_psf', 'args': [], 'kwargs': {}}, 'apply_noise': {'name': 'apply_noise', 'depends_on': 'convolve_lsf', 'args': [], 'kwargs': {}}}}\n", "2025-07-01 14:19:13,715 - rubix - DEBUG - Roataion Type found: edge-on\n", "2025-07-01 14:19:13,718 - rubix - INFO - Calculating spatial bin edges...\n", "/home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/factory.py:26: UserWarning: No telescope config provided, using default stored in /home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/telescopes.yaml\n", " warnings.warn(\n", "2025-07-01 14:19:13,741 - rubix - INFO - Getting cosmology...\n", "2025-07-01 14:19:13,902 - rubix - INFO - Calculating spatial bin edges...\n", "2025-07-01 14:19:13,911 - rubix - INFO - Getting cosmology...\n", "2025-07-01 14:19:13,951 - rubix - DEBUG - Method not defined, using default method: cubic\n", "/home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/factory.py:26: UserWarning: No telescope config provided, using default stored in /home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/telescopes.yaml\n", " warnings.warn(\n", "2025-07-01 14:19:14,038 - rubix - DEBUG - SSP Wave: (5994,)\n", "/home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/factory.py:26: UserWarning: No telescope config provided, using default stored in /home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/telescopes.yaml\n", " warnings.warn(\n", "2025-07-01 14:19:14,057 - rubix - INFO - Getting cosmology...\n", "/home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/factory.py:26: UserWarning: No telescope config provided, using default stored in /home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/telescopes.yaml\n", " warnings.warn(\n", "2025-07-01 14:19:14,145 - rubix - DEBUG - Method not defined, using default method: cubic\n", "/home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/factory.py:26: UserWarning: No telescope config provided, using default stored in /home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/telescopes.yaml\n", " warnings.warn(\n", "2025-07-01 14:19:14,403 - rubix - INFO - Assembling the pipeline...\n", "2025-07-01 14:19:14,403 - rubix - INFO - Compiling the expressions...\n", "2025-07-01 14:19:14,404 - rubix - INFO - Number of devices: 2\n", "2025-07-01 14:19:14,508 - rubix - INFO - Rotating galaxy with alpha=90.0, beta=0.0, gamma=0.0\n", "2025-07-01 14:19:14,613 - rubix - INFO - Assigning particles to spaxels...\n", "2025-07-01 14:19:14,629 - rubix - INFO - Calculating Data Cube (combined per‐particle)…\n", "2025-07-01 14:19:14,772 - rubix - DEBUG - Datacube shape: (1, 1, 466)\n", "2025-07-01 14:19:14,772 - rubix - INFO - Convolving with PSF...\n", "2025-07-01 14:19:14,776 - rubix - INFO - Convolving with LSF...\n", "2025-07-01 14:19:14,781 - rubix - INFO - Applying noise to datacube with signal to noise ratio: 100 and noise distribution: normal\n", "2025-07-01 14:19:22,678 - rubix - INFO - Pipeline run completed in 8.96 seconds.\n" ] } ], "source": [ "# NBVAL_SKIP\n", "pipe = RubixPipeline(config)\n", "inputdata = pipe.prepare_data()\n", "output = pipe.run_sharded(inputdata)" ] }, { "cell_type": "markdown", "id": "cfb4c047", "metadata": {}, "source": [ "# Set target values" ] }, { "cell_type": "code", "execution_count": 9, "id": "ea23c03b", "metadata": {}, "outputs": [], "source": [ "# NBVAL_SKIP\n", "import jax.numpy as jnp\n", "\n", "inputdata.stars.age = jnp.array([age_values[index_age], age_values[index_age]])\n", "inputdata.stars.metallicity = jnp.array([metallicity_values[index_metallicity], metallicity_values[index_metallicity]])\n", "inputdata.stars.mass = jnp.array([[1.0], [1.0]])\n", "inputdata.stars.velocity = jnp.array([[0.0, 0.0, 0.0], [0.0, 0.0, 0.0]])\n", "inputdata.stars.coords = jnp.array([[0.0, 0.0, 0.0], [0.0, 0.0, 0.0]])" ] }, { "cell_type": "code", "execution_count": 10, "id": "2e911a08", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "2025-07-01 14:19:22,773 - rubix - INFO - Setting up the pipeline...\n", "2025-07-01 14:19:22,774 - rubix - DEBUG - Pipeline Configuration: {'Transformers': {'rotate_galaxy': {'name': 'rotate_galaxy', 'depends_on': None, 'args': [], 'kwargs': {}}, 'spaxel_assignment': {'name': 'spaxel_assignment', 'depends_on': 'rotate_galaxy', 'args': [], 'kwargs': {}}, 'calculate_datacube_particlewise': {'name': 'calculate_datacube_particlewise', 'depends_on': 'spaxel_assignment', 'args': [], 'kwargs': {}}, 'convolve_psf': {'name': 'convolve_psf', 'depends_on': 'calculate_datacube_particlewise', 'args': [], 'kwargs': {}}, 'convolve_lsf': {'name': 'convolve_lsf', 'depends_on': 'convolve_psf', 'args': [], 'kwargs': {}}, 'apply_noise': {'name': 'apply_noise', 'depends_on': 'convolve_lsf', 'args': [], 'kwargs': {}}}}\n", "2025-07-01 14:19:22,775 - rubix - DEBUG - Roataion Type found: edge-on\n", "2025-07-01 14:19:22,776 - rubix - INFO - Calculating spatial bin edges...\n", "/home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/factory.py:26: UserWarning: No telescope config provided, using default stored in /home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/telescopes.yaml\n", " warnings.warn(\n", "2025-07-01 14:19:22,787 - rubix - INFO - Getting cosmology...\n", "2025-07-01 14:19:22,797 - rubix - INFO - Calculating spatial bin edges...\n", "2025-07-01 14:19:22,807 - rubix - INFO - Getting cosmology...\n", "2025-07-01 14:19:22,827 - rubix - DEBUG - Method not defined, using default method: cubic\n", "/home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/factory.py:26: UserWarning: No telescope config provided, using default stored in /home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/telescopes.yaml\n", " warnings.warn(\n", "2025-07-01 14:19:22,855 - rubix - DEBUG - SSP Wave: (5994,)\n", "/home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/factory.py:26: UserWarning: No telescope config provided, using default stored in /home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/telescopes.yaml\n", " warnings.warn(\n", "2025-07-01 14:19:22,867 - rubix - INFO - Getting cosmology...\n", "/home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/factory.py:26: UserWarning: No telescope config provided, using default stored in /home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/telescopes.yaml\n", " warnings.warn(\n", "2025-07-01 14:19:22,907 - rubix - DEBUG - Method not defined, using default method: cubic\n", "/home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/factory.py:26: UserWarning: No telescope config provided, using default stored in /home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/telescopes.yaml\n", " warnings.warn(\n", "2025-07-01 14:19:22,939 - rubix - INFO - Assembling the pipeline...\n", "2025-07-01 14:19:22,940 - rubix - INFO - Compiling the expressions...\n", "2025-07-01 14:19:22,941 - rubix - INFO - Number of devices: 2\n", "2025-07-01 14:19:23,052 - rubix - INFO - Rotating galaxy with alpha=90.0, beta=0.0, gamma=0.0\n", "2025-07-01 14:19:23,131 - rubix - INFO - Assigning particles to spaxels...\n", "2025-07-01 14:19:23,134 - rubix - INFO - Calculating Data Cube (combined per‐particle)…\n", "2025-07-01 14:19:23,303 - rubix - DEBUG - Datacube shape: (1, 1, 466)\n", "2025-07-01 14:19:23,304 - rubix - INFO - Convolving with PSF...\n", "2025-07-01 14:19:23,307 - rubix - INFO - Convolving with LSF...\n", "2025-07-01 14:19:23,310 - rubix - INFO - Applying noise to datacube with signal to noise ratio: 100 and noise distribution: normal\n", "2025-07-01 14:19:31,497 - rubix - INFO - Pipeline run completed in 8.72 seconds.\n" ] } ], "source": [ "# NBVAL_SKIP\n", "targetdata = pipe.run_sharded(inputdata)" ] }, { "cell_type": "code", "execution_count": 11, "id": "1fd0e182", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(466,)\n" ] } ], "source": [ "# NBVAL_SKIP\n", "print(targetdata[0,0,:].shape)" ] }, { "cell_type": "markdown", "id": "801a48a3", "metadata": {}, "source": [ "# Set initial cube" ] }, { "cell_type": "code", "execution_count": 12, "id": "e2cfc7ca", "metadata": {}, "outputs": [], "source": [ "# NBVAL_SKIP\n", "inputdata.stars.age = jnp.array([age_values[initial_age_index], age_values[initial_age_index]])\n", "inputdata.stars.metallicity = jnp.array([metallicity_values[initial_metallicity_index], metallicity_values[initial_metallicity_index]])\n", "inputdata.stars.mass = jnp.array([[1.0], [1.0]])\n", "inputdata.stars.velocity = jnp.array([[0.0, 0.0, 0.0], [0.0, 0.0, 0.0]])\n", "inputdata.stars.coords = jnp.array([[0.0, 0.0, 0.0], [0.0, 0.0, 0.0]])" ] }, { "cell_type": "code", "execution_count": 13, "id": "ef032a2f", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "2025-07-01 14:19:31,563 - rubix - INFO - Setting up the pipeline...\n", "2025-07-01 14:19:31,564 - rubix - DEBUG - Pipeline Configuration: {'Transformers': {'rotate_galaxy': {'name': 'rotate_galaxy', 'depends_on': None, 'args': [], 'kwargs': {}}, 'spaxel_assignment': {'name': 'spaxel_assignment', 'depends_on': 'rotate_galaxy', 'args': [], 'kwargs': {}}, 'calculate_datacube_particlewise': {'name': 'calculate_datacube_particlewise', 'depends_on': 'spaxel_assignment', 'args': [], 'kwargs': {}}, 'convolve_psf': {'name': 'convolve_psf', 'depends_on': 'calculate_datacube_particlewise', 'args': [], 'kwargs': {}}, 'convolve_lsf': {'name': 'convolve_lsf', 'depends_on': 'convolve_psf', 'args': [], 'kwargs': {}}, 'apply_noise': {'name': 'apply_noise', 'depends_on': 'convolve_lsf', 'args': [], 'kwargs': {}}}}\n", "2025-07-01 14:19:31,565 - rubix - DEBUG - Roataion Type found: edge-on\n", "2025-07-01 14:19:31,566 - rubix - INFO - Calculating spatial bin edges...\n", "/home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/factory.py:26: UserWarning: No telescope config provided, using default stored in /home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/telescopes.yaml\n", " warnings.warn(\n", "2025-07-01 14:19:31,577 - rubix - INFO - Getting cosmology...\n", "2025-07-01 14:19:31,587 - rubix - INFO - Calculating spatial bin edges...\n", "2025-07-01 14:19:31,596 - rubix - INFO - Getting cosmology...\n", "2025-07-01 14:19:31,610 - rubix - DEBUG - Method not defined, using default method: cubic\n", "/home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/factory.py:26: UserWarning: No telescope config provided, using default stored in /home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/telescopes.yaml\n", " warnings.warn(\n", "2025-07-01 14:19:31,638 - rubix - DEBUG - SSP Wave: (5994,)\n", "/home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/factory.py:26: UserWarning: No telescope config provided, using default stored in /home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/telescopes.yaml\n", " warnings.warn(\n", "2025-07-01 14:19:31,650 - rubix - INFO - Getting cosmology...\n", "/home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/factory.py:26: UserWarning: No telescope config provided, using default stored in /home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/telescopes.yaml\n", " warnings.warn(\n", "2025-07-01 14:19:31,684 - rubix - DEBUG - Method not defined, using default method: cubic\n", "/home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/factory.py:26: UserWarning: No telescope config provided, using default stored in /home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/telescopes.yaml\n", " warnings.warn(\n", "2025-07-01 14:19:31,716 - rubix - INFO - Assembling the pipeline...\n", "2025-07-01 14:19:31,716 - rubix - INFO - Compiling the expressions...\n", "2025-07-01 14:19:31,717 - rubix - INFO - Number of devices: 2\n", "2025-07-01 14:19:31,804 - rubix - INFO - Rotating galaxy with alpha=90.0, beta=0.0, gamma=0.0\n", "2025-07-01 14:19:31,882 - rubix - INFO - Assigning particles to spaxels...\n", "2025-07-01 14:19:31,884 - rubix - INFO - Calculating Data Cube (combined per‐particle)…\n", "2025-07-01 14:19:31,892 - rubix - DEBUG - Datacube shape: (1, 1, 466)\n", "2025-07-01 14:19:31,892 - rubix - INFO - Convolving with PSF...\n", "2025-07-01 14:19:31,895 - rubix - INFO - Convolving with LSF...\n", "2025-07-01 14:19:31,898 - rubix - INFO - Applying noise to datacube with signal to noise ratio: 100 and noise distribution: normal\n", "2025-07-01 14:19:38.155820: E external/xla/xla/service/slow_operation_alarm.cc:73] Constant folding an instruction is taking > 1s:\n", "\n", " %gather.185 = f32[105,1,12,5994]{3,2,1,0} gather(%constant.3104, %iota.28), offset_dims={1,2,3}, collapsed_slice_dims={}, start_index_map={0}, index_vector_dim=1, slice_sizes={1,12,5994}, metadata={op_name=\"jit()/jit(main)/jit(shmap_body)/jit()/while/body/jit(interp2d)/jit(fun)/jit(_take)/gather\" source_file=\"/tmp/ipykernel_1868132/3725520555.py\" source_line=4}\n", "\n", "This isn't necessarily a bug; constant-folding is inherently a trade-off between compilation time and speed at runtime. XLA has some guards that attempt to keep constant folding from taking too long, but fundamentally you'll always be able to come up with an input program that takes a long time.\n", "\n", "If you'd like to file a bug, run with envvar XLA_FLAGS=--xla_dump_to=/tmp/foo and attach the results.\n", "2025-07-01 14:19:38.206841: E external/xla/xla/service/slow_operation_alarm.cc:140] The operation took 1.051189572s\n", "Constant folding an instruction is taking > 1s:\n", "\n", " %gather.185 = f32[105,1,12,5994]{3,2,1,0} gather(%constant.3104, %iota.28), offset_dims={1,2,3}, collapsed_slice_dims={}, start_index_map={0}, index_vector_dim=1, slice_sizes={1,12,5994}, metadata={op_name=\"jit()/jit(main)/jit(shmap_body)/jit()/while/body/jit(interp2d)/jit(fun)/jit(_take)/gather\" source_file=\"/tmp/ipykernel_1868132/3725520555.py\" source_line=4}\n", "\n", "This isn't necessarily a bug; constant-folding is inherently a trade-off between compilation time and speed at runtime. XLA has some guards that attempt to keep constant folding from taking too long, but fundamentally you'll always be able to come up with an input program that takes a long time.\n", "\n", "If you'd like to file a bug, run with envvar XLA_FLAGS=--xla_dump_to=/tmp/foo and attach the results.\n", "2025-07-01 14:19:39,618 - rubix - INFO - Pipeline run completed in 8.05 seconds.\n" ] } ], "source": [ "# NBVAL_SKIP\n", "initialdata = pipe.run_sharded(inputdata)" ] }, { "cell_type": "markdown", "id": "089d273f", "metadata": {}, "source": [ "# Adam optimizer" ] }, { "cell_type": "code", "execution_count": 14, "id": "af72af79", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/factory.py:26: UserWarning: No telescope config provided, using default stored in /home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/telescopes.yaml\n", " warnings.warn(\n", "2025-07-01 14:19:39,666 - rubix - INFO - Setting up the pipeline...\n", "2025-07-01 14:19:39,666 - rubix - DEBUG - Pipeline Configuration: {'Transformers': {'rotate_galaxy': {'name': 'rotate_galaxy', 'depends_on': None, 'args': [], 'kwargs': {}}, 'spaxel_assignment': {'name': 'spaxel_assignment', 'depends_on': 'rotate_galaxy', 'args': [], 'kwargs': {}}, 'calculate_datacube_particlewise': {'name': 'calculate_datacube_particlewise', 'depends_on': 'spaxel_assignment', 'args': [], 'kwargs': {}}, 'convolve_psf': {'name': 'convolve_psf', 'depends_on': 'calculate_datacube_particlewise', 'args': [], 'kwargs': {}}, 'convolve_lsf': {'name': 'convolve_lsf', 'depends_on': 'convolve_psf', 'args': [], 'kwargs': {}}, 'apply_noise': {'name': 'apply_noise', 'depends_on': 'convolve_lsf', 'args': [], 'kwargs': {}}}}\n", "2025-07-01 14:19:39,667 - rubix - DEBUG - Roataion Type found: edge-on\n", "2025-07-01 14:19:39,669 - rubix - INFO - Calculating spatial bin edges...\n", "/home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/factory.py:26: UserWarning: No telescope config provided, using default stored in /home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/telescopes.yaml\n", " warnings.warn(\n", "2025-07-01 14:19:39,679 - rubix - INFO - Getting cosmology...\n", "2025-07-01 14:19:39,689 - rubix - INFO - Calculating spatial bin edges...\n", "2025-07-01 14:19:39,699 - rubix - INFO - Getting cosmology...\n", "2025-07-01 14:19:39,726 - rubix - DEBUG - Method not defined, using default method: cubic\n", "/home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/factory.py:26: UserWarning: No telescope config provided, using default stored in /home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/telescopes.yaml\n", " warnings.warn(\n", "2025-07-01 14:19:39,768 - rubix - DEBUG - SSP Wave: (5994,)\n", "/home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/factory.py:26: UserWarning: No telescope config provided, using default stored in /home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/telescopes.yaml\n", " warnings.warn(\n", "2025-07-01 14:19:39,780 - rubix - INFO - Getting cosmology...\n", "/home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/factory.py:26: UserWarning: No telescope config provided, using default stored in /home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/telescopes.yaml\n", " warnings.warn(\n", "2025-07-01 14:19:39,826 - rubix - DEBUG - Method not defined, using default method: cubic\n", "/home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/factory.py:26: UserWarning: No telescope config provided, using default stored in /home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/telescopes.yaml\n", " warnings.warn(\n" ] } ], "source": [ "# NBVAL_SKIP\n", "from rubix.pipeline import linear_pipeline as pipeline\n", "\n", "pipeline_instance = RubixPipeline(config)\n", "\n", "pipeline_instance._pipeline = pipeline.LinearTransformerPipeline(\n", " pipeline_instance.pipeline_config, \n", " pipeline_instance._get_pipeline_functions()\n", ")\n", "pipeline_instance._pipeline.assemble()\n", "pipeline_instance.func = pipeline_instance._pipeline.compile_expression()" ] }, { "cell_type": "code", "execution_count": 15, "id": "18641767", "metadata": {}, "outputs": [], "source": [ "# NBVAL_SKIP\n", "import optax\n", "\n", "def loss_only_wrt_age_metallicity(age, metallicity, base_data, target):\n", " \n", " base_data.stars.age = age*20\n", " base_data.stars.metallicity = metallicity*0.05\n", "\n", " output = pipeline_instance.func(base_data)\n", " #loss = jnp.sum((output.stars.datacube - target) ** 2)\n", " #loss = jnp.sum(optax.l2_loss(output.stars.datacube, target.stars.datacube))\n", " #loss = jnp.sum(optax.huber_loss(output.stars.datacube, target.stars.datacube))\n", " loss = jnp.sum(optax.cosine_distance(output.stars.datacube, target))\n", " \n", " return jnp.log10(loss) #loss#/0.03 #jnp.log10(loss #/5e-5)" ] }, { "cell_type": "code", "execution_count": 16, "id": "a624d440", "metadata": {}, "outputs": [], "source": [ "# NBVAL_SKIP\n", "import jax\n", "import jax.numpy as jnp\n", "import optax\n", "\n", "\n", "def adam_optimization_multi(loss_fn, params_init, data, target, learning=learning_all, tol=1e-3, max_iter=500):\n", " \"\"\"\n", " Optimizes both age and metallicity.\n", "\n", " Args:\n", " loss_fn: function with signature loss_fn(age, metallicity, data, target)\n", " params_init: dict with keys 'age' and 'metallicity', each a JAX array\n", " data: base data for the loss function\n", " target: target data for the loss function\n", " learning_rate: learning rate for Adam\n", " tol: tolerance for convergence (based on update norm)\n", " max_iter: maximum number of iterations\n", "\n", " Returns:\n", " params: final parameters (dict)\n", " params_history: list of parameter values for each iteration\n", " loss_history: list of loss values for each iteration\n", " \"\"\"\n", " params = params_init # e.g., {'age': jnp.array(...), 'metallicity': jnp.array(...)}\n", " optimizers = {\n", " 'age': optax.adam(learning),\n", " 'metallicity': optax.adam(learning)\n", " }\n", " # Create a parameter label pytree matching the structure of params\n", " param_labels = {'age': 'age', 'metallicity': 'metallicity'}\n", " \n", " # Combine the optimizers with multi_transform\n", " optimizer = optax.multi_transform(optimizers, param_labels)\n", " optimizer_state = optimizer.init(params)\n", " \n", " age_history = []\n", " metallicity_history = []\n", " loss_history = []\n", " \n", " for i in range(max_iter):\n", " # Compute loss and gradients with respect to both parameters\n", " loss, grads = jax.value_and_grad(lambda p: loss_fn(p['age'], p['metallicity'], data, target))(params)\n", " loss_history.append(float(loss))\n", " # Save current parameters (convert from JAX arrays to floats)\n", " age_history.append(float(params['age'][0]))\n", " metallicity_history.append(float(params['metallicity'][0]))\n", " #params_history.append({\n", " # 'age': params['age'],\n", " # 'metallicity': params['metallicity']\n", " #})\n", " \n", " # Compute updates and apply them\n", " updates, optimizer_state = optimizer.update(grads, optimizer_state)\n", " params = optax.apply_updates(params, updates)\n", " \n", " # Optionally clip the parameters to enforce physical constraints:\n", " #params['age'] = jnp.clip(params['age'], 0.0, 1.0)\n", " #params['metallicity'] = jnp.clip(params['metallicity'], 0.0, 1.0)\n", " # For metallicity, uncomment and adjust the limits as needed:\n", " # params['metallicity'] = jnp.clip(params['metallicity'], metallicity_lower_bound, metallicity_upper_bound)\n", " \n", " # Check convergence based on the global norm of updates\n", " if optax.global_norm(updates) < tol:\n", " print(f\"Converged at iteration {i}\")\n", " break\n", "\n", " return params, age_history, metallicity_history, loss_history" ] }, { "cell_type": "code", "execution_count": 17, "id": "8bef00b9", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "2025-07-01 14:19:39,970 - rubix - INFO - Rotating galaxy with alpha=90.0, beta=0.0, gamma=0.0\n", "2025-07-01 14:19:40,063 - rubix - INFO - Assigning particles to spaxels...\n", "2025-07-01 14:19:40,081 - rubix - INFO - Calculating Data Cube (combined per‐particle)…\n", "2025-07-01 14:19:40,253 - rubix - DEBUG - Datacube shape: (1, 1, 466)\n", "2025-07-01 14:19:40,254 - rubix - INFO - Convolving with PSF...\n", "2025-07-01 14:19:40,257 - rubix - INFO - Convolving with LSF...\n", "2025-07-01 14:19:40,263 - rubix - INFO - Applying noise to datacube with signal to noise ratio: 100 and noise distribution: normal\n" ] }, { "data": { "text/plain": [ "Array(nan, dtype=float64)" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# NBVAL_SKIP\n", "loss_only_wrt_age_metallicity(inputdata.stars.age, inputdata.stars.metallicity, inputdata, targetdata)" ] }, { "cell_type": "code", "execution_count": 18, "id": "dd3467df", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Initial parameters: {'age': Array([0.7924467, 0.7924467], dtype=float32), 'metallicity': Array([0.5050313, 0.5050313], dtype=float32)}\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "2025-07-01 14:19:58,613 - rubix - INFO - Rotating galaxy with alpha=90.0, beta=0.0, gamma=0.0\n", "2025-07-01 14:19:58,727 - rubix - INFO - Assigning particles to spaxels...\n", "2025-07-01 14:19:58,729 - rubix - INFO - Calculating Data Cube (combined per‐particle)…\n", "2025-07-01 14:19:58,834 - rubix - DEBUG - Datacube shape: (1, 1, 466)\n", "2025-07-01 14:19:58,835 - rubix - INFO - Convolving with PSF...\n", "2025-07-01 14:19:58,838 - rubix - INFO - Convolving with LSF...\n", "2025-07-01 14:19:58,842 - rubix - INFO - Applying noise to datacube with signal to noise ratio: 100 and noise distribution: normal\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Optimized Age: [nan nan]\n", "Optimized Metallicity: [nan nan]\n" ] } ], "source": [ "# NBVAL_SKIP\n", "data = inputdata # Replace with your actual data if needed\n", "target_value = targetdata # Replace with your actual target\n", "\n", "# Define initial guesses for both age and metallicity.\n", "# Adjust the initialization as needed for your problem.\n", "age_init = jnp.array([age_values[initial_age_index]/20, age_values[initial_age_index]/20])\n", "metallicity_init = jnp.array([metallicity_values[initial_metallicity_index]/0.05, metallicity_values[initial_metallicity_index]/0.05])\n", "\n", "\n", "# Pack both initial parameters into a dictionary.\n", "params_init = {'age': age_init, 'metallicity': metallicity_init}\n", "print(f\"Initial parameters: {params_init}\")\n", "\n", "# Call the new optimizer function that handles both parameters.\n", "optimized_params, age_history, metallicity_history, loss_history = adam_optimization_multi(\n", " loss_only_wrt_age_metallicity,\n", " params_init,\n", " data,\n", " target_value,\n", " learning=learning_all,\n", " tol=tol,\n", " max_iter=5000,\n", ")\n", "\n", "print(f\"Optimized Age: {optimized_params['age']}\")\n", "print(f\"Optimized Metallicity: {optimized_params['metallicity']}\")\n" ] }, { "cell_type": "markdown", "id": "1ca494b4", "metadata": {}, "source": [ "# Loss history" ] }, { "cell_type": "code", "execution_count": 19, "id": "aecb28f6", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Number of iterations: 5000\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABdIAAAHqCAYAAAAAkLx0AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAikVJREFUeJzs3XtYVNX+x/HPgAN4N7whhmJmeQfTNNRSTxheyy7eMi/UsStlcY6lpaJ2ISuNUo9kZXl+R9OjFsfKrAm1m6Qh2slMS9MsFdQ8iooiwv79oTM5cREU955h3q/n8aFZs/be3/mmz2J/Z+21bIZhGAIAAAAAAAAAAEXyszoAAAAAAAAAAAA8GYV0AAAAAAAAAABKQCEdAAAAAAAAAIASUEgHAAAAAAAAAKAEFNIBAAAAAAAAACgBhXQAAAAAAAAAAEpAIR0AAAAAAAAAgBJQSAcAAAAAAAAAoAQU0gEAAAAAAAAAKAGFdADlwmazafLkyVaHAQAALsDkyZNls9msDgMAAK+0a9cu2Ww2vf322662osbW8PBwjRo16qLP7Snefvtt2Ww27dq1y+pQAFNQSAdM5Bxk0tPTrQ6lRM4B/+DBg0W+Hx4ern79+l30dRYuXKikpKSLPg8AAJ7gH//4h2w2mzp16mR1KLLZbIqLiyvyvfL6fWTv3r2aPHmyNm3adFHnAQCgJM5xy2az6csvvyz0vmEYCgsLk81mu+D71H/84x8eWaguzooVKy7JRLaS7vXXrFkjm82mpUuXXtQ1cnJyNHnyZK1Zs+aizgNYgUI6gHJx4sQJTZgwoUzHUEgHAFQkCxYsUHh4uNavX6/t27dbHU6ZTJgwQSdOnCjTMXv37tWUKVMopAMATBEUFKSFCxcWav/ss8/022+/KTAw8ILPbVYhfdu2bXr99dfLdEzjxo114sQJDR8+3NW2YsUKTZkypbzDK7Phw4frxIkTaty4camPycnJ0ZQpUyikwytRSAdQLoKCglSpUiWrw9Dp06d16tQpq8MAAPiYnTt3au3atZoxY4bq1q2rBQsWWB1SmVSqVElBQUFWhyFJOn78uNUhAAA8UJ8+fbRkyRKdPn3arX3hwoVq3769QkJCLIqs9AIDA2W328t0jM1mU1BQkPz9/S9RVBfO399fQUFBHrE8HL8/wAwU0gEPtHHjRvXu3Vs1atRQtWrVdOONN+rrr79265OXl6cpU6aoWbNmCgoKUu3atdW1a1c5HA5Xn8zMTMXGxuryyy9XYGCgGjRooFtuueWSrF/25zXSjx49qkcffVTh4eEKDAxUvXr11LNnT2VkZEiSunfvrg8//FC//PKL6zG98PBw1/H79+/XPffco/r16ysoKEgRERGaP3++2zWda8W99NJLSkpKUtOmTRUYGKj169eratWqGjNmTKE4f/vtN/n7+ysxMbHccwAA8F0LFizQZZddpr59++qOO+4otpD++++/a/jw4apRo4Zq1aqlkSNH6ttvvy1y7dOtW7fqjjvuUHBwsIKCgtShQwctX778ksRf1DquDodDXbt2Va1atVStWjVdffXVevLJJyWdebz72muvlSTFxsa6xvJzP8OSJUvUvn17Va5cWXXq1NFdd92lPXv2uF1j1KhRqlatmnbs2KE+ffqoevXqGjZsmBISEmS323XgwIFCsd57772qVauWTp48Wc5ZAAB4sqFDh+r33393u+c9deqUli5dqjvvvLPIYwoKCpSUlKRWrVopKChI9evX13333af//e9/rj7h4eH6/vvv9dlnn7nGs+7du0uSDh06pL///e9q06aNqlWrpho1aqh379769ttvL+gzFLVG+uHDh/XYY4+57p0vv/xyjRgxwrXU6p/XSB81apRmz54tSa54bTabDMNQeHi4brnllkLXPXnypGrWrKn77rvvguIuTlFrpKenpysmJkZ16tRR5cqV1aRJE919992uz1K3bl1J0pQpU1yxn1tLWLVqla6//npVrVpVtWrV0i233KIffvjB7brO31u2bNmiO++8U5dddpm6du2qt956SzabTRs3biwU63PPPSd/f/9Cv4sAZWH99FEAbr7//ntdf/31qlGjhh5//HHZ7Xa99tpr6t69uz777DPXuquTJ09WYmKi/vrXv6pjx47Kzs5Wenq6MjIy1LNnT0nS7bffru+//14PP/ywwsPDtX//fjkcDu3evdutaF2cQ4cOFdleUFBw3mPvv/9+LV26VHFxcWrZsqV+//13ffnll/rhhx90zTXX6KmnntKRI0f022+/6eWXX5YkVatWTdKZZWK6d++u7du3Ky4uTk2aNNGSJUs0atQoHT58uFCB/K233tLJkyd17733KjAwUI0aNdKtt96qxYsXa8aMGW7f3L/zzjsyDEPDhg0772cAAKC0FixYoNtuu00BAQEaOnSo5syZo2+++cZVbJbOjJ/9+/fX+vXr9cADD6h58+b6z3/+o5EjRxY63/fff68uXbqoYcOGGjdunKpWrap///vfGjBggJYtW6Zbb731vDGdPHmyyP1Ojh07dt5jv//+e/Xr109t27bV1KlTFRgYqO3bt+urr76SJLVo0UJTp07VpEmTdO+99+r666+XJHXu3FnSmRvr2NhYXXvttUpMTFRWVpZeeeUVffXVV9q4caNq1arlutbp06cVExOjrl276qWXXlKVKlUUFRWlqVOnavHixW5rvTsLJrfffrvHzKAHAJgjPDxcUVFReuedd9S7d29J0kcffaQjR45oyJAhevXVVwsdc99997nGpEceeUQ7d+7UrFmztHHjRn311Vey2+1KSkrSww8/rGrVqumpp56SJNWvX1+S9PPPPyslJUUDBw5UkyZNlJWVpddee03dunXTli1bFBoaelGf6dixY7r++uv1ww8/6O6779Y111yjgwcPavny5frtt99Up06dIj/T3r175XA49H//93+udpvNprvuuksvvPCCDh06pODgYNd777//vrKzs3XXXXedN6a8vLwif384cuTIeY/dv3+/brrpJtWtW1fjxo1TrVq1tGvXLr377ruSpLp162rOnDl64IEHdOutt+q2226TJLVt21aS9Omnn6p379664oorNHnyZJ04cUIzZ85Uly5dlJGRUaiOMXDgQDVr1kzPPfecDMPQHXfcoYceekgLFixQu3bt3PouWLBA3bt3V8OGDc/7OYBiGQBM89ZbbxmSjG+++abYPgMGDDACAgKMHTt2uNr27t1rVK9e3bjhhhtcbREREUbfvn2LPc///vc/Q5Lx4osvljnOhIQEQ1KJf/58bUlGQkKC63XNmjWNhx56qMTr9O3b12jcuHGh9qSkJEOS8a9//cvVdurUKSMqKsqoVq2akZ2dbRiGYezcudOQZNSoUcPYv3+/2zk+/vhjQ5Lx0UcfubW3bdvW6NatWymyAABA6aSnpxuSDIfDYRiGYRQUFBiXX365MWbMGLd+y5YtMyQZSUlJrrb8/HzjL3/5iyHJeOutt1ztN954o9GmTRvj5MmTrraCggKjc+fORrNmzc4b0/nG8T//PuIc+51efvllQ5Jx4MCBYq/xzTffFIrbMM6M2fXq1TNat25tnDhxwtX+wQcfGJKMSZMmudpGjhxpSDLGjRtX6PxRUVFGp06d3NreffddQ5KxevXq8+YAAFAxnHsfPWvWLKN69epGTk6OYRiGMXDgQKNHjx6GYRhG48aN3e5Tv/jiC0OSsWDBArfzrVy5slB7q1atirxPPHnypJGfn+/WtnPnTiMwMNCYOnWqW9ufx8Q/j63OGEeOHOl6PWnSJEOS8e677xa6dkFBQbHnfuihhwqd2zAMY9u2bYYkY86cOW7tN998sxEeHu46Z3EaN2583t8flixZ4urv/H+zc+dOwzAM47333jtvzePAgQOF6gdOkZGRRr169Yzff//d1fbtt98afn5+xogRI1xtztwOHTq00DmGDh1qhIaGuv1/y8jIKPJ3FqCsWNoF8CD5+fn65JNPNGDAAF1xxRWu9gYNGujOO+/Ul19+qezsbElSrVq19P333+unn34q8lyVK1dWQECA1qxZ4/bYWlksW7ZMDoej0B/nt/MlqVWrltatW6e9e/eW+borVqxQSEiIhg4d6mqz2+165JFHdOzYMX322Wdu/W+//XbX42FO0dHRCg0NdXu0fvPmzfrvf/9bqm/hAQAorQULFqh+/frq0aOHpDMzwgYPHqxFixYpPz/f1W/lypWy2+0aPXq0q83Pz08PPfSQ2/kOHTqkVatWadCgQTp69KgOHjyogwcP6vfff1dMTIx++umnUj2WfMsttxQ5jo8dO/a8xzpnjP/nP/8p1ZNo50pPT9f+/fv14IMPus0a79u3r5o3b64PP/yw0DEPPPBAobYRI0Zo3bp12rFjh6ttwYIFCgsLU7du3coUEwCgYhg0aJBOnDihDz74QEePHtUHH3xQ7LIuS5YsUc2aNdWzZ0/XWHrw4EG1b99e1apV0+rVq897vcDAQPn5nSmd5efn6/fff3ctd+ZctvRiLFu2TBEREUU+aXYh645fddVV6tSpk9t98KFDh/TRRx9p2LBhpTpnp06divz94aWXXjrvsc7fHz744APl5eWVKfZ9+/Zp06ZNGjVqlNts+rZt26pnz55asWJFoWPuv//+Qm0jRozQ3r173f7/LliwQJUrV9btt99eppiAP6OQDniQAwcOKCcnR1dffXWh91q0aKGCggL9+uuvkqSpU6fq8OHDuuqqq9SmTRuNHTtW//3vf139AwMDNW3aNH300UeqX7++brjhBr3wwgvKzMwsdTw33HCDoqOjC/0pzaPUL7zwgjZv3qywsDB17NhRkydP1s8//1yq6/7yyy9q1qyZ6xeWc3PgfP9cTZo0KXQOPz8/DRs2TCkpKcrJyZF0ZvAMCgrSwIEDSxUHAADnk5+fr0WLFqlHjx7auXOntm/fru3bt6tTp07KyspSamqqq+8vv/yiBg0aqEqVKm7nuPLKK91eb9++XYZhaOLEiapbt67bn4SEBElnHp0+n8svv7zIcbxly5bnPXbw4MHq0qWL/vrXv6p+/foaMmSI/v3vf5eqqO4cp4v6faZ58+aFxvFKlSrp8ssvLzKGwMBAVzHgyJEj+uCDD0pdCAAAVDx169ZVdHS0Fi5cqHfffVf5+fm64447iuz7008/6ciRI6pXr16h8fTYsWOlGksLCgr08ssvq1mzZgoMDFSdOnVUt25d/fe//y3VUifns2PHDrVu3fqiz3OuESNG6KuvvnKNt0uWLFFeXp6GDx9equPr1KlT5O8P7du3P++x3bp10+23364pU6aoTp06uuWWW/TWW28pNzf3vMeW9PtDixYtdPDgwUIbihZVC+jZs6caNGjg+v2hoKBA77zzjm655RZVr179vHEAJaGQDnipG264QTt27NC8efPUunVrvfHGG7rmmmv0xhtvuPo8+uij+vHHH5WYmKigoCBNnDhRLVq0KHLjjfI2aNAg/fzzz5o5c6ZCQ0P14osvqlWrVvroo4/K/VqVK1cusn3EiBE6duyYUlJSZBiGFi5cqH79+qlmzZrlHgMAwDetWrVK+/bt06JFi9SsWTPXn0GDBklSsZuOlsRZrP773/9e5Iwwh8NRqPhe3ipXrqzPP/9cn376qYYPH67//ve/Gjx4sHr27Ok2y748nDvb71yXXXaZ+vXr58rh0qVLlZuby5NlAODj7rzzTn300UdKTk5W79693fbdOFdBQYHq1atX7Fg6derU817rueeeU3x8vG644Qb961//0scffyyHw6FWrVqV+YktswwZMkR2u901fv7rX/9Shw4diixQlzebzaalS5cqLS1NcXFx2rNnj+6++261b9++VHu0lFVRtQB/f3/deeedWrZsmU6ePKnVq1dr7969/P6AckEhHfAgdevWVZUqVbRt27ZC723dulV+fn4KCwtztQUHBys2NlbvvPOOfv31V7Vt29Ztt2tJatq0qf72t7/pk08+0ebNm3Xq1ClNnz79Un8USWeWpHnwwQeVkpKinTt3qnbt2nr22Wdd7xc3m6xx48b66aefCv1isnXrVtf7pdG6dWu1a9dOCxYs0BdffKHdu3eX+lt4AABKY8GCBapXr56WLFlS6M/QoUP13nvv6cSJE5LOjF/79u1zPSnltH37drfXzuXd7HZ7kTPCoqOjTZlR5efnpxtvvFEzZszQli1b9Oyzz2rVqlWuR6VLGsclFfn7zLZt20o9jktnvhT/8ccf9c0337g2DmvVqtUFfBoAQEVx6623ys/PT19//XWxy7pIZ+6Ff//9d3Xp0qXIsTQiIsLVt7gxbenSperRo4fefPNNDRkyRDfddJOio6N1+PDhcvksTZs21ebNm8t8XElPZgUHB6tv375asGCBfvnlF3311Vem3wdfd911evbZZ5Wenq4FCxbo+++/16JFiyRd2O8PW7duVZ06dVS1atVSXX/EiBHKzs7W+++/rwULFqhu3bqKiYm5wE8D/IFCOuBB/P39ddNNN+k///mPdu3a5WrPysrSwoUL1bVrV9WoUUOS9Pvvv7sdW61aNV155ZWuR6ZycnJ08uRJtz5NmzZV9erVS/VY1cXIz88v9JhbvXr1FBoa6nbtqlWrFvk4XJ8+fZSZmanFixe72k6fPq2ZM2eqWrVqZVoXdfjw4frkk0+UlJSk2rVru3Z3BwDgYp04cULvvvuu+vXrpzvuuKPQn7i4OB09elTLly+XJMXExCgvL0+vv/666xwFBQWaPXu223nr1aun7t2767XXXtO+ffsKXffAgQOX9oPpzHqqfxYZGSlJrrHceTP752JChw4dVK9ePSUnJ7uN+x999JF++OEH9e3bt9Rx9O7dW3Xq1NG0adP02WefMZsMAKBq1appzpw5mjx5svr3719sv0GDBik/P19PP/10ofdOnz7tNn5VrVq1yOK4v7+/DMNwa1uyZEmp9iopjdtvv13ffvut3nvvvULv/fm65ypuDHYaPny4tmzZorFjx8rf319Dhgwpl3jP53//+1+huP/8+4Nzibs/x96gQQNFRkZq/vz5bu9t3rxZn3zyifr06VPqONq2bau2bdvqjTfe0LJlyzRkyBBVqlSp7B8I+BP+FgEWmDdvnlauXFmofcyYMXrmmWfkcDjUtWtXPfjgg6pUqZJee+015ebm6oUXXnD1bdmypbp376727dsrODhY6enpWrp0qeLi4iRJP/74o2688UYNGjRILVu2VKVKlfTee+8pKyvrkg+iR48e1eWXX6477rhDERERqlatmj799FN98803brPh27dvr8WLFys+Pl7XXnutqlWrpv79++vee+/Va6+9plGjRmnDhg0KDw/X0qVL9dVXXykpKalMs/DuvPNOPf7443rvvff0wAMPyG63X4qPDADwQcuXL9fRo0d18803F/n+ddddp7p162rBggUaPHiwBgwYoI4dO+pvf/ubtm/frubNm2v58uWuovW5M7Rmz56trl27qk2bNho9erSuuOIKZWVlKS0tTb/99pu+/fbbS/rZpk6dqs8//1x9+/ZV48aNtX//fv3jH//Q5Zdfrq5du0o68wV9rVq1lJycrOrVq6tq1arq1KmTmjRpomnTpik2NlbdunXT0KFDlZWVpVdeeUXh4eF67LHHSh2H3W7XkCFDNGvWLPn7+7ttRA4A8F0jR448b59u3brpvvvuU2JiojZt2qSbbrpJdrtdP/30k5YsWaJXXnnFtb56+/btNWfOHD3zzDO68sorVa9ePf3lL39Rv379NHXqVMXGxqpz58767rvvtGDBAtfTYxdr7NixWrp0qQYOHOhaAuXQoUNavny5kpOT3WbNn8u5XvkjjzyimJiYQsXyvn37qnbt2lqyZIl69+6tevXqlUu85zN//nz94x//0K233qqmTZvq6NGjev3111WjRg1XIbxy5cpq2bKlFi9erKuuukrBwcFq3bq1WrdurRdffFG9e/dWVFSU7rnnHp04cUIzZ85UzZo1Cz19fz4jRozQ3//+d0nii3iUHwOAad566y1DUrF/fv31V8MwDCMjI8OIiYkxqlWrZlSpUsXo0aOHsXbtWrdzPfPMM0bHjh2NWrVqGZUrVzaaN29uPPvss8apU6cMwzCMgwcPGg899JDRvHlzo2rVqkbNmjWNTp06Gf/+97/PG2dCQoIhyThw4ECR7zdu3Njo27evW5skIyEhwTAMw8jNzTXGjh1rREREGNWrVzeqVq1qREREGP/4xz/cjjl27Jhx5513GrVq1TIkGY0bN3a9l5WVZcTGxhp16tQxAgICjDZt2hhvvfWW2/E7d+40JBkvvvhiiZ+nT58+hqRCOQQA4GL079/fCAoKMo4fP15sn1GjRhl2u904ePCgYRiGceDAAePOO+80qlevbtSsWdMYNWqU8dVXXxmSjEWLFrkdu2PHDmPEiBFGSEiIYbfbjYYNGxr9+vUzli5det7YJBkPPfRQke85fx/55ptvXG3Osd8pNTXVuOWWW4zQ0FAjICDACA0NNYYOHWr8+OOPbuf6z3/+Y7Rs2dKoVKmSIcltrF68eLHRrl07IzAw0AgODjaGDRtm/Pbbb27Hjxw50qhatWqJn2X9+vWGJOOmm2467+cGAFQ8RY1bRSnqPtUwDGPu3LlG+/btjcqVKxvVq1c32rRpYzz++OPG3r17XX0yMzONvn37GtWrVzckGd26dTMMwzBOnjxp/O1vfzMaNGhgVK5c2ejSpYuRlpZmdOvWzdXHMP64Nz13HPzz2OqMceTIkW5tv//+uxEXF2c0bNjQCAgIMC6//HJj5MiRrt8dijr36dOnjYcfftioW7euYbPZCl3HMAzjwQcfNCQZCxcuLDFvf46vqBwahmGsXr3akGQsWbLE1eb8f7Nz507DMM7UMoYOHWo0atTICAwMNOrVq2f069fPSE9PdzvX2rVrjfbt2xsBAQFutQTDMIxPP/3U6NKli1G5cmWjRo0aRv/+/Y0tW7a4HX++moVhGMa+ffsMf39/46qrrir15wfOx2YYJTwrAgAVwK233qrvvvuu0Bq0AAB4gpSUFN1666368ssv1aVLF6vD8TjffvutIiMj9c9//pO9TgAAKKXHHntMb775pjIzM13LqfiSgwcPqkGDBpo0aZImTpxodTioIFgjHUCFtm/fPn344YfceAMAPIJz41Gn/Px8zZw5UzVq1NA111xjUVSe7fXXX1e1atV02223WR0KAABe4eTJk/rXv/6l22+/3SeL6JL09ttvKz8/n1oAyhVrpAOokHbu3KmvvvpKb7zxhux2u+677z6rQwIAQA8//LBOnDihqKgo5ebm6t1339XatWv13HPPqXLlylaH51Hef/99bdmyRXPnzlVcXJxrYzUAAFC0/fv369NPP9XSpUv1+++/a8yYMVaHZLpVq1Zpy5YtevbZZzVgwACFh4dbHRIqEArpACqkzz77TLGxsWrUqJHmz5+vkJAQq0MCAEB/+ctfNH36dH3wwQc6efKkrrzySs2cOdO1WTj+8PDDDysrK0t9+vTRlClTrA4HAACPt2XLFg0bNkz16tXTq6++qsjISKtDMt3UqVO1du1adenSRTNnzrQ6HFQwrJEOAAAAAAAAAEAJWCMdAAAAAAAAAIASUEgHAAAAAAAAAKAEPrdGekFBgfbu3avq1avLZrNZHQ4AwIcYhqGjR48qNDRUfn58l32xGNMBAFZhTC9fjOkAAKuUZUz3uUL63r17FRYWZnUYAAAf9uuvv+ryyy+3Ogyvx5gOALAaY3r5YEwHAFitNGO6zxXSq1evLulMcipXrqxPPvlEN910k+x2u8WRVXx5eXnk20Tk21zk21zemu/s7GyFhYW5xiJcHGced+7cqbS0NK/7++DNvPXfoLci3+Yi3+by1nwzppcvxnRreOu/P29Gzs1Fvs3lrfkuy5juc4V052NiNWrUUOXKlVWlShXVqFHDq/4He6u8vDzybSLybS7ybS5vzzePLJcPZx6rV6/u1X8fvJG3/xv0NuTbXOTbXN6eb8b08sGYbg1v//fnjci5uci3ubw936UZ01nMDQAAAAAAAACAElBIBwAAAAAAAACgBBTSAQAAAAAAAAAoAYV0AAAAAAAAAABKQCEdAAAAAAAAAIASUEgHAAAAAAAAAKAEFNIBAAAAAAAAACgBhXQAAFDuPv/8c/Xv31+hoaGy2WxKSUkp1OeHH37QzTffrJo1a6pq1aq69tprtXv3bvODBQAAAADgPCikAwCAcnf8+HFFRERo9uzZRb6/Y8cOde3aVc2bN9eaNWv03//+VxMnTlRQUJDJkQIAAAAAcH6VrA4AAABUPL1791bv3r2Lff+pp55Snz599MILL7jamjZtakZoAAAAAACUGYV0AABgqoKCAn344Yd6/PHHFRMTo40bN6pJkyYaP368BgwYUOxxubm5ys3Ndb3Ozs6WJOXl5bn9xKVHzs1Fvs1Fvs3lrfn2tngBAMDF8+lCen6BoZ+O2PT+f/epQa2q6tgkWP5+NqvDAgCgQtu/f7+OHTum559/Xs8884ymTZumlStX6rbbbtPq1avVrVu3Io9LTEzUlClTCrW/8Z81OlWpin5a+qma1jDEUG4eh8NhdQg+hXybi3yby9vynZOTY3UIFVL6L//ThoM21d55SFFX1uP+HADgUXy2kO7YkqkXV+1WZra/tOU7SVKDmkFK6N9SvVo3sDg6AAAqroKCAknSLbfcoscee0ySFBkZqbVr1yo5ObnYQvr48eMVHx/vep2dna2wsDDN3eovv0B/SVJIjUBN6NNcMa3qX+JP4dvy8vLkcDjUs2dP2e12q8Op8Mi3uci3ubw1386nolC+Rv/fRvkFVtE/f0rn/hwA4HF8tpAev/hb2QKruLVlHjmpB/6VoTl3XcNgDQDAJVKnTh1VqlRJLVu2dGtv0aKFvvzyy2KPCwwMVGBgYInnzsrO1cOLvmUsN4ndbveqwpe3I9/mIt/m8rZ8e1Os3or7cwCAp/GzOgCrGCW0TXl/i/ILiuoBAAAuVkBAgK699lpt27bNrf3HH39U48aNL+rcjOUAAFQMjOkAAE/jszPSi2NI2nfkpNbvPKSoprWtDgcAAK907Ngxbd++3fV6586d2rRpk4KDg9WoUSONHTtWgwcP1g033KAePXpo5cqVev/997VmzZqLvjZjOQAAFQNjOgDAk1BIL8b+oyetDgEAAK+Vnp6uHj16uF471zYfOXKk3n77bd16661KTk5WYmKiHnnkEV199dVatmyZunbtWm4xMJYDAFAxMKYDADwBhfRi1KseZHUIAAB4re7du8swSn4M++6779bdd999yWJgLAcAoGJgTAcAeAKfLaTbSmgPqRmkjk2CzQwHAACUE8ZyAAAqBsZ0AIAn8dnNRoviLK4n9G8pf7/iSu0AAMBTMZYDAFAxMKYDADyNzxbSZwyOUN1qAW5tITWDNOeua9SrdQOLogIAABeDsRwAgIqBMR0A4Gl8dmmXni1D1KZxPd30ylcK9Lfp7bs7qWOTYL7pBgDAy/RvE6IPf8zWjc3raO6IjozlAAB4qcjLa+q/B/IU27mRJvRrzZgOAPAoPjsjXZJsZ8dkeyV/RTWtzSANAIAXahRcRZJUp1ogYzkAAF4suJpdktS4dlXGdACAx/HpQnpBwZmfjM8AAHgvv7MD+ekCw+JIAADAxfBzznYzGNMBAJ7HtwvpZwdnvukGAMB7VfI/W0jP56YbAABv5rwz57txAIAnopCuP5Z4AQAA3sf/7G8zzEgHAMC7uSakWxsGAABF8vFC+pmf/lTSAQDwWpXOPlmWTyEdAACvZjs7J72ApV0AAB7IpwvpzhtuPwrpAAB4rUp+Z36doZAOAIB3c96ZU0cHAHginy6kOwdnP9ZIBwDAa/2x2WiBxZEAAICLwSQ3AIAn8+lCuvNxMeroAAB4r0o2lnYBAKBCOHtvztIuAABP5NOF9HzXZqNU0gEA8Fb+rhnp3HQDAODNnJPcqKMDADyRTxfSDTYbBQDA67HZKAAAFYSNzUYBAJ7Lpwvpf2w2anEgAADggvlTSAcAoEJgs1EAgCfz6UK6a410KukAAHgtlnYBAKBiYLNRAIAn8+lCuvNbburoAAB4L39/ZqQDAFAR2NhsFADgwXy6kO7cbJRvvQEA8F6uGen53HQDAODN2GwUAODJLC2kf/755+rfv79CQ0Nls9mUkpJy3mPWrFmja665RoGBgbryyiv19ttvX/D1CyikAwDg9dhsFACAioLNRgEAnsvSQvrx48cVERGh2bNnl6r/zp071bdvX/Xo0UObNm3So48+qr/+9a/6+OOPL+j6Bc7NRn16Xj4AAN6NNdIBAKgYnHPcGNEBAJ6okpUX7927t3r37l3q/snJyWrSpImmT58uSWrRooW+/PJLvfzyy4qJiSnz9Z332/7MSAcAwGtVsp35RpwZ6QAAeDfX/mUM6QAAD+RVc7HT0tIUHR3t1hYTE6O0tLQLOp/zcTEbhXQAALyWn2tGeoHFkQAAgIthY2kXAIAHs3RGelllZmaqfv36bm3169dXdna2Tpw4ocqVKxc6Jjc3V7m5ua7X2dnZkqS8vDydyjstSbLJUF5e3iWMHJJcOSbX5iDf5iLf5vLWfHtbvN7C+XX40dzTStvxuzo2CXYt9wIAALyHH0u7AAA8mFcV0i9EYmKipkyZUqj9k08+0U8nqkryV/aRI1qxYoX5wfkoh8NhdQg+hXybi3yby9vynZOTY3UIFdKYxd9Ksiv7xGkNff1rNagZpIT+LdWrdQOrQwMAAGVhY0Y6AMBzeVUhPSQkRFlZWW5tWVlZqlGjRpGz0SVp/Pjxio+Pd73Ozs5WWFiYbrrpJgXuPCr9+L2CL6ulPn06XdLYcWYmpsPhUM+ePWW3260Op8Ij3+Yi3+by1nw7n4pC+TqUkye/wD/+HmQeOakH/pWhOXddQzEdAAAvwhrpAABP5lWF9KioqEIzxx0Oh6Kiooo9JjAwUIGBgYXa7Xa7/Pz8JUmV/P28qhDj7ex2O/k2Efk2F/k2l7fl25ti9WaGziz3MuX9LerZMoRlXgAA8BLOEZv9wwEAnsjSzUaPHTumTZs2adOmTZKknTt3atOmTdq9e7ekM7PJR4wY4ep///336+eff9bjjz+urVu36h//+If+/e9/67HHHrug6zsfF/Njs1EAACoUQ9K+Iye1fuchq0MBAACldfbe3GBKOgDAA1laSE9PT1e7du3Url07SVJ8fLzatWunSZMmSZL27dvnKqpLUpMmTfThhx/K4XAoIiJC06dP1xtvvKGYmJgLun7B2a+5bRTSAQCokPYfPWl1CAAAoJRcm41SRwcAeCBLl3bp3r27jBJGyLfffrvIYzZu3Fgu13c+LuZv6dcJAADgUqlXPcjqEAAAQBmx2SgAwBN51Rrp5S3fYEY6AAAVkU1SSM0gdWwSbHUoAACglFh2FQDgyXx6LrZzNrw/gzUAAF7rz6O483VC/5ZsNAoAgBdx3pqz2SgAwBP5dCE9v+DMT+6xAQDwXnWrB7i9DqkZpDl3XaNerRtYFBEAALgQtrNfh5e0BCwAAFbx6aVdCljaBQAAr7fi4S66bvrXKpBNs4a2U+82DZiJDgCAF3JtNmptGAAAFMmnZ6S7lnbhZhsAAK/l72eT3f/Mf7duWJNxHQAAb8XSLgAAD+bThfT8s4Mz99sAAHi3SmfH8lPOddsAAIDX8XNW0lnaBQDggXy6kO5c2oWdwQEA8G6uQvppCukAAN82e/ZshYeHKygoSJ06ddL69etL7L9kyRI1b95cQUFBatOmjVasWOF6Ly8vT0888YTatGmjqlWrKjQ0VCNGjNDevXuLPFdubq4iIyNls9m0adOmMsfuvDNnRjoAwBP5diG9gEI6AAAVQaWzv9EwIx0A4MsWL16s+Ph4JSQkKCMjQxEREYqJidH+/fuL7L927VoNHTpU99xzjzZu3KgBAwZowIAB2rx5syQpJydHGRkZmjhxojIyMvTuu+9q27Ztuvnmm4s83+OPP67Q0NALjt/mWiOdSjoAwPP4diGdpV0AAKgQXIV0ZqQDAHzYjBkzNHr0aMXGxqply5ZKTk5WlSpVNG/evCL7v/LKK+rVq5fGjh2rFi1a6Omnn9Y111yjWbNmSZJq1qwph8OhQYMG6eqrr9Z1112nWbNmacOGDdq9e7fbuT766CN98skneumlly44ftvZSjoz0gEAnqiS1QFYybW0C5V0AAC8Gku7AAB83alTp7RhwwaNHz/e1ebn56fo6GilpaUVeUxaWpri4+Pd2mJiYpSSklLsdY4cOSKbzaZatWq52rKysjR69GilpKSoSpUq5401NzdXubm5rtfZ2dmSJKPgzDien1+gvLy8854HF8eZY3JtHnJuLvJtLm/Nd1ni9e1COku7AABQITAjHQDg6w4ePKj8/HzVr1/frb1+/fraunVrkcdkZmYW2T8zM7PI/idPntQTTzyhoUOHqkaNGpIkwzA0atQo3X///erQoYN27dp13lgTExM1ZcqUQu27dv4sqbp+++03rVixu/CBuCQcDofVIfgccm4u8m0ub8t3Tk5Oqfv6diH97ONi/j69wA0AAN7PNSOdNdIBALgk8vLyNGjQIBmGoTlz5rjaZ86cqaNHj7rNhD+f8ePHu82Ez87OVlhYmK644grp4AGFNmyoPn3alGv8KCwvL08Oh0M9e/aU3W63OhyfQM7NRb7N5a35dj4VVRo+XUjPP7u0i40Z6QAAeK38AkO5BYYkm77fe0QxrULkz7JtAAAfU6dOHfn7+ysrK8utPSsrSyEhIUUeExISUqr+ziL6L7/8olWrVrlmo0vSqlWrlJaWpsDAQLdjOnTooGHDhmn+/PmFrhsYGFiovyRVqnSmRGGz+XlVEcbb2e128m0ycm4u8m0ub8t3WWL16bnY+WfXX9t9KEdpO35XPjuaAADgdfrM/Eq/HT/zK83s1TvUddoqrdy8z+KoAAAwV0BAgNq3b6/U1FRXW0FBgVJTUxUVFVXkMVFRUW79pTOP5J/b31lE/+mnn/Tpp5+qdu3abv1fffVVffvtt9q0aZM2bdqkFStWSJIWL16sZ5999oI+i3M/MwAAPInPzkh3bMnU22ln1lxbu+OQ1u74Wg1qBimhf0v1at3A4ugAAEBp7T96Sn6Bf/xKk3nkpB74V4bm3HUNYzoAwKfEx8dr5MiR6tChgzp27KikpCQdP35csbGxkqQRI0aoYcOGSkxMlCSNGTNG3bp10/Tp09W3b18tWrRI6enpmjt3rqQzRfQ77rhDGRkZ+uCDD5Sfn+9aPz04OFgBAQFq1KiRWwzVqlWTJDVt2lSXX355meJ3PixOGR0A4Il8dkZ6/OJvdTw3363NeePNLDYAALyX8+Z7yvtbeNoMAOBTBg8erJdeekmTJk1SZGSkNm3apJUrV7o2FN29e7f27fvjfrdz585auHCh5s6dq4iICC1dulQpKSlq3bq1JGnPnj1avny5fvvtN0VGRqpBgwauP2vXri33+P1clXTGbwCA5/HZGelnVlItum3K+1vUsyXrqwIA4K0MSfuOnNT6nYcU1bT2efsDAFBRxMXFKS4ursj31qxZU6ht4MCBGjhwYJH9w8PDZZSxqH0hxzg56+h8Dw4A8EQ+OyO9OOfeeAMAAO+2/+hJq0MAAACl5MeEdACAB6OQXgxuvAEAuHCff/65+vfvr9DQUNlsNqWkpBTb9/7775fNZlNSUlK5x1GvelC5nxMAAFxabDYKAPBEFNKLwY03AAAX7vjx44qIiNDs2bNL7Pfee+/p66+/VmhoaLle3yapQc0gdWwSXK7nBQAAlw6bjQIAPJnPrpFeEm68AQC4OL1791bv3r1L7LNnzx49/PDD+vjjj9W3b98LvtafdzRxvk7o35L9TgAA8CJ+VNIBAB6MQnoRhlzbiBtvAAAuoYKCAg0fPlxjx45Vq1atSnVMbm6ucnNzXa+zs7MlSXWrB+jgqT/6hdQM1FO9m+vGq+soLy+vXOPGGc68kl9zkG9zkW9zeWu+vS1eb+G8C2dpFwCAJ6KQXoTwOlWsDgEAgApt2rRpqlSpkh555JFSH5OYmKgpU6YUan+seY4+yKyqtP3+al6zQPe1OK78XzZoxS/lGTGK4nA4rA7Bp5Bvc5Fvc3lbvnNycqwOoULyY0I6AMCDUUgvAuujAwBw6WzYsEGvvPKKMjIyZLOV/gmw8ePHKz4+3vU6OztbYWFhuvEvPZSesl6SdGWjUPXr27bcY4a7vLw8ORwO9ezZU3a73epwKjzybS7ybS5vzbfzqSiUs7O/FzAjHQDgiSikn8MmKYT10QEAuKS++OIL7d+/X40aNXK15efn629/+5uSkpK0a9euIo8LDAxUYGBgoXa73a5KZ+vxpwvkVYUYb2e328m3ici3uci3ubwt394UqzdxzUinjg4A8EA+W0hnYzIAAKwxfPhwRUdHu7XFxMRo+PDhio2NvaBz+p8duk/lF1xseAAAwCK2s3fmBpV0AIAH8tlCet3qgX/amCxICf1bqlfrBtYFBQBABXHs2DFt377d9Xrnzp3atGmTgoOD1ahRI9WuXdutv91uV0hIiK6++uoLul4lvzM/8yikAwDgtWyskQ4A8GB+VgdglZWP3uD67zl3RujLJ/5CER0AgHKSnp6udu3aqV27dpKk+Ph4tWvXTpMmTbok13M+TLb38Aml7fhd+QXcggMA4G1sLO0CAPBgPjsj/dzlWzo0DmY5FwAAylH37t3L9Fh2ceuil0bqD/u1bOeZuQE7DhzX0Ne/VgOeNAMAwAux2SgAwHP57Ix0AABQMYxdtlnHT7u3ZR45qQf+laGVm/dZExQAACgzP5Z2AQB4MJ8tpLN5CQAAFcOZEd1WRJs05f0tLPMCAICXcI7m3K8DADyRzxbSz2VjVRcAACocQ9K+Iye1fuchq0MBAAClYDtbSqeODgDwRD5bSGdcBgDAN+w/etLqEAAAQCmwtAsAwJP5bCH9XExIBwCg4qpXPcjqEAAAQGnY2GwUAOC5KlkdAAAAwMUo7gtxm6SQmkHq2CTYzHAAAMAF8nMtkm5pGAAAFMlnZ6TzBTcAABWJ+8DuvA9P6N9S/n48ewYAgDdwjtjMSAcAeCKfLaSfi81GAQDwXi/e3lq1AtzbQmoGac5d16hX6wbWBAUAAMrMdvbmnDI6AMATsbQLAADwaje2qCf7wR9Vt+V1+j3ntOpVP7OcCzPRAQDwLq7NRqmkAwA8kM8W0g2+4wYAoMLws0mdmgTLbrdbHQoAALhILO0CAPBELO0iqfhtygAAAAAAgBn8WHcVAODBfLaQzhfcAAAAAAB4DmcdvYD7dQCAB/LZQvq5+NIbAAAAAABrOWekG8x8AwB4IArpAAAAAADAYzAjHQDgiSikAwAAAAAA6519WtwQlXQAgOehkC62GgUAAAAAwGquzUapowMAPBCFdAAAAAAAYDk2GwUAeDKfLaSzdwkAAAAAAJ7DtdkoU9IBAB7IZwvp57KxtgsAAAAAAJYyzk5F/9/xPKXt+F35TE0HAHgQny2k8w03AAAAAACeY+LyLZKkvUdOaujrX6vrtFVauXmfxVEBAHCGzxbSz2Vju1EAAAAAACx1+MRpt9eZR07qgX9lUEwHAHgECukAAAAAAMDjOJ8jn/L+FpZ5AQBYzmcL6Ww2CgAAAACAZzMk7TtyUut3HrI6FACAj/PZQvq52GwUAAAAAADPtf/oSatDAAD4OArpAAAAAADAo9WrHmR1CAAAH1fJ6gCswsouAAAAAAB4NpukkJpB6tgk2OpQAAA+jhnpOjMwAwAAAAAAz+G8V0/o31L+fty5AwCs5bOFdIPdRgEAAAAA8BjBVexur0NqBmnOXdeoV+sGFkUEAMAffHZpFzfsNgoAAAAAgKVeGRyhkQu3qEZQJb02vIM6NglmJjoAwGNYPiN99uzZCg8PV1BQkDp16qT169eX2D8pKUlXX321KleurLCwMD322GM6eZLduwEAAAAA8GYBlWxnf/opqmltiugAAI9iaSF98eLFio+PV0JCgjIyMhQREaGYmBjt37+/yP4LFy7UuHHjlJCQoB9++EFvvvmmFi9erCeffLLM12ZhFwAAAAAAPIf/2afF8wu4YwcAeB5LC+kzZszQ6NGjFRsbq5YtWyo5OVlVqlTRvHnziuy/du1adenSRXfeeafCw8N10003aejQoeedxX4+fMcNAAAAAIC1/M7OQC9gTzMAgAeyrJB+6tQpbdiwQdHR0X8E4+en6OhopaWlFXlM586dtWHDBlfh/Oeff9aKFSvUp08fU2IGAAAAAACXhv/ZCgUT0gEAnsiyzUYPHjyo/Px81a9f3629fv362rp1a5HH3HnnnTp48KC6du0qwzB0+vRp3X///SUu7ZKbm6vc3FzX6+zsbEnS6VN5rra803nKy7N8ufgKLy8vz+0nLi3ybS7ybS5vzbe3xQsAAGCqs0u7FFBJBwB4IMsK6RdizZo1eu655/SPf/xDnTp10vbt2zVmzBg9/fTTmjhxYpHHJCYmasqUKYXaU1evllRDkrTq01TXN9+49BwOh9Uh+BTybS7ybS5vy3dOTo7VIQAAAHgs1xrpLO0CAPBAlhXS69SpI39/f2VlZbm1Z2VlKSQkpMhjJk6cqOHDh+uvf/2rJKlNmzY6fvy47r33Xj311FPy8ytcDR8/frzi4+Ndr7OzsxUWFqa/9Oihp7/fIEm6MfpGVQkKLK+PhmLk5eXJ4XCoZ8+estvtVodT4ZFvc5Fvc3lrvp1PRQEAAKAwfz82GwUAeC7LCukBAQFq3769UlNTNWDAAElSQUGBUlNTFRcXV+QxOTk5hYrl/v7+kiSjmG+sAwMDFRhYuEheqdIfhZcAu92rCjHezk6+TUW+zUW+zeVt+famWAEAAMx2to7OGukAAI9k6dIu8fHxGjlypDp06KCOHTsqKSlJx48fV2xsrCRpxIgRatiwoRITEyVJ/fv314wZM9SuXTvX0i4TJ05U//79XQV1AAAAAADgfVxLu1BJBwB4IEsL6YMHD9aBAwc0adIkZWZmKjIyUitXrnRtQLp79263GegTJkyQzWbThAkTtGfPHtWtW1f9+/fXs88+W+ZrG2JgBgAAAADAU/idLaRLZzYc9fOzldAbAABzWb7ZaFxcXLFLuaxZs8btdaVKlZSQkKCEhIRyjcFmY3AGAAAAAMBK/ucUzvMNQ37iXh0A4DkK784JAAAAAABgsnPnuBUUsw8aAABW8dlCOmMyAAAAAACew31pFwsDAQCgCD5bSD8XD4sBAAAAAGCtPy/tAgCAJ/HZQjpDMgAAAACgopk9e7bCw8MVFBSkTp06af369SX2X7JkiZo3b66goCC1adNGK1ascL2Xl5enJ554Qm3atFHVqlUVGhqqESNGaO/eva4+u3bt0j333KMmTZqocuXKatq0qRISEnTq1Kkyx37ujPT8Au7aAQCexWcL6edir1EAAAAAgLdbvHix4uPjlZCQoIyMDEVERCgmJkb79+8vsv/atWs1dOhQ3XPPPdq4caMGDBigAQMGaPPmzZKknJwcZWRkaOLEicrIyNC7776rbdu26eabb3adY+vWrSooKNBrr72m77//Xi+//LKSk5P15JNPljn+c2ekF1BIBwB4mEpWBwAAAAAAAC7ejBkzNHr0aMXGxkqSkpOT9eGHH2revHkaN25cof6vvPKKevXqpbFjx0qSnn76aTkcDs2aNUvJycmqWbOmHA6H2zGzZs1Sx44dtXv3bjVq1Ei9evVSr169XO9fccUV2rZtm+bMmaOXXnqpTPGfU0dnaRcAgMfx3RnpDMoAAAAAgAri1KlT2rBhg6Kjo11tfn5+io6OVlpaWpHHpKWlufWXpJiYmGL7S9KRI0dks9lUq1atEvsEBweX7QNIstlssp1diJUZ6QAAT8OMdJ0ZrAEAQPn5/PPP9eKLL2rDhg3at2+f3nvvPQ0YMEDSmfVWJ0yYoBUrVujnn39WzZo1FR0dreeff16hoaHWBg4AgJc6ePCg8vPzVb9+fbf2+vXra+vWrUUek5mZWWT/zMzMIvufPHlSTzzxhIYOHaoaNWoU2Wf79u2aOXNmibPRc3NzlZub63qdnZ0t6czvCDbbmXlvuXl5ysvzL/YcuHh5eXluP3HpkXNzkW9zeWu+yxIvhXQAAFDujh8/roiICN1999267bbb3N47d73ViIgI/e9//9OYMWN08803Kz093aKIAQBASfLy8jRo0CAZhqE5c+YU2WfPnj3q1auXBg4cqNGjRxd7rsTERE2ZMqVQ++rVq+Wn6iqQ9GnqKgUHllf0KMmfl+/BpUfOzUW+zeVt+c7JySl1X58tpPOQGAAAl07v3r3Vu3fvIt8rzXqrAACgbOrUqSN/f39lZWW5tWdlZSkkJKTIY0JCQkrV31lE/+WXX7Rq1aoiZ6Pv3btXPXr0UOfOnTV37twSYx0/frzi4+Ndr7OzsxUWFqYePXrI77t0yZC6de+usMuqlHgeXJy8vDw5HA717NlTdrvd6nB8Ajk3F/k2l7fm2/lUVGn4bCEdAAB4jtKst1rSY+Dn/sSlR87NRb7NRb7N5a359sR4AwIC1L59e6WmprqWUysoKFBqaqri4uKKPCYqKkqpqal69NFHXW0Oh0NRUVGu184i+k8//aTVq1erdu3ahc6zZ88e9ejRQ+3bt9dbb70lP7+St2MLDAxUYGDh6eZ2u13OlVf9/Cp5VSHGm9ntdnJtMnJuLvJtLm/Ld1li9dlCOnuNAgDgGUqz3qpU8mPgVapU8bpHCCsCcm4u8m0u8m0ub8t3WR4DN1N8fLxGjhypDh06qGPHjkpKStLx48cVGxsrSRoxYoQaNmyoxMRESdKYMWPUrVs3TZ8+XX379tWiRYuUnp7umlGel5enO+64QxkZGfrggw+Un5/vWj89ODhYAQEB2rNnj7p3767GjRvrpZde0oEDB1zxFDcTviTOEnw+N+0AAA/js4V0JxuLvAAAYJnSrLfqVNJj4OvWrfO6Rwi9mbc+tumtyLe5yLe5vDXfZXkM3EyDBw/WgQMHNGnSJGVmZioyMlIrV650bSi6e/dut9ninTt31sKFCzVhwgQ9+eSTatasmVJSUtS6dWtJZ2aaL1++XJIUGRnpdq3Vq1ere/fucjgc2r59u7Zv367LL7/crY9xAcVwv7Mz0gsKuFcHAHgWny+kAwAAa5RmvdVzlfQYuPOnNxVhKgJybi7ybS7ybS5vy7cnxxoXF1fsUi5r1qwp1DZw4EANHDiwyP7h4eHnLYaPGjVKo0aNKmuYxXIu7cKMdACAp/HZQrrBTHQAACxTmvVWAQCA73HOly8osDQMAAAK8dlCOgAAuHSOHTum7du3u17v3LlTmzZtUnBwsBo0aHDe9VYBAIBvcs5IL2BGOgDAw1BIBwAA5S49PV09evRwvXaubT5y5EhNnjz5vOutAgAA32Q7Wz9fvXW/jp48rY5NguXvXDgdAAAL+W4hnS+3AQC4ZLp3717imqoXsvkYAACo2FJ/2K/svDP/Pd3xoySpQc0gJfRvqV6tG1gYGQAAfyw/5rP4XhsAAAAAAOuNXbZZf14aPfPIST3wrwyt3LzPkpgAAHDy2UI68+AAAAAAAPAcZ+7TbUW0SVPe36L8Au7kAQDW8dlCugtT0gEAAAAA8FiGpH1HTmr9zkNWhwIA8GEU0gEAAAAAgMfbf/Sk1SEAAHyYzxbS2eMMAAAAAADvUa96kNUhAAB8mM8W0p1Y2QUAAAAAAM9Wu2qAOjYJtjoMAIAP8/lCOgAAAAAA8Gy3RIbK34+pcAAA6/hsId0Qa7sAAAAAAOANerYMsToEAICP89lCOgAAAAAA8HwNagaxrAsAwHKVrA7AKmw2CgAAAACA5/jzwi3O1wn9W7KsCwDAcj4/I52hGAAAAAAA69WtHuD2OqRmkObcdY16tW5gUUQAAPzBZ2ekAwAAAAAAz7Hi4S7650drdUWrSDWoVVUdmwQzEx0A4DF8tpDOyi4AAAAAAHgOfz+bmtU01KdtA9ntdqvDAQDADUu7WB0AAAAAAAAAAMCj+XwhHQAAAAAAAACAkvhsId0wWNwFAAAAAAAAAHB+PltId2FtFwAAAAAAAABACXy2kM6EdAAAAAAAAABAafhsId2JCekAAAAAAAAAgJL4fCEdAAAAAAAAAICSUEgHAAAAAAAAAKAEFNIBAAAAAAAAACgBhXQAAAAAAAAAAErgs4V0w+oAAAAAAAAAAABewWcL6U42qwMAAAAAAAAAAHg0ny2kG8xJBwAAAAAAAACUgs8W0l2Ykg4AAAAAAAAAKAGFdAAAAAAAAAAASuCzhXSDlV0AAAAAAAAAAKXgs4V0J1Z2AQAAAAAAAACUxOcL6QAAAAAAAAAAlMRnC+ms7AIAAAAAAAAAKA2fLaQ7sbQLAAAAAAAAAKAkPltIN9htFAAAAADgAcLDwzV16lTt3r3b6lAAAEAxfLaQDgAAAACAJ3j00Uf17rvv6oorrlDPnj21aNEi5ebmWh0WAAA4B4V0AAAAAAAs9Oijj2rTpk1av369WrRooYcfflgNGjRQXFycMjIyrA4PAADIhwvpLOwCAAAAAPAk11xzjV599VXt3btXCQkJeuONN3TttdcqMjJS8+bNY4lSAAAsVMnqAKzGZqMAAAAAAE+Ql5en9957T2+99ZYcDoeuu+463XPPPfrtt9/05JNP6tNPP9XChQutDhMAAJ/k84V0AAAAAACslJGRobfeekvvvPOO/Pz8NGLECL388stq3ry5q8+tt96qa6+91sIoAQDwbT5bSOeJOAAAAACAJ7j22mvVs2dPzZkzRwMGDJDdbi/Up0mTJhoyZIgF0QEAAMkD1kifPXu2wsPDFRQUpE6dOmn9+vUl9j98+LAeeughNWjQQIGBgbrqqqu0YsWKCw+AtV0AAAAAABb6+eeftXLlSg0cOLDIIrokVa1aVW+99ZbJkQEAACdLC+mLFy9WfHy8EhISlJGRoYiICMXExGj//v1F9j916pR69uypXbt2aenSpdq2bZtef/11NWzY8AKuzpR0AAAAAID1evTood9//71Q++HDh3XFFVdYEBEAAPgzS5d2mTFjhkaPHq3Y2FhJUnJysj788EPNmzdP48aNK9R/3rx5OnTokNauXev6lj48PPyiYmBCOgAAAADASrt27VJ+fn6h9tzcXO3Zs8eCiAAAwJ9ZVkg/deqUNmzYoPHjx7va/Pz8FB0drbS0tCKPWb58uaKiovTQQw/pP//5j+rWras777xTTzzxhPz9/c0KHQAAAACAi7Z8+XLXf3/88ceqWbOm63V+fr5SU1MvevIYAAAoH5YV0g8ePKj8/HzVr1/frb1+/fraunVrkcf8/PPPWrVqlYYNG6YVK1Zo+/btevDBB5WXl6eEhIQij8nNzVVubq7rdXZ2tiQpL++0qy0vL+9iPw5KwZln8m0O8m0u8m0ub823t8ULAAAurQEDBkiSbDabRo4c6fae3W5XeHi4pk+fbkFkAADgzyxd2qWsCgoKVK9ePc2dO1f+/v5q37699uzZoxdffLHYQnpiYqKmTJlSqH3tV2sl1ZAkORyOSxk2/oR8m4t8m4t8m8vb8p2Tk2N1CAAAwIMUFBRIkpo0aaJvvvlGderUsTgiAABQHMsK6XXq1JG/v7+ysrLc2rOyshQSElLkMQ0aNJDdbndbxqVFixbKzMzUqVOnFBAQUOiY8ePHKz4+3vU6OztbYWFh6tyls5J+2ixJ6tmzZ7E7o6P85OXlyeFwkG+TkG9zkW9zeWu+nU9FAQAAnGvnzp1WhwAAAM7DskJ6QECA2rdvr9TUVNfjbAUFBUpNTVVcXFyRx3Tp0kULFy5UQUGB/Pz8JEk//vijGjRoUGQRXZICAwMVGBhYqL1SpT8+ut1u96pCjLcj3+Yi3+Yi3+bytnx7U6wX6/PPP9eLL76oDRs2aN++fXrvvfdc470kGYahhIQEvf766zp8+LC6dOmiOXPmqFmzZtYFDQCAiV599VXde++9CgoK0quvvlpi30ceecSkqAAAQHEsXdolPj5eI0eOVIcOHdSxY0clJSXp+PHjio2NlSSNGDFCDRs2VGJioiTpgQce0KxZszRmzBg9/PDD+umnn/Tcc89d1C8VtnL5JAAA4FzHjx9XRESE7r77bt12222F3n/hhRf06quvav78+WrSpIkmTpyomJgYbdmyRUFBQRZEDACAuV5++WUNGzZMQUFBevnll4vtZ7PZKKQDAOABLC2kDx48WAcOHNCkSZOUmZmpyMhIrVy50rUB6e7du10zzyUpLCxMH3/8sR577DG1bdtWDRs21JgxY/TEE0+U+dqGUW4fAwAA/Env3r3Vu3fvIt8zDENJSUmaMGGCbrnlFknSP//5T9WvX18pKSkaMmSImaECAGCJc5dzYWkXAAA8n+WbjcbFxRW7lMuaNWsKtUVFRenrr78uvwCYkg4AgKl27typzMxMRUdHu9pq1qypTp06KS0trdhCem5urnJzc12vnWvO5+Xluf3EpUfOzUW+zUW+zeWt+fa2eAEAwMWzvJAOAAB8S2ZmpiS5nkBzql+/vuu9oiQmJmrKlCmF2levXq0qVarI4XCUb6A4L3JuLvJtLvJtLm/Ld05OTrme7/bbb1fHjh0LPW39wgsv6JtvvtGSJUvK9XoAAKDsfLaQboi1XQAA8Cbjx49XfHy863V2drbCwsLUo0cPrVu3Tj179vSpDV2tlJeXJ4fDQc5NQr7NRb7N5a35dj4VVV4+//xzTZ48uVB77969NX369DKda/bs2XrxxReVmZmpiIgIzZw5Ux07diy2/5IlSzRx4kTt2rVLzZo107Rp09SnTx9JZ/7/TJgwQStWrNDPP/+smjVrKjo6Ws8//7xCQ0Nd5zh06JAefvhhvf/++/Lz89Ptt9+uV155RdWqVStT7AAAeDKfLaQ7sbILAADmCgkJkSRlZWWpQYMGrvasrCxFRkYWe1xgYKACAwMLtTsLL3a73auKMBUBOTcX+TYX+TaXt+W7vGM9duyYAgICirxOWYr2ixcvVnx8vJKTk9WpUyclJSUpJiZG27ZtU7169Qr1X7t2rYYOHarExET169dPCxcu1IABA5SRkaHWrVsrJydHGRkZmjhxoiIiIvS///1PY8aM0c0336z09HTXeYYNG6Z9+/bJ4XAoLy9PsbGxuvfee7Vw4cILSwgAAB7I7/xdCvv111/122+/uV6vX79ejz76qObOnVtugQEAAGucOnVK27Zt0+nTpy/J+Zs0aaKQkBClpqa62rKzs7Vu3TpFRUVdkmsCAODJ2rRpo8WLFxdqX7RokVq2bFnq88yYMUOjR49WbGysWrZsqeTkZFWpUkXz5s0rsv8rr7yiXr16aezYsWrRooWefvppXXPNNZo1a5akM3uYOBwODRo0SFdffbWuu+46zZo1Sxs2bNDu3bslST/88INWrlypN954Q506dVLXrl01c+ZMLVq0SHv37r2AbAAA4JkuaEb6nXfeqXvvvVfDhw9XZmamevbsqVatWmnBggXKzMzUpEmTyjvOcmewsgsAAG5ycnL08MMPa/78+ZKkH3/8UVdccYUefvhhNWzYUOPGjSv1uY4dO6bt27e7Xu/cuVObNm1ScHCwGjVqpEcffVTPPPOMmjVrpiZNmmjixIkKDQ3VgAEDyvtjAQDg8SZOnKjbbrtNO3bs0F/+8hdJUmpqqt55551Sr49+6tQpbdiwQePHj3e1+fn5KTo6WmlpaUUek5aW5rZsmiTFxMQoJSWl2OscOXJENptNtWrVcp2jVq1a6tChg6tPdHS0/Pz8tG7dOt16662FzsEG4p6BfJuPnJuLfJvLW/NdlngvqJC+efNm1xpr//73v9W6dWt99dVX+uSTT3T//fd7RSHdiaVdAAA4Y/z48fr222+1Zs0a9erVy9UeHR2tyZMnl6mQnp6erh49erheO2/SR44cqbfffluPP/64jh8/rnvvvVeHDx9W165dtXLlSgUFBZXfBwIAwEv0799fKSkpeu6557R06VJVrlxZbdu21aeffqpu3bqV6hwHDx5Ufn5+kZt5b926tchjMjMzy7T598mTJ/XEE09o6NChqlGjhuscf142plKlSgoODi72PGwg7lnIt/nIubnIt7m8Ld9l2UD8ggrpeXl5rjVKP/30U918882SpObNm2vfvn0XckrTMSMdAAB3KSkpWrx4sa677jrZbH981dyqVSvt2LGjTOfq3r27jBIGW5vNpqlTp2rq1KkXHC8AABVJ37591bdvX6vDKFZeXp4GDRokwzA0Z86cizoXG4h7Bm/d7NebkXNzkW9zeWu+y7IXyQUV0lu1aqXk5GT17dtXDodDTz/9tCRp7969ql279oWcEgAAWOzAgQNFbkR2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veTv76/k5GSrQwMAwCfk5+erevXqkqQ6depo7969uvrqq9W4cWNt27bN4ugAAIB0gTPSu3Xrph9//FG33nqrDh8+rMOHD+u2227T999/r//7v/8r7xgvKRtruwAAfNxHH32ke+65R1OmTFHfvn3l7+9vdUgAAPiU1q1b69tvv5UkderUSS+88IK++uorTZ06VVdccYXF0QEAAOkCZ6RLUmhoaKFNRb/99lu9+eabmjt37kUHdqmxsgsAAGd8+eWXevPNN9W+fXu1aNFCw4cP15AhQ6wOCwAAnzFhwgQdP35ckjR16lT169dP119/vWrXrq1FixZZHB0AAJAuopAOAAAqhuuuu07XXXedkpKStHjxYs2bN0/x8fEqKCiQw+FQWFiY63FzAABQ/mJiYlz/feWVV2rr1q06dOiQLrvsMtl4jBoAAI9wQUu7AACAiqdq1aq6++679eWXX+q7777T3/72Nz3//POqV6+ebr75ZqvDAwCgwrr77rt19OhRt7bg4GDl5OTo7rvvtigqAABwLp8tpBsGi7sAAFCcq6++Wi+88IJ+++03vfPOO1aHAwBAhTZ//nydOHGiUPuJEyf0z3/+04KIAADAn5VpaZfbbrutxPcPHz58MbFYgofkAAAonr+/vwYMGKABAwZYHQoAABVOdna2DMOQYRg6evSogoKCXO/l5+drxYoVqlevnoURAgAApzIV0mvWrHne90eMGHFRAQEAAAAA4Atq1aolm80mm82mq666qtD7NptNU6ZMsSAyAADwZ2UqpL/11luXKg7TsbALAAAAAMBKq1evlmEY+stf/qJly5YpODjY9V5AQIAaN26s0NBQCyMEAABOZSqkAwAAAACA8tGtWzdJ0s6dO9WoUSPZbCw+CgCAp/LhzUatjgAAAAAAAKlx48b68ssvddddd6lz587as2ePJOn//u//9OWXX1ocHQAAkHy4kO7E9/0AAAAAACstW7ZMMTExqly5sjIyMpSbmytJOnLkiJ577jmLowMAABKFdAAAAAAALPXMM88oOTlZr7/+uux2u6u9S5cuysjIsDAyAADg5MOFdNZ2AQAAAABYb9u2bbrhhhsKtdesWVOHDx82PyAAAFCIDxfSz2JtFwAAAACAhUJCQrR9+/ZC7V9++aWuuOIKCyICAAB/RiEdAAAAAAALjR49WmPGjNG6detks9m0d+9e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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# NBVAL_SKIP\n", "import matplotlib as mpl\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", "# Convert histories to NumPy arrays if needed\n", "loss_history_np = np.array(loss_history)\n", "age_history_np = np.array(age_history)\n", "metallicity_history_np = np.array(metallicity_history)\n", "\n", "# Create an x-axis based on the number of iterations (assumed same for all)\n", "iterations = np.arange(len(loss_history_np))\n", "print(f\"Number of iterations: {len(iterations)}\")\n", "\n", "# Create a figure with three subplots in one row and shared x-axis.\n", "fig, axs = plt.subplots(1, 3, figsize=(15, 5), sharex=True)\n", "\n", "# Plot the loss history (convert log-loss back to loss if needed)\n", "axs[0].plot(iterations, 10**loss_history_np, marker='o', linestyle='-')\n", "axs[0].set_xlabel(\"Iteration\")\n", "axs[0].set_ylabel(\"Loss\")\n", "axs[0].set_title(\"Loss History\")\n", "axs[0].grid(True)\n", "\n", "# Plot the age history, multiplying by 20 for the physical scale.\n", "axs[1].plot(iterations, age_history_np * 20, marker='o', linestyle='-')\n", "# Draw a horizontal line for the target age\n", "axs[1].hlines(y=age_values[index_age], xmin=0, xmax=iterations[-1], color='r', linestyle='-')\n", "axs[1].set_xlabel(\"Iteration\")\n", "axs[1].set_ylabel(\"Age\")\n", "axs[1].set_title(\"Age History\")\n", "axs[1].grid(True)\n", "\n", "# Plot the metallicity history, multiplying by 0.05 for the physical scale.\n", "axs[2].plot(iterations, metallicity_history_np *0.05, marker='o', linestyle='-')\n", "# Draw a horizontal line for the target metallicity\n", "axs[2].hlines(y=metallicity_values[index_metallicity], xmin=0, xmax=iterations[-1], color='r', linestyle='-')\n", "axs[2].set_xlabel(\"Iteration\")\n", "axs[2].set_ylabel(\"Metallicity\")\n", "axs[2].set_title(\"Metallicity History\")\n", "axs[2].grid(True)\n", "\n", "axs[0].set_xlim(-5, 900)\n", "axs[1].set_xlim(-5, 900)\n", "axs[2].set_xlim(-5, 900)\n", "plt.tight_layout()\n", "plt.savefig(f\"output/optimisation_history.jpg\", dpi=1000)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 20, "id": "25aeafb6", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/factory.py:26: UserWarning: No telescope config provided, using default stored in /home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/telescopes.yaml\n", " warnings.warn(\n", "2025-07-01 14:21:55,601 - rubix - INFO - Setting up the pipeline...\n", "2025-07-01 14:21:55,602 - rubix - DEBUG - Pipeline Configuration: {'Transformers': {'rotate_galaxy': {'name': 'rotate_galaxy', 'depends_on': None, 'args': [], 'kwargs': {}}, 'spaxel_assignment': {'name': 'spaxel_assignment', 'depends_on': 'rotate_galaxy', 'args': [], 'kwargs': {}}, 'calculate_datacube_particlewise': {'name': 'calculate_datacube_particlewise', 'depends_on': 'spaxel_assignment', 'args': [], 'kwargs': {}}, 'convolve_psf': {'name': 'convolve_psf', 'depends_on': 'calculate_datacube_particlewise', 'args': [], 'kwargs': {}}, 'convolve_lsf': {'name': 'convolve_lsf', 'depends_on': 'convolve_psf', 'args': [], 'kwargs': {}}, 'apply_noise': {'name': 'apply_noise', 'depends_on': 'convolve_lsf', 'args': [], 'kwargs': {}}}}\n", "2025-07-01 14:21:55,603 - rubix - DEBUG - Roataion Type found: edge-on\n", "2025-07-01 14:21:55,605 - rubix - INFO - Calculating spatial bin edges...\n", "/home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/factory.py:26: UserWarning: No telescope config provided, using default stored in /home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/telescopes.yaml\n", " warnings.warn(\n", "2025-07-01 14:21:55,615 - rubix - INFO - Getting cosmology...\n", "2025-07-01 14:21:55,631 - rubix - INFO - Calculating spatial bin edges...\n", "2025-07-01 14:21:55,640 - rubix - INFO - Getting cosmology...\n", "2025-07-01 14:21:55,659 - rubix - DEBUG - Method not defined, using default method: cubic\n", "/home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/factory.py:26: UserWarning: No telescope config provided, using default stored in /home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/telescopes.yaml\n", " warnings.warn(\n", "2025-07-01 14:21:55,691 - rubix - DEBUG - SSP Wave: (5994,)\n", "/home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/factory.py:26: UserWarning: No telescope config provided, using default stored in /home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/telescopes.yaml\n", " warnings.warn(\n", "2025-07-01 14:21:55,704 - rubix - INFO - Getting cosmology...\n", "/home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/factory.py:26: UserWarning: No telescope config provided, using default stored in /home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/telescopes.yaml\n", " warnings.warn(\n", "2025-07-01 14:21:55,743 - rubix - DEBUG - Method not defined, using default method: cubic\n", "/home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/factory.py:26: UserWarning: No telescope config provided, using default stored in /home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/telescopes.yaml\n", " warnings.warn(\n", "2025-07-01 14:21:55,793 - rubix - INFO - Assembling the pipeline...\n", "2025-07-01 14:21:55,794 - rubix - INFO - Compiling the expressions...\n", "2025-07-01 14:21:55,794 - rubix - INFO - Number of devices: 2\n", "2025-07-01 14:21:55,905 - rubix - INFO - Rotating galaxy with alpha=90.0, beta=0.0, gamma=0.0\n", "2025-07-01 14:21:55,985 - rubix - INFO - Assigning particles to spaxels...\n", "2025-07-01 14:21:55,987 - rubix - INFO - Calculating Data Cube (combined per‐particle)…\n", "2025-07-01 14:21:55,998 - rubix - DEBUG - Datacube shape: (1, 1, 466)\n", "2025-07-01 14:21:55,999 - rubix - INFO - Convolving with PSF...\n", "2025-07-01 14:21:56,001 - rubix - INFO - Convolving with LSF...\n", "2025-07-01 14:21:56,005 - rubix - INFO - Applying noise to datacube with signal to noise ratio: 100 and noise distribution: normal\n", "2025-07-01 14:22:03,786 - rubix - INFO - Pipeline run completed in 8.18 seconds.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "(1, 1, 466)\n" ] }, { "data": { "image/png": "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X9akSRMWFhbGUlNT+WVbt25lAKwKlqSkJKbValm3bt2YXq/nly9evJgBYN9++y2/jOvXefPm8cvy8vJYkyZNWEhICC9uLMWwmBMswcHBovZPnjyZAWCNGzcW9dWgQYOYVqsV/U7krGNCfvnlFz5uj8PW58nnn3/OALBffvmFXycrK4vVqlXLJsHi5+fH3nrrLYvr2Hpdbb0nr1y5wpRKJXv66adFfcqY+NlmLobF3O+HMdt/gxUNyhJyYby9vW3OFrKFX3/9FXXr1kVMTAwePHjA/3vyyScBALt27RKt37FjR1EcDGMMv/32G/r27QvGmGgf3bt3R1paGo4fPy7ax6uvvirybbdv3x4AcO3aNQDAiRMncP36dYwdO9YkFodL4X748CF27tyJgQMHIiMjgz9mcnIyunfvjitXruDOnTtWz79///6oUqUK//mxxx5Dq1atsGnTJocdJzg4GDExMdizZw8AYP/+/VCpVJgwYQLu3buHK1euAAD27t2Ldu3a8edoa9+sX78eBoMBAwcOFK0XGhqK2rVrm/Sht7c3XnrpJf6zVqvFY489xl//4sDFVAGATqdDcnIyatWqBX9/f5P+B4ARI0ZApVLxn48ePYrk5GSMGDFCFJM1ePBgBAQEiLa19561FZVKxd+XBoMBDx8+REFBAVq0aCF7Ds8//7yobdL7OCEhASdPnsTQoUPh5+fHr9e1a1ebYsm2b9+O/Px8jB07Fkpl0WN5xIgR8PX1xd9//y1aX61W43//+x//WavV4n//+x+SkpJw7NgxWy6BLM8995yo/a1atQIAvPTSS6K+atWqFfLz82363QHGrLphw4ahX79+mDJlCgD7niebNm1CWFgYnn32WX6fnp6eeP311206vr+/P/777z/cvXvX4nq2XFdb78mNGzfCYDDgww8/FPUpAJPyFJaQ/n4A+3+DFYUKF3S7Z88efPrppzh27BgSEhKwYcMGvjZJaTB9+nTExsaKlkVHR+PixYsl3ndmZiZCQkJKvB+OK1eu4MKFCwgODpb9PikpSfS5evXqos/3799Hamoqli9fjuXLl9u0j6pVq4o+cw/9lJQUAEBcXBwAoEGDBmbbffXqVTDGMHXqVEydOtXscYViRI7atWubLKtTpw5++eUXhx6nffv2vAjau3cvWrRogRYtWiAwMBB79+5F5cqVcerUKbz44ov8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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# NBVAL_SKIP\n", "#run the pipeline with the optimized age\n", "#rubixdata.stars.age = optimized_age\n", "i = 0\n", "inputdata.stars.age = jnp.array([age_history[i]*20, age_history[i]*20])\n", "inputdata.stars.metallicity = jnp.array([metallicity_history[i]*0.05, metallicity_history[i]*0.05])\n", "inputdata.stars.mass = jnp.array([[1.0], [1.0]])\n", "inputdata.stars.velocity = jnp.array([[0.0, 0.0, 0.0], [0.0, 0.0, 0.0]])\n", "\n", "pipe = RubixPipeline(config)\n", "rubixdata = pipe.run_sharded(inputdata)\n", "\n", "#plot the target and the optimized spectra\n", "import matplotlib.pyplot as plt\n", "wave = pipe.telescope.wave_seq\n", "\n", "spectra_target = targetdata\n", "spectra_optimitzed = rubixdata\n", "print(rubixdata.shape)\n", "\n", "\n", "plt.plot(wave, spectra_target[0,0,:], label=f\"Target age = {age_values[index_age]:.2f}, metal. = {metallicity_values[index_metallicity]:.4f}\")\n", "plt.plot(wave, spectra_optimitzed[0,0,:], label=f\"Optimized age = {age_history[i]*20:.2f}, metal. = {metallicity_history[i]*0.05:.4f}\")\n", "plt.xlabel(\"Wavelength [Å]\")\n", "plt.ylabel(\"Luminosity [L/Å]\")\n", "plt.title(\"Difference between target and optimized spectra\")\n", "#plt.title(f\"Loss {loss_history[i]:.2e}\")\n", "plt.legend()\n", "#plt.ylim(0.00003, 0.00008)\n", "plt.grid(True)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 21, "id": "e54c9842", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/factory.py:26: UserWarning: No telescope config provided, using default stored in /home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/telescopes.yaml\n", " warnings.warn(\n", "2025-07-01 14:22:03,947 - rubix - INFO - Setting up the pipeline...\n", "2025-07-01 14:22:03,948 - rubix - DEBUG - Pipeline Configuration: {'Transformers': {'rotate_galaxy': {'name': 'rotate_galaxy', 'depends_on': None, 'args': [], 'kwargs': {}}, 'spaxel_assignment': {'name': 'spaxel_assignment', 'depends_on': 'rotate_galaxy', 'args': [], 'kwargs': {}}, 'calculate_datacube_particlewise': {'name': 'calculate_datacube_particlewise', 'depends_on': 'spaxel_assignment', 'args': [], 'kwargs': {}}, 'convolve_psf': {'name': 'convolve_psf', 'depends_on': 'calculate_datacube_particlewise', 'args': [], 'kwargs': {}}, 'convolve_lsf': {'name': 'convolve_lsf', 'depends_on': 'convolve_psf', 'args': [], 'kwargs': {}}, 'apply_noise': {'name': 'apply_noise', 'depends_on': 'convolve_lsf', 'args': [], 'kwargs': {}}}}\n", "2025-07-01 14:22:03,948 - rubix - DEBUG - Roataion Type found: edge-on\n", "2025-07-01 14:22:03,950 - rubix - INFO - Calculating spatial bin edges...\n", "/home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/factory.py:26: UserWarning: No telescope config provided, using default stored in /home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/telescopes.yaml\n", " warnings.warn(\n", "2025-07-01 14:22:03,961 - rubix - INFO - Getting cosmology...\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "2025-07-01 14:22:03,971 - rubix - INFO - Calculating spatial bin edges...\n", "2025-07-01 14:22:03,980 - rubix - INFO - Getting cosmology...\n", "2025-07-01 14:22:03,999 - rubix - DEBUG - Method not defined, using default method: cubic\n", "/home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/factory.py:26: UserWarning: No telescope config provided, using default stored in /home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/telescopes.yaml\n", " warnings.warn(\n", "2025-07-01 14:22:04,034 - rubix - DEBUG - SSP Wave: (5994,)\n", "/home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/factory.py:26: UserWarning: No telescope config provided, using default stored in /home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/telescopes.yaml\n", " warnings.warn(\n", "2025-07-01 14:22:04,045 - rubix - INFO - Getting cosmology...\n", "/home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/factory.py:26: UserWarning: No telescope config provided, using default stored in /home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/telescopes.yaml\n", " warnings.warn(\n", "2025-07-01 14:22:04,083 - rubix - DEBUG - Method not defined, using default method: cubic\n", "/home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/factory.py:26: UserWarning: No telescope config provided, using default stored in /home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/telescopes.yaml\n", " warnings.warn(\n", "2025-07-01 14:22:04,125 - rubix - INFO - Assembling the pipeline...\n", "2025-07-01 14:22:04,126 - rubix - INFO - Compiling the expressions...\n", "2025-07-01 14:22:04,127 - rubix - INFO - Number of devices: 2\n", "2025-07-01 14:22:04,228 - rubix - INFO - Rotating galaxy with alpha=90.0, beta=0.0, gamma=0.0\n", "2025-07-01 14:22:04,308 - rubix - INFO - Assigning particles to spaxels...\n", "2025-07-01 14:22:04,310 - rubix - INFO - Calculating Data Cube (combined per‐particle)…\n", "2025-07-01 14:22:04,321 - rubix - DEBUG - Datacube shape: (1, 1, 466)\n", "2025-07-01 14:22:04,322 - rubix - INFO - Convolving with PSF...\n", "2025-07-01 14:22:04,324 - rubix - INFO - Convolving with LSF...\n", "2025-07-01 14:22:04,327 - rubix - INFO - Applying noise to datacube with signal to noise ratio: 100 and noise distribution: normal\n", "2025-07-01 14:22:11,227 - rubix - INFO - Pipeline run completed in 7.28 seconds.\n" ] }, { "data": { "image/png": "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YPHixU73XRYeeeQRjBs3Dh9++CFCQkIQGRmJqVOnctrMmzcPLVu2hK+vL2JiYvDWW28hLy+PXc+Y8/799180bdoUfn5+GDhwIJKTk10aS506dTBjxgyMHDkSfn5+iI2Nxd9//4179+7hySefhJ+fH1q1aoUTJ05wtjtw4AB69OgBb29vxMTEYNy4ccjPz2eP7/bt23j33XfZewEAMjIyMHz4cNSqVQs+Pj5o2bIl/u///q8UZ9B9MPfy+vXr0atXL/j4+KB169Y4fPgw20bOuOVc0/JAEXKqObRPjjuT9tFOuaXxyaGriQR4VS4hxywg5FS3XEAOEAIY8z3zT6aW7P79+/j333/x1ltvwdubW1wsMjISI0aMwO+//865t77++mu0bt0ap0+fxscff4zx48dj+/btAIDjx48DAFauXInk5GT2txC7du1CUlIS9u3bh3nz5mHKlCl47LHHEBwcjKNHj+KNN97A66+/jrt37wpuv2DBAiQnJ7P/xo8fj/DwcDRp0gQAMHbsWBw+fBhr167FuXPnMHToUAwcOBDXr18HABw9ehSjR4/G2LFjcebMGfTq1QszZsxwes78/f2xatUqXLp0CQsWLMCKFSs4kalr1qzBl19+idmzZ+PkyZOoXbs2lixZwuljzZo1+Pzzz/Hll1/i8uXLmDlzJj777DP89NNPovudO3cuAgIC4OfnJ/ovISFBcuw//fQTfH19cfToUcyZMwfTp09nrx1gy4i7cOFCXLx4ET/99BN27dqFDz/8kNNHQUEBvvnmG6xevRr79u1DQkICJk6c6PS88Zk/fz66deuG06dPY/DgwXjxxRcxcuRIvPDCCzh16hTq16+PkSNHsvdeXFwcBg4ciGeeeQbnzp3Db7/9hgMHDmDs2LEAgPXr1yM6OhrTp09n7wnAVsqgffv22LRpEy5cuIDXXnsNL774Io4dO+bymGmaN28ueS0effRRp318+umnmDhxIs6cOYNGjRph+PDhbE0pueN2dk3LA0WXWkUxWazQqlVO65LQGb1NVisMavfks6EFgNJEV+UW2wuuBXhXrttQyPHYVM3C5B0wFQAzozyz70+SAL2v02bXr18HIQRNmzYVXN+0aVNkZmYiPT0dgYGBAIBu3brh448/BgA0atQIBw8exPz589GvXz82D1dQUBAiIyMl9x0SEoKFCxdCrVajcePGmDNnDgoKCvDJJ58AACZNmoSvvvoKBw4cwHPPPeewfWBgIDum9evXY9myZdixYwciIyORkJCAlStXIiEhAVFRtmswceJEbN26FStXrsTMmTOxYMECDBw4kJ3EGzVqhEOHDmHr1q2S4+ZrtiZOnIi1a9ey/Xz33XcYPXo0Xn75ZQDA559/jm3btnE0IlOmTMHcuXPx9NNPAwDq1q2LS5cuYdmyZRg1apTgfl955RW8+OKLkiUFmGMVo1WrVpgyZQoAoGHDhli0aBF27tyJfv36AQDH+ZbRtrzxxhscLZPJZMLSpUtRv359ADZhcvr06ZL7FWLQoEF4/fXXAdjO0ZIlS9CxY0cMHToUgE1j1qVLF6SmpiIyMhKzZs3CiBEj2DE2bNgQCxcuRM+ePbFkyRKEhIRAo9HA39+fc+/VqlWLI4S98847+Pfff/H777+jU6dOLo+bYfPmzZKVu/kfDUJMnDgRgwcPBgBMmzYNzZs3x40bN9CkSRPZ43Z2TcuDyjW7KMgit8iEh+fsRoc6IVgxsoNkW9onx2whMLjpipc1uiq7wP7A6bWVS6HIHJqRcjw2KeaqSoMrNYW7dOni8Ls0zp7NmzfnTNgREREcp2KNRoPQ0FCkpaVJ9nP69Gm8+OKLWLRoEbp16wYAOH/+PCwWCxo1asRpW1xczPoGXb58GU899ZTDsTgTcn777TcsXLgQcXFxyMvLg9ls5hQ0vHr1Kt566y3ONp06dcKuXbsAAPn5+YiLi8Po0aMxZswYto3ZbGaFNiGCg4MREBBQprpJrVq14vyuWbMm5/zu2LEDs2bNwpUrV5CTkwOz2YyioiIUFBTAx8cHAODj48MKOEJ9lGYsERERAICWLVs6LEtLS0NkZCTOnj2Lc+fOYc2aNWwbQgisVitu3bolKqhbLBbMnDkTv//+OxITE2E0GlFcXMweT2mJjY0t0/YA9xwwJZTS0tLQpEkT2eN2dk3LA0XIqYJsu5iKzAITtl9KddpWxRNy3AVXk+O6kJNZYM87U9mqKAhqcqq7uUrnY9OoeGrfMmjQoAFUKpXghA/YBIHg4GDUqFHD3SN0KAjIFA7kL7Naxe+TlJQUPPHEE3j11VcxevRodnleXh40Gg1OnjwJjYarafXz8yv1mA8fPowRI0Zg2rRpGDBgAAIDA7F27VrMnTtXdh+MRmfFihXo3LkzZx1/rDRz5851mrD10qVLqF27tuh6qfMbHx+Pxx57DG+++Sa+/PJLhISE4MCBAxg9ejSMRiM7uQr14YqQLDQW5p0qtIwZX15eHl5//XWMGzfOoS+pY/7666+xYMECfPvtt6y/0YQJE2A0li1PV/PmzXH79m3R9T169MCWLVsk+5A6XrnjdvWZcQeKkFMFcSXSh/Y7NrnxZuImA3S93yxKk1Oal055woTHP1BCjkoly2TkSUJDQ9GvXz8sXrwY7777LkfFnpKSgjVr1uDFF1/kCPZHjhzh9HHkyBHOV7ROp4PFUvpklnIpKirCk08+iSZNmmDevHmcdW3btoXFYkFaWhp69OghuH3Tpk1x9OhRzjL+sfE5dOgQYmNj8emnn7LL+BNd48aNcfz4cYwcOZJdRvsmRUREICoqCjdv3sSIESOkD5LCHeYqKU6ePAmr1Yq5c+ey+/j9999L3Z+7adeuHS5duoQGDRqIttHr9Q733sGDB/Hkk0/ihRdeAGATIq5du1bmkkXuMFdJUV7jdgeKkFMFcUUmoLUk7tTkcPLklFWTU8lUOUx0lZEj5FSuMT6oLFq0CF27dsWAAQMwY8YM1K1bFxcvXsQHH3yAWrVqOTjjHjx4EHPmzMGQIUOwfft2/PHHH9i0aRO7vk6dOti5cye6desGg8GA4ODgchn366+/jjt37mDnzp24d+8euzwkJASNGjXCiBEjMHLkSMydOxdt27bFvXv3sHPnTrRq1QqDBw/GuHHj0K1bN3zzzTd48skn8e+//zo1VTVs2BAJCQlYu3YtOnbsiE2bNmHDhg2cNu+88w7GjBmDDh06oGvXrvjtt99w7tw51KtXj20zbdo0jBs3DoGBgRg4cCCKi4tx4sQJZGZm4r333hPctzvMVVI0aNAAJpMJ3333HR5//HEcPHgQS5cuLZd9lYaPPvoIDz30EMaOHYtXX30Vvr6+uHTpErZv345FixYBsN17+/btw3PPPQeDwYAaNWqgYcOGWLduHQ4dOoTg4GDMmzcPqampksLCpEmTkJiYiJ9//lm0jTvMVVKUZtwVReVyhlCQhSuaHFpL4k5thKmsPjmF9q+KSibjsJop+hirvSanitCwYUOcOHEC9erVw7Bhw1C/fn289tpr6NWrFw4fPoyQkBBO+/fffx8nTpxA27ZtMWPGDMybNw8DBgxg18+dOxfbt29HTEwM2rZtW27j3rt3L5KTk9GsWTPUrFmT/Xfo0CEAtgivkSNH4v3330fjxo0xZMgQHD9+nDVtPPTQQ1ixYgUWLFiA1q1bY9u2bRynYiGeeOIJvPvuuxg7dizatGmDQ4cO4bPPPuO0GTFiBCZNmoSJEyeiXbt2uHXrFl566SV4eXmxbV599VX88MMPWLlyJVq2bImePXti1apVqFu3rpvPknxat26NefPmYfbs2WjRogXWrFmDWbNmudzPnj17oFKpEB8f79bxtWrVCnv37sW1a9fQo0cPtG3bFp9//jlHezV9+nTEx8ejfv36rBP85MmT0a5dOwwYMACPPPIIIiMjMWTIEMl9JScnO41UK29KM+6KQkUqm62ggsjJyUFgYCCys7M5jnhVgf87loBJ688DAOK/snm7m0wmbN68GYMGDeLYPR/7bj8uJOYAAHa93xP1wkpv46f54I+z+OOkLVz2o4FN8OYj9Z1swWXBjuuYv8OW6Xjy4KZ4tUc9J1uUH3U+3sT53bluCH57vQt2XErFqz/bcl/MebYVhnWIkexH7Bp4isvJOfhkw3lM7N8Y3RrY/VSKiopw69Yt1K1blzOZVQesVitycnIQEBCAevXqYcKECUoKfBfp168fIiMjsXr16lJtT1+D8tLkuAsmeu3SpUuV4pl1F1XpGogh9Z5yZf6umkf/gOOKJod2wzF7ME9ORl4xVh+OZzU4WYWVo+ClkIzPmKmquk/OuP87jdMJWRjxw1HnjRUeSAoKCjBv3jxcvHgRV65cwZQpU7Bjxw7R0PDqxubNmzFz5sxqJeAocFF8cqog9LxstRKoJbIaW8vNXGXv62Z6Hlbsu4luDWqgWZSwVP366pM4cTsTe6/dww+jOnIcj8WENqPZin8vpkCvVWNAc+k8JqXFIiD4Gc1WfLLhPH49alcB8/PkmC1WfPjnOXSqE4LnOolHS1QUhUYLvHRqjtMt7fekoCCESqXC5s2b8eWXX6KoqAiNGzfGn3/+ib59+3p6aBXCH3/84ekhKJQzipBTBaG1DxZCoIY8IcetjsdUX3+dScJfZ5LwUL0QrH2ti2D7E7czAQA7LttyImTkOw8hf+G/R3Hs1n2oVcDZKf3hz8uMfPNeHkL9DGUqC2ER0uSYrRwBB3DUgu25eg/rTyVi/alEjws5N9Ly0HfeXgzvFINZT9vzUPjotQAeXEHH3X4W1RFvb2/s2LHD08NQUCg3FHNVFYSeb4U0ETT0+vWn7qLAaJZoLR+zQDh6bpH8vpOzCtm/xTQ5pxMyS9YDBUZuqOWNtDz0nrsXnb4s2wtaaNdCJRz4y+iaYIXG8g9BlmLx7hsAgP87doez3EfvnuzWCgoKClUVRcipgtCaHGd+NvQk/tPh25jy10W3jKEsIdWEECRRQo6YixEtoPFNbYfi0gGULkeP2D4YhHyMTGZuO1qASMwqKNMYykqhSVjI8nWS3voBjTlQUFCoArjr/aQIOVUQjibHibDBN8esP53oljEIaXLk+jX/37E7yKe0H0J5cqxWIpnjx1211cXMVXz4Qha93d3MQn7zCkVMyKEFMbpqPONkWVDgWeFMQUFBQQzm/VRWp3DFJ6cKYuX55MhtCwDeOmkTxu4raTifmI13ejeQLP4ppMmRm9Tvkw3neWN0bMM/LndGhnH2LVeTwxNyaBnP00IO35TH4EVd6+xCE0L9DABs6fiDgoLYmjE+Pj5OC71WFaxWK4xGI4qKiqps6GxVR7kGnqcqXwNCCAoKCpCWloagoCDJ8iFyUIScKghtYhHSqNDwV3s78dN4eZUtpXvzqAD0aRoh2s4s4LciFdquVatEBRWh7fhmJGfHWVqEzFXFAsfGF+ro8XhayCkS0eTQAlxmgU3I2XYxBfN3XMfC59ogKAjlXhyvoiGEoLCwEN7e3tVGcKtqKNfA81SHaxAUFMSp0F5aFCGnCkJrFVxxPAbkO6MmZRdJrhcSWKS0SjqNGmar8GQsZHt1EHLKqaxCac1VVo65yrNmHzFNDu2vlFVghNVK8NrqkwCAFftvYs6zrREeHi5Z06aqYTKZsG/fPjz88MNK7hMPoVwDz1PVr4FOpyuzBodBEXKqILRWwdnk76q5qjRjYJCynBl0alHfESE5jS9EOQhVbvo6kasg4gs59Hn3tCZHLLqLFtbu5xtx+GYG+zvYRw/AZrpy18ukMqDRaGA2m+Hl5VUlX+7VAeUaeB7lGthRhJwqiCuaHAchR6Ymx5kIIWSukhqLXiNuFxYyV/F9ZYT25w7kZo/mh5DT23k66Z6YuarYbF+eVWDCzst205SrKuz0vGKoANavR0FBQaEqULU8khQAcLUazhxy+avlmquczYFC++ULDGfuZKH3N3uw41Iq9FrureZn0OLx1lGCYxTqv7wcj50JiQyOPjn238UmaQGMCZkvr5BtMQ0Zba7KLDDiVEneIUBcMBKiyGRBhxk70H7GDtnnS0FBQaEyoAg5VRDaDOGqT47WTZ72QiUi+NqXMT+fwM30fLz68wkHIef317ugZqCt6JonfXLkanL4miR6fEVmYYGhyGTB5vPJ+GrrFXT9aheW77tZ6nFuPp+MbRdTBNfRQg59Lun75Pb9Aty4l8f+LhYZsxC30vPZv/PdlExSQUFBoSJQhJwqCC1gOI2u4k3i7qpfxQgd0cHeeL6zrawB34mX9hXhm6t8DRpWWyQYXeUQQs4dN61oKouGRL4mR0LIEdGKfLXlCt5acwrL9tqEm1lbrpRqjNkFJry15hReW31ScF/04dPjojU5/5xN4rRzpn0CbMdcZLLgPlWCwxUNkIKCgoKnUYScKgit1XDqk2MtJyGnROj476iOeKFzrG1fvKFoNXZRxMDT5PjotVCXSDmCeXL45iHeb/pXWSwo8n1yuO34woSQoLXqULxLYykyWZCa4xjVlkdpT/gZnvkaGdqsRrfN4ZXcENM+0Ty9+BA6zNiBOEoDVGSsetXYFRQUHlwUIacK4prjMfe3UHi0EConrsdMP1qNCowFjC9Qaan6TnxzlY9eA7WEJoevuZHSWJXFT0SuzMevQk7vkxDheld8nPlDPf7dAXSeuRM30vI4y2lTWTFPk8KvF2aizpOQSap5SZX4Ihl+ROcTs5FXbMY/55LZ5WL+PwoKCgqVEUXIqYKYrPI1OXyzD18jQSM3YzFgd7zVqdXQsBoZcf8fvpDjrdOwmhwhZQq/LynHY7namLJsK1XWAZBXQ8tWFVyc6yXCzebzyZzltEDCF05yCrk5bmhhTEigHdA8sqQfaWGF1ghdT81l/xYTcpKzC2UL0AoKCgoVhSLkVEHoicxpdBVvvVHCTOGsRAQNYz7SalRsODJf4KIrdat54VpqtX07YU2OtLlKJdHWFWT75PDa8bfjCw1C5itfg7zINv7x0IIF38zEN0Mx2xJCBAWvRhH+7HitVoKMvGLBMdBaoMwCuyAllJPnf2eT0PWrXfhw3VnBvhQUFBQ8hSLkVEHKkidHqno43ZezEHLGLKLVqFhhhj+v0z45QkiaqyRCtvmUxVwlW5MjYa4CHB15acGAwZkmhx2ThADFF6ayeDl6GG0KbT4b3LImAGBg80h46WyPfLHZig//PIf2M3bgePx9hzGIaab4+88uNOGd/zsNQoCNZ5Ikj0tBQUGholGEnCoIrVWQmvwJIS755NB9qWALHT5/N9uhncVKWIFGp1azwgpfE0RrcoQEESnHYwdzlYTPi0tmNouVExLtjugqwNH/JVEgC7KvzBxFkpocnjCVlsPVxDDb0tf5iyEt8NXTLTHvP63Zop1FJgvWnbwLAFi8+4bDGMTMWXxz1cnbdgGJSQmgoKCgUFlQhJwqiImTJ0d88qflhJUvdbRtKyEs8CfuXt/sweOLDiCNF/FD96HVqChhhbu9jvLJEdKYMDKQkGmHP9HzzUVEoq0UH68/j17f7MGG03dFxyWEMyGHL3wkZjnWs/I12DQ5xWYLLiRmi4a+869psYQmJ0Xk2tCamGAfHZ7rVBs+ei0b5UaPVyeQjVpMk8M3V2Xm2zVWUlpCBQUFBU+gCDlVEDrSSCpJHq1ZCfG11SqS0uRwIoao5bTmw7Z/+1qdRg11ibTCl7doTY6QHML65AgMiS9EWPhlFaj1rjgeM9qLpXtuluxH3nb8CZyvteILH8kCBU4NWjUy8oox8Nv9eOy7A9h2KVVwX9KaHO5++CHnrLmq5H+9Rs0p4cBocmjNk5CQI6bJySwwcrRqWYW0v47zRIG7rqTi8e8OcJyZFRQUFMoLRcipghhl5smhJ39mcpMKdaaFJ7qyNX8P9CSnVavEo6sonxwhk5KYBggQyHgs4fhbGp+cmkFeLm3roMnhCT18zYdQFJKVAIv3xLFC4817+Q5thMZUSOWm4e+HL+Qw54lpx89PxNwHOYV2gUQn4DslpsmZsekynlp8iP2dTfkEFZQ4MzOYLFYcupHO0f7872wyzidmY9cVex0tBQUFhfJCEXKqIHKjq2gNCeNwarQIJ67jty8otk+CUs7LGrVKlk+OlLlKMBmgEyGH7q80gkrNQG8A8rMlOwsh52s++EKQbZxWJGfbfXUKKM0HPQ7+sQo5HhcaLRjy/UHsuMwVFphxspocByHHfh+w++aN8/zdbPx1OtFh/Oz6xGx2P7SDNSG2Qp4zN1/GhcRsLNkTh+d/OIoJv512ODZ3JaVUUFBQkEKpQl4FoTUuUqYaIU0OITahQCjyie6Xk2WX52/CtNOVhI+rqegqQghrHtGKmKsY64k9T46cEHJxnxi5Qk5Sll3ACPbR2baVm/HYbMWcrVcQ4K3DGz3rCzgec8fH9yECbMdEazXoRH604MjXenFDyG37ORZ/H2fuZDnsw2S2OVYzNaYcNDlaR+fnPF4Y+uOLDji0qeGnR3qeXWuTXWhCDT8Dx1wFAJ//dRFbL6Zg+b6bqFFSsfzfi3azHHNPSuVrUlBQUHAXipBTBaEnRLk+OfTkZrRYoRXww6An7nxKk1PAczZlc+SUOBbTOXCsBGDkJzFNDtNeqnYVf6J3MFfRmhyZgkrCfbszMLONXAEp32jB4j1xAIAxPeo5zZMjFA1msRLO9cqjzjHHz8ohPN3i8Dc/e3KYvwH3coux+2oaVuy/hZa1AgEABh23nUHneN1pYUvsfDSO9Ef6jQz2d1aB0Sbk8ELYD8Wls3/bBCNu9JdV0eQoKChUIIq5qgoiN08OoeYRenIzmcWiemghxz6xFvAcSpn9M9ogjUpYmNGKRFcx7aVCyJ0lA+Q4HssUVGghh+mvNNmSC00Wp9FVQtfFbCUcrQwtSJok/KyEHI/5bSIDbD5GZ+/YQv6vljj28gujCmlycors2hi6GCdDl3qh6FgnhLOMMVNl8fIB0YIb4+wO2LV1zLj5eYcUFBQUygNFyKnELNsbh6l/X3Qw53CrkMvT5NiibGx/F1uEI2foiZOerPhOtMw+mQmUkmU4fdAmMfrDPcDbZiqSSgbID6M2WflCBPV3KTQ5jKalNAqFgmKz0zw5QuHUFivhaHxsdaGS8PLKYxyNB1/LQZ//JXvi8PfZJIf9M2appBKfH8Ynh6+5UatVDoIPrcnJyOdqXvo0Ccf/vfYQ/AxcpW9miTCUVcgViuhhBZWYBG39GkvWK5ocBQWFikMRcioxs7ZcwapD8biUnMNZzv3qlxcSTk9uYvlMaGGB1jLQWh3ALgB5l5hMaHMV00WB0czxyaEntR9GdWDHRG/DHTvvt0QIt5TJjiab0jowPjPOzFUP1QtxWFZgtAg4Bwv7LUUEGKhxWh2EnLG/nsbuq/cwb/s1djnj33MoLh2bziVz+s43WjDu/05zxj318WZsGDg/2oov0ACOgg+tyUnPNQq29eaZxxhfHEaTw/f9sR2vfYx3S5IjMsP2lE9OkcmCUwmZLiWQVFBQqLooQk4VgO/vIVeTw2iAGN8YZsITy5VDT0q0kMPkP7mXW4ysAiPu5dq+9sP8DZz+AZvwse/aPTT7/F9O5A9zDL++2hltYoIAwEntKr7QIGGukqnJoQUDRpMjFV3l76XFL6M7sxFJDPlGs8M++ZocZrzPd4rF/P+0ZpfRWhna4Zc5pwAQl5aHUwmZeH7FUbz96ylcE8gpw1zDVtGBeKlbXVZrxhdghXxwDDyTVV6xmT2ffB8axrzlzfPtySrJl8NogWoFeTvshz7Wt9ecQmJWod1c5SFNzthfT+PpxYfww4GbHtm/goJCxaIIOVUCbiSUXJ8cRtvByCBMOLHYBCNmriowWpBdYEL32bsw5PuDSGOEnJLoGbrOlZUQTPn7okPfjHZCzSnaad9GaiyAo9DDcTwWOQcmixWH4zJYAYtuxgghUqYutUoFrUaN1x+uz1kuS5ND+S2F+dlz8tDt6HNMx3HfTM/H01QuGqF8OrnFNg0KX4DlI7ScL7QRYo+m4ws5rCaHJ+RkFpiQTUVWRQqUdKAjyRKzCrHmyG2Pm6t2XLZFev14IN4j+1dQUKhYFCGnkkJrKtS8aG9a4yKZJ4cw29s60DnR5HDNVZSDrNGCg3HpKDZbEZ9RgCsl5rMajCaHdjy2EkGhhRE0aNMW3/GYEMKOzUHIkXI8FhFU5m67huErjmDC2jNs//z+pIRE5ryP7d0Az7SLZpcXGC2SRTTp/rVqewFTB01OsfMMwWLtGA0KYxIUK4bK19oA9nQCQv3d4ws5Jdt78c1VBUbWZOXvpUWAlw588nlReYlZhR4Xchg0/IdKQUGhWqIIOZUUTrFMnhBBr5PMeGxlNDklX/tax0RwNJzoKiPXXEVXqmbyszCaHH4IuZDMweTaoecWfu2q8WvPoPW0bbiXW+xwXA5lFayOAguf/5aYJLZeTCkZGy0cWh2W8aGFw7nDWqNjnWAANsdj5howodz8PDnMeq1GzQogRrOVI2DSwgtxSMknDSOU8AVYPvxkgOL92QQWUZ8cviYn38SGjwf56BxC2m1tHCO1mOsmVV6kIlArbz4FhQcC5VGvpNCTrwq2LLQXErMFooykNDlcnxwdNdkKIeaTU2C04HCcPUfKxSSbJofxyVHzqo0LCQ6MYEW3VfE0OX+fTUKhyYI/Tt4RKONg2/7rf69g9ZHbsvLk8E8N/dvEanIEN+WMj8Fbb4swyqc0OT4ly4odItDsCROZ888PxS9F9DoLq8nRODFXCQg5dzPtUWZ1a/gCsJd5kO2TU2hknY6DffTwMTgKOUyk1gsP1QZgu6eY29fTyQC1ipSjoPBAoCQDrKTQwkuB0YLhK44AAM583o/TTjKEvGQdM1frSyYsMSGHFk7objPyjbiS4uj8ygg5gE0rYyW2PqQmb2FzFXcDjUrlWErCSnA5OQff77Yl5BvVJdY+VhFBhS8ACpWCkIqy4Vs0fEu0FYVGMytY+Ro0SM8TyHhssQuYjEkpt0ieeUoOjOZFUzJZi5mrhIQc2i/I30vL6Y8fQi4aXVVgYoWcQG8dfPWOrxLmHDCZj/OK7efN03lyFGuVgsKDgfI5U0mhtRN0Vll+9mGpEHJm/rY7pzIROCKaHJEJP0WgojbAFXKYfdiEHHmCg1jtKrVK5WCCslgINzNvKTIeE44mx+p0W7WDJsc20d/PN7GCIqPJcahdVXJQOrWaPTfFVD2pAC+uUOBqRDNj6tKqnZirRJYz42D8cxjBJzVH2CeHfy4yC4zIZM1VegchiIYRcgqMFsUnR0FBoUJRhJxKCp0XxiowOTNIOx6L+OSIaXJE+uI7ozIwPjmA3bRjM1eJDklQk8MXitRqlWB0FT3P0lmbpQQ9GquA47G0Tw73N6OtmL/jGrZcSClZViIkOCQDtEdX8U0j3jqNQ3I9vpDkDEbg0zgTcgQ0Od0ahAIA3uhZ3+4XBYICo5kTyg7YI7ECvbmOxblFZja6KthHWJPDwAjDdKi654Uc5dWnoPAgUCme9KlTp0KlUnH+NWnSRHKbP/74A02aNIGXlxdatmyJzZs3V9BoKwYLx3Rk/5tvFhGqds2u4zkes9FVLmpyxIQijiaHFVjkOfMC4rWrNCr78TNtTBbCCaSnhQq58yXHWZlxPJaQyPg+OUJ+Jz4GxieHH0JuN1fxtQZeOjX8eJqcQqOrQk6JuYq9tsKaCaHl3z/fDktfaI9xvRtABbtfFJ0RmoHR5IT5G7D8xfZY8Fwb23hNFrsmx1sneG4YGE1OPmWu8rRPjoSCS0FBoRpRaR715s2bIzk5mf134IBjJWSGQ4cOYfjw4Rg9ejROnz6NIUOGYMiQIbhw4UIFjrh8sQpMyIBAqLIsx2Pbb2eaHGcaEXqyDvHVc0KRmVUWq3ScEP0BzfrkWLnaHA2lyWEy6VqshKPJoYUKuUU2hR2PpYQc7m8fnaO2QkyTw5qrNGpO5mfApsnx5Wly8o2u+euwmhyNtCZHaHmQjx4DW0RCq1Gz14MQgtsZjkIOnVOnf/NI9G0aUdIeSMkuZvsTiq4CbPcFU8Mqv9jCCqSe0ORw7jH+xVVQUKiWVBrHY61Wi8jISFltFyxYgIEDB+KDDz4AAHzxxRfYvn07Fi1ahKVLl5bnMCsMsbIFzgpBmixWbLmUhIfqhbAOuXxNjmhZByfzTotagehcNwR37hdgWIcYzjo1xydHvA+NiOMxPSaNWs0es5dOgyKTtWRStG/L1eQ4F3JOJWRyNFjMNlIKBb4fiq+AtoLxReELjkwUnFZQk+NoruL7WjnDMU9O6ULI1ZQGLqFEyGkc4c8W+OTn2aGjrJKybKUagnx0iAxwzHjMtGfOW77Rs+Yq+h5TKz45CgoPBJVGyLl+/TqioqLg5eWFLl26YNasWahdu7Zg28OHD+O9997jLBswYAA2btwo2n9xcTGKi+3+Bjk5tjBok8kEk8kktpnHKCq2j6mI+srPK+T6TBjNFs4xLNsbhwW7byE6yAsLSsoJqFW242Q+yguNwsdc7OQ8+OrU+KBfA/Y33QczZxQbTbAS8QnMYrGw21mtTEVtK/KLqOMiFpjMtmM2lEzeZosVxUb7/gqpc2KUcQ3pDMIAYGLOm1lcg6IC9xiFlBVe2hKnYpOVbWvrt+QcECuIlSvAGAQcj10Xcmz7UoPAZDJBI6I/05SsF4Ow0U5m3Eq3CTZNIv1YIUerctzeS6dGkcmK5JJioH56NVrU9BXs31uvgUFNSvYF5Jfc10aztVyeO/oa8MmlMjSrRdoolB2pa6BQMVT3a+DKcVUKIadz585YtWoVGjdujOTkZEybNg09evTAhQsX4O/v79A+JSUFERERnGURERFISUkR3cesWbMwbdo0h+Xbtm2Dj49P2Q/CzaQXAczlOX3uPADbDHvw6HH2bwC4nZCAzZvj2d/rjt4EoMLdrCIcOHgQgBZFhYXYvHkz0lLUANQ4d+EiNt93NO2duqfi9M0nNzNd1PfJbNIAUGHvvn0oLrb9LcT+fXtxteSj/2yGbX8Z9zOxees29ngvnD+Pe0UqAGqYjUUAVEi/n4mDh4+w40u5d5/dx6nTZ6C+e1pgb+K3d2ZOLjZv3oxLieLHXFiQzzne6wLnJ/lOAgA1svPysX37dgDA9u3bkZllOwenT55Aqg/hjKUgJxN5lkzQ1mJn2qhoX4K7+fZzahNyVEhKTMTmzXcQJ3Ic165cxubsS6L9ZqTb7okzZ8+WXH81kHWX7evk8WPIucbzmSK2Y8ssCSG/fOY4CuMAofNNTMXYvX0bVNCAQIWM3EIAKuQVFJaLH53ZCpzKUCHrn+0IsruMwUKAK1n2c3Q/M7Pa+fFVNpjnQcFzVNdrUFDgaFoXo1IIOY8++ij7d6tWrdC5c2fExsbi999/x+jRo92yj0mTJnG0Pzk5OYiJiUH//v0REBDgln24k1vp+cDpgwCA+o2aAPHXAQDNWrYBrp5n29WsFY1Bg1rAZDJh+/btMPj4AiU3wENdugIXjsHP1xeDBnXHgY0XcSI9EfUbNsagnvUc9ll4KhG44Vh3iqFe7VoYNKil4Lovzu9Bfp4R3br3wNJrJwCzsKTdq9cjiA2xCZX6y2n48doZBAUF4eFerYET+wAALVq2sh1/YjyCA/yQcS8fvv4BaN+hIXDpFADA2y8AyLNpG1q2ao1BbaMc9jX+8DbRY/Hytp2ThL03gYQbgm38/PwwaFA39rf+chpW3zjDadOscQPsTr4Jjc6Afv26Yfv27ejXrx++u3EMKMhH14c6o3GkHz47uYfdJioyHB1jg7E3+bro+Pj0alEbj7aIxJK9N7H/RgYYN+w6sbUxaFAzpB66jb8Trjps17Z1SwzqEO2wnGF9+ilczkpHy5atcHj/LQAFeLJnR/z1s+08d+jUCd3qh3K2mXN5H/Kz7GkFHu3TE3Vr+GJR3EFcT+PW2QoN9MfgwV3x6emdyC+2oNBiG7daq8OgQQNkH79cvtt1HWuO3kKQtw7HP+nFLp+55SpWXrnN/vb1D8SgQQ+5ff8KYN9F/fr1g07nWO5Dofyp7teAscTIoVIIOXyCgoLQqFEj3LghPPlERkYiNTWVsyw1NVXSp8dgMMBgMDgs1+l0lfImUGvsX+UWYv+C57nkgBBwxk9HrajUtj40ahV0Oh2bDNAKlfAxq6T9N/y8xM8V49uh1mgko6sM1PnWaW23X1quEftvZHLHUdIfUzPJSgBCjY/jA6NSu3wNLYRAp9NBJRFKzJw3Bn9vx/vHt6Rmk9FihU6ng5UA++IykV5S0sCg18HLoOduY9AiMsg17WHDyAB0bRiOU3eysf+GPfu0Tms7dm+REG4vvfT9rSkxB6rVGrbWVHggNTaBc+vD21eNAB/odDoser49nl1yCLlUtmwfgxY6nQ5+Bi2nHprJQiTHZbUSGC1WwTpbUhy6abuPsgpNnP5XHrrNaeds/wplp7K+Wx8kqus1cOWYKk10FU1eXh7i4uJQs2ZNwfVdunTBzp07Ocu2b9+OLl26VMTw3AIhRLC2DwMdNVVMOdk6i66iHTrZPDm8XCpitZ6kIrUAODjL0rDJAK2QjK6ifXkZ+SIxqxCfbLBrpyxWKzsWpqyAyWLljI8+D3KTAdKYZZR14DseC4VJM464jNC1J1mFN9acYbMB2/Lk8ByPtRpO+D1Nz0ZhmDestcPymGCb4MGf9LVsxmOx6CppB1tOnpwSIcTPoGUjolpHBzlsw4+kYnLoNI70x9kp/fHWI/aq7cz54UeTMffp4bgMTP37okPJi6eWHEL32bscljtDqCCpEGJpFBQUFKoXlULImThxIvbu3Yv4+HgcOnQITz31FDQaDYYPHw4AGDlyJCZNmsS2Hz9+PLZu3Yq5c+fiypUrmDp1Kk6cOIGxY8d66hBc5uM/z6PtF9ux52qa4HraR4MOly50El1FazjsBTptv3W8jMf5xWacu5vFOp8KaWBowYb/BU9DR0pJRlcJ1K7iY7YSewi5zh5CTgtndL4guSHk3H04z3jMH55Q9mBmwmcn7VRuGzrjMYOXXoMaflztDkOwjw7NohzNpw3C/Ur2x70G/GSAwT46jlBlcFqgk0niaA9j9zFocPCj3jj1WT8E+zqOk85uHOCl5RyfWq3iCEHM3/xkgSaLLTP28BVHsOpQPFYejGfXFZksOHsnC+l5RlxOlq+WBuQcrw1PFwhVUFCoGCqFkHP37l0MHz4cjRs3xrBhwxAaGoojR44gLCwMAJCQkIDk5GS2fdeuXfHrr79i+fLlaN26NdatW4eNGzeiRYsWnjoEl/ntxB0AwIKdwn4ZdMoaekJ3psnhhEnzMh5reSHkL/z3KJ5YdJDN3iuk4YkK8mL/FgqhZmC0MhYiXKCTbScQQs7HQgs5rCaHiOYLktqfGMw5kK5d5Rj6zYdZZiW2CLAiXpCUrXaVY8ZjMU2OVqPmCARPt62FBc+1QUyJHxNfi2Iv62D7v4afgVPHSix/DgMjnxSaLGweIV+9Ft56DavN4UMLWkE+jm1orQ1jbhS6d+iQ7tScImy7mIIZ/1zi5Ovha4CcQYfMd521E3+fTRJsx0+qqaCgUD2pFD45a9eulVy/Z88eh2VDhw7F0KFDy2lEnofWMBglhBzHPDmO5SDYPDklMxojLJxOyAIArDt5F4Na1hQUFiIDvXEtNQ+A9IRDl2iQkjk45ioRSwqtyWGS0ZmtVs6xFVHnRMz8JoVZTu0qnnzQINwPHwxojK//tTv40nljjAJCjk6jcjhOL50aob7CQo5Oo+Kc58dbR6FXk3D7/nhCDqNFqRnozY4xJaeIzackN08OXXWeX3GcDz0GIUGoT5MI/Hb8Dq6k5KJjbDAAYVMnLZAHeuvw2uqTAIDkHLtTs6taOlqTk5RdhHH/dxpPtHZ0SjeaXQvZV1BQqJpUCiFHwRE6+zA9GRQKaHKSsgoRYGC0NI7mKo1aWJPDwGgBhHxyagbQmhwJnxyV3ewhlfNYKBkgH4uVsGNhNDk2c5Wwiao0mhymf74mp24NX1tkl8j43u7VAOtO3mXb0BO+0UxgtHK30WrUUKlsfjnMPr11GtECkVq1mqut4WddFhFyOtYJxu+vd0GjCD/0nruXXe9Mk8McIlPw00evcZooz0cnLeTUDvXB1gkPo9BoYc+PkKkzjyq4StfGOnrT7lhdFiGHQUhbp/jkKCg8GChCTiXFwjFX2QUbfo2jC4nZ6PrVLjQK98Pb9bmVtsUcj/nZZpnlQhNKZKBdyPGTMFfRdajkFugUy6xvthB2YmImLZOFwCTScel8crh+SEPbR+P5zrXxByXAiPkM0b45Bq0GKpXtvAtNnIw5SUMJOVIRQ1qNijtR8w5NTMhRqVToVDcEANfZ2Lm5ytaWyaAs5XclNIZgAXMVAy0ACgnIKZTGhm6bnmd3yHfmDM/HIHBu8wSclxWfHAWFB4NK4ZOj4Ag9cXPMVSV/MxPt/ZIIrWtpeaJ98B2PzRYrRyuilynkSE2A9ugqIhleJc8nx+ogEPA1OTSnEjLZ8yAXi9Xm+Mp0WcPfgLa1g3maJuFtdVr7Co1axZ4/oYmT8Y+hnYGZYxLSguhKND8MDSP8OOu9efWz+JFbtmW0ECZPk8OYq6T8rtgxUPdBiK+8UE66BhZDSknGZEDcN8odmpysfMecTYwPlYKCQvVGEXIqKWKVxxmfHL5vBgAHXxhmgmAmbmZCNFkJsqgU9xrWV8eZJkdOdJWTKuQCBTr5cKKrtHbtk9iE9+/FVPT6Zo/oPsUwWexO0sw5omUGsfHRmhyNWsX6vfBNicx6+n/A7vOyeVwPTOjbkNOeEUT3fvAINrzVFdHB3Hw6jj45jo+wK5ocRqCym6tc1OSIOCfzERLGkrPtmhwxjY2Qv5XVSvDZxgv47XiCwzohwTSrUFgAVkxWCgrVH0XIqaRw8uSYHIUcoarPRt47m0m7z4+uMlusnBw9zOTMr0KuVgHhVBSQWKVpeh+uRVcJt7EICDlmKxEtLAoA2YWu12ih96OmzD7Oxkc782pUdvNSak6xQ1udQB4bRpMTGeiFp9rW4rRntDCxob5oWzvYsT9e3hsh4YEWbOTmyWH8Y3wlrjEDfR+ESJirOPsRGGdKtnMHY6Hle66lYfWR2/joz/Oy2jM5i/goJisFheqP4pNTSaHV90I+OUKaHH5kD5Ngj/nY11OOx5nUi/+fc8k4n7gb7WO5k6pOo+aYVCTz5JTsw0qk3I75PjnimhzW8ViGuaq0mKxWNrrKrslxPj4dT5PD/E6mzC8MjLmKo8nR27fnRz85E0r47YWEB1qgkhtdxWQp9pERsu1dDpocsZBus9VxOe2zw4cv5KhVQGaBosmpztzLLYa/l9bl7NgKDwaKJqeSwkkGaHaMrhLSqhSKJIe1a3LsyQD5L/7bGQVYfyqRs0yv5Qo5Ad7Oo6usVukQcq65SriNTcNiO2bax6LIzWG/tIMzIxdwzVXC29Fjos1V9KTNwGYkpn1yqKy8/ASDYpmLRdsLanLsy4QSGNIwLfNKqoO7rMmRKeQImdVoTY5YZmMhzQxtwpr4x1n8dSZRtL2PXiuq5Ss2WTljUKh6XE3JRbfZu/D+72c9PRSFSooi5FRSxPLkMEKOUC6TbJPwrMwPITdbCLJEvm5p9Bo1DFoNNo/rgf+N7S6pyVFRPjlSyHE8NlutYOYxOlrm2K37TsfsCmbKz4cZPyd7r5hPDl/IYTU5juYqIU2OFyUk6LTOhRaxffP7ZaA1UHJ9cpi6UnJ8cmjnZ6noKhpBTU6OXfNVyLe1liDkq0ObVdedvIvxa8+ItvfRa1hz1dPtamHdG11YQW7Mzyfw0Kyd2H/9nqxjUKh8zN9+DUazFZvOJ6PzzB34frdwvUOFBxdFyKmkiGlyilhzleNklCMitzATGZ0MMFPET4GGmVCbRQWgZXSgZFtmsnUWDSM/47HtmH10GnaCPB6fKdiegVCCoZyoHJPVHu6uEfTJkWeuYs5Tep6AkMMImAKOx4CjpsWZUMJfLygUUefBmbmKzZNTJD+6Sk9Fl8nX5DiOM5USCgtNLmhyJK6toyZHw2otIwK80KFOCGtuu5Jiq2K/fN9NJ6NXqKzcvm/Pjp2aU8xJ1KmgAChCToXBz03DIPbdLirkmO2TPx8xIYexXjATpNFCRP0UaJxNuDTMHOYsMR8910nlyWFMEgadGouebydrDPR5EjvfNBYn0VVi46MFEy0l5AiFsQtpiLzKIORo1SrOuISEB/oKyC3rwPinyNHk0I7wdBI/KYSEMdonhq5QTiOsyZEQcnj3n7dei+wSgT6oZKz8c16ajNkKnic9r9jl2mYKDx6K43EF8L+zSXjn/05jwXNt8GQbbjSN2OuVG0Iuz/E416m5yp4nRyh3CB9nWgAaukCnGCqVPE2JxWoXPrRqFQY0j2AT7klRaLSwAoQcIcdktTpEV8lxPKbPi5pyPJbK1UPnrqE1OWo1Nxuy1onjsUplM48xAp1Qe/o8OY+u4q6X45NDCzZimZv5OGtXYBQRcgSuo6QmhyewqFVg0yUE+ZQIObz7ujTJJBUqFuZ53nYxFUE+OmQWGHHnvqOjP9PWlQ80heqNIuRUAO/832kAwPi1ZxyEHDHENTm2yUAokiBfxPGY6UpH+eQkCUQC8XHmtEojx1zFn1AFfFFt46OiqzRqW3I8g1bN1mMSo9BkARMfJufr3GwhVHQVM0Z6vMLb6XiaHMYROUNCyOFqchy1N2arpeRv50IDLeQICYp0fJuYoGZfz/0tJ7qqS/1QvN6zHprVdKyWLoYzXyMxcxVzHxy7dR8atQrtY4Mlo+z4ApDFatdaBnrbTGsOQo6A9Lz32j0kZhbi+c61JcetUP6YLVYM+HYfsgpMspJ+3sstRlSQdwWMTKEqoAg5lRT6ZU07HjPvYyHH4wIRIYfxt2Am56TsQty455ghmQ/fKVYKe4FO8TYavpAjowo5I08YtBpZQg6DLE2OxepQ34sOyRYbHx1dpVbZHY8LJcZHa1z4Aqpeq2bHzq9YLoReqwZK3FmE2rtSyosvBMnR5KhUKkx6tKn8nQDQOBGYxTQ5FitBbpEJw5YdBgBcnTHQJZ8cs5Ww5qpgEU2OUH+jfjwGAGhbOwhNXRDmFNxPSk4Rbt7Ll90+NadIEXIUWBSdXiVFLM09g1AIeYFZeFLOKbK95JmJNrfIDIuVOOTF4WNwxSdHhiaHLzOIVyG3UkKObQxCZQH40HW9xOpccffjmAxQTrJCWitDOx5LYXdsdiw94EryPn57QZ8cF4Qc/uZyNDmlwakmR8xcZSVIy7U7KN/PN0reY0KaHLu5qkSTw7uv+c8a7cB+L9fRmVyhYhFKskkzqGUklr7QHmEliUtTc5S0AAp2FCGnkiKkQqcR8skR0+QwxRd1vK/+R1tESu6DrtHkDDmOx3zNiJgphdbkMJOjQetcw1BEa3JkZLP98+RdbLuUyhkb1/FY2seJ+VuOkMMch5dW49AvLfTI1uTw+qVxxcNEBdc1OaWhtD45FosVGVTyv4w8o2Dma+Z+4QtARrOVTZcg5pPDF4xojaEzHymF8ocvtPCvn79Bh4EtItG+JEO4M6FI4cFCEXI8jNgr1JkmxxWfnFyeJofBWWSMSz45MhyP+ROdVO0qZuJh2sjS5FBCjlCmXD6rj9y2j00lFEIuvB1fyJHj5MgIL0LCKUdokaXJofYv6HgsX8zhH6Mrzuau4EyTI+p4bCWc0Pz0vGJBUySzjC/kZBeaWJ805n7X8wRmJl1BodGCu5kFbB0vQPweVSg/5m+/hpdWHmPN9Hwh59EWkZw6ev5etr8jAhRNjoIjipBTSZHyOwCEJ31RTU4x1yfH3of0V7srEQqMcCDlCiPXXGWx2jMRM5O+nJTt9Be4VJ0rIYTNVSKaHGq5Vq4mhzkOgba30u3+BvXD/BzW86Enab6fk6vwtUpl7U8MZ5qcQomMx1whx8jR2DEwzwv/uWEEFm+dhr2HHELIS7YZtHA/us/ejTN3sth1cny7FNzLgp3XsefqPWy5kAzAUTMT4qtnBRsA8GOEnJJiwov3xOEsdQ0VHmwUIaeS4iysVcjx2EKEJxLmw57v7+FMcHDlq56ZN6Q0KA7RVRLmKnt0FWOuck2TIzU5CWmomEX0KrHx8Z2T5Wi8mOPwkjAHBfnoEBPiI7qeQa/hCll8XHM85v8uHyHHmRmuQEBwAWwCCO0Xk5FXLFjnijFPMlqZN3vW5axnTFWA473ECNSMsLnu5B12XbETZ3eF8iMxyxYBmsbTzIT46BHgZb+ejFYnNsSXXTbn3ysVMEKFqoAi5HgYOXlyhJCqCC4Gvy6Sl06N9W91xagusYLtXTFXMQKBVGVn/te8aDJAOrpK5YImh3Y8ltDkCAlvTMg5N0+O8Pb0cdAh5FIwwoiQcDqudwNEBnhh3RtdnfYDOJaV4CNdIpWLo+Ape1OXcKbJEbvd+ZqcjHxhTQ5rrmLKgfBMUkFU+Qn+vcT3f6OrlosVDlUoH+icYPdLfLFSc3lCjh9Xk8P83b95BIa2jwYAXEjMcclsq1B9UYScSkZiViGOx9+XNPsA8iZ9Pjq1oyanXe1gTHm8ueCE7lIywJK+pSo78+c5eSHk7tfkCEUwxZWEqMpJVkibdNQC5iqh/llNjsB1e69/Yxye1BsNwp2bqgDnPjwuaXJ4v4WqmrsDZz45Ytg0OXbH4/RcYU2OkeeTw79fgij/M7oKPOCYQJAWcowW9xaFVZCGzny97/o9HI7LcDBXhfLNVQbbtdVp1JjxVAvoNCpkF5pwN9N5LjCF6o+SJ6eS0WP2LlgJ0K9ZhGQ7IY2AGO/0bgBAwCen5GtXrVbBz6Blo7AYXCvr4FyTwzeFyHE8ZiZxg4zj5Tgeu6jJ6d6gRsmY6PEJb88XBDgh4GoCL50WJgv3XLKOxyLH4YqZiBtCLpAnR3ZPjsdSbpqcUkYpWaxW3KN9cvKNgl/ojObOLFC9HuCaq/jXgJ9ugC55opirKpZ8yun7Wmoehq844tAm2EePAEpo9aMEHoNWg4bh/riUnIOLSTmyzL8K1RtFyKlkMO/b7SWhzWIIRekIcXhSb0QG2Bzy+F/9tPNygJfOQchxySenpGtJc5VM04jFamV9K1hzlYwQck6eHAlNDt+U8V6/RujWILRkTM41OXytBH2evDXC29k1OWVXnvJrZ/FxRU1fUT45pXVoNlsJ0imfnH3XhCuG86OrXBFyiowWzjlj8uoAXHMVIQRfbbmCmoFeeKkb1+dHwT3QkW1ihPrxNTncaax5VAAuJefgUlI2BjpJk6FQ/VHMVRUAfx6iX6ilnVLkanJqBnrbq5BLRFcJhZO7kiOEmdilhAv+eaAn1AAvLX4Z3RkAt0Ana66SIRwUyXU85k2AbWsHsWOhNRtiEz5f+0ELHV4a4XIVWglzlavoeBmX+ZQlT055hUy7aq5irrvZQjiaHDFYIcciLOTQhUe9eUVIC0wWjg8XLajTPiKXknOwbN9NTP3fJbmHoeAiBSJRdjTBPnr4U47HAV7c69mkJEP19TTnWd0Vqj+KkFMB8J0u3VEPsDSTJX+ioQWHhhGO/iCuTEysT45L5ir73xq1ij1PRouVDXtnXmayNDkmeY7HfGGP42Mjw1zF10pwNDla4Ugi5thcMTOKQWeiFhJEXXMYl/7tLuQW8mRg/Jryi82S9xRDep4Rr/50HFdSbRObo58UXSDVsUCnmAaB3ncepelUQsvLhzyRavR0ksogH+EQcgYm87GcOlcK1R9FyKkA+JO7O6oeyzVX0fAnGtpsI1Rs0RUTA9O1lOOxVDJAtUrFTti04yejYZJj5imSmQyQPwGK1asqjbkqxEAEJ3RX8v04w1lZh7nDWiMiwIA5z7Zy2pfcsP6y4mrmYB1bD8x+TV9/uJ5o+5mbLmPH5TT2N/8a02H3Qs/OsVsZgv2KRVcVioS8K5SNfBFhs2V0IBY81wY/jOxgyzJOPQN8c1VISSQd/R5ReHBRhJwKgD8POQsPl0NpNAJ8YYsWHJpFCQg5MkoM2Nva+pYKuZWKrlKp7Joc5gvMR69hJys5ZR0OxWWwxRglQ8h5E66WI+RQ4xM5fClzVbNgAqH5nNXkuKFsgrOyDs2jAnH0k74Y1iHGaV+OPjllHp4grtxLgN3cRGdC/vjRJmgc4S/Y/mpqLm977nmmBUMhQfONX04J9kvfz/THSaHRgl+O3MaJ+Ptih6BQChiN2iONw9iACQCICPDCk21qoW9JQAb9LvPlmR8Z/6v7BYomR0ERcioEvkaEzspKT8WuOIxKhVQ3LxFYavjpRdsA3MlZqNKyC1YPyifHhdpVVP8qleOETYf9ytHk3M0sxGurT5SMQyqEXFyTo1IJ/03To6EtEqtmSYZVWi3eLIgITujh/l6cbcqCM02OK8iNeCsrrvrkMCY/Rjun16ihUqkQ6uSeZnAogkqbFF34QCimNDa0wLX7Shomb7yAZ5celt2XgnMYTY6vQcuanQCbkEND3038j44QX0aTIxyJp/BgoURXVQD8iUPMXCW3FIFeo5ac3CY92hS30vPQp6l0GDo9wdXwMzisd+Xr2x5CLq7GdwxX5mpQ+MdEh4nKyZMDAEdv3cfx+PswuyDkaERMVGKnOCLACycn94VviZq8ZXQgAFtSMj+dGbOeao4XV57AxwObsNuM6VEPLaMD0aVeqKzjkMJZMkBXkJu7qKy4Os4G4X5IySliI+YYH51QgftUCKlK765o02jzK52VmS7FYbWScssv9KDBCDl+ei3CqGsd7s+97lLCbnCJucpksfla0U7KCg8eipBTAfDnDbr4Jr1KrjOjXmv7qlWrhJ2Yg3x0eLFLHZfHufSF9jhyMwOrDsUDcE2Tw0xiUoIa/6uKU/EbKgeHXTrs1xVfll+O3Ear6CDR9fxkfdyCm/T4xCcuerLtEBuMta89hNhgA47t24mOdYJxefpArkOyXoNejcNlH4MUtLmtzJoch+iqMnUnilxNTs9GYejZKAxWQnDgRjqrPWHOZaivPE2Og09OqTU59meSrq9F+xjdLzAKfiQouA7jeOxMkzO4ZU0cuJ6OjnVCHPrw1mvgpVOjyGRFZr5JEXIecBRzVQXAn4joNPL0tC9XyGFesGITXGkrSQ9sEYmpTzRnf7vyVc80lYqE4WuOnWlyAr3lCzm9m4SzuW7u5xvZPDtCOJirRDQ5co9epVLhoXqhnImuvKp5A9zyHM5qQjlDKqzfncgVxno0rIFXutdlrxFjrmJ+88OFxdCqVZxjowVDVwRm2ieHzsNER1qlZCtVr90Fq8kxaCSFHK1Gja+HtsawjsJ+Z4w2J1Pxy3ngUYScCoAvLNCaHPpvueYqZmITE0Lkmnac4YqWgDH5FEuYq/hHRw9fpVIJ+OTYv9qdHdOPL3XE0Pa2Fx4h0tXQHcxVLvrkeBqu5qmM5qoKyngsVxhjrjNzXHxNjq9BppCj4WoGS2uuou9n2lyVSUXupOUqQo67YIQcH4OW89EglMdLCkbIUZyPFRRzVQXgEEJOqTTov2Wbq8pJk8OnVHlyJAQ1vi8SvximgybHRXMV052VEMkINikhh5snp3IKOfSwSlsTSoxy88mRGULO3LvMcRVSjseAY04U0f0xeZdK5BJunhz7veSj13AcivmIaXJoDQG/tpJC6cmjHI99DVoMblUTmflG2XXdGIJ9be+OLEXIeeBRhJwKgO/bQtdVouUaqXpLNIy5QkzIkRNuLQdXnCnl1K7iCx5ieXIYAmU4Hg9oHoGejWy+LowwSQhXQ8ZHrxX3yZHjeOxpaEfpsjseV67oKj1Pk1PIM1fxc6KIoeFpBsWEnIcbhqFxpD8W7Lwu2A8t5NDCEJ2DJTVH0eS4C+Yc+xls1+j759uVqh9Wk5Ov5Mp50FHMVRWAg7mKCJurpBLp0egqSJNTqmSAUuYqB58c7t9SPjl0CHAwpeFZ9mIHPN+5Nqc/KyEcDRkfvulENLqqkko57jRXVVyeHHkdM8III/AyQjNzT7eJCZK9P1p7RAu2tLnKSoik+UpMyKHTBtBCDiEEpxMyZZUnUHCE1eToy/b9zQg5X/xzCUdvCid6VHgwUIScCkAqhJyejKWy9NIwE4GYEOIunxxXJnm6JIMYfE0O3/9FKrqKPofRwcKVhZlIIQLp0hmOeXKovzl+QuJ9eBL6XJS28KW9L+7vsgpNYohpchwzEzOaHH4IuG372FBf/PV2N7SsFeh0f2KaHPr5sBICHwEhp2OdYADcPDl0Rm3aDHLs1n32Y2Xdybt4avEhvLTyuOT4FISxOx6XTcihP5B+OZpQpr4UqjaKkFMB8H0u6cmeFnhMZnnmKuaFLSaEyDENyJkbXfH3YAQWqWOQ8pMR9MmhXlT0WGoFeQv2wTZxYq7SyTZXVU4ph5uVuWqYq8SEJ344N98nh78cAFrHBKFemK+T/XFzSdFCDi1cm63EYQwvPhSL8X0aAeDlyaG0M/mUVifuXj7e+/0MAGDt8TsAbIJPeZBdYOL4BlU3aJ+cstChREgFgAwZBV4Vqi+KkFMBOGpy6L8pIUemJodR5YsJIXKiguQIMEKlHsRgNApSmhyp5KMqSAs59LooESGHdjyWMlfppMxVIlqdykR5aVuAiomuovfBz2TNCBz8Y5RyFhdCoxaPrqKxEm6F8qfa1sIXQ1qwDs50nhwpB+UTtzMBuFYc1VXyis1oPX0bOs/cUW778DSMQzdjbiotjzQOx4Ln2gAAcosU0+GDjEvi8tNPP+3yDpYuXYrwcPckQauqSJqrOJoc18xVZfnqlpokdr7fE6nZRWgSKV/IYbqTOgYpE5JaIIQ8hEr8RufJiAoSK41Am6vkR1eJlXWorJocd4a2O5TaqABNjlatZoVhftQc8wXPvxf4JlhnQrpWreLsU0z4sFq55ipmP8z/YtFVDINb1cSmc8lIzysGIUS2P9zuq2lYffg2Zj3d0iEHjBhxabYK6zlFZhSbLW4LMKgsFJksKCoRKoN8y57ALzbUpu1TqpE/2Lj02bFx40bo9XoEBgbK+rdp0ybk5eWV19irDPz3MS3YWDk+OXLNVdKOx3KQyltSP8wPXRvUcKk/RlAoltTkSNe14h8PnScjzN+AX0Z3xp9vdsWgljUBAA15YaW047GYuUqlcqyITU+YGpWwwFOZcGfYuGNZB7d1zYFrOqKcgHlCDuOLodXwfXJ4Qo4TjYmGL+SICB8WK9fx2FHIEa5dxRBdolUsMllRYLRw9pOaUyR6z7+88jh2XUnDjE2XJY+DxkBpvcQm7iKTBasO3sKd+wWy+60sMFocrVoF/zKaqwB7duyMfMVc9SDj8p20cOFC2ZqZdevWuTyg6oiDJkfEJ0d+dJV0CLm8MZV6U5H+XA8hp1GpHJ1o+V/53RvaBa8Tk/s6OCdyQshFdiUkTNGanKoQQu7OqK+KKtBJD9kmoNgEBrmaHAchx0VNDr+UB4OF53hsKBkP8z99PxeaHIWcYF89vHUaFJosSM8r5gg5nWfuxJuP1MdHVA0zPum58idgeiwZeUbUDHQ02y7YeR1L9sRh6d6bOPJJH9l9VwYYwS3IR++WDwxGE2wTQM0cs6TCg4NLmpzdu3cjJMSxVogYW7ZsQa1atVweVHVDylzF0eS4nPG49GNy9iXsKnK6k1JUqVQqzuTt7Euuhp/BYYJkNieEiBZBVascJ0iNiGBTWc1V7hxXRRXopCct+vzzfXIYwZUviPI1Mc4yKKsloqtoCF/IKdkPY94qNltZbYyQucqgVaOGv20yTc8rhoG3nyV74lhnWiFcSfdAm87SRZxp/zmXBABIqYK5e5jcQ3SKiLLgo9ew13PlwXhOdJzCg4NLM13Pnj2h1TqXhu/duwcA6N69OwwGpXAd/8tbNLpKdoFOxvG49IKKq2nSnSFncpTU5PB+l8YmzwxByifHVthUPLpKVQU0Ob2b2DSpzsKo5cD/YlZVQCiCWGI+wC70ONXkyMigLN9cZX+nseYqSvhiNKxCuW8MWg1CfW3vuPQ8o6DJecPpRNExupLugXaCzsgTNldlVeHkd+5yOmZQqVSsyfvrf69i4h9n3dJvZeRycg6eXHQAPx+O9/RQKh1ue6VZLBb89ddfePLJJxEdHe2ubqsFUj45pRFyWE1OKWbhpS+0Q70wXyx6vq3L20ohR8iRiq7iy2uledFxzVUiQg4cJ0gxE1Vl9ckJ8dXj4rQB2Ph2tzL3xT/EitBeaSWKZTLnnK/J4QsDcky19LHwhaRxvRsAACY/1gw+1BiYZ4reH6NBETJXGbRqdiJNzysW1BacKom8EsI1TY69bzFNTq6E1qiyw9QDC3KTJgfgBi/8cy4ZU/++iJyiqisICpGWU4THvjuAs3ez8flfFyVdBh5EyizknD9/Hu+99x6ioqLw0ksvwd/fH2vXrnXH2KoN/Bcyp0AnNRfLLtDJOh7bl0WLRhxxGdiiJna9/wiaR5VdC0AjZ9KR0uTwJ9eg0gg51H7E5EUisC+xDMKV1VwF2HxX3BFK7pgnp8xdOoUTacXJX2Nvw9dS8n1qdC7eb/zt3+vfGFe+GIh2tYO5GZBLHkg6GstotsJksQo+nwadGjX8SsxVuUZBQYgvkNDOyKU1V2WU+K/cSMvFs0sOYeXBW7L7qaxklhwTLZiUFV8DV4hedSgeqw/fdlv/lYH5O65xPpYP3LjnwdFUPmQ9YcXFxVi2bBn++OMPAEBmZiYWLVqEdu3aoUOHDrh+/ToyMjKwf/9+/PLLL3jqqafKddBVDb5GgFZp01mOzbILdDpmPB7bqz66RVjx88vtyzLUUiNnchTzkwEczVWlscvTmhypSC6+KURMe1NZzVXuhH+IFSHYEWK/h2nhw4sKiXbmk8PPiCwEfbsJ+eQwWiRaa8M8giqVil1eZLKI5sgxaDUcTQ5tUmLgm5bovvgaqgU7ruM/yw4LaoToL/SfD8fjwPV09J23DyduZ2LBzutstuCqCmOuKs0HjhhJWY6+SfHp+W7r39PczsjHbyUJKBnz9f8du+PJIVU6ZAk5I0aMwO7du7F//360bdsWUVFRWLNmDUaPHo2kpCT873//K3EcVXILCuFgruLUrrIvl22uKpkYaHOVn0GLYfWs6FIvtPQDLQNyTGeSyQB5k2tpzFWc2lUSAhVfcyMm2FRmTY67cMyTU/77JCCscEMnZqSdkPkmxdL45BCOJkf83URff/rZZISgIpNVVICwmats9+qhuHTkC/jt8DU5dHI6+vwTQjB/xzUcvXUfPx2KdwgDp81VRSYrXvjvUfa31UqQmFUo2t6+bxP2XE2T/a6pSNzteAxwMyfP/09rAMDdzEKx5lWOvdfuwUqAznVD8M3Q1lCrgO2XUrH3mqLNYZAVU3f48GFs2rQJ9evXR3BwMD766CN8/PHH8Pf3L+/xVQtojYvVys3hQr9UGXW4v0EraVtnixjyTCuejB2Q5ZMDKXMV93dp7PIqSi8hFcnFEXIkQqgfABnHIz45hJQUXDVaOMKKQUKTIyeEPMRXz8kfQ5ur5Jr26GfTW6dBdqEJRSYLKxQw4eL2MasRWqLJibsnrCG4n2+E1UrYD4G8YrtPCKOdmfHPJfx1NoldPmvLFczacgVHJvVBZKDNFF0s4Wvhrdc4CEX5xfaEgQVGMw7dyMD3e27gdEIWPhrYBG8+Ut/J2ahY3O14DAAzn2qByRsvYNKjTVlncr4wWJU5Hm/z9+rWoAYaR/pjVNc6WHkwHr+dSMRjQZ4dW2VBlurl1VdfxYgRIzBw4EC88cYb2LJlCyIjI/Gf//wH//zzD8zmqq0mLW/UvC9FZ47HTEp5MYQyHntaiSanUKSkuYq3vSvZlhk4yQAl1EYcvxveeasKtavcSUXlyaEhxH4Pcwpn0pqcUjge8wttysytyYH+6GB8dQpNFlbLUDPIi2M6M+g06O4kcabZSjjOrrQmJ6fIhCspOfjhwC3cE8iZs4/6IhcyhTEUmawOZrFcap+f/3URr/58AqcTsgAAGyUivjwF45MT7EafnLa1g7FpXA90b1iDrXmXlFUo+S6qKhBCcLykRhpTq6tDrC3FS2aBkuWZQZYmZ9q0aRg+fDj8/PzYyKkzZ85g1apVePnllwEAVqsVly5dQrNmzcpvtFUUet6wWB0nYOYrj/HVcVaBVyjjcXnWM5KDnLlRuqyD7f+VL3XEhcRsDGgeUYpB2P4jREKgIlynVr5wRv98EHxyKirjMQ0hxGWfHL4mR8j85ODgL2UfFaEF5ZDPmKsKjRY2fDzYR49CowXJ2UUlbdQI9tVj/Vtd8fTiQw79BXhpkVNkRnpeMetrQufN+fdiKv69mCo6nqRsu9ZByPzEUGSyOOTjoYWpdSfvctYxuX0qEzkl43V3eguGiAAvaEves2m5RYLJFCszJ2/fh0GrQYsS35u7mYVIySmCVq1C2xibkBPgbZs78pR6XSyyv/+bNGnCCQ1v06YNvv32WyQlJWHp0qUYNGgQhg8fjujoaIwbN65cBltVoV++QpE/zNcjo7p2pslhJmkps0tFU1YhizE19WoSjnf6NCxV+DajhXCuyaG24ScGFMmZU12pqNpVNAR24UYrqsnhvpr4jsdCt5tUFKMztk7ogdnPtMSglpHsMu+S8dCanCBvHSf6hzEHiU3Mdqdk+5e1KwUjr6Xmsn8z5qqRXWIR7s/NP1ZsdvQbooUe/mWlS6ZUFpj3nyu5g1xBo1ahZkkUalXzy0nJLsIzSw7jse8O4MlFB/DhurPYfTUNANA6JojVOvp72e7DHEXIYSnz3aTT6fDMM8/gf//7H+7cuYNx48Zhx47SV8n96quvoFKpMGHCBNE2q1atgkql4vzz8pIXQu0J6InEbCWciCrArnVgljM3qhjMC59rrvLshFxWM4c75lamC6lkgASEE5njGGn1gEVXeUBzxTFXqUunyaEH3iDcD5MHN3W4lq5YJJpEBuA/HWtzhDxm4igyWZBVaBNyAh2EHNu4gnhCTr0avlj5UkdWmKBNSa58ZV9OdhRyvHQa1g+I5j7PRHHnfgHrfM0XaspLWyJFTpEJW84ni2YeZo5Pykm8rEQH+QAAEquYkHMs/j7799m72fj9xF2sP2UzOdJa74CSD+Sk7CJsvqPG7QzpGmYmixV3M6tenTNXcPlu6tGjB7755htcu3bNYV1kZCQ+/PBDXLp0qVSDOX78OJYtW4ZWrVo5bRsQEIDk5GT23+3blTf3AT2RWIXMVSW/acdjKZiXuVhhSU9QViHLHb4g7ARFuFFrfOh3qEMdK5Fw8uqKJ6qu26KrSpznZfrkSOWT+XtsN7zao57D+EtjrqLxpsxVjCYn0EdYyOELDRve6oZeTcIR6mcv+cDgSsK++Ix8VkNTXCIcGLRqwQgkvk/OB+vOYcneOACOQo4noqve++0s3lxzCl9tuSK4nhmTK7mDXCWqxC+nqjkfX6c0egxn7mQBAAY2r8kuoz+Q/72rxnM/HJPsd9L68+g+ezcOx2W4Z6CVEJfvpjFjxuDw4cNo3749mjZtio8++ggHDx6UzEsih7y8PIwYMQIrVqxAcHCw0/YqlQqRkZHsv4iIUvhwVBAcx2Oro7mK8cVhHY+d+uQ4Zjz2tONxWbUA7phfOSHkkuYq+8mSMtc8CI7HngiZtxL7RCaW/ZgfIq6XCBlnBFW+wFrGV5LdJ8dkQXYhY67Sc8KSmUKe/FpwXnrbb0bIyaCFHBcy7hICpJU4JBdT5hwh51whZ9M5W69i3cm7yOatk3JiLi92XLb5Hq06FC+4vrzNVQAQ5m/PaVSVOHs3W3B5s5oBqB3qw/7257k6pAuU/8jMN2LD6bswW6ysr9bUvy+6cbSVC5fLso4cORIjR45EcXExdu7cib/++gtDhw6FxWLB4MGD8cQTT2DAgAHw9nbNqevtt9/G4MGD0bdvX8yYMcNp+7y8PMTGxsJqtaJdu3aYOXMmmjdvLtq+uLgYxcX2GzsnJwcAYDKZYDKVb5pvQuwvlCKjCUYT90uuuNgEkwYoLlnuo3dSfBBWmEwmqKiQbGKxfeWV97GIoZEID6cRHx8p89gtJefASgjMFomAeqt9nVrFHZPVYr82xGpxaUxMW09dg9Jgpc6TSlUxYyeEgJnH6PtGr1ax+ye866fm3R8WOqLTYoGJWDkCm8lk4piFS3NchpIacflFJmTm294d/gY1cgopQZhYYDKRkvZqVhBRWS0wmawIKdG4pGQXsmPIcTHyJSuvCKZAPQpLnJ+1aiDQS+PQTqyiuVDNpkKjudyutZznQGgdUyMMxLXnzhVCfGxTXlpOUZV5TgkhOFeiteHTr2kY5zg0sH1A0Ikj+cf52Hf7kZhVhHxK2L6amltlzgfg2vNc6trzBoMBgwYNwqBBg7Bs2TIcPXoUf//9Nz777DM8//zz6N27NyZNmoRu3ZzX11m7di1OnTqF48ePy9p348aN8eOPP6JVq1bIzs7GN998g65du+LixYuidbNmzZqFadOmOSzftm0bfHx8BLZwH2lpajBKsx07duJSlgq227FkDNu3w08H3Iq3tUtOuAUpJduVSxexOeMC0lLt/Z44cRx1/YHt27eX23FIcZl3TGJs3ryZt8R2C2akpwusc434XFt/+fkFSLXmQ+gcWq1WHD92jB2rsbiIs9/0IvuYLlw4D7+0cy6Pw1PXoDScybBfN2K1lPkaSGM7r0XFxcjJKgKgxrUrl9n930tNwubNti9L2zva/no6ffIECuPsAtGFFPu4t27dAgDIzdaA8czavn07Cgvtv0tzXGmJtufr/KWruJkLAGrcunoR94rA7nvb1q2sFlJN7PvbssU2prRU2zgvxN3BLxtu43CqGmlFtr7ksmPfQSQEEty+YxvPjauXkWNUOfSRlJEDQAVvDUGhRVordycpGZs3l28YueNzYL+e/OthJYDFalu/b/cu+JWTy9DddNv1uHrbfq9VFtKLgLRCFZoFcz8Ys41AVqHwVO2TcRWbN1/lLDOoNDBSOcP+989m1kSfYwQSs2x9rTtwAfQ9tO7vzfAptURQsRQUyPcjctshde7cGZ07d8a0adNw6NAhnDx5EsnJyU63u3PnDsaPH4/t27fLdh7u0qULunTpwv7u2rUrmjZtimXLluGLL74Q3GbSpEl477332N85OTmIiYlB//79ERDgek4WV/jj3kkg22bz7NmrF3AtHbh5mV3fq3cfhPkbsOfP80BaMlo2a4ytd6+L9te2TSsMalsL2/LO4UxGCgDgoc6dkXrpKPr16wedruKdCkNv3cfSyyecths0aBDn9/jD2wAA4WFhGDSobCUpztzJwvwLx+Dt7Y3QGr5AlqOdWa1Wo1vXTlh0ySZQ+/r4YNCgHuz6O5kF+OL0AQBA61atMKhdLdn7N5lM2L59u8euQWnQXEzFymu2L32dVotBgwaU276Ya63T6VEzPBDXstPRqmULHMuOx53MQrwxqAN6lOScsVoJ3j9qnyS7demMznVD2N+ZRxOw7pbNt4O5p35OPIb4vCwAQL9+/fDF+YOAychp4wrn/72G/anxiK5TFwlx94GcXDzStSNupOVh612bT+LgwfZ+v7ywF4Ul2hRmfz7X7mHtzdOAdyD+TFHhQlKOy+O4bIlEZFgYgu+nAffT0a51S+QWmbEt0TYG5su9wKoGQGAitv+F8NVrkG+0IDDE9ryduZOFXVfv4e2e9VjTW1kRew7eP7qdNc3zr0eRyQIc2WlbN7C/U5N9aQm+mYGfr58EMfhj0KCyF7h1Jw0/sz0fv47uiI517C4bZ+9mAyePOrTvEBuEl5/p6OA7+O21A8ilHI7fO6rF3Gdb4onWNbHy0G0ANqEoNroWzmTY5+jwpp3wcEPpnE+VBcYSIwe330kXL15Er169WNOBM06ePIm0tDS0a9eOXWaxWLBv3z4sWrQIxcXF0GikHz6dToe2bdvixo0bom0MBgMMBseIBJ1OV+4TEsfPQ60FVLxwWI0WOp0OFmJr56WXHo+X3jZmPRWNYig5hoo4HiF8veTl3RAbm0ajLvO49SXbE6hEnXwIsbcDbL4U9H7pdTqttlRj8tQ1KA06nf0VoFapKmzcsTV8gevpqBPmj03je+B2egFaRnOLxqpUdr8aHy89Z2xq6p3ALNdQfjE6nY7jk1Oa4/I12LYxWuwhuSF+XgjIs6vK6X5px2lmeVSwLwAgLddYaj+QXVfvYdfVe2gSacsw72PQgw7Qiggw4M79QjZwQcrh+pPBTfHphgswWQh0Oh2GLrc5pgb5GPB6T/dmQOY/B/5eWrbSuJmoOYVRC6jj8fUy2DJilwM1g2zXIz3PWGmf0dN3c9C1YTiW7Y1DRr4RbWOCHNo80ToKc55tBb2AYBrgowd4UVXvrzuPQa1qYfvlNHbZzXRum+wiS6U9J3xcGafHi0316dMH58+fx5kzZ9h/HTp0wIgRI3DmzBmnAg5gE4rOnz+PmjVrOm3rCeh3jtlqdUhUZyFcx2O9RoXBrbjHQkebVMaMx3RK/tLgDpdXNrjKSe0qTlSaVAi5x5+O8sdTZSw+HdwUW8b3wMMNayDAS+cg4ADc66SXEVbsGEJexugqTsZje/HIgc0j4aVTowfvq1foGYgIsGmn3eHoerOkbATfMdfPwH3hf/5YM1Hn3dASh+WUnCLsumJPQnj7fvmHEdP3WlJ2ITadS8aIH44gLbeI40PCrxjvTpgos+xCE2efnobOaaRWqXA7Ix+ztlzB8n03ceBGukP7moFeHEd9Gj+D8PIV+2/i5O1M9vc1XsQW41xf3fD4a9zf3x8tWrTg/PP19UVoaChatGgBwObsPGnSJHab6dOnY9u2bbh58yZOnTqFF154Abdv38arr77qqcOQhK7ZJJSozspGV9n+12rU+P75dpjzjD2Uns4doWWjSex9eDqEnP6KLQ3uiOxh+pDOkyO/dtWDEF1FH2FF5VoisAkETWsGSIbp06HacsKK2/C+eMuauZ8JIc8tMiG/pHJ4kLcOwb56nPm8P1a93InT3kvgGQjx0cuatL8Y0oLzO8BLi4HNIznLGMdcg06N5lF2Ezt/v10b1MCVLway42fQa9SsQJRwvwCvrLKbl52lrXAH9ESekl2Et389hYM3MjBn61X22PQadbmmbgj01rHvz4x890dYZeYbSxVpnJJtr5ZeYDRzMlTTggmDlDlPLH3G4j03OM8EvxZaTmH1TCDocSFHDgkJCRz/nszMTIwZMwZNmzbFoEGDkJOTg0OHDlXakhL0PW+xOpYcsPBCyIVCxOkXJaPK5dZg8rCQU0b1sjtfbFZCnOTJET9vtPbmQciTQx9vhYWQy5Q+HqoXyv4tJ0HcuD4NMb53fXzYyvaydleeHLrop0/JV7KXTuOgBRTS5KjVKoT7O/oaTnnc/q4K9dVjWAd7wMQHAxrj6Cd9UStYOELVoNWgc71QLBzeFpvGdeckUQRsNbxUKpVDLS8vnVr0YySgnJMDmi1WzqSaROWpScsthslc/jlyANv1YLQ5QrXCysLJ2/fR9ovtmP6P63niUnPsQk5iZiH+OGEXcq6kOObI8ZUQcowiOZCKStIGDG0vHJxTXTU5Lovv585JR5tcvXpVcr0c9uzZI/l7/vz5mD9/fpn3U1E4mKt4L18zL+MxI9DQ71D64depHc1VHtfkSJirlr7QDu/+dhbfPtdGtI1bMh6z5ipI5snhmqu46zjmm7IPqdLDzQtUMfuUK3p0q18Df52xVebmT35C5isvnQZje9Vno01cKesghFeJkJBfTKccED9JjSL8Bb+6wwMMbPK5EZ1rY3yfhoAKmPa/S+y46edHpbKZysS+1pkPiidaR5Vszzdf2bbjC3mEiH+M8AWispCcXeSQC4w+hwB3UgfsE3N5CzmArW5XSk6RyyZEQgjWHE1AuL8B/XlaNsB+PVcejMeUx8XTmQhBa3LWixRPrVfDFzfTbSZLqdI/tBlu5pBmiAzy4Wjtuje0PVd8YUgRckpo06YNVCqVoEqOWf4gfAG7AsdcZXV8+bIZj822/4V8bugvWbbuTyUq0CllrhrYoib6NYuUHKM7hm+vXSX9FS/XXPUg3Mb0IVbYcytT9uhG+bzoeDfIkLa1sPb4HQe/GJqymqu8tPbaVQxSQs7HA5ug2GzBs+24X8r0PTageSTCA7yQXWCfUPiJD5lbl5/YjYEvCPB9M3z0tu34GmOT1Sr6MeKuqtxbzifjzTWn0CdKjcdLlp2Iv4/XV5/ktOMnqTOauR945QmjyUnLkS/k/HjgFn4+HI/4EofeC9MGOAihZan8ncIT+gCgTqgPuz/AVr6EFXKkNDmUkDO0fTTSC7hmqAbhfgjzNzhkfVaEnBJu3bpVHuOo1nDMVYSwmht2GWOuKtHkMMIL/T7l+OQImLM8PSE7M1c5E8JUbtCb2M8BkfyKlzRXPQCCDY0nanXJnU5rBXnjpa51kFlgZDPVMnjpNNj4tnQIcPeGNbD9UipqBZWu2rQ3q8mhCl1KtA/00WHesDYOy+nsxIxQRgsqzDWoHeKDhPsF6NfMlr1dTMjhCyq0kKPTqNi++YKL2UJEn1PGH7CsvLnmFABgZ5J9P6N+PMb6NDHczshn/1ahYjU5dWv4Ys/Ve4JmICFyi0wOJqhDN9LRv3kkzBYrFu66gS71QpGZbxcSXP3YT+MJOVq1Cm/1aoAP19ktJ40i/LHtks1ZXErIeaRJGK6m5iJQb7umfHNpvRp+iKC0i4HeOmQXmpCjCDk2YmNjy2Mc1Rr69WGxWh0mYAefHIECnPQXDqOqp78QPa3JsTkMlj6VvjsimbiaHOE2hBDOueJH5DxoWkhPOFq74isz9QnX1P40c55phTXRt/FUO2EfBGfQtasYSnOKPhzQGBqVChP6NWTvL3oyZ+7HLeN7ID2vGLGhtjBnftQUA19Qoc1VtK8G/xkwW4moxtUdtazowpsalX3nfAEHAG7cy2P/LjRZWO2DnCi6ssI4qJ8RySLMR0jDsffaPfRvHok/T93Fwp3XsXAnN69ZXrHZaaFlGr4mp1lUAOqH+bG/69XwRZ0avuxvKXPVhD6NUDPAACSeB+A4N3jrNagT6otTCVkAgNhQH5y7m11tNTku3VHnzp2DVcqjk8fFixdhNldPj22X4DseixToNJd8TTE+N+KaHCa6qvJEAqlUqjI5H7tDuGB6cBZCLnXe6HVlrX1UFeBWIa+YeyjAhZd/WQj21WNs74al1uQwGpJ8I6XJKcU5ahjhj6UvtkeTSHtElJDJ1NegZQUcQEKTwxNUaM2Or96+TaMIP/ARM1e5Q8g5ctOefDPc2yZEPPL1bsG2d+7bTSVZBUa7kFPGVBRyYIScS0k5OH83Gz/sv4kT8ffxw/6bghpgxp+ohp8eP77UAQCw5+o9EEI4VeJphGpGiZGeV4zzvNpU9cP8EE05nj/TPpqjvZHS5HjrNRjRKQbBjmnhWOgUJczzoQg5ANq2bYuMDPnVSrt06YKEhASXB1XdoH1yhAp0MhMyo7LVso7HlPaGdjwWMFd5WpMDlC1XTrvawWXePzMBSYWQA7wJ5gE3V9FzdnnLOKte7ogmkf74YVSH8t2Rm2DMVcy8V173hlhkpNjXOv85M3A0OfZ1C55riwHNuYWL3W2uupdbjG5f7cLX/17BnUy74GK0ADO3XOX4lADCoeqZBSZKk1P+D2DtEB+E+OphtFjx+KIDmLHpMp5dehgzNl3Gn6fsUU3Hbt3HtospyCu2Tf6+Bi261KsBb50GiVmFOJ+YLfqekevUbLUSvPbzCSRlF3Eqxder4YswPwOiAm2mpmfayRdyhAgqqaFWO8RWwujhRmHsOkZjmeNC4diqhEtnihCCzz77THatJ6Ox9I5Y1QluCLlAnpyS30Ulal0m0kEtoslhTFccc1UlmJxLo8nZ8V5PHI5Lx3Odapd5/8zpsAqcYwYCQCtRhdzTGrGKpiLNVY80DscjjcPLdR/uhJ9nprxMmWIWGlogaFozAJeTbansHcxVlNDjQ2ly6tTwxbIXO6DOx5vYZeJCTuk0Ocv3xSExqxDf747D+/0ascuLrcL+NcG+euQWc7X7WQXGCvXJUalUaBUdiD1X7zmsO3wzA0M7xIAQgld/Oo7cYjNmP23LV+Zn0MJbr0HvJuHYdD4ZTyw6yAoNfMSKpfL59VgCTiVkwc+gxe+vP4Qle+Jw8EY6XngoFmq1Cuvf6gaTxYrIQC+OH5OUuUqIlS91xPwd1/HJoCYAbPPJnGdb4Zcjt/HmI/Wx/nQiCowWTP37Ij4a2ISTjbqq49KZevjhh10KEe/SpYvL1cirIxyfHAFTCvN+YZJlMS8qlYhPjj36yt6Hp/PkAKV7QTUI90ODcEe1emlgzVWQjhahhUPCc4N9wGQcbjLAB+zYncEXcsrr/Iilf6B9OrrWDxUXcqhxhvs72ije69cI87ZfwwcDGrNBC3xKK+RkUDmEsihzh9ECxIb44Ogtbki9WgUH3z2ThSCrJNqsIoQcAGgY7ico5DBRbxn5RraUx5m7WQDs2pNBLWti03lb3rYEkUzRcjU5v5+4AwB4t18j1Avzw9dDW3OcliMD7U7D9JuKNkvKoW3tYPz8Cjd55bAOMRjWIYbzrlx1KB5FJgu+ohLRVnVcOlP8fDUK8qDD7a1WRyHHbLWCEIKCEk0O8zCJhZDzQ04Bz+fJAbimH51G5baIDbmwGY+JtD+NRkLtpeYIQNUfdSXy66ps8L9m3REBKISYhoj+Wu/bNAL/PXALsaE+DoIK7XjcPMqxPMY7vRvgyTZRoloHoPRCDh15RodQG60qwbIJecVmBPvoOQkWAXvenIpwPAaAemHCH1ZMxBGdrPBiSVFV5r3ct1k4+jeLYCOdaNQqm3lTTqJBi5WwpRX6NLFrOMXuh0YR/uzf7nRP4Pe19vgdvNGzPsfRuSpTJTIeV3XoydIsIORYrTZ/HCa0nMmqSt97zur4VIaoIDGhrKLg1K6S8smhBRkita76izncPDkeG0alhK8xKa/zIzZh+VAamkYRfjj7eX/88053h3a0JqcZVe6BQaVSITbUV/AdwQg+pf0goUs18Cf2+wJ5Y7ILTajh51jMNy3XJuRU1HujvoiQE3cvD0azFUlZ9minKyUaNEboNGg1WD6yA1swlYbxLbznxPH4SkoOJvx2BkUmK7x0asRICKAMIb567P+wF05M7uu0bVk5W6K9mrftKqb8daFKvwsVIacC4Pvk8CdgCyGcjKDMy03sy5r9kuOEkLtpsGVALENzxe3fHkIuN7qKz4M20asq0CenqqFSqSrEMVtMC6tWq/DPO92x7o0uCPUzINBHJxiWTN/OQkKOGFq1CqO61gFQek1OLlUO/W4mN7kcY8qKCDCw+YHe6Fkfob6OJrXUksR8FfXeqBcmrKUwWQhupuchOdt+LEw5Cr6zb10BTUfb2kEAnJurXvrxOP531pbNu2G4v2zNTEyID8dB2V30LHFEjg21CVuXk3NRZLJg4a4b+OnwbVwqEfSqIuVflU2Bo8mx1VVyLNDJqH29dGpWiBF7qTL+OfTqymCuoidJfv6ZioSAiJqrCJEeW2XQiFUkHL+uB+zY5aBWqdiPkvI6P1I5olrUcjQ/8aGFi6hAxzpZYug0avZdUlohhy7PcIfnn3K/JDnep4OboX+zCJy9k4V2scH44p9LOHyTG6XLmIcqSsgJ9XXUJjEkZhZyzFUMfCGHn6ASAFpFBwGQFnKyC0ycvDgN3eSTWBa+/U8bpOYW4Xh8Jj7beAHrTt5FVJD9XrqRlidoCq0KVILv/wcAasYVMldZrHZ/HNqhTOylqhN4K1YGx2PueCt+PMw5IE40OfS5qsJaWLdAC3WKjONIRdzRZfWveKyVrYZVl3qhLgnpWo2KNQ8Zza4/CCaLFWmUiYqfyZ2Z6L11GnjpbEVFdRo1PhjQGMtfbI8t43uwxSJvlZQrKGuhX7lInafUnGIkZTuWWeALOc91dIwIrVkiZCZlFeLXownIzHc0W+27znV4DvSpmLxRUgT76tEkMoA1waXnFePzvy6y6y8lVV1NTqnvqPz8fOeNFADwNDlWwolIAErMVSUJx3yoPBe00NAwwh81/AxoGO4nKNBUBk2Op4dgTwZY9grUDwqKJkeaigixL0t+KQBoHOmPI5P64Cde9IwzbJoc2xRQGk1OWm6x4EcCk6uH8fPhF//099Khf/NINK0ZwFZaL2ZrV1Xcd/fyF9ujb1PHlAYpOUVIFtLk8MK2m0UFYOf7PbH+ra4AbAn2GFNSak4xPtlwHu/+fsahnwPX0wHYnj2mdEllgXZuprn4IAo5EREReOWVV3DgwAF3jqdaQr8IFu+5gV1X0jjraXMVV5Njb2PQqnF4Um9snfCw4D4qgybH0wkJ2egqiOfJ4cMPIX/Q4Eziil7XkXJU5Uwe3BTh/gZMHty0zH1FBnq5bOrRqlWsucrsQiZ7htvpwh+6fJMZv4AoDT8bdUVFVwFA/+aR+GFUR/Z3ZIBt3JeTc9hCmDS+Agn46of5oV3tYJyc3BcLn2uLGjwT1p6r99gIKgZGa/Xtc21x8OPenCzXnibQW4cWtRz9ui4mZVdZ5+NS31G//PIL7t+/j969e6NRo0b46quvkJSU5M6xVRvoifRaap7D+v8euIUX/3sMAPdB4juF6jRqjwsSUtAT5vv9bYnBhnUoXd2g0sAmA5SoXcWnij635YKiyXGkPDVdr/aoh6Of9BENZy5vdBo1K1SYnJirPlx3Fp9uOM9ZtvtqmkM7X70Ggd5c8ws/3xBNrWCekOOBgIX/je2Ojx9tgrG9GwAAtl9KRVaBCZEBXmhX4kgMCGdrZgj1M0CjVsFXr+GE9APAD/tvcn4nlTg11wqS7z9VkfwyujNbJJYhs8DEWiAIIVix7yZ2X3G8/pWRUt9RQ4YMwcaNG5GYmIg33ngDv/76K2JjY/HYY49h/fr1Ss0qCmcT6Ynb9oRZtGpXLIScobLNSfQQh3eqjf0f9sJXT1dcUim7uUq6dpWCHTXHJ6eS3VCVAHU5+yx58pxrNSo2yMEoYa5KzSnC7yfuYs3RBDZknBDC5omh301BPnqHRHV8cxVNdBA3dNoTqSdaRgfijZ71HbRKP4/uhMZUvTE5WYZVKpWDQ/LG00lseL3FSlhn7ZqBlTNRbpCPHl3rhzosTy4Jqz9y8z6+3HwZL686XtFDKxVlvqPCwsLw3nvv4dy5c5g3bx527NiBZ599FlFRUfj8889RUCCcEfJBQkjIaVkrEJ3qhjgsp18QHE1OJdbgMPBf2DEhPhU6bmb/VgLBQnsKjtAmqipwi1U43IzQ1esEta8dLCu6ik7qV1xSafxWej5uZxRAr1VjUEt7sccgH52DUCNVIiAy0IsjPHpCk8MQHmAXTmJCvNEowh91Qu1CmJC5Sgg6xLtmoBeMFit+O26r4ZieVwyThUCtEs5OXVmICXbM28NooOKp8hJV4T1b5jsqNTUVc+bMQbNmzfDxxx/j2Wefxc6dOzF37lysX78eQ4YMccMwqzZCt8GrPeoKFlmjHyR60hEyU5VXBtbS4ulJkn5ZMmG/q17uiMdbR3loRJUf+h6qbpO4O+Bocjw4DneydUIPvN6zHqY83pw1V5kFkgEmZRXiRlou6xQMgI0CZTQT0cHenNIDkQFenOAJQNonR69VI8Lfvn1FRVcJERFgH0eLknBpTlV4mUIOrdli8hCdT8wGYA+VjwzwEi2xURmoTQl3zHEzY6cFYjpPUmWl1Hly1q9fj5UrV+Lff/9Fs2bN8NZbb+GFF15AUFAQ26Zr165o2rTsTnVVHSGHLb2Ifw1dRZjWjFSG6ClneNpfiJ6QGHNV/TA/fDe8LZt4i4/Ud8iD4K/D9Tnx3DgqK9xkgNXjBDWJDMCkR21mGJ1WPLqq61e7ANg+FBiO3MyA0WJFgcleTJie/NvEBLHZixmkzFWATWvC5I3xpCYnxMeeO4cxXcVSk73cophFJvu5bFbTdp7j7tm0H8kloek1gyqnqYohmvKVahjhh1MJWZj2v0vYdC4ZPRraK5hnFhgrRQi8FKW+o15++WVERUXh4MGDOHPmDMaOHcsRcAAgKioKn376aVnHWC3Ra9WcopsMPiLRVVXBXOVpTQC9d0bIcXreHgBBRorqOIm7k+qeR0gn4pNDl2s4cyeL/fuDdefQZ+5eFJZodHx0WvhTk3+72GD4UkKNLYJLepqhC/R6wieHgX5X9GxszwCs16ihVascHKrFKDLZs9czmZVvZ+QjMasQk9bbnLdrupC00RP46LV4tEUkWtQKQL9mkezyE7czcTXVHk4uVLqjslFqTU5ycjJ8fKTrbXh7e2PKlCml3UW1QUgjoNeqoRGI2fXVC+fJEaopWdleup4Wcuj9M4nJyqIBaxVdNTN8ugI3gs+DA6mkVHdNF2Na4Wty0qiMvELZf5mq4d56DYooc1brmCCcjLdnM5aKrGJoEG7PzVKRIeRC/D22G+Lu5bHaCh+9FkteaAeTxcr5AJXi2fbRmLXlCtrWDkJUoDe8dGoUmawYvvwIsksqtUdVck0OACx5oT0IIdh8PoWz/BhVWT6rOgs5/v7+SE5ORng4N5lSRkYGwsPDYbFYRLZ88BDKxaLXqKETNFcJZzz2tClIDh7PsyJwipwrchyvzdFP+iA9r9hjob0VSUUku6vKcDQ51cYrx46eNVdxnwOmlhRgN7XQMLWdfPQajlbCz6DlmKeknI4Z6LIGnjRXAbayDExpBoY+TSOEG4vwSve6qFvDFx3rhECtVqFOqC+upOQigSp70VJGuY7KgEqlQk1eqDtdsoIp3VGZKbWQI5YYqLi4GHq9eF2QBxFxTY5A5mK1sHq8KpirWkcH4eCNDOcNywmhObo05y0iwIvjhFidqc7RQ+6gumtyxDIe0341cfccc3sxVbq99RoMalkTKdlF6FrfVoSTFnpkCTkRdiGnOtyCOo0a/ZvbTTz1w/1wJcWWELB3k3BMerQJx0RX2YmSCHWvlpqchQsXArBJeD/88AP8/OwXy2KxYN++fWjSpIn7RlgNEBIH9Vq1oHc9bQuvLAUv5fJO74YwaDXo39y1Lx93ITRJKxO3NOWdB6aqw/XJqX4nSCyE/B5Vk4oxTdEwmhxvnQY6jRqv96zPrqOrc8sxV0VSHxSJmY6msapOpzoh2HQuGY0i/PDZY80Eq5dXZiICDHjhodr45UiCw7r7ArW5KhsuCznz588HYNPkLF26FBqN/SbW6/WoU6cOli5d6r4RVgOEtF4Grdqp4MLNYSIUQl658NZrML5vQ4/tX+h8OPPJeRAiqKTgaAur4SReVjhVHarh6bFrcmwPQmJWIZKzCjmFN4VgooSEIqdqh9h9NeWEGKtUKrSJCcKZO1kOmXarAyO7xOKRxmGICa7YvGHuQqVSYcaQluhSrwbe/vUUZ12mgABc2XBZyLl16xYAoFevXli/fj2Cg4PdPqjqhqAmR6OBludN7K3T4PlO9sq2znxyquNLtywIanI87SdUyVFVc3NMWanuPkuMkGOxEsTdy0O/eXthJUCjCGlzCqvJEXDGpXPdMAnknPHb6w8hq8BULc3EKpWqUtWnKi10OD2DUJX1ykapfXJ2797tznFUb0R8cvianD0fPIJgX7s/k7NkgApcBH1ynGlyymksVYXqPomXFW6IvefGUV7QaSz6zN3L/v3/7d15eFN1ugfwb9KmG20KtKWl0JalZW+RZcSCsijI0ss2XECoAgrzPIwbi4MMIwpYER5H8eIy4HaBC9QFR6szsthBCiJbQUBARTbBpaWylLYsJU1+9w9syEnS0ibn5OScfD/P4yM5OTl5c9a3v9XdHHuOqseCudUYOHUtKQ0NDkK82bvZ2ElZbeKjkN4sGuGmIPRuE4sXP/8BF/XWJmfmzJnIyclBgwYNMHPmzFrXXbJkiVeB6Uld2+Q4JzLOE3Q6G9o5ES9+/gM6B0BX57pw9xBiclg7zl1VO70ngd6OS1NTkmOEgM3vKtTJGyHBRvzrsTsBANuPnQMA/SU5+/fvh8Visf+7JrxZSrkd8dhNSY7JqW7lVtVVKTENcOCZAYgMDYawscu+uy6+PBVrx+qq2klKctQLQzHeJjk1NSye0s6Gt44G4akhHPFej6q7lZ8+fwWVVVaEBvtvKVy9khzHKipWV9Wd+zY5RgQ7JTVBTm106tK9t+HvQ5FbmOS4L8m5ZcPjwK6wYsPj2um9uqq2kk5TkAGt4252f3anpgHyOjYSODD3bkQ38P9B76j+WsU2QEyDEJy/fB2Hfr6E7i1cJ5v2F7I1yywrK0NeXh6+//57uTapG+6eo6Ygg0vDY+eSHa11IVebu4c0q6tqJ5mgk420XQRydV6r2EjJ5Jvu1NYmp64jBJP2GAwG3N7yRmKz+9QFlaOpnce3tTFjxuC1114DAFy9ehXdu3fHmDFjkJ6ejn/+85+yBagHzqPqhgQbYTAYXBIX59eO91Q+rG/N3R661YMpsMtxpFVUehzR11vS0lTVwlBF24QoxDQIrXWdugz2R/pUneRsP3YOC/51BNt++E3liNzzOMnZtm0b7rrrLgDAxx9/DCEESktL8corr+C5556TLUA9cC7JCf29Htw5cXF+7TimghbHV/A153ymLolhk6jab+J6xyqq2klKcgIsCWwdF4nYyNpHr79V7yrSr+4pN5KcnSfPY8VXP2LC/+6xT4zsTzxOci5duoTGjW/8yI0bN2LUqFGIiIhAVlYWjh07JluAeuCc5FTPz+LY6C/YaHApdZB0IefD6JZq23/OVkz6A/q0icOzwzspHJV/42lVO723yalN4wYmxEbW/kcAk5zAlRYf6XKP3eOHVVceJzlJSUnYuXMnLl++jI0bN+Lee+8FAFy8eBFhYfob0ElO1UmOY0mDu1IHSfdVtpeoE+lcQzU/lfq1a4JVD92uy8HH6sOg9+5DXtL7tA7OXhrdGT1aNkaDkCAMTm+KmFuU5LgbDJACQ5gpyGUS439986tK0dTM4zN0+vTpyM7ORmRkJFJSUtC3b18AN6qx0tPT5YpPF5x78Nwsybl503TXldPAkpx6MxgM9qIzxyQnKjQY5ZVVaB2n/ZFH5cRa0NrpfYJOR91SGmFUt+YY2jkRVy1WRIebEHOrkpw6zE1F+tUuIQrHS24OHHno50sAgIKjJcj597eYNbAtBnVqqlZ4ALxIch5++GHcfvvt+OmnnzBgwAAYfy9qaNWqFdvkOHGupQyxt8m5mdjcqiSHDY/rxmgAqjvTO+6zfz7cE8u3nsC0e9SbW8sfSUoqVIzDXwXSBKbmsBuPg5Bgo/0PsZgGriU5reMa4MRvlwGw4XGgc67O/K28Eid/q8CkFYUAgFU7Tms3yQGA7t27o3v37hBCQAgBg8GArKwsuWLTDec2OdU3TseSHHddxAO5+6qnbjQOrS7Jubm8TXwUloy5TZWY/Blz57rTeyPtqDCTyzJ31VVt4qPsSY7jPFUUeLokN8TKHTdfn6uoRP63Z+2vnXsWq8GrM/T//u//kJ6ejvDwcISHhyMjIwOrV6+WKzbdcD7Q1t+zHseSBucxc4DAKiqXjeM+4067Jb0/uL1lDICSrqTGNwbsG9El0eW9xm5KctKa3GyHwT++AtuwzonIGd4RHz3cEwBQZROSec+uXFd/kFqPS3KWLFmCp59+Go8++ih69eoFANi+fTumTp2Kc+fOYcaMGbIFqXXOJTm237vZOY547Dz6MRB4jR7lwB5pnuM55krau0qf++dfj96JE79dRreURi7vhQYHYeP0u1BlFVhWcAKNG4TgjlYxeOWL4ypESv7GYDDggcwWAG4kxBcuX8d3RWX29y9dtagU2U0eJzmvvvoqli1bhgkTJtiXDRs2DB07dsT8+fOZ5DhwLrCrLskJrkdJjj5vr/JzHMtErw8lObEkp3aB0CanYUQIuqXU3IuqXYIZAPB6dlf7soUjO6FlLBvx001NokJx4fJ1fF+skySnqKgIPXv2dFnes2dPFBUVeRWU3jiX5FQPmOSY2Nyq4bFeb7Byk5TksLnALbFGr3Z1HZIg0GT3SFE7BPIzcVGh+L64HI7jAZZdtcBmE6o2HfD4MZCamooPPvjAZfn777+PtDT2YJGSZjnuqqucZyAHnGdA5g22LhxLb/hQujX2rroF7h+iOolzM3q8TQAV16tUiOYmj0tyFixYgLFjx2Lbtm32NjlfffUVNm/e7Db5CWQuJTmCJTlK4aza9cOSnNqxJIeobppEuR9Y9dIVC8xueu75isclOaNGjcLu3bsRGxuLvLw85OXlITY2Fnv27MHIkSPljFHzXNrk2G78/1ZtcgJ5SHlPOe4mji10a2y3VDtDjS+IyJFzSU7DiBuJjdrtcrwaJ6dbt25Ys2aNXLHolvOIxzZ7SY507ipnRla91Ju0ukrFQDSIp5grI88nojpJbhxh/3dUaDDiIkNResWCMi0nOTabDcePH0dJSQlsNpvkvd69e3sVmJ64luS46V3lpk0Oq6vqT1K9wKcSeSmQZyEnqo+erWPs/y6vrELbcI2X5OzatQvjx4/H6dOnXUoqDAYDrFb1BwHyFzWOkxNUe3WVtAs5b7B1wYbHJCtJ0qxeGET+rkGoNJ2I/j3JKVU5yfH4sp06dSq6d++Ow4cP48KFC7h48aL9vwsX/G+6dTU5J4Huxslx137E8YHdvFG4QtHpCwcD9Bz3liv+oUFUdzkjOgEA7vtDkj3J0WxJzrFjx/Dhhx8iNTVVznh0w3FsgOoUJ61JJI6VVODBXi0AOHUhr2FQl4PP3IvrVptLlkw1YRUfycfA84mozh64IwWdEs1IbRKJlz7/AYD6SY7HJTk9evTA8ePyD+29ePFiGAwGTJ8+vdb11q1bh3bt2iEsLAzp6elYv3697LF46uBPpej87OdYvfPHGwt+z3KW3tcFuX/qgen92wC4dRdyAIiOMLkdf4Dckw4GyKdSfbCnlSvHKiruH6Jb65LcCFFhJu2X5Dz22GN44oknUFxcjPT0dJhM0n7wGRkZ9d5mYWEh3njjjVt+dseOHRg3bhwWLVqE//qv/0Jubi5GjBiBr7/+Gp06dar398ptxgcHUH6tCk9/cgQPZLawl+SEhwShQ2KsfT1pSQ5voHIwMMkhGbF3FZFn2sRHoW/bOLRxmNBVDR4nOaNGjQIAPPTQQ/ZlBoMBQgiPGh5XVFQgOzsbb731Fp577rla1126dCkGDRqEWbNmAQBycnKQn5+P1157DcuXL6/nL5Gf872wuk2O83LHkhw2kpUH564ipfBsIqq7rIymyMpoqnYYnic5p06dkjMOPPLII8jKykL//v1vmeTs3LkTM2fOlCwbOHAg8vLyavxMZWUlKisr7a/Lym5MImaxWGCxKFecZrFY7CU5VdYqyXcJx0RQCK/iqP6skr9FCyQjHsO7fVpfWj8GwmbTbOzV5D4GBskAEL49n7RK69eBHuj9GNTnd3mc5KSkyDdB23vvvYevv/4ahYWFdVq/uLgY8fHxkmXx8fEoLi6u8TOLFi3CggULXJZ//vnniIiIcPMJz12uCEL1333r169HVdWN11sLChDrMPL1NStQfQh+/fVXrF//s9ffnZ+f7/U2tOza1Zv7vrS0VJW2Wto7BjfOwV9++QXr1/+kcizykOsYnPvNiOqmi7+VlPhV2z9/p73rQH/0egyuXLlS53XrleR8+umnGDx4MEwmEz799NNa1x02bFidtvnTTz9h2rRpyM/PR1iY+7kv5DBnzhxJ6U9ZWRmSkpJw7733wmw2y/pdr5/YgeKrFQCAIUOGYPbe/wA2G/r164ukRjcTqmsWK2bv2QwASExMxJAh9W/HVM1isSA/Px8DBgxwaR8VSP7+3TZcvH4NABAb0xhDhvzBZ9+t1WMwbefnAIDmzZthyJB0laPxjtzH4OPzX+Pb0nMAgIT4eAwZ0sXrbeqdVq8DPdH7MaiuiamLeiU5I0aMQHFxMZo0aYIRI0bUuF592uTs27cPJSUl6Nq1q32Z1WrFtm3b8Nprr6GyshJBQUGSzyQkJODs2bOSZWfPnkVCQkKN3xMaGorQUNdeSiaTSfaTwHGkXZPJZB8M0BQs/S6DMcjhM0ZZ4lDi92iJwWkUaTX2hVaPgdEYpMm43ZHrGDhOvSLXNRootHod6Ilej0F9flO9khzHqRucp3Hw1D333INDhw5Jlj344INo164dZs+e7ZLgAEBmZiY2b94s6Waen5+PzMxMWWLylnODV2FfLl2PvX/kJ+kNwxFqyWvsHECkZaqPMBcVFeXS7btBgwaIiYmxL58wYQKaNWuGRYsWAQCmTZuGPn364KWXXkJWVhbee+897N27F2+++abP43fH5Vb4e5bjnPyw94/8HPcoH0rkLcmIxzydiDTHqySnsLAQW7ZscTtB55IlS7wKzNGZM2dgdPizvGfPnsjNzcXcuXPxt7/9DWlpacjLy/OLMXIA1xIEAfddyKXrkBw4c7vnuLtc8Xwi0jaPk5znn38ec+fORdu2bREfHy8plfC2hKKgoKDW1wAwevRojB492qvvUYrzHDfCXpKjQjCBhoMBkowk1yxPJyLN8TjJWbp0Kf73f/8XkyZNkjEcfXBOZuxtcniXVJy0ukq1MEgnWJJDpG0eN800Go3o1auXnLHohkvD4+oRj3mPVBwfSp7j3nLD4PafRKQRHic5M2bMwOuvvy5nLLrhMq1DDctJfpy7iuTEuauItM3j6qq//OUvyMrKQuvWrdGhQweXfusfffSR18FplfPNUDDL8RmW5JCcpL2reD4RaY3HSc7jjz+OLVu2oF+/foiJieENwEFN+4JtcnzLyD+964WXsCtJu2PuHyLN8TjJWbVqFf75z38iKytLznh0wfFeKMTNzuG8SSrPsfQmmEkOecnxfOIfKUTa43GbnMaNG6N169ZyxqIbjjdGhxyHt0gfkMxCzqyyXvgQd0NyPqkXBhF5xuMkZ/78+Zg3b169ZgMNFI7PViFZzruk0qQNj9WLg/RBUpLDy5dIczyurnrllVdw4sQJxMfHo0WLFi4Nj7/++muvg9MqSZLjWF2lQiyBxvGhxN5V5C0jSwaJNM3jJKe2WcgDnWOxf5WNbXJ8yXEXM8mpH56frhyvZZbEEmmPx0nOvHnz5IxDVxznrrpuvTmnl7s2D2lNInGspALDOyf6IjTdc3wQBfGhRF5yvJZ5OhFpj+qzkOuRpCTHWnvL408e7YVT5y6jQ1OzDyLTP0nDY5bkkJcMHAyQSNM8TnKMRmOtxbdWq9XTTWue426xOJbkuNldESHB6JgY7YOoAoORJTke4+5yJZ2fkzuISGs8TnI+/vhjyWuLxYL9+/dj1apVWLBggdeB6cX1KsfqKlKapE1OEPc4eYfTOhBpm8dJzvDhw12W/fd//zc6duyI999/H5MnT/YqMC2zOjQ2ljY85l1SaZIu5Nzf5CXHU4jXL5H2yD6SyB133IHNmzfLvVlNcUxyJNVVagQTYAzsQu4F7i9nHCeHSNtkTXKuXr2KV155Bc2aNZNzs5rjmORIqqt4k1Sc4y7muCZ1Uz39Re+0WJUj8T+SkhwmgUSa43F1VaNGjSR/NQshUF5ejoiICKxevVqW4LTKKmqoruJNUnGcu6r+dvz1bnxXXM4kxw3Ha5anE5H2eJzk/M///I/ktdFoRFxcHHr06IFGjRp5G5em2WqqruJNUnHsQl5/TcxhaGIOUzsMv2SUtMlRLw4i8ozHSc7EiRPdLv/5558xe/ZsvPnmmx4HpXWOJTkWh+oqUh6ndSA5ccJXIm2TveHx+fPn8c4778i9WU1xHADQwmkdfMpxH7O6irxllDbKISKN4TzNCrDVUJLDNjnKk45Qy/1N3uH5RKRtTHIUUGMXct4jFccJOklOLMgh0jYmOQpwyHGk1VUqxBJo2PCY5GRkmxwiTat3w+M//vGPtb5fWlrqaSy6UWW7WXojqa7iTVJx7EJOcnKsYublS6Q99U5yoqNrn0wyOjoaEyZM8DggPXDIcTjisY9Jqqv4VCIvSbuQ83wi0pp6JzkrVqxQIg5dkbTJYe8qn5I0FGVJDnnJ8Xzi2USkPWyTo4CaxsnhX4LKk0zQybObvMRxcoi0jY8BBdTUu4qUZ5QkOTy9yTucoJNI2/gUUIBjklM9dxVvkL7h2FCUbXLIW9LeVerFQUSeYZKjAJubWch5f/QNVleRnCRtcpg0E2kOHwMKqHJTXcUbpG8YOUItyUgyGCBPJyLNYZKjAMeGx/bqKrWCCTSOc1cFca+TdyTj5PAqJtIcJjkKcFtdxfujT7Akh+TENjlE2sYkRwHSkpzqNjm8Q/oC564iObF3FZG2McmRmc0mIBznrqr6/QVvkD4h7ULOnU7e4Tg5RNrGJEdmjqU4gEPDYzWCCUCODbzZhZy8xQ4DRNrGJEdmjmPkADendeC90jcMLMkhGTmeQSzJIdIeJjkyszmX5FSxTY4vOe5nzl1F3pJO0KleHETkGSY5MqtyLsmxsneVLznu52AmOeQlx0SZJTlE2sMkR2a2mqqr1AgmABnZUJRk5HgG8XQi0h4mOTJzaZNTxRGPfUkydxVLcshLnNaBSNuY5MjMJclh7yqfcpx4nEkOeUsyrYN6YRCRh5jkyKymLuS8Q/oKS3JIPhxBm0jbmOTIzLkkpzrp4e3RNySDAfKhRF5i7yoibWOSI7PfZ3Gwsxfk8A7pExwnh+QkGZKApxOR5jDJkVmVU5ZjtbELuS9xnBySk7RNDs8nIq1hkiMz58EAq9iF3Kcc8xqOk0Pe4gSdRNrGJEdmVqfqKpt9WgfeIX3BwIaiJCNJSQ7PJyLNYZIjM+eGxyzJUQ/b5JC3pL2rVAyEiDziF0nOsmXLkJGRAbPZDLPZjMzMTGzYsKHG9VeuXAmDwSD5LywszIcR18w5ybFxgk6fcqwuZO8q8paBvauINC1Y7QAAoHnz5li8eDHS0tIghMCqVaswfPhw7N+/Hx07dnT7GbPZjKNHj9pf+0tRsvM4OTfnsvKP+PROkuQEcZ+Td1j9SaRtfpHkDB06VPJ64cKFWLZsGXbt2lVjkmMwGJCQkOCL8OrFZZwcluT4lGOOyZIc8harqIi0zS+SHEdWqxXr1q3D5cuXkZmZWeN6FRUVSElJgc1mQ9euXfH888/XmBABQGVlJSorK+2vy8rKAAAWiwUWi0W2+K87bcvq0CZHzu9xVr1tJb9DC6qsVvu/rdYqWCy2WtaWF4+B+uQ+BjaH80nYbDy2dcDrQH16Pwb1+V0GIZzqV1Ry6NAhZGZm4tq1a4iMjERubi6GDBnidt2dO3fi2LFjyMjIwKVLl/Diiy9i27ZtOHLkCJo3b+72M/Pnz8eCBQtclufm5iIiIkK233HskgGvfRtkfx0WJHDNakC0SeDZ7tZaPklyePeEEbtKbjQ1e/mOKv4lTl45cN6AFT/cuJ4npVnRJdYvbpdEAe3KlSsYP348Ll26BLPZXOu6fpPkXL9+HWfOnMGlS5fw4Ycf4u2338bWrVvRoUOHW37WYrGgffv2GDduHHJyctyu464kJykpCefOnbvlTqqPHSfOY+LKffbX4SYjrlpsiDeHYvusPrJ9jzOLxYL8/HwMGDAAJpNJse/xd3M+PoIPv/4FAPDDswN82laLx0B9ch+DTUfO4tH3DgIAXhmbgcGd/K+K3N/wOlCf3o9BWVkZYmNj65Tk+E11VUhICFJTUwEA3bp1Q2FhIZYuXYo33njjlp81mUzo0qULjh8/XuM6oaGhCA0NdftZOU8CgzFI8tr6ewppNBh8crLJ/Xs0xyGpCQkJUSWEgD8GfkCuY2Ay3bxFhpiCeVzrgdeB+vR6DOrzm/yiC7k7NptNUvJSG6vVikOHDqFp06YKR1WHWGpqeKxGMAHIecRpIm9Ie1TxKibSGr8oyZkzZw4GDx6M5ORklJeXIzc3FwUFBdi0aRMAYMKECWjWrBkWLVoEAHj22Wdxxx13IDU1FaWlpfj73/+O06dPY8qUKWr+DAC19a7iDdIXmOOQnByvWrbvItIev0hySkpKMGHCBBQVFSE6OhoZGRnYtGkTBgwYAAA4c+YMjMabhU4XL17En/70JxQXF6NRo0bo1q0bduzYUaf2O0pzHieHfMtPmpiRTjjcdviHCpEG+UWS884779T6fkFBgeT1yy+/jJdfflnBiDxns7l/yPL+6Bs17H4ij0hmtec1TKQ5ftsmR6uqmOSoim1ySE6c1oFI25jkyKz6Ies8OaSBjRZ9gjkOycmx4TGrq4i0h0mOzKobGpuc5k3i/dE3WJJDcpKU5KgXBhF5iEmOzG4mOdJdyxukbzDHITkZOUEnkaYxyZFZdZIT4pzk8AbpEyzJITmxTQ6RtvlF7yo9aRgRgvRm0QgzGXH+8nX7ct4ffYO9q0hO0t5VvIqJtIZJjswGdUrAoE4JOPTzJQx9bfvNN3h/9AmOk0NyMrJNDpGmsbpKIc5/9PEG6RtMcUhOBvauItI0JjkKcelCzhukTzhPq0HkDSPb5BBpGpMchbiOk0O+wIbHJCcDe1cRaRqTHIU4DwHP+yOR9rB3FZG2MclRiPNffRzx2DdYkkNyko6To2IgROQRJjkKcW2To1IgAcZmUzsC0hNWOhNpG5MchbD+Xh0sySE5sSSHSNuY5CjEyN5VqmCKQ3KStsnhNUykNUxyFBLk0iaHfIGDAZKcHC9jluQQaQ+THIWwd5U6OEwOycmxuoqdB4i0h0mOQlyrq1QKJMCwTQ7JiV3IibSNSY5CXKureIf0hZgGoWqHQDoiKcnhJUykOZygUyEu4+TwBukTOSM6orLKikk9W6gdCumAUdImhxcxkdYwyVGI0amMjLdH32gaHY7Vk3uoHQbpBktyiLSM1VUKcR4MkHdIIu1hSQ6RtjHJUYjrtA5EpDXS3lVEpDVMchTCNjlE2sfBAIm0jUmOQlzmrlIpDiLyHHtXEWkbkxyFuDbJ4R2SSMvYJodIe5jkKMRgMEiLutULhYg85DioJ69hIu1hkqOgIBZ1E2kae1cRaRuTHAVx3hsibTNwnBwiTWOSoyDJgIC8QRJpjlHSu0q9OIjIM0xyFBTEMTaItI1dyIk0jUmOgtj9lEjbHK9h5x6TROT/mOQoSNozg3dIIq1hY2MibWOSoyDHAQF5ryTSHl62RNrGJEdBbLRIpG0sySHSNiY5CmIXciKN42VLpGlMchTE6ioibeN1S6RtTHIUxKJuIiIi9TDJUZDjYIAcY4NIe4RQOwIi8gaTHAVxMEAiIiL1MMlREAcDJNK2cFOQ/d/R4SYVIyEiTwSrHYCeSQcDJCKtCQk24j8ze8NqAyJCeLsk0hpetQqSVFexKIdIk1KbRKkdAhF5iNVVCnLMa5jiEBER+RaTHAVxnBwiIiL1MMlRUJBk2mJmOURERL7EJEdBBvauIiIiUg2THAUFsU0OERGRapjkKIhtcoiIiNTDJEdBBs5CTkREpBq/SHKWLVuGjIwMmM1mmM1mZGZmYsOGDbV+Zt26dWjXrh3CwsKQnp6O9evX+yjaugtimxwiIiLV+EWS07x5cyxevBj79u3D3r17cffdd2P48OE4cuSI2/V37NiBcePGYfLkydi/fz9GjBiBESNG4PDhwz6OvHasriIiIlKPXyQ5Q4cOxZAhQ5CWloY2bdpg4cKFiIyMxK5du9yuv3TpUgwaNAizZs1C+/btkZOTg65du+K1117zceS1kw4GyCyHiIjIl/xuWger1Yp169bh8uXLyMzMdLvOzp07MXPmTMmygQMHIi8vr8btVlZWorKy0v66rKwMAGCxWGCxWLwP3A3HDFIIm2LfA8C+bSW/g2rHY6A+HgP18RioT+/HoD6/y2+SnEOHDiEzMxPXrl1DZGQkPv74Y3To0MHtusXFxYiPj5csi4+PR3FxcY3bX7RoERYsWOCy/PPPP0dERIR3wdfg3DkjqlOdoqIirF//iyLf4yg/P1/x76Da8Rioj8dAfTwG6tPrMbhy5Uqd1/WbJKdt27Y4cOAALl26hA8//BATJ07E1q1ba0x06mvOnDmS0p+ysjIkJSXh3nvvhdlsluU7nH16cT+OXPwNAJCYmIghQzIU+R7gRmabn5+PAQMGwGQyKfY9VDMeA/XxGKiPx0B9ej8G1TUxdeE3SU5ISAhSU1MBAN26dUNhYSGWLl2KN954w2XdhIQEnD17VrLs7NmzSEhIqHH7oaGhCA0NdVluMpkUOwmCg25WWAUZjT452ZT8PVQ3PAbq4zFQH4+B+vR6DOrzm/yi4bE7NptN0obGUWZmJjZv3ixZlp+fX2MbHrUY2YWciIhINX5RkjNnzhwMHjwYycnJKC8vR25uLgoKCrBp0yYAwIQJE9CsWTMsWrQIADBt2jT06dMHL730ErKysvDee+9h7969ePPNN9X8GS6Mjl3IVYyDiIgoEPlFklNSUoIJEyagqKgI0dHRyMjIwKZNmzBgwAAAwJkzZ2A03ix06tmzJ3JzczF37lz87W9/Q1paGvLy8tCpUye1foJb0sEAmeYQERH5kl8kOe+8806t7xcUFLgsGz16NEaPHq1QRPIwcoJOIiIi1fhtmxw9MDLLISIiUg2THAUFcYJOIiIi1TDJURB7VxEREamHSY6C2LuKiIhIPUxyFOQwFiBLcoiIiHyMSY6CjGyTQ0REpBomOQpimxwiIiL1MMlRUJCRSQ4REZFamOQoSDJMDrMcIiIin2KSoyD2riIiIlIPkxwFBbFNDhERkWqY5CiIvauIiIjUwyRHQUY2PCYiIlINkxwFSeeuIiIiIl9ikqOgqLBgtUMgIiIKWHwKK2h8j2ScuXAFeQd+QWbrWLXDISIiCihMchQUZgrC/GEdMX9YR7VDISIiCjisriIiIiJdYpJDREREusQkh4iIiHSJSQ4RERHpEpMcIiIi0iUmOURERKRLTHKIiIhIl5jkEBERkS4xySEiIiJdYpJDREREusQkh4iIiHSJSQ4RERHpEpMcIiIi0iUmOURERKRLwWoHoBYhBACgrKxM5UjkYbFYcOXKFZSVlcFkMqkdTkDiMVAfj4H6eAzUp/djUP3crn6O1yZgk5zy8nIAQFJSksqREBERUX2Vl5cjOjq61nUMoi6pkA7ZbDb8+uuviIqKgsFgUDscr5WVlSEpKQk//fQTzGaz2uEEJB4D9fEYqI/HQH16PwZCCJSXlyMxMRFGY+2tbgK2JMdoNKJ58+ZqhyE7s9msy5NaS3gM1MdjoD4eA/Xp+RjcqgSnGhseExERkS4xySEiIiJdYpKjE6GhoZg3bx5CQ0PVDiVg8Rioj8dAfTwG6uMxuClgGx4TERGRvrEkh4iIiHSJSQ4RERHpEpMcIiIi0iUmOURERKRLTHL8xPz582EwGCT/tWvXzv7+tWvX8MgjjyAmJgaRkZEYNWoUzp49K9nGmTNnkJWVhYiICDRp0gSzZs1CVVWVZJ2CggJ07doVoaGhSE1NxcqVK33x8zTjl19+wf3334+YmBiEh4cjPT0de/futb8vhMAzzzyDpk2bIjw8HP3798exY8ck27hw4QKys7NhNpvRsGFDTJ48GRUVFZJ1vvnmG9x1110ICwtDUlISXnjhBZ/8Pn/XokULl+vAYDDgkUceAcDrwBesViuefvpptGzZEuHh4WjdujVycnIk8wTxOlBeeXk5pk+fjpSUFISHh6Nnz54oLCy0v89jUEeC/MK8efNEx44dRVFRkf2/3377zf7+1KlTRVJSkti8ebPYu3evuOOOO0TPnj3t71dVVYlOnTqJ/v37i/3794v169eL2NhYMWfOHPs6J0+eFBEREWLmzJni22+/Fa+++qoICgoSGzdu9Olv9VcXLlwQKSkpYtKkSWL37t3i5MmTYtOmTeL48eP2dRYvXiyio6NFXl6eOHjwoBg2bJho2bKluHr1qn2dQYMGic6dO4tdu3aJL7/8UqSmpopx48bZ37906ZKIj48X2dnZ4vDhw+Ldd98V4eHh4o033vDp7/VHJSUlkmsgPz9fABBbtmwRQvA68IWFCxeKmJgY8e9//1ucOnVKrFu3TkRGRoqlS5fa1+F1oLwxY8aIDh06iK1bt4pjx46JefPmCbPZLH7++WchBI9BXTHJ8RPz5s0TnTt3dvteaWmpMJlMYt26dfZl3333nQAgdu7cKYQQYv369cJoNIri4mL7OsuWLRNms1lUVlYKIYR48sknRceOHSXbHjt2rBg4cKDMv0abZs+eLe68884a37fZbCIhIUH8/e9/ty8rLS0VoaGh4t133xVCCPHtt98KAKKwsNC+zoYNG4TBYBC//PKLEEKIf/zjH6JRo0b241L93W3btpX7J2netGnTROvWrYXNZuN14CNZWVnioYcekiz74x//KLKzs4UQvA584cqVKyIoKEj8+9//lizv2rWreOqpp3gM6oHVVX7k2LFjSExMRKtWrZCdnY0zZ84AAPbt2weLxYL+/fvb123Xrh2Sk5Oxc+dOAMDOnTuRnp6O+Ph4+zoDBw5EWVkZjhw5Yl/HcRvV61RvI9B9+umn6N69O0aPHo0mTZqgS5cueOutt+zvnzp1CsXFxZJ9GB0djR49ekiOQ8OGDdG9e3f7Ov3794fRaMTu3bvt6/Tu3RshISH2dQYOHIijR4/i4sWLSv9Mzbh+/TrWrFmDhx56CAaDgdeBj/Ts2RObN2/GDz/8AAA4ePAgtm/fjsGDBwPgdeALVVVVsFqtCAsLkywPDw/H9u3beQzqgUmOn+jRowdWrlyJjRs3YtmyZTh16hTuuusulJeXo7i4GCEhIWjYsKHkM/Hx8SguLgYAFBcXS27s1e9Xv1fbOmVlZbh69apCv0w7Tp48iWXLliEtLQ2bNm3Cn//8Zzz++ONYtWoVgJv70d0+dNzHTZo0kbwfHByMxo0b1+tYEZCXl4fS0lJMmjQJAHgd+Mhf//pX3HfffWjXrh1MJhO6dOmC6dOnIzs7GwCvA1+IiopCZmYmcnJy8Ouvv8JqtWLNmjXYuXMnioqKeAzqIWBnIfc31X8lAUBGRgZ69OiBlJQUfPDBBwgPD1cxssBhs9nQvXt3PP/88wCALl264PDhw1i+fDkmTpyocnSB55133sHgwYORmJiodigB5YMPPsDatWuRm5uLjh074sCBA5g+fToSExN5HfjQ6tWr8dBDD6FZs2YICgpC165dMW7cOOzbt0/t0DSFJTl+qmHDhmjTpg2OHz+OhIQEXL9+HaWlpZJ1zp49i4SEBABAQkKCSy+T6te3WsdsNjORAtC0aVN06NBBsqx9+/b2asPq/ehuHzru45KSEsn7VVVVuHDhQr2OVaA7ffo0/vOf/2DKlCn2ZbwOfGPWrFn20pz09HQ88MADmDFjBhYtWgSA14GvtG7dGlu3bkVFRQV++ukn7NmzBxaLBa1ateIxqAcmOX6qoqICJ06cQNOmTdGtWzeYTCZs3rzZ/v7Ro0dx5swZZGZmAgAyMzNx6NAhyUmdn58Ps9lsf3BnZmZKtlG9TvU2Al2vXr1w9OhRybIffvgBKSkpAICWLVsiISFBsg/Lysqwe/duyXEoLS2V/LX1xRdfwGazoUePHvZ1tm3bBovFYl8nPz8fbdu2RaNGjRT7fVqyYsUKNGnSBFlZWfZlvA5848qVKzAapY+GoKAg2Gw2ALwOfK1BgwZo2rQpLl68iE2bNmH48OE8BvWhdstnuuGJJ54QBQUF4tSpU+Krr74S/fv3F7GxsaKkpEQIcaPrbHJysvjiiy/E3r17RWZmpsjMzLR/vrrr7L333isOHDggNm7cKOLi4tx2nZ01a5b47rvvxOuvv86usw727NkjgoODxcKFC8WxY8fE2rVrRUREhFizZo19ncWLF4uGDRuKTz75RHzzzTdi+PDhbrttdunSRezevVts375dpKWlSbptlpaWivj4ePHAAw+Iw4cPi/fee09EREToqtumN6xWq0hOThazZ892eY/XgfImTpwomjVrZu9C/tFHH4nY2Fjx5JNP2tfhdaC8jRs3ig0bNoiTJ0+Kzz//XHTu3Fn06NFDXL9+XQjBY1BXTHL8xNixY0XTpk1FSEiIaNasmRg7dqxkfJarV6+Khx9+WDRq1EhERESIkSNHiqKiIsk2fvzxRzF48GARHh4uYmNjxRNPPCEsFotknS1btojbbrtNhISEiFatWokVK1b44udpxr/+9S/RqVMnERoaKtq1ayfefPNNyfs2m008/fTTIj4+XoSGhop77rlHHD16VLLO+fPnxbhx40RkZKQwm83iwQcfFOXl5ZJ1Dh48KO68804RGhoqmjVrJhYvXqz4b9OKTZs2CQAu+1UIXge+UFZWJqZNmyaSk5NFWFiYaNWqlXjqqack3Yx5HSjv/fffF61atRIhISEiISFBPPLII6K0tNT+Po9B3RiEcBjGkoiIiEgn2CaHiIiIdIlJDhEREekSkxwiIiLSJSY5REREpEtMcoiIiEiXmOQQERGRLjHJISIiIl1ikkNEpJKjR4/iD3/4A1q2bIlPPvlE7XCIdIeDARIRqWTs2LG4/fbbkZGRgcmTJ9sngyUiebAkh4j81vz583HbbbepHYadwWBAXl5evT7TokULGAwGGAwGlxnUo6OjkZKSgtTUVDRp0sTls3379rV/9sCBA54HThSgmOQQBbjly5cjKioKVVVV9mUVFRUwmUzo27evZN2CggIYDAacOHHCx1H6ltzJ1bPPPouioiJER0e7LB87dixSU1MxZ84cl8999NFH2LNnj2xxEAUaJjlEAa5fv36oqKjA3r177cu+/PJLJCQkYPfu3bh27Zp9+ZYtW5CcnIzWrVurEapmRUVFISEhAQaDQbJ89+7daN68Oe677z7s2LHD5XONGzdGXFycr8Ik0h0mOUQBrm3btmjatCkKCgrsywoKCjB8+HC0bNkSu3btkizv168fAGD16tXo3r27/QE+fvx4lJSUAABsNhuaN2+OZcuWSb5r//79MBqNOH36NACgtLQUU6ZMQVxcHMxmM+6++24cPHiw1njffvtttG/fHmFhYWjXrh3+8Y9/2N/78ccfYTAY8NFHH6Ffv36IiIhA586dsXPnTsk23nrrLSQlJSEiIgIjR47EkiVL0LBhQwDAypUrsWDBAhw8eNBeVbRy5Ur7Z8+dO4eRI0ciIiICaWlp+PTTT+u2o91YsWIFxo8fjwceeABr1qyRlKYRkfeY5BAR+vXrhy1btthfb9myBX379kWfPn3sy69evYrdu3fbkxyLxYKcnBwcPHgQeXl5+PHHHzFp0iQAgNFoxLhx45Cbmyv5nrVr16JXr15ISUkBAIwePRolJSXYsGED9u3bh65du+Kee+7BhQsX3Ma5du1aPPPMM1i4cCG+++47PP/883j66aexatUqyXpPPfUU/vKXv+DAgQNo06YNxo0bZ08gvvrqK0ydOhXTpk3DgQMHMGDAACxcuND+2bFjx+KJJ55Ax44dUVRUhKKiIowdO9b+/oIFCzBmzBh88803GDJkCLKzs2uMtzYlJSVYv3497r//fgwYMAAGgwGfffZZvbdDRLUQRBTw3nrrLdGgQQNhsVhEWVmZCA4OFiUlJSI3N1f07t1bCCHE5s2bBQBx+vRpt9soLCwUAER5ebkQQoj9+/cLg8FgX99qtYpmzZqJZcuWCSGE+PLLL4XZbBbXrl2TbKd169bijTfeEEIIMW/ePNG5c2fJe7m5uZL1c3JyRGZmphBCiFOnTgkA4u2337a/f+TIEQFAfPfdd0IIIcaOHSuysrIk28jOzhbR0dH2187fWw2AmDt3rv11RUWFACA2bNjgdp8IIURKSop4+eWXXZa/9NJL4rbbbrO/njZtmhgxYoTLetW/af/+/TV+BxG5x5IcIkLfvn1x+fJlFBYW4ssvv0SbNm0QFxeHPn362NvlFBQUoFWrVkhOTgYA7Nu3D0OHDkVycjKioqLQp08fALB3g77tttvQvn17e2nO1q1bUVJSgtGjRwMADh48iIqKCsTExCAyMtL+36lTp9w2bL58+TJOnDiByZMnS9Z/7rnnXNbPyMiw/7tp06YAYK9KO3r0KG6//XbJ+s6va+O47QYNGsBsNtu3XR8rVqzA/fffb399//3347PPPsNvv/1W720RkXvBagdAROpLTU1F8+bNsWXLFly8eNGesCQmJiIpKQk7duzAli1bcPfddwO4kXAMHDgQAwcOxNq1axEXF4czZ85g4MCBuH79un272dnZyM3NxV//+lfk5uZi0KBBiImJAXCjB5dzW6Bq1e1jHFVUVAC40Z6mR48ekveCgoIkr00mk/3f1Y19bTZbPfeKe47brt5+fbe9d+9eHD58GE8++SRmz55tX261WrFmzRrMmDFDlliJAh2THCICcKNdTkFBAS5evIhZs2bZl/fu3RsbNmzAnj178Oc//xkA8P333+P8+fNYvHgxkpKSAEDSO6va+PHjMXfuXOzbtw8ffvghli9fbn+va9euKC4uRnBwMFq0aHHL+OLj45GYmIiTJ08iOzvb49/Ztm1bFBYWSpY5vw4JCYHVavX4O25lxYoV6N27N15//XXJ8tWrV2PlypVMcohkwiSHiADcSHIeeeQRWCwWe0kOAPTp0wePPvoorl+/bm90nJycjJCQELz66quYOnUqDh8+jJycHJdttmjRAj179sTkyZNhtVoxbNgw+3v9+/dHZmYmRowYgRdeeAFt2rTBr7/+is8++wwjR45E9+7dXba3YMECPP7444iOjsagQYNQWVmJvXv34uLFi5g5c2adfudjjz2G3r17Y8mSJRg6dCi++OILbNiwQdK9u0WLFjh16hQOHDiA5s2bIyoqCqGhoXXel7WprKzEu+++i+effx6dOnWSvDdlyhS88MIL+Prrr9G1a1dZvo8okLFNDhEBuJHkXL16FampqYiPj7cv79OnD8rLy+1dzQEgLi4OK1euxLp169ChQwcsXrwYL774otvtZmdn4+DBgxg5ciTCw8Ptyw0GA9avX4/evXvjwQcfRJs2bXDffffh9OnTku93NGXKFLz99ttYsWIF0tPT0adPH6xcuRItW7as8+/s1asXli9fjiVLlqBz587YuHEjZsyYgbCwMPs6o0aNwqBBg9CvXz/ExcXh3XffrfP2byUvLw+XLl3CyJEjXd5LS0tDeno6VqxYIdv3EQUyzl1FRAHvT3/6E77//nt8+eWXsm+7RYsWmD59OqZPn+7R53/88Ue0bNkS+/fv96spLoi0gCU5RBRwXnzxRRw8eBDHjx/Hq6++ilWrVmHixImKfd/s2bMRGRmJS5cu1etzgwcPRseOHRWKikj/WJJDRAFnzJgxKCgoQHl5OVq1aoXHHnsMU6dOVeS7Tp8+DYvFAgBo1aoVjMa6/235yy+/4OrVqwButoMiorpjkkNERES6xOoqIiIi0iUmOURERKRLTHKIiIhIl5jkEBERkS4xySEiIiJdYpJDREREusQkh4iIiHSJSQ4RERHpEpMcIiIi0qX/B67AQ+fo466AAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# NBVAL_SKIP\n", "#run the pipeline with the optimized age\n", "#rubixdata.stars.age = optimized_age\n", "i = 850\n", "inputdata.stars.age = jnp.array([age_history[i]*20, age_history[i]*20])\n", "inputdata.stars.metallicity = jnp.array([metallicity_history[i]*0.05, metallicity_history[i]*0.05])\n", "inputdata.stars.mass = jnp.array([[1.0], [1.0]])\n", "inputdata.stars.velocity = jnp.array([[0.0, 0.0, 0.0], [0.0, 0.0, 0.0]])\n", "\n", "pipe = RubixPipeline(config)\n", "rubixdata = pipe.run_sharded(inputdata)\n", "\n", "#plot the target and the optimized spectra\n", "import matplotlib.pyplot as plt\n", "wave = pipe.telescope.wave_seq\n", "\n", "spectra_target = targetdata #.stars.datacube\n", "spectra_optimitzed = rubixdata #.stars.datacube\n", "\n", "plt.plot(wave, spectra_target[0,0,:], label=f\"Target age = {age_values[index_age]:.2f}, metal. = {metallicity_values[index_metallicity]:.4f}\")\n", "plt.plot(wave, spectra_optimitzed[0,0,:], label=f\"Optimized age = {age_history[i]*20:.2f}, metal. = {metallicity_history[i]*0.05:.4f}\")\n", "plt.xlabel(\"Wavelength [Å]\")\n", "plt.ylabel(\"Luminosity [L/Å]\")\n", "plt.title(\"Difference between target and optimized spectra\")\n", "#plt.title(f\"Loss {loss_history[i]:.2e}\")\n", "plt.legend()\n", "#plt.ylim(0.00003, 0.00008)\n", "plt.grid(True)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 22, "id": "280ae7ad", "metadata": {}, "outputs": [ { "data": { "image/png": "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dFWraogwZ84czJ07V/Jct27dcPz4ccXlly5dinvuuUfynNFohMXCPJ11xUlFYR2N3JKTwWjuVNud6Pnin02y7bSXxiHIULev/oqKCqSmpuLVV1+F0WjE//73P9xwww04ceIE2rdvLy735ptv4sUXX8Ts2bMBANu3b8eDDz6I1157DTfeeCPWrVuHF154QbLurVu3YurUqXj33XcxcuRIpKen4/777wcAzJ49G3v27EFMTAyWLFmC8ePH+yykHhoaiqVLlyIhIQFHjhzBfffdh9DQUDz55JMAgK+//hqvvvoqPvzwQwwfPhzLli3DwoUL0aFDB3EdX3/9NV588UW8//77GDBgAA4cOID77rsPwcHBmDZtmuJ2582bh3nz5vk8hmlpaZJjpYbT6cT333+PyspKDB061O/yvvjll18wbtw43H777di8eTMSExPx0EMP4b777qvxumbPno23334b7du3x7333ot//OMfCA0NxTvvvIOgoCBMmjQJL774Ij766CMA/o/j7t27MXjwYKxbtw69evUSay6Xl5dj2rRpeO+998DzPBYuXIjU1FScOnWqVpHTgwcP4uqrr8a9996Ld955BzqdDhs3bhRrPdOsWLEC/fr1w/333y8eo+DgYNx5551YsmQJbrvtNnFZ8lhtTIFcEzt37kSvXr28nrfZbNi3bx+eeeYZ8TmNRoNrrrkGO3fu9Lm+xx57TPLcuHHjamzLqaqqwj/+8Q988MEHqtF+OaWlpYiKiqrRdmpLqxKyANCrVy+sW7dOfKzT+d7FsLAwnDhxQnzM6jzWD7SQtTkaXsg6XTw0HDt/DEZj0K9fP/Tr1098/PLLL+Onn37CL7/8gocfflh8/qqrrsLjjz8uPn7uuecwYcIE0ZbQtWtX7NixA7/99pu4zNy5c/H000+LIrFjx454+eWX8eSTT2L27Nlo27YtAE+fdl88//zz4t8pKSmYNWsWli1bJgrZ9957D9OnTxcDGi+++CLWrFmDiooK8X2zZ8/GwoULccsttwAAOnTogLS0NHz88ceqQvbBBx/EpEmTfI4tISHB5+tHjhzB0KFDYbFYEBISgp9++gk9e/b0+R5/nDlzBh999BEee+wxPPvss9izZw9mzpwJg8Ggui9qzJo1C+PGjQMAPPLII5g8eTLWr1+P4cOHAwCmT5+OpUuXisv7O47kvEZHR0vO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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# NBVAL_SKIP\n", "import matplotlib as mpl\n", "import matplotlib.pyplot as plt\n", "\n", "# Create a figure with two subplots, sharing the x-axis.\n", "fig, (ax1, ax2) = plt.subplots(nrows=2, sharex=True, gridspec_kw={'height_ratios': [4, 1]}, figsize=(7, 5))\n", "\n", "# Plot target and optimized spectra in the upper subplot.\n", "ax1.plot(wave, spectra_target[0, 0, :], label=f\"Target age = {age_values[index_age]:.2f}, metallicity = {metallicity_values[index_metallicity]:.4f}\")\n", "ax1.plot(wave, spectra_optimitzed[0, 0, :], label=f\"Optimized age = {age_history[i]*20:.2f}, metallicity = {metallicity_history[i]*0.05:.4f}\")\n", "ax1.set_ylabel(\"Luminosity [L/Å]\")\n", "#ax1.set_title(\"Target vs Optimized Spectra\")\n", "ax1.legend()\n", "ax1.grid(True)\n", "\n", "# Compute the residual (difference between target and optimized spectra).\n", "residual = (spectra_target[0, 0, :] - spectra_optimitzed[0, 0, :]) #/spectra_target[0, 0, :]\n", "\n", "# Plot the residual in the lower subplot.\n", "ax2.plot(wave, residual, 'k-')\n", "ax2.set_xlabel(\"Wavelength [Å]\")\n", "ax2.set_ylabel(\"Residual\")\n", "ax2.grid(True)\n", "\n", "plt.tight_layout()\n", "plt.savefig(f\"output/optimisation_spectra.jpg\", dpi=1000)\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "dfe98919", "metadata": {}, "source": [ "# Calculate loss landscape" ] }, { "cell_type": "code", "execution_count": 23, "id": "77873f8d", "metadata": {}, "outputs": [], "source": [ "# NBVAL_SKIP\n", "import optax\n", "\n", "def loss_only_wrt_age_metallicity(age, metallicity, base_data, target):\n", "\n", " # Create 2D arrays for age and metallicity.\n", " # For example, if there are two stars, you might do:\n", " base_data.stars.age = jnp.array([age*20, age*20])\n", " base_data.stars.metallicity = jnp.array([metallicity*0.05, metallicity*0.05])\n", "\n", " output = pipeline_instance.func(base_data)\n", " #loss = jnp.sum((output.stars.datacube - target) ** 2)\n", " loss = jnp.sum(optax.cosine_distance(output.stars.datacube, target))\n", " return loss" ] }, { "cell_type": "code", "execution_count": 24, "id": "3cd1cac4", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "2025-07-01 14:22:12,033 - rubix - INFO - Rotating galaxy with alpha=90.0, beta=0.0, gamma=0.0\n", "2025-07-01 14:22:12,100 - rubix - INFO - Assigning particles to spaxels...\n", "2025-07-01 14:22:12,102 - rubix - INFO - Calculating Data Cube (combined per‐particle)…\n", "2025-07-01 14:22:12,448 - rubix - DEBUG - Datacube shape: (1, 1, 466)\n", "2025-07-01 14:22:12,449 - rubix - INFO - Convolving with PSF...\n", "2025-07-01 14:22:12,451 - rubix - INFO - Convolving with LSF...\n", "2025-07-01 14:22:12,454 - rubix - INFO - Applying noise to datacube with signal to noise ratio: 100 and noise distribution: normal\n" ] } ], "source": [ "# NBVAL_SKIP\n", "import jax\n", "import jax.numpy as jnp\n", "import matplotlib.pyplot as plt\n", "\n", "# Number of grid points\n", "num_steps = 100\n", "\n", "# Define physical ranges\n", "physical_ages = jnp.linspace(0, 1, num_steps) # Age from 0 to 10\n", "physical_metals = jnp.linspace(0, 1, num_steps) # Metallicity from 1e-4 to 0.05\n", "\n", "loss_map = []\n", "\n", "for age in physical_ages:\n", " row = []\n", " for metal in physical_metals:\n", " loss = loss_only_wrt_age_metallicity(age, metal, inputdata, targetdata)\n", " row.append(loss)\n", " loss_map.append(jnp.stack(row))\n", "\n", "loss_map = jnp.stack(loss_map)" ] }, { "cell_type": "code", "execution_count": 25, "id": "b8591401", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAd4AAAGJCAYAAAAkFVKMAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAYPlJREFUeJzt3XtcFXX+P/DXnAMcQEVUFLyglFp5SwqFvJSatKRma20b1W6Slm0FbSvdtItkpfjt4pe+RUtpav12Xc0ubptmGpuZZXml3PKSSepakFaKgnI58/n9QcyZgTOHmXPnnNfTxzycM+fz+cxnhgOfM+/5zOcjCSEEiIiIyC8sga4AERFROGHDS0RE5EdseImIiPyIDS8REZEfseElIiLyIza8REREfsSGl4iIyI/Y8BIREfkRG14iIiI/YsNLFITGjh2LsWPHBroaROQDbHjJp5YtWwZJkrB9+/ZAV8Wlxx57DJIk4fjx44GuChGFODa8REREfsSGl4iIyI/Y8FJQ2LVrFyZMmIC4uDi0b98e48ePx2effaZJU19fj7lz56J///6Ijo5Gly5dMHr0aGzYsEFJU1FRgWnTpqFXr16w2Wzo3r07fvvb3+K7777zuI4///wz7rvvPgwZMgTt27dHXFwcJkyYgC+++EKTbuPGjZAkCa+//jrmzZuHXr16ITo6GuPHj8eBAwdalPvyyy+jb9++iImJQXp6Oj7++GOn+3/++ecxaNAgxMbGolOnThg2bBiWL1+uSXP06FHceuut6NGjB2w2G8455xzceeedqKurc+sYVq5ciYceeghJSUlo164drr76ahw5cqRF3T7//HNceeWV6NixI2JjYzFmzBh88sknps4vUbiICHQFiL766itceumliIuLwwMPPIDIyEi89NJLGDt2LD766CNkZGQAaLwPW1hYiNtuuw3p6emoqqrC9u3bsXPnTlxxxRUAgN/97nf46quvcPfddyMlJQU//vgjNmzYgMOHDyMlJcWjeh48eBCrV6/G73//e5xzzjmorKzESy+9hDFjxuDrr79Gjx49NOkXLFgAi8WC++67DydPnsRTTz2FP/zhD/j888+VNK+88gr+9Kc/YeTIkfjLX/6CgwcP4uqrr0bnzp2RnJyspFu0aBH+/Oc/47rrrsM999yDs2fP4ssvv8Tnn3+Om266CQDw/fffIz09HSdOnMDtt9+OCy64AEePHsUbb7yBmpoaREVFmT6GefPmQZIkPPjgg/jxxx9RVFSEzMxMlJWVISYmBgDw73//GxMmTEBaWhoKCgpgsViwdOlSXH755fj444+Rnp7u0XknCjmCyIeWLl0qAIht27bpppkyZYqIiooS3377rbLt+++/Fx06dBCXXXaZsm3o0KFi0qRJuuX88ssvAoB4+umnTdezoKBAABDHjh3TTXP27Flht9s128rLy4XNZhOPP/64su3DDz8UAMSAAQNEbW2tsv25554TAMTu3buFEELU1dWJbt26idTUVE26l19+WQAQY8aMUbb99re/FYMGDXJ5DFOnThUWi8XpuZZl2a1j6Nmzp6iqqlK2v/766wKAeO6555Ry+/fvL7KyspR9CCFETU2NOOecc8QVV1zhss5E4YihZgoou92O9evXY8qUKTj33HOV7d27d8dNN92EzZs3o6qqCgAQHx+Pr776Ct98843TsmJiYhAVFYWNGzfil19+8XpdbTYbLBaLUu+ffvoJ7du3x/nnn4+dO3e2SD9t2jRERUUpry+99FIAjVfOALB9+3b8+OOPuOOOOzTpbrnlFnTs2FFTVnx8PP773/9i27ZtTusmyzJWr16NyZMnY9iwYS3elyTJrWOYOnUqOnTooLy+7rrr0L17d6xduxYAUFZWhm+++QY33XQTfvrpJxw/fhzHjx9HdXU1xo8fj02bNkGWZad1JgpXbHgpoI4dO4aamhqcf/75Ld4bMGAAZFlW7ik+/vjjOHHiBM477zwMGTIE999/P7788kslvc1mw//8z//gvffeQ2JiIi677DI89dRTqKio8EpdZVnG//7v/6J///6w2WxISEhA165d8eWXX+LkyZMt0vfu3VvzulOnTgCgfCk4dOgQAKB///6adJGRkZovIQDw4IMPon379khPT0f//v2Rm5uruYd67NgxVFVVYfDgwV49huZ1kyQJ/fr1U+6ZN30JysnJQdeuXTXL4sWLUVtb67RconDGhpfajMsuuwzffvstlixZgsGDB2Px4sW4+OKLsXjxYiXNX/7yF+zfvx+FhYWIjo7Go48+igEDBmDXrl0e73/+/PnIz8/HZZddhr/97W94//33sWHDBgwaNMjpVZ3VanVajhDC9L4HDBiAffv2YcWKFRg9ejTefPNNjB49GgUFBT49htY05Xn66aex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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# NBVAL_SKIP\n", "# Plot the loss landscape using imshow.\n", "import matplotlib.pyplot as plt\n", "import matplotlib.colors as colors\n", "plt.figure(figsize=(5, 4))\n", "plt.imshow(loss_map, origin='lower', extent=[0,1,0,1], aspect='auto', norm=colors.LogNorm())#, vmin=-3.5, vmax=-2.5)#extent=[1e-4, 0.05, 0, 10]\n", "plt.xlabel('Metallicity')\n", "plt.ylabel('Age')\n", "plt.title('Loss Landscape')\n", "plt.colorbar(label='loss')\n", "# Plot a red dot at the desired coordinates.\n", "plt.plot(metallicity_history[:], age_history[:])#, 'bx', markersize=8)\n", "#plt.plot(metallicity_history[::100], age_history[::100], 'bx', markersize=8)\n", "plt.plot(metallicity_values[index_metallicity]/0.05, age_values[index_age]/20, 'ro', markersize=8)\n", "plt.plot(metallicity_values[initial_metallicity_index]/0.05, age_values[initial_age_index]/20, 'ro', markersize=8)\n", "plt.savefig(f\"output/optimisation_losslandscape.jpg\", dpi=1000)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 26, "id": "93071f12", "metadata": {}, "outputs": [], "source": [ "# NBVAL_SKIP\n", "metallicity_history = np.array(metallicity_history)*0.05\n", "age_history = np.array(age_history)*20" ] }, { "cell_type": "code", "execution_count": 27, "id": "bb006589", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAi0AAAHWCAYAAAC7VLk1AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAbQhJREFUeJzt3Xl8FEXeP/BPzySZhCMJgZAQDIeAIFeigUQUBSQagguCF7K7ciqP+wRdjajgT0FcNd7iSlY8gOizy4J4wCrKClkBUeQ0KiIIbDgUEg5NQoK5puv3BzKZ7sn0TKd7ruTzfr3mxfR0dXV1TydUqr5VJQkhBIiIiIiCnCXQBSAiIiLyBistREREFBJYaSEiIqKQwEoLERERhQRWWoiIiCgksNJCREREIYGVFiIiIgoJrLQQERFRSGClhYiIiEICKy1EpNvw4cMxfPjwQBeDiFoYVlqoRSsoKIAkSdixY0egi6Lp0UcfhSRJOHXqVKCLQkQUMKy0EBERUUhgpYWIiIhCAistRF746quvkJ2djejoaLRp0wYjR47El19+qUhTV1eH+fPno1evXoiMjET79u0xdOhQrFu3zpGmpKQEU6dOxQUXXACbzYZOnTrh+uuvx6FDhwyX8eeff8asWbMwYMAAtGnTBtHR0cjOzsbXX3+tSLdhwwZIkoS3334bTzzxBC644AJERkZi5MiROHDggEu+r732Gnr06IGoqCikp6fjs88+a/T8L7/8Mvr164dWrVqhXbt2GDRoEJYtW6ZI89NPP2H69OlISkqCzWZD9+7d8ac//Qm1tbVNuoYVK1bgoYceQmJiIlq3bo2xY8fi6NGjLmXbunUrRo0ahZiYGLRq1QrDhg3D559/ruv+ElHghQW6AETB7rvvvsOVV16J6OhoPPDAAwgPD8err76K4cOHY+PGjcjIyABwLu4kLy8Pt99+O9LT01FRUYEdO3Zg165duOaaawAAN954I7777jvcdddd6NatG06cOIF169bhyJEj6Natm6Fy/ve//8WqVatw8803o3v37igtLcWrr76KYcOGYc+ePUhKSlKkf+qpp2CxWDBr1iyUl5fjmWeewR/+8Ads3brVkWbx4sX4n//5H1x++eW455578N///hdjx45FXFwckpOTHelef/113H333bjpppvw5z//GdXV1fjmm2+wdetW/P73vwcAHDt2DOnp6SgrK8OMGTPQp08f/PTTT3jnnXdw9uxZRERE6L6GJ554ApIk4cEHH8SJEyewYMECZGZmoqioCFFRUQCA//znP8jOzkZaWhrmzZsHi8WCpUuX4uqrr8Znn32G9PR0Q/ediPxIELVgS5cuFQDE9u3b3aYZN26ciIiIEAcPHnR8duzYMdG2bVtx1VVXOT5LSUkR1113ndt8fvnlFwFAPPvss7rLOW/ePAFAnDx50m2a6upqYbfbFZ8VFxcLm80mHnvsMcdnn376qQAgLr74YlFTU+P4/KWXXhIAxLfffiuEEKK2tlZ07NhRpKamKtK99tprAoAYNmyY47Prr79e9OvXT/MaJk2aJCwWS6P3WpblJl1D586dRUVFhePzt99+WwAQL730kiPfXr16iaysLMc5hBDi7Nmzonv37uKaa67RLDMRBRd2DxFpsNvt+OSTTzBu3DhceOGFjs87deqE3//+99i8eTMqKioAALGxsfjuu++wf//+RvOKiopCREQENmzYgF9++cX0stpsNlgsFke5T58+jTZt2qB3797YtWuXS/qpU6ciIiLCsX3llVcCONdiAwA7duzAiRMncOeddyrSTZkyBTExMYq8YmNj8eOPP2L79u2Nlk2WZaxatQpjxozBoEGDXPZLktSka5g0aRLatm3r2L7pppvQqVMnfPTRRwCAoqIi7N+/H7///e9x+vRpnDp1CqdOnUJVVRVGjhyJTZs2QZblRstMRMGHlRYiDSdPnsTZs2fRu3dvl30XX3wxZFl2xFA89thjKCsrw0UXXYQBAwbg/vvvxzfffONIb7PZ8PTTT+Pjjz9GQkICrrrqKjzzzDMoKSkxpayyLOPFF19Er169YLPZ0KFDB8THx+Obb75BeXm5S/ouXboottu1awcAjgrV4cOHAQC9evVSpAsPD1dU4ADgwQcfRJs2bZCeno5evXohJydHETNy8uRJVFRUoH///qZeg7pskiShZ8+ejhih8xXIyZMnIz4+XvF64403UFNT02i+RBScWGkhMslVV12FgwcPYsmSJejfvz/eeOMNXHrppXjjjTccae655x788MMPyMvLQ2RkJB555BFcfPHF+Oqrrwyf/8knn0Rubi6uuuoq/P3vf8e///1vrFu3Dv369Wu0NcFqtTaajxBC97kvvvhi7Nu3D8uXL8fQoUPx7rvvYujQoZg3b55Pr8GT88c8++yzWLduXaOvNm3a6M6XiAKDgbhEGuLj49GqVSvs27fPZd/evXthsVgUAalxcXGYOnUqpk6disrKSlx11VV49NFHcfvttzvS9OjRA/fddx/uu+8+7N+/H6mpqXj++efx97//3VBZ33nnHYwYMQKLFy9WfF5WVoYOHTrozq9r164AzrVWXH311Y7P6+rqUFxcjJSUFEX61q1bY8KECZgwYQJqa2txww034IknnsCcOXMQHx+P6Oho7N6929RrUHfFCSFw4MABDBw4EMC5ew0A0dHRyMzM9PLKiShYsaWFSIPVasW1116L1atXK4Yll5aWYtmyZRg6dCiio6MBAKdPn1Yc26ZNG/Ts2RM1NTUAgLNnz6K6ulqRpkePHmjbtq0jjdGyqltJVq5ciZ9++qlJ+Q0aNAjx8fFYtGiRY0gycG4W4bKyMkVa9bVHRESgb9++EEKgrq4OFosF48aNwwcffNDo7MPny633Gt566y2cOXPGsf3OO+/g+PHjyM7OBgCkpaWhR48eeO6551BZWely/MmTJzXuABEFG7a0EAFYsmQJ1q5d6/L5n//8Zzz++ONYt24dhg4div/93/9FWFgYXn31VdTU1OCZZ55xpO3bty+GDx+OtLQ0xMXFYceOHXjnnXcwc+ZMAMAPP/yAkSNH4pZbbkHfvn0RFhaG999/H6Wlpbj11lu9KucLL7yAVq1aKT6zWCx46KGH8Lvf/Q6PPfYYpk6dissvvxzffvst/vGPf7jEn3grPDwcjz/+OP7nf/4HV199NSZMmIDi4mIsXbrUJc9rr70WiYmJuOKKK5CQkIDvv/8eCxcuxHXXXecIlH3yySfxySefYNiwYZgxYwYuvvhiHD9+HCtXrsTmzZsRGxur+xri4uIwdOhQTJ06FaWlpViwYAF69uyJO+64w3Fv3njjDWRnZ6Nfv36YOnUqOnfujJ9++gmffvopoqOj8cEHHzTp/hBRAARy6BJRoJ0f8uzudfToUSGEELt27RJZWVmiTZs2olWrVmLEiBHiiy++UOT1+OOPi/T0dBEbGyuioqJEnz59xBNPPCFqa2uFEEKcOnVK5OTkiD59+ojWrVuLmJgYkZGRId5++22P5Tw/5Lmxl9VqFUKcGy583333iU6dOomoqChxxRVXiC1btohhw4YphiefHy68cuVKxTmKi4sFALF06VLF53/7299E9+7dhc1mE4MGDRKbNm1yyfPVV18VV111lWjfvr2w2WyiR48e4v777xfl5eWKvA4fPiwmTZok4uPjhc1mExdeeKHIyclxDKnWew3//Oc/xZw5c0THjh1FVFSUuO6668Thw4dd7t9XX30lbrjhBkf5unbtKm655RZRWFjo8d4TUfCQhGhC1B0RUQBt2LABI0aMwMqVK3HTTTcFujhE5CeMaSEiIqKQwEoLERERhQRWWoiIiCgkBLTSkpeXh8GDB6Nt27bo2LEjxo0b5zIfRnV1NXJyctC+fXu0adMGN954I0pLSzXzFUJg7ty56NSpE6KiopCZmel2anUiCj3Dhw+HEILxLEQtTEArLRs3bkROTg6+/PJLrFu3DnV1dbj22mtRVVXlSHPvvffigw8+wMqVK7Fx40YcO3YMN9xwg2a+zzzzDP76179i0aJF2Lp1K1q3bo2srCyXOTKIiIgodATV6KGTJ0+iY8eO2LhxI6666iqUl5cjPj4ey5Ytc/xFtXfvXlx88cXYsmULLrvsMpc8hBBISkrCfffdh1mzZgEAysvLkZCQgIKCAq/nwyAiIqLgElSTy51fuCwuLg4AsHPnTtTV1Smm3+7Tpw+6dOnittJSXFyMkpISxTExMTHIyMjAli1bGq201NTUKGYklWUZP//8M9q3b+9YfZaIiEKPEAJnzpxBUlKSYwVxM1VXVytmjDYqIiICkZGRpuXX3ARNpUWWZdxzzz244oorHCvBlpSUICIiArGxsYq0CQkJblfGPf95QkKC18fk5eVh/vz5Bq+AiIiC1dGjR3HBBReYmmd1dTW6d22DkhN20/JMTExEcXExKy5uBE2lJScnB7t378bmzZv9fu45c+YgNzfXsV1eXo4uXbrg6NGjjnVliIgo9FRUVCA5OdmxnISZamtrUXLCjuKdXRHd1ngrTsUZGd3TDqO2tpaVFjeCotIyc+ZMfPjhh9i0aZOiJpyYmIja2lqUlZUpWltKS0uRmJjYaF7nPy8tLUWnTp0Ux6SmpjZ6jM1mg81mc/k8OjqalRYiombAl1390W0tplRayLOA3mUhBGbOnIn3338f//nPf9C9e3fF/rS0NISHh6OwsNDx2b59+3DkyBEMGTKk0Ty7d++OxMRExTEVFRXYunWr22OIiIiayi5k016kLaAtLTk5OVi2bBlWr16Ntm3bOmJOYmJiEBUVhZiYGEyfPh25ubmIi4tDdHQ07rrrLgwZMkQRhNunTx/k5eVh/PjxkCQJ99xzDx5//HH06tUL3bt3xyOPPIKkpCSMGzeuyWXt9cQLjveRp5Q19siflQOwwqqVD561rmG/sCiPtUcot+uiVPttzu+V++RwZRmF07cpW1X7PG47l1G5T121Feo/WJy2hUW43efpWBdax0ra59HMy0Naoc5bz3mamtaXtK7HJa2efHWXxOlYA4MWDZ3XwLEueTX9Gkz7o9/IfXTJq+mHHvrjHPPKEYJkCMgw/l2YkUdzF9BKyyuvvALg3ERRzpYuXYopU6YAAF588UVYLBbceOONqKmpQVZWFv72t78p0u/bt88x8ggAHnjgAVRVVWHGjBkoKyvD0KFDsXbtWvYREhERhbCAVlq8mSImMjIS+fn5yM/P9zofSZLw2GOP4bHHHjNcRiIiIi0yZJjRsWNOLs1bUATiEhERhSq7ELCbME+rGXk0d6y0NIWJ/eIuMR5ap1WHcai2DT3ueg5Wp3W+BpcLUrWCae01cl+1yqQzraS6BkWMi4nn8Rv1d6IVB+Gv69NTJlPPa+BYl7yafg1a/zfpinfx9AvEX/eVyE9YaSEiIjKAgbj+w0oLERGRATIE7Ky0+AVnwyEiIqKQwJYWPxBOndR6Ylj0n6jhrad4F639Lvs89XULjX0mUoaWGIiJMFOox7h4um8tLcalqfkA+u6rVjbq2LUAxd0EzfMaAtg95D+stBARERnA0UP+w+4hIiIiCglsafGWRtOoZGLtWHNYs/o0emZnN3N4tJ7zmNVUD5g3JFp7VLbmEGjNKf49nUcrrTfpg4G/rs+sbg1/DaN3Oda8ocimDY8GjHVhsRHALfm3lxn5kDZWWoiIiAywmzR6yIw8mjt2DxEREbVQH374IXr37o1evXrhjTfeCHRxPGJLCxERkQF2ce5lRj7+VF9fj9zcXHz66aeIiYlBWloaxo8fj/bt2/u3IDqwpcUfJI2XmacRDS+oX0aOVb10XYKQVC9VXs7nNZPO6/cJvWXQuu++ov5+dB2Lpl+fXmaV0ch9NfM7aer1qLMRyleTy9DYi7wmm/jyp23btqFfv37o3Lkz2rRpg+zsbHzyySd+LoU+rLQQERGFoE2bNmHMmDFISkqCJElYtWqVS5r8/Hx069YNkZGRyMjIwLZt2xz7jh07hs6dOzu2O3fujJ9++skfRW8yVlqIiIgMkCHBbsJL1tn8XlVVhZSUFOTn5ze6f8WKFcjNzcW8efOwa9cupKSkICsrCydOnDDjsgOCMS1EREQGyOLcy4x8AKCiokLxuc1mg81mc0mfnZ2N7Oxst/m98MILuOOOOzB16lQAwKJFi7BmzRosWbIEs2fPRlJSkqJl5aeffkJ6errxC/EhtrR4y0dxKB4DRNzEfzT20mRm375W3n7icu16+uM9XbvGfklIipffNLcYF0OxJSbGXpgZ42LW9Ri4PkMxLp7KRX6TnJyMmJgYxysvL093HrW1tdi5cycyMzMdn1ksFmRmZmLLli0AgPT0dOzevRs//fQTKisr8fHHHyMrK8u06/AFtrQQEREZcL57x4x8AODo0aOIjo52fN5YK4snp06dgt1uR0JCguLzhIQE7N27FwAQFhaG559/HiNGjIAsy3jggQeCeuQQwEoLERGRIWZXWqKjoxWVFl8aO3Ysxo4d65dzmYHdQ0REREFk8ODB6Nu3r9sAW2906NABVqsVpaWlis9LS0uRmJhotIgBw5aWpvBUoXZZECRQE4XooOiz9lBe9W6NQ13uhOYaTtqn0czYE+fMTOyeV8e1aK5N5OkxMLJOk69CDsxaAwjQLqOR69HzUHnMq4ll0MrHcF5N/w6CZt2iZk4WEmQT4n7O57F9+3bDLS0RERFIS0tDYWEhxo0bdy5/WUZhYSFmzpxptKgBw0oLERGRAWZ3D3mrsrISBw4ccGwXFxejqKgIcXFx6NKlC3JzczF58mQMGjQI6enpWLBgAaqqqhyjiUIRKy1EREQhaMeOHRgxYoRjOzc3FwAwefJkFBQUYMKECTh58iTmzp2LkpISpKamYu3atS7BuaGElRYiIiID7LDAbkKIqP23fwcPHgyr1YqcnBzk5OS4TT98+HAID2PbZ86cGdLdQWqstJhA6Ihh8el0B1rPrnqfjrQusSbqLnYvs230YOcjzLw3euIAPMUf6IhzcI5x0Yxv8VSOIInZcT2PgbgGPWXUytpIvIuRmBxD5TApH8C02BL1/3W6Ylw4b4uCMCmmRZgY09JccfQQERERhQS2tBARERkQqEDcloiVFiIiIgPswgK7MCGmhSPJPWL3EJnLX2vkqBhah0kPHccaWqfIT2U0xF/rFJl6bJCsW2RWPsG6bhEZYsbkcs0VW1qIiIgMkCFBNqENQP6t1spAXPdYaSEiIjKAMS3+w+4hIiIiCglsafGWcPPeaLaS9ra/Kt6SxvW59G/7aU0Zn65FpMVH16drnSIjZTLzWD38tU6Rqcf6aN0il7wM5NMc1i1q5swLxGUwkSdsaSEiIjLgXEyLOS+Agbha2NJCREQURBiI6x4rLWbwYVOpc+tusHQludA1zb36UI1FAHw1rb+nficD0/jrYWp3kSJjHcf6a8p/IDDdRQHqWnHNS7UdDEsAuORlTtdRSySbtPaQbGbsQTPFSgsREZEBjGnxn4DGtGzatAljxoxBUlISJEnCqlWrFPslSWr09eyzz7rN89FHH3VJ36dPHx9fCREREflaQFtaqqqqkJKSgmnTpuGGG25w2X/8+HHF9scff4zp06fjxhtv1My3X79+WL9+vWM7LIwNSkRE5BsyLKZOLkfuBfR/8+zsbGRnZ7vdn5iYqNhevXo1RowYgQsvvFAz37CwMJdjDdPoCvY0W7YiLsWiimNQb1vhdr9L66OnGBeNtJpl9BQro7XtIa1r3k4/pL6M2dHqr/eUr4H7qkVXDIuJ5/Vb7FOoX5+R8rvkZV5WwXB9HPKsZBcS7EaXhfgtH+Dc6CGr1YqcnBzk5OQYzrc5CZkmiNLSUqxZswZvvvmmx7T79+9HUlISIiMjMWTIEOTl5aFLly5u09fU1KCmpsaxXVFRYUqZiYiI9OLoIfdCZp6WN998E23btm20G8lZRkYGCgoKsHbtWrzyyisoLi7GlVdeiTNnzrg9Ji8vDzExMY5XcnKy2cUnIqJmyv7b6CEzXqQtZFpalixZgj/84Q+IjIzUTOfc3TRw4EBkZGSga9euePvttzF9+vRGj5kzZw5yc3Md2xUVFay4EBGRV2RhgWzC6CGZo4c8ColKy2effYZ9+/ZhxYoVuo+NjY3FRRddhAMHDrhNY7PZYLPZNPORnWNNPDxXLl2b1oYPZNUd97Qtwhp/32hap58Z19gY1bbLfqeLUqdVb2vEmrjG3WjPvSK04mHUNONudMzxYiBWRlccSjDGMeg+r5+u19R7FaBYGn/la1KsjaG4FDPjfYh0CIm2qMWLFyMtLQ0pKSm6j62srMTBgwfRqVMnH5SMiIhaOnYP+U9A71BlZSWKiopQVFQEACguLkZRURGOHDniSFNRUYGVK1fi9ttvbzSPkSNHYuHChY7tWbNmYePGjTh06BC++OILjB8/HlarFRMnTvTptRARUcsko2EEkZGXHOgLCQEB7R7asWMHRowY4dg+H1cyefJkFBQUAACWL18OIYTbSsfBgwdx6tQpx/aPP/6IiRMn4vTp04iPj8fQoUPx5ZdfIj4+3ncXQkRERD4X0ErL8OHDITwEHs2YMQMzZsxwu//QoUOK7eXLl5tRNBeyraGc6jVj1LRiQORw5bFyhOo86v1hjb8HGolLcdp2jWFR3meX/c7bHmJYNONW9M614qc4Fc1YFCPztASKWTEFeq8tUHEQps1NYlI+QHDElnjMPEjnmmlmzJtc7lwenKfFvZAIxCUiIgpW5q09dC4PztPiHqN+iIiIKCSwpYWIiMgAGRJkE/rPzMijuWOlxUtyK3vDhroZUB0/oYo1kcMaEtg9xLCo52JRzNPikq+qkE7FklUxLLrmXnFJqx0Po7X2kK/iVFxiVHwZlxKouVn0aOp5Q3F9IB/OEWJafIkv5zExqYwS51oxjdndQ+Qe7xARERGFBLa0EBERGWDWxHCcXM4zVlqIiIgMkIUE2cNUGN7mQ9pYafGSpXW901a4ZlrZqnzwFHOtqOdhUWXlshaR89wrGvOyAMrYE/U+XXOv6IlhUeflKdZEx7o/mnEruucXCYJ5WoIlhsBfsSgmXm9LijVxyTYI51rx6dwyRBpYaSEiIjJANql7yIwJ6po73iEiIiIDZGEx7QWcmxG3b9++yM/PD/CVBR+2tHjJFlnntBWl2Odpqnqh1cXjYSiyYpiv1vT5gLIKqi6D6lDXbhqnriWPU+JrlENnd5Cu6fU1h0d7aELXM7Rab96+4K/m9wANPTa1eyEIu088nsZXz5SJ5WcXUOBwRlz3WGkhIiIywA4JdhNqjGbk0dyx0kJERGSAc9eO0XxIG+8QERERhQS2tHjJbneq35nZgqce1avaFs7hIrJqn0UdIOKUWJ2vRtJzHzQkkFQ7XdKa2W/udF7N+BZAeU3qMqgDbVxupNax6kJ5yFuLWbEKvgyjcb4cvedRHKvzQXCOm9J5Xs34CjO/HyP3XUcxhI4y64p/0VN+D0XQ+o4Y76JkhzldO3bPSVo8VlqIiIgMYPeQ//AOERERUUhgSwsREZEBXOXZf1hp8VJtZYTjfaSH8AlJ1THp/BxaLNoBFK6xJg1vVSEtLs1kzv3kQj0Vv4dp/RV94S5z/GvEhwDKDm49c7qo0kueOsqd56zxtFyAS4yL8z7t07ie16RAgWCMA/DrPC3unxNPFGcydB89/PCaxMyYD1OXozHyc6DIJ0iWpAgSAhJkE37ARVD+kggurLQQtVA2qxWjL+yNrC69EGuLQlnNr/j3kf34qHgfauwMCSSi4MNKC1ELlNmlJ54fNhqxtkjYZRlWiwV2WUZ299549LJM5G5cg8KjBwNdTKKQwO4h/+EdImphMrv0xOvXjEd0hA0AYLVYFP9GR9jwxjU3ILNLz4CVkSiUyEIy7UXa2NLiJevP4Q0bHp4rS72yv9d5fhXZrjxYrtOOPZHDJaf3qn1h7rfVc7i4rHnksgaSUzlc1kNS5aWxJpD6DwWXOSYkjbx0rHkkeYpN0LVukcY+VQKPc8n4ikm/y2xWK54fNhoAYHETeGGRJMhC4PmrRiP973/T6CoyUCgj99HUGA/fXIOuq9Px/BnPS+tY70vN2AvfGjx4MKxWK3JycpCTkxPo4gQVVlqIWpDRF/ZGrC3SYzqLJCHWFonR3Xvj/QN7/FAyotBlhwV2EzouzufBBRPdY/cQUQuS1a0X7LJ6HFrj7LKMrO69fFwiotDH7iH/YaWFqAWJjYx0xK54YrVYvGqVISLyF3YPean1sYYacNiv2vOWOMehAMo4D5e4FJfYEvfHasWSuPCUViMGRNd5vNnvC55iWEKdj66nrLraMVrIE7sso6ym2jcFMcKHa2Hp4mm9K6/z8bBfz/UZycvTX/mcm8UtGRbIJrQBmJFHc8c7RNSC/PvQfl0tLf8u3u/jEhGFPruQTHuRNlZaiFqQj749hrKztZBl7b+aZSFQVlONj4r3+alkRESesdJC1FKcbYOa451w38qvAelcxaQx5z/P/fQjzoxL5AUG4voPY1q81DarxPE+NvJXxb4au/I2/loXrtpu2G9VrQlkr1cGtdTZldvO/6+o1y1Sz4HifKTQ+fA756U+0uKhL9tlLhaT0qpZNC7JU76eriEY+PIXVu0vMag43BmAhM9O7cF9O7/H/JSbEB3eCnYhwypZHP9W1v+Ked+8g2/EXsQnK/MJhvto5BlS0/tzQtQYISyQTZjNVnBGXI9YaSFq5urKolGx+2JAtiKi/Wm07fMDPjspMOo/T2FkYn+MSOiL6PBWqKg7i09L96CwZDdq5fpAF5uIyAUrLUTNWF1FG0eFJbzdL2jbdx+k31rsauV6fHysCB8fKwpsIYlCnB0S7CYMYzMjj+aOlRaiZqr+TGtUfNsPwh6G8NgyRPfb66iwEJF5ZGFO966H+HgCKy1ee7XPPxzv4yzK4MQ6D8dq9VLWqB7SKqH8SrR+EKpVaatEhOP9GTlKsa/CrpwkrE51rPMU1FZ4N2OqNzxNbW1WHIenWAszr8mZ1vV5ujbtY/X1bav/Qjv9S3u8++VNEPVh6NTxJ1yfuQoR4Z6eVMCqb9WcoKDnr1MjcQe+Oo+RlX3lAP1lbgnB54SaB1ZaiJqZX8pj8f4nN6C6JgoJ7UswduRqryosRNQ0skmBuGbk0dyx0kLUjJSficZ7n9yIs9Wt0SHuBK6/5n3YImoDXSyiZk2GZEqrV6BazkJJQCstmzZtwrPPPoudO3fi+PHjeP/99zFu3DjH/ilTpuDNN99UHJOVlYW1a9dq5pufn49nn30WJSUlSElJwcsvv4z09HRDZe0a1vAwhUs2XcdafDQdjqzq8rCLX532VSn21Qll2jofNe/a3cz94Ta9T0rhyuo5iVtmldFIB5Xdi9taeiYO9677I6rOtkXXdj/hhXHPIjaq0sBZ9bGqft96U2Zf0HOfjQQ+6pm91Mh/RsESnBmKXYfU/AS0LaqqqgopKSnIz893m2bUqFE4fvy44/XPf/5TM88VK1YgNzcX8+bNw65du5CSkoKsrCycOHHC7OITBY1TVTG4f/V9KD3TAZ1jSvDc9c/7tcJC1JJxGn//CWhLS3Z2NrKzszXT2Gw2JCYmep3nCy+8gDvuuANTp04FACxatAhr1qzBkiVLMHv2bEPlJQpGv5xti/tX34efyhPQKfoknh/3POJaVwS6WEQtBmNa/Cfo79CGDRvQsWNH9O7dG3/6059w+vRpt2lra2uxc+dOZGZmOj6zWCzIzMzEli1b3B5XU1ODiooKxYsoFFRUt8YD/8rFkV+SEN/mZzx3/XOIb/NLoItFRM3E+PHj0a5dO9x0002BLgqAIA/EHTVqFG644QZ0794dBw8exEMPPYTs7Gxs2bIFVqtrlMKpU6dgt9uRkJCg+DwhIQF79+51e568vDzMnz9fsyzhUsP5PMWoWPzUB21RRWooh/0q94VL6vgXH/VP67x0dVyOP3j6/gJRpqY4UxOJuz64F/89nYwOrcrx+g0vomtsGfRE8FiDJF7CE3sA4incrc3UNN7nFYhrBULnWQhGMsxZNygYA3H//Oc/Y9q0aS7xpYES1JWWW2+91fF+wIABGDhwIHr06IENGzZg5MiRpp1nzpw5yM3NdWxXVFQgOTlZ4wiiwKqqteF/V9+FPSe6ol3kGSwa/yK6xjJuiygQhEmjh0QQVlqGDx+ODRs2BLoYDkHfPeTswgsvRIcOHXDgwIFG93fo0AFWqxWlpaWKz0tLSzXjYmw2G6KjoxUvomAlBPDg2un4uqQHom1VeG38AvRofzzQxSIiP9u0aRPGjBmDpKQkSJKEVatWuaTJz89Ht27dEBkZiYyMDGzbts3/BTVRSFVafvzxR5w+fRqdOnVqdH9ERATS0tJQWFjo+EyWZRQWFmLIkCH+KiaRTy37egQ2HRqICGsdFo37K3rH/xToIhG1aLKQTHvp4WkErjejaVNTU9G/f3+X17FjxwzdE18JaPdQZWWlotWkuLgYRUVFiIuLQ1xcHObPn48bb7wRiYmJOHjwIB544AH07NkTWVlZjmNGjhyJ8ePHY+bMmQCA3NxcTJ48GYMGDUJ6ejoWLFiAqqoqx2iipvLVXCtmco6lkVX94i7ll4IjbsNqaAYV3/BVmcyII/rhVBJe/PwGAMD9Q9/FwISjCI2n05hAXJ8coJ+R8ICclYwwe/SQejCIzWaDzeY6P5inEbjejKYtKioyXG5/Cujvuh07duCSSy7BJZdcAuBcheOSSy7B3LlzYbVa8c0332Ds2LG46KKLMH36dKSlpeGzzz5TfHkHDx7EqVOnHNsTJkzAc889h7lz5yI1NRVFRUVYu3atS3AuUaiprg/HA2unodYejmHdvsWtAzcFukhE5APJycmIiYlxvPLy8nTn0dTRtMEuoC0tw4cPh9D46/Pf//63xzwOHTrk8tnMmTMdLS9EzcULm8fjwM9JaN+qHI9l/h+k4IvZI2qRmtK14y4fADh69KgitrKxVhZPmjqaVi0zMxNff/01qqqqcMEFF2DlypUBDbcI6tFDRHTOxuL+WPbNcADAk9e8hfatONstUbAwe+2hYBoQsn79+kAXQYGVFgoon80X04ycqorGI+tvAwDcllqIK7p+H+AShY5gmXMnUHOvGMF5WwJn8ODBsFqtyMnJQU5OTpPyaOpo2mDHSgtREJOFhIfX34aff22Lizr8iHsuXx3oIhGRitndQ9u3bzfc0uI8mvb8QsTnR9OGcvgEKy1EQewfXw/H5sP9YLPW4tmsJbCF1Qe6SESkYnalxVtaI3C7dOnis9G0gcRKC1GQ2nuyM17YPA4AcP+V76FH+5LAFoiIgsqOHTswYsQIx/b5md0nT56MgoICTJgwASdPnsTcuXNRUlKC1NTUkB9Ny0qLl/T1jQdmJLlzGdWxInWwK9Oq9vurz91IhIHzNVlDYOiMkXids/XhmPXvKaiTw3F5tyJc0289fg6O8IygY+yZCtB5TYoXsRv4694qNf3irarfF8ERMho4Zre0eBvT4mkELtD8RtOy0kIUhPI/vxmHfu6MuFZlmD2ygMObiVoQM2JamitWWoiCzObiFKz69moAwEOZSxAbxeHNRMEsUDEtLRErLURB5q+bJwAAbkn5BOld9gS4NETkiQBMWuWZPGGlxUsD3rzb8V6o75rqSVMvWeK8Letd1sYpPEZYlSdyWerC6WfGpcKu7r9W73c+j6e0Wj+bno51SW9SXp6u13mXkd8tBuIAvFYZBwB4u7Ir3v70bg+JTWbg3khm3psA/cEZEt1w/ngGGzutxr6Dt/qtGNTCNfd11ohCj/W3oGl78C0mSUSuzF7lefDgwejbt6/b1ZtbMra0EAUbaz0AG2DnjydRKAjGyeWaK7a0EAUbtrQQETWKf8p5qeOlDes3lP6srAHb65R1P8mi7HNu1abGbb52u0VzW5Gvqi9bVh9b37AtalT/4anLWKf6q6C+YdulX19VJHVsDZy3VfukMGWAj6Tab3G6Vxar7HbfuXKJRt83VmbX/c5zvLjf19i21bmMLvtU1+f0Pky9T3Wser/1t+Cn4z/H40xlNDpGn0Vcl5JGzxumCpyyOG2r06q3tfZZPIQCauelPXOJ1rwgvjqvp7lItM7r6Xq0ymT1MIuL1rFG0uotB5mDo4f8h5UWoiBjDa8DANjr+ONJFApYafEfdg8RBRmLo9ISHuCSEFEgMBDXPf4p56WNA95xvK8RykXrPE0pb9GoG1pUAwmtUvDXI+2i6U3Osqo5Xmt5BK1p8NXHad3jUPN/Z0fg6YM9MCSyFM/2WhXo4hCRB0JIECa0kggG4nrESgtRkIm2nQUAlFe3DnBJiMgbMiRTJpczI4/mrvn8eUrUTMREVgFgpYWISI0tLURBJr51Ofp0OIru7UoCXRQi8gIDcf2HlZYmCJe0589Qx6loCYUYFjU9ZVbHv6jvjQXu76X2UM/mO4dJasIxrP7DM79tNd/rJGouzI5pIfdC739MIiKiZoyjh9xjSwsREZEBnMbff1hpISIiMoDdQ/7DSksT6IlZaenU8S965nhp7vdZPWcNERFpY6WFiIjIAGFS9xBbWjxjpYWIiMgAAUBjAm9d+ZA2jh4iIiKikMCWFj8LxXlZyDcCFbPDWBrfa+7xWKQkQ4LEafz9gv+DEhERGXB+9JAZL4DztGhhSwsREVEQ4Twt7rHSQkREZIAsJEhce8gvWGkhIjIB41haLiFMGj3EcDOPGNNCREREIYEtLURERAZwGn//YaWFiIjIAFZa/IeVFj9Tr73T3Odt0bPWkB6ca4SCDZ9JIt8L6P+YmzZtwpgxY5CUlARJkrBq1SrHvrq6Ojz44IMYMGAAWrdujaSkJEyaNAnHjh3TzPPRRx+FJEmKV58+fXx8JURE1FLJv609ZMaLtAW00lJVVYWUlJRGJ9A5e/Ysdu3ahUceeQS7du3Ce++9h3379mHs2LEe8+3Xrx+OHz/ueG3evNkXxSciInKMHjLjRdoC2j2UnZ2N7OzsRvfFxMRg3bp1is8WLlyI9PR0HDlyBF26dHGbb1hYGBITE00t640HGsoZYa1X7LNIyietuj5cuW1vuM11slWx75ezUYrtikrltr1Gmd4fJHVl36K8PotVtW1p6AKyhim7g8LC7IrtcKtyO8Jpf5hFeawtTHmfw6SG/ZKk/dOt/k6MMDOv5qw53CcLu3jc0ppi/sNOfixICzB48GBYrVbk5OQgJycn0MUJKiEV01JeXg5JkhAbG6uZbv/+/UhKSkJkZCSGDBmCvLw8zUpOTU0NampqHNsVFRVmFZmIiJq5c60kZgTinvuXM+K6FzJRoNXV1XjwwQcxceJEzS8zIyMDBQUFWLt2LV555RUUFxfjyiuvxJkzZ9wek5eXh5iYGMcrOTnZF5dARETNkNlrD5F7IVFpqaurwy233AIhBF555RXNtNnZ2bj55psxcOBAZGVl4aOPPkJZWRnefvttt8fMmTMH5eXljtfRo0fNvgQiIiIyKOi7h85XWA4fPoz//Oc/upvMYmNjcdFFF+HAgQNu09hsNthsNs183u35sa7zNlU9lDEfdo3ILKtL8EkDix/ro0amL2/uQ76bM18NZ/eEzwwFG/Hby4x8SFtQ//Sfr7Ds378f69evR/v27XXnUVlZiYMHD6JTJ0aKERGR+dg95D8BrbRUVlaiqKgIRUVFAIDi4mIUFRXhyJEjqKurw0033YQdO3bgH//4B+x2O0pKSlBSUoLa2lpHHiNHjsTChQsd27NmzcLGjRtx6NAhfPHFFxg/fjysVismTpzo78sjIiIiEwW0e2jHjh0YMWKEYzs3NxcAMHnyZDz66KP417/+BQBITU1VHPfpp59i+PDhAICDBw/i1KlTjn0//vgjJk6ciNOnTyM+Ph5Dhw7Fl19+ifj4eN9eDBERtUzsH/KbgFZahg8fDqERs6G177xDhw4ptpcvX260WI1y7kf31JdvqM9ddclhIdBayBiDliNQcSxaZeDzRwFnVtcOu4c84k87ERERhYSgHz1EREQUzMyagp/T+HvGSgsREZEBZo384eghz1hpaabYz09NEQwxK3rpKTN/LohCG3+CiYiIjBCSeS+cWzCxb9++yM/PD/CFBR+2tBARERlgdkwLF0x0jy0tREREFBLY0hJk1H3u7K8nXwrFGBYjOMcL+QQnl/MbVlqIiIgM4Ogh/+GfGURERBQS2NJCRERkFLt2/IKVliDHPnci39GK6eHPHnmL3UP+w59KIiIiCglsaSEiIjKCo4f8hpUWIiIiQ6TfXmbkQ1pYaSFq5lraXCxm0XvfGAND5HustBARERnB7iG/YaWFiIjICFZa/IaVlibwNNV+nbArtivlGrd5WSRlH6ZV1adp0RjgJUN5XrvTE1+nKlO1ajWvOtUPh1WjK1VdAnWjuV2431crlEfXCKuqXA2PYC2U++pUae1OecmqUllczhx46jL6i6d7YZUa9ltVvyUtkmqaex33VZ2Xml1Hf71dde9k4f5eqvPVek7UaeuE8leg87Ge07rfry6/+lmWNc+jTKumOFbjvnhiVX3Xrt+9+2cjXFL+jrsrscnFINKFlRYiIiIjhHTuZUY+pImVFiIiIgOEOPcyIx/SxnB3IiIiCglsaTGBy1BHVTxJG4vN67wsZo3TD1Aro2wokszuYdv5PMEXw6KXVrySvwTvfXT/3bd0wfDckEozDcQ9evQobrvtNpw4cQJhYWF45JFHcPPNNwe0TKy0EBERGdFMY1rCwsKwYMECpKamoqSkBGlpaRg9ejRat24duDIF7MxEREQUtDp16oROnToBABITE9GhQwf8/PPPAa20sJ2RiIjIAEmY99Jj06ZNGDNmDJKSkiBJElatWuWSJj8/H926dUNkZCQyMjKwbdu2Jl3jzp07YbfbkZyc3KTjzcKWlgAzLYYlSOi9nqbGwLBf3xxm3sfgjY9pGj5j5LUAxbRUVVUhJSUF06ZNww033OCyf8WKFcjNzcWiRYuQkZGBBQsWICsrC/v27UPHjh0BAKmpqaivr3c59pNPPkFSUhIA4Oeff8akSZPw+uuv678mk7HSQkREFEQqKioU2zabDTab64CO7OxsZGdnu83nhRdewB133IGpU6cCABYtWoQ1a9ZgyZIlmD17NgCgqKhIsyw1NTUYN24cZs+ejcsvv1znlZiPf0oQEREZcT4Q14wXgOTkZMTExDheeXl5uotUW1uLnTt3IjMz0/GZxWJBZmYmtmzZ4t1lCYEpU6bg6quvxm233aa7DL7AlhYiIiIjTO4eOnr0KKKjox0fN9bK4smpU6dgt9uRkJCg+DwhIQF79+71Ko/PP/8cK1aswMCBAx3xMv/3f/+HAQMG6C6PWZpcaamtrUVxcTF69OiBsDDWfbzV3GJYjHK+H8bmeKFAYwwIkTmio6MVlZZAGTp0KGQ5uGLVdP+WOXv2LKZPn45WrVqhX79+OHLkCADgrrvuwlNPPWV6AYmIiIKaMPEFYPDgwejbty/y8/ObXKQOHTrAarWitLRU8XlpaSkSE0N3hUvdlZY5c+bg66+/xoYNGxAZGen4PDMzEytWrDC1cEREREHP5ErL9u3bsWfPHuTk5DS5SBEREUhLS0NhYaHjM1mWUVhYiCFDhjQ5X73efPNNrFmzxrH9wAMPIDY2FpdffjkOHz6sOz/dlZZVq1Zh4cKFGDp0KCSpoWm/X79+OHjwoO4CEBERkX6VlZUoKipyjAAqLi5GUVGRowckNzcXr7/+Ot588018//33+NOf/oSqqirHaCJ/ePLJJxEVFQUA2LJlC/Lz8/HMM8+gQ4cOuPfee3XnpzsY5eTJk47x3c6qqqoUlRhqwDgW76jvE2NciHyHv5dMFKBp/Hfs2IERI0Y4tnNzcwEAkydPRkFBASZMmICTJ09i7ty5KCkpQWpqKtauXesSnOtLR48eRc+ePQGca/S48cYbMWPGDFxxxRUYPny47vx0t7QMGjRI0dRzvqLyxhtv+LXJiYiIKBiYPSOutzEtw4cPhxDC5VVQUOBIM3PmTBw+fBg1NTXYunUrMjIyfHgnXLVp0wanT58GcG7CumuuuQYAEBkZiV9//VV3frpbWp588klkZ2djz549qK+vx0svvYQ9e/bgiy++wMaNG3UXgIiIiBps3749KEYPmeGaa67B7bffjksuuQQ//PADRo8eDQD47rvv0K1bN9356W5pGTp0KIqKilBfX48BAwbgk08+QceOHbFlyxakpaXpysvTuglCCMydOxedOnVCVFQUMjMzsX//fo/5mrXWAhERkUcmB+I2J/n5+RgyZAhOnjyJd999F+3btwdwbi2jiRMn6s6vSROs9OjRw5Q1CDytm/DMM8/gr3/9K9588010794djzzyCLKysrBnzx7FyCVn3qy1QETUEjGOhfwtNjYWCxcudPl8/vz5TcpPd0tLRUVFo68zZ86gtrZWV17Z2dl4/PHHMX78eJd9QggsWLAADz/8MK6//noMHDgQb731Fo4dO9boSpbnOa+10LdvXyxatAitWrXCkiVL9F4qERERGbB27Vps3rzZsZ2fn4/U1FT8/ve/xy+//KI7P92VltjYWLRr187lFRsbi6ioKHTt2hXz5s0zPItecXExSkpKFOsmxMTEICMjw+26CU1da6GmpsalEkZEROQNCSYF4v6WnxmTywWL+++/3/F/6rfffov77rsPo0ePRnFxsWO0kx66u4cKCgrw//7f/8OUKVOQnp4OANi2bRvefPNNPPzwwzh58iSee+452Gw2PPTQQ7oLdF5JSQkANLpuwvl9ak1dayEvL6/JTVVERNTCmTzkuTkF4hYXF6Nv374AgHfffRe/+93v8OSTT2LXrl2OoFw9dFda3nzzTTz//PO45ZZbHJ+NGTMGAwYMwKuvvorCwkJ06dIFTzzxhKFKiz/NmTNHUeOrqKhAcnKyIk2Pt+90vM//3VLFvq5hyiYuq+Q+msraHCOtdLC34D51uxm/1IiCUL9AF4CCVkREBM6ePQsAWL9+PSZNmgQAiIuLa1Kvhu5KyxdffIFFixa5fH7JJZc4umCGDh3qmJGvqc6vjVBaWopOnTo5Pi8tLUVqamqjxzR1rQWbzdakVTSJiIjMXuW5ORk6dChyc3NxxRVXYNu2bY7lfn744QdccMEFuvPTHdOSnJyMxYsXu3y+ePFiR+vE6dOn0a5dO92Fcda9e3ckJiYq1k2oqKjA1q1b3U5iFyxrLRARUQvCIc9uLVy4EGFhYXjnnXfwyiuvoHPnzgCAjz/+GKNGjdKdn+6Wlueeew4333wzPv74YwwePBjAuamEv//+e7z77rsAzvXHTZgwwWNelZWVOHDggGP7/LoJcXFx6NKlC+655x48/vjj6NWrl2PIc1JSEsaNG+c4ZuTIkRg/fjxmzpwJ4Nw0xpMnT8agQYOQnp6OBQsWmLLWQueLG1pvksPKFPsipOBaujuYqbvHWlJ3kVa3oRq7koharsGDB8NqtSInJ8fQoonBoEuXLvjwww9dPn/xxReblJ/uSsvYsWOxb98+LFq0CD/88AOAc0OXV61ahcrKSgDAn/70J6/y8rRuwgMPPICqqirMmDEDZWVlGDp0KNauXauYo+XgwYM4deqUYzsY1logIqKWw3kKfqP5AM0rEBcA7HY7Vq1ahe+//x7AuQWWx44dC6vVqjsvSQhh6FZXVFTgn//8J5YsWYIdO3bAbrcbyS4oVFRUICYmBuXl5Y4HZ+i6Bxz7X+m9TJE+Ugr9aw6UltTSogdbWiiU9OvyU6CL4FZjv8/Nzrvb40/A4mbCUz3k6mocevj/+aSsgXLgwAGMHj0aP/30E3r37g0A2LdvH5KTk7FmzRr06NFDV366Y1rO27RpEyZPnoykpCQ8//zzGDFiBL788sumZkdERETNzN13340ePXrg6NGj2LVrF3bt2oUjR46ge/fuuPvuu3Xnp6t7qKSkBAUFBVi8eDEqKipwyy23oKamBqtWrXKMw26uru30veO9JQSipZpcGwXACB0i/9ET6+QJW+gChKOH3Nq4cSO+/PJLxMXFOT5r3749nnrqKVxxxRW68/P6/7YxY8agd+/e+Oabb7BgwQIcO3YML7/8su4TEhERNSemzIZrUlxMsLHZbDhz5ozL55WVlYiIiNCdn9eVlo8//hjTp0/H/Pnzcd111zUpgIaIiIi0Nadp/H/3u99hxowZ2Lp1K4QQEELgyy+/xJ133omxY8fqzs/rSsvmzZtx5swZpKWlISMjAwsXLlSM2iEiImqRzk/jb8YL50YP7dmzJ+SHOwPAX//6V/To0QNDhgxBZGQkIiMjcfnll6Nnz55YsGCB7vy8jmm57LLLcNlll2HBggVYsWIFlixZgtzcXMiyjHXr1iE5ORlt27bVXYBQ0T/qR8d7M/ugPTESm2LWORnj4n/qZ4yxCs2Lr36H8LkJEMa0uBUbG4vVq1fjwIEDjiHPF198MXr27Nmk/HTP09K6dWtMmzYN06ZNw759+7B48WI89dRTmD17Nq655hr861//alJBiIiIKPR5Wr35008/dbx/4YUXdOWtu9LirHfv3njmmWeQl5eHDz74AEuWLDGSHRERUcgxe3K5UPfVV195lU6S9LcEGqq0nGe1WjFu3DjF9PpEREQtAruHFJxbUsxmSqWlJUi0ljveq9fPMVMgYliIyLf8GQendV7GuFCoY6WFiIjICLPmWGkmLS2+xD/siYiIjBAmvtC85mkxG1taiIiIgkhzW+XZTKy0eCkp7FfH+yo5MA1Usp9WRPbl2kqB6tsPRnpio3jfyAx8jnyEgbh+w0oLERGRARzy7D+MaSEiIqKQwEoLERERhQR2D3nJuXbnz7kP/BXHonVOX8a4NGe+nM8nGDW3v4Caw5pbze07CVqMafEbPtNEREQUEtjSQkREZAADcf2HlRYvaTUVexpGqKf7KBDdQWQeX3UJ+apJ1OrHx60lNetaA3VeHQvQefo+rBq/iyxNWOiu2TPxR3/w4MGwWq3IyclBTk6OeRk3A6y0EBERBRFOLuceKy1ERERGMBDXb1hpISIiMoAxLf7DSouX7E4PU6yqM7haeHjSNJ7EQC0JoAeHQDcwErPiMYbA6TZ7Shshqb8Tp3xU31e4ZFGlbdj2FANh13i2ZVWkl93DvZE18vJ0rGa+TT5Sm9a1+5NdT1pTy6yRl2pXOxPPSqSFlRYiIiIj2D3kN6y0EBERGcDuIf8J/r4JIiIiIrClpUmqZPOqw5GSskf+jFB+Jc4xFHZVrEKgponXmkvGU7yLes4aT3PcBIL6vjrX7MNVlx5niVBsO8d5nBXKaAR1vIFWrIKnOA3tOCrVPhH8E9Lbg+8xIPIeu4f8hpUWIiIiI1hp8Rt2DxEREVFIYEsLERGRAQzE9R9WWrx0VjSsJhJjUUYjnFHNtWJk/aBISZl3vKUhL5ukXNHkrKhTbNcJ5/gXJTOjGtTNc85zhrSzRCr2/Vj/q2K7TuPe6FmjyRMjsTLq2CHne1mnyvZMfb1GTurrCb71WrjWFZEJ2D3kN+weIiIiopDASgsREZERwsQXzq3y3LdvX+Tn5/vzKkICu4eIiIgMMDumhas8u8dKSxOo40NaW5SfqNcT0jOvyQXWcMX2KbnW8f6MqEVTmToPhupynOcMOW5XxrCo5zVJsCiv70e7Mi7HLHriYzzFvzjP26JumoxVhhkpYnp+katVZdKepyX4Z1MJTr5qLm7p3web4SkYBf1z2a1bN0iS5PLKyclpNH1BQYFL2sjIyEbTEhERGWZy9xC5F/QtLdu3b4fd3vA36e7du3HNNdfg5ptvdntMdHQ09u3b59iWPKxkS0RE1FQc8uw/QV9piY+PV2w/9dRT6NGjB4YNG+b2GEmSkJiY6OuiERERkR8FfaXFWW1tLf7+978jNzdXs/WksrISXbt2hSzLuPTSS/Hkk0+iX79+btPX1NSgpqbGsV1RUWFqufWoEVrzfnjPl2u5qPO2ajRkqeMC1NentbaSv3haD8m5D7VLWCvFvhP2s4rtUqeYHiMxEVyLx3taazhR0/G+6sB5Wvwm6GNanK1atQplZWWYMmWK2zS9e/fGkiVLsHr1avz973+HLMu4/PLL8eOPP7o9Ji8vDzExMY5XcnKyD0pPRETNEmNa/CakKi2LFy9GdnY2kpKS3KYZMmQIJk2ahNTUVAwbNgzvvfce4uPj8eqrr7o9Zs6cOSgvL3e8jh496oviExERkQEh0z10+PBhrF+/Hu+9956u48LDw3HJJZfgwIEDbtPYbDbYbDajRSQiohZIgjmLdHDIiGchU2lZunQpOnbsiOuuu07XcXa7Hd9++y1Gjx7to5KZqy4E2wed4y+04luA0Lw+52uqUM+9okqrJ46FcStEzQRjWvwmJLqHZFnG0qVLMXnyZISFKetZkyZNwpw5cxzbjz32GD755BP897//xa5du/DHP/4Rhw8fxu233+7vYhMREZGJQqKlZf369Thy5AimTZvmsu/IkSOwWBrqXr/88gvuuOMOlJSUoF27dkhLS8MXX3yBvn37+rPIRETUQnCeFv8JiUrLtddeCyEa/zY3bNig2H7xxRfx4osvml6GVlJDR0CZrH3bWkvKYb1azVnq7oT/1kUpz2tp2jT3Vj+2MyqGKns4bbVQznvfVmq4vggpOCZOVw+9LrE3xDsdE8pvM1L9Xev4rePP74iIfIjdQ34TEt1DRERERCHR0kJERBTU2EriF6y0EBERGcCYFv9h9xARERGFBFZaiIiIjGim0/iXlZVh0KBBSE1NRf/+/fH6668HukjsHiIiIjKiuXYPtW3bFps2bUKrVq1QVVWF/v3744YbbkD79u0DVia2tBAREZELq9WKVq3OrWxfU1MDIYTb6Uf8hZUWIiIiIwLUPbRp0yaMGTMGSUlJkCQJq1atckmTn5+Pbt26ITIyEhkZGdi2bZuuc5SVlSElJQUXXHAB7r//fnTo0EFfIU3GSgsREZEB57uHzHjpUVVVhZSUFOTn5ze6f8WKFcjNzcW8efOwa9cupKSkICsrCydOnHCkOR+von4dO3YMABAbG4uvv/4axcXFWLZsGUpLS5t8n8zAmBYiIqIgUlFRodi22Wyw2Wwu6bKzs5Gdne02nxdeeAF33HEHpk6dCgBYtGgR1qxZgyVLlmD27NkAgKKiIq/KlJCQgJSUFHz22We46aabvLwS87GlhYiIyAiTu4eSk5MRExPjeOXl5ekuUm1tLXbu3InMzEzHZxaLBZmZmdiyZYtXeZSWluLMmTMAgPLycmzatAm9e/fWXRYzsaWFiIjICJPXHjp69Ciio6MdHzfWyuLJqVOnYLfbkZCQoPg8ISEBe/fu9SqPw4cPY8aMGY4A3LvuugsDBgzQXRYzsdJCREQURKKjoxWVlkBJT0/3uvvIX9g9REREZIDZgbiDBw9G37593QbYeqNDhw6wWq0ugbOlpaVITEw0crkBxZYWIiIiI0zuHtq+fbvhlpaIiAikpaWhsLAQ48aNAwDIsozCwkLMnDnTYEEDh5UWL2W+N8vx3vqrpNgXXqncttQpj7XUNry31iif7LBflWnDz8rK7aqG7bCzdsU+61nliSy1TvtlZT6QlGUUYcpGNhFubTjU6T0AyBHKtHbVtghryFsOV55HVmYFYXW/X1hUZVQfa2n8fWPbkNzvF6p7oU7rcqzkfp+anrRa+4WnY83Ky8O1a+alJ61eRu6NnuvVm3dAzuP+f0ND90JnWq1zHZit4zxkmsrKShw4cMCxXVxcjKKiIsTFxaFLly7Izc3F5MmTMWjQIKSnp2PBggWoqqpyjCYKRay0EBERGSAJAcmEmWL15rFjxw6MGDHCsZ2bmwsAmDx5MgoKCjBhwgScPHkSc+fORUlJCVJTU7F27VqX4NxQwkoLERGRESZ3Dw0ePBhWqxU5OTnIyclxm3z48OEep9WfOXNmSHcHqbHSQkREFETMiGlprlhp8VJYVUOHrmRXxV4Y6FdWd1e7dF8L532qnS4xIE7bVlVAiEUZ9CGrY1qc4lTs4aq04e5jWM7td4pp0RHDAijjWLRiWNTbemJYAFUci8s+D3k1MU7FyHPht7gNf8V4eMrLxNiMoDiPS74G4lJc8jInrU/P28I011WegxErLUREREaY3D1E7nGeFiIiIgoJrLQQEREZEIyTyzVX7B7ykmJuFnVVz0N8hZ5+Za34CvX8IuptyeK+DqqOLXGJh1HElqjTqvNSbStiJHTG+ygSe7+t7vt1OY/6WMnLfXoZiC8wM/aiqXkZiWtoDvOlGDuv9235ZsYGNTmtmeVgfItSEE4u11yxpYWIiIhCAltaiIiIDODoIf9hpcVLtXEN0+Jbq1XT9tequ1qUxzo3yaqnqpfDlE+pehp8e2RDZpJ6Zn71EOj6hgRSjWqKf7v2T4PzNP5hLtP4q7bVQ6IV0/irhkerupqE6omTnfa73Df1sZrT+Hv4DizC7T5PXS2K9C5pNZYE0NH11+h+jbRGjnVOqy6+rmM9pFXT0zXhsVze5quzG0Pfeb1PrCdfnw27BiCZ1aXF7iEljh7yG3YPERERBREG4rrHlhYiIiKDzOzaYSCue6y0EBERGSHEuZcZ+ZAmVlq8ZI9riBGRK5W3zXpW2ctWG6t88IRT3IoI8/BQusQuOKV3icVQjz12KpeIVO3TPq0ib/WfDC7ndZ+ZpA68cUmg44dSa/kDl/UP1Pu9P6/HsA5/Rcf56Txa8RV6rlVXnIbHvHxz7UL3mG4j5/JVvgwgITqPlRYiIiIDOHrIf1hpISIiMoKjh/yGo4eIiIiCCEcPuceWFi+tv/olx/sSeyvFvkN18YrtajlcuS0atq1QxnyclW2q7Qi3ZbB4qIbLTtEZdaq59utkqzq5Mm+ndkmrKi7F03mNkJs44YO6THrKrE7rkrenuJwmkl0miGk6u468PF2vM0/Xbg3xPwXtOp43vd+X1nei5znX89029edH73lImyS7zqPV1HwAjh7SwkoLERGREewe8htWtYmIiCgksKWFiIjIAI4e8p+grrQ8+uijmD9/vuKz3r17Y+/evW6PWblyJR555BEcOnQIvXr1wtNPP43Ro0cbLkvW5rsc7+1nlDEr1ir1Wjyqgy065mlRc+6ytno4Vrh5D3hepERzPhgP87ZopVXv1lzPxPs5bHTP06LjPLqWiQmF3zI+mnvFzGs3c84XZ4Gaq8uXc6sE4/xjTw4MdAkCjJPL+U3Qdw/169cPx48fd7w2b97sNu0XX3yBiRMnYvr06fjqq68wbtw4jBs3Drt37/ZjiYmIiMgXgrqlBQDCwsKQmJjoVdqXXnoJo0aNwv333w8A+Mtf/oJ169Zh4cKFWLRokdvjampqUFNT49iuqKgwVmgiImox2D3kP0Hf0rJ//34kJSXhwgsvxB/+8AccOXLEbdotW7YgMzNT8VlWVha2bNmieY68vDzExMQ4XsnJyaaUnYiIWgBh4gucp0VLULe0ZGRkoKCgAL1798bx48cxf/58XHnlldi9ezfatm3rkr6kpAQJCQmKzxISElBSUqJ5njlz5iA3N9exXVFR4VJxOTBiqdvj7UI5QL9G1Cu2z4qGdYusqogJi6oz32V/E+uVVl8FCVCT2dlfHXAyzJuDx25gfKps4FnQc149V6vn+bS7fPKIjjORJ5ynxb2grrRkZ2c73g8cOBAZGRno2rUr3n77bUyfPt2089hsNthsNs8JiYiIVNg95D9BXWlRi42NxUUXXYQDBw40uj8xMRGlpaWKz0pLS72OiSEiItKNo4f8JuhjWpxVVlbi4MGD6NSpU6P7hwwZgsLCQsVn69atw5AhQ/xRPCIiIvKhoG5pmTVrFsaMGYOuXbvi2LFjmDdvHqxWKyZOnAgAmDRpEjp37oy8vDwAwJ///GcMGzYMzz//PK677josX74cO3bswGuvvebTclolZd2vlaRcP8gmgu82q8tMfsAwo6Cnjk/zGT4LzQq7h/wn+P43dfLjjz9i4sSJOH36NOLj4zF06FB8+eWXiI8/t0DhkSNHYLE0/Od7+eWXY9myZXj44Yfx0EMPoVevXli1ahX69+8fqEsgIqLmjmsP+U1QV1qWL1+uuX/Dhg0un9188824+eabfVQiIiIiCpSgrrQEkz6bb3O8j25drdgXblUOAKyuU97WmrqGaf9lWdkuXF+vWgLAblVsO8dlCdWxQnUs6hr2S6p9Up3yWEk5KlsfjSnKXZZnV8+277K8gPfHajKzuV3jvK7ll9zv17jWxvNqYtpmSLOZ3NO90Uhr5L56TOv8LHv6fpqYVtc+X1L9vH39cmCKESzYPeQ/DGwgIiIyQhbmvcDJ5bSwpYWIiCiIcHI591hpISIiMoKBuH7DSouXnkhd7Xh/Ro5U7JvY9ifFtk0Khz/4bXgmNQmHlVPLcW+gC0AtBCstREREBkgwKRDXeBbNHistRERERnAaf79h+zURERGFBLa0eCk+rKJhQzXHiSVAdT91zARjXAKPcSxELQ/nafEfVlqIiIiM4Oghv+GfhURERBQS2NJCRERkgCQEJBOCaM3Io7ljpcVL8ZazjvcDos6q9toUW+rYEn/FORg5T6jFw8hB2o4qC7vnRO6OhX++A7uOX4xmlslu0ndm9eHAUF/Fp1ml5jWYVf0MtQlQOYKG/NvLjHxIE7uHiIiIKCSwpYWIiMgAdg/5D1taiIiIjBAmvsBVnrWwpYUAKONhQiG+xWIgriFY42H8Nt+P5P33a4XV67SeYmX89RdSoOJHAjVfUyBYmleITtDhKs/usdJCRERkBKfx9xtWWoiIiAzgjLj+03LaM4mIiCiksaXFSxFOcQDf1ilnJVj9y6WK7bK6VorttuHVjvdtrDWKfRdE/KzYTgwvV2xHSnWO93ZVHIddKOucdSLM6b0yFsGiimNobVGWw/k84ar+6ggo5x4Jl9TbDXlbVfEiFg/xI1Yf/WmhLgcR+U6vQBcg0Ng95DestBARERkgybri2zXzIW2stFDIkWSBtid/RdvTNbDUy5DDLDjT3oYz8VEQHNZARNRssdJCIaXN6Wp0+qEM1noBAUDCuakN2p6uhv2/FTh+USwq20cGuJRE1KKwe8hvWGnxUq1T/EhrqVax7+Z22xXb6yv7KbbTWx10vI+01Cn2OceSAMZiMZxjXmShHWOtjktxPq9FFWeiJ05Fb4yKnuttfboanfaUObYl1b+WeoHOe37B8b6xqGLFhYj8xWliOMP5kCaOHqKQIMkCCT+cC1J21wF0/vOEH8ohyfzpJyJqbtjSQiGhzclqWOs9V0QkANZ6gTanqnGmY5TvC0ZELR7XHvIfVlq8JDv9fR9nqdVICfwhZodi26oRG2o38Ixq5atuQjsr1MOlfROwqjdf9TBud1qdrnHEsHgiALQ6VYPT8a11lcXXZANLDxBREGNMi9+we4hCgrXO+//ypd/SExFR88KWFgoJ9nCLrpYWezjr40TkJwKAGX8nsaHFI1ZaKCRUtI9E9OlqzwlxrmJTwdFDROQnjGnxH1Za/MBI3EpT8z2jmsY/1JV1aIXE/5bDWi80W1sEAHuYhLIOraCdkoiIQg3b0CkkCIuEH3u1O/feXZrf/v2xVzvOjEtE/iPQEIxr6BXoCwl+rLRQyDjTPgqHL46DPexcheT8z/f5f+1hEg5fHIcz7TnUmYj8yJQKi0kjkHzg7Nmz6Nq1K2bNmhXoorB7iELLmfZR2NsuEjGnfkX06V9hrZNhD7egon0Uyjtw7SEiIrM98cQTuOyyywJdDACstHitldO092c9xIu0Uk2R70w9t0q4an+Z3PTGL+cp9C9QfbPlsvsy+ZP66pzvZCuL8r62kWyK7V/kXxsO6hSJmk4NwbaJligkOqWth/J6z8gNc+vUqf6a0XNnOJCavOGrODYKUjK8G9roTT5BZv/+/di7dy/GjBmD3bt3B7o47B4iIiIy4vzoITNeemzatAljxoxBUlISJEnCqlWrXNLk5+ejW7duiIyMREZGBrZt26brHLNmzUJeXp6uY3wpqCsteXl5GDx4MNq2bYuOHTti3Lhx2Ldvn+YxBQUFkCRJ8YqM5PBXIiJqXqqqqpCSkoL8/PxG969YsQK5ubmYN28edu3ahZSUFGRlZeHEiROONKmpqejfv7/L69ixY1i9ejUuuugiXHTRRf66JI+Cunto48aNyMnJweDBg1FfX4+HHnoI1157Lfbs2YPWrd1P0R4dHa2o3EgS4xyIiMhHTJ7Gv6KiQvGxzWaDzWZzSZ6dnY3s7Gy32b3wwgu44447MHXqVADAokWLsGbNGixZsgSzZ88GABQVFbk9/ssvv8Ty5cuxcuVKVFZWoq6uDtHR0Zg7d67eKzNNUFda1q5dq9guKChAx44dsXPnTlx11VVuj5MkCYmJiW73N8XIjXc73otqZezF6mtfVmyfERq3VfVc1wllY1esh3WNtDiv4/PPip6KfZdF/VexbZH80+kuq9c8UnX8Vjvdq81VvRX7Lok6pNhub613e55dduUP9OMHf6fYntb1c8f7buGnFPsipTrFtkVSdixbnb40q44xif66x8FK/d37Sku/z76i51lv8UyutCQnJys+njdvHh599FFdWdXW1mLnzp2YM2eO4zOLxYLMzExs2bLFqzzy8vIcXUMFBQXYvXt3QCssQJBXWtTKy8sBAHFxcZrpKisr0bVrV8iyjEsvvRRPPvkk+vXr5zZ9TU0NampqHNvqWi4REZG/HD16FNHR0Y7txlpZPDl16hTsdjsSEhIUnyckJGDv3r2GyxgoIVNpkWUZ99xzD6644gr079/fbbrevXtjyZIlGDhwIMrLy/Hcc8/h8ssvx3fffYcLLrig0WPy8vIwf/58XxWdiIiaM5NbWqKjoxWVlmAwZcqUQBcBQJAH4jrLycnB7t27sXz5cs10Q4YMwaRJk5Camophw4bhvffeQ3x8PF599VW3x8yZMwfl5eWO19GjR80uPhERNVeyiS8AgwcPRt++fd0G2HqjQ4cOsFqtKC0tVXxeWlpqeviEP4VES8vMmTPx4YcfYtOmTW5bS9wJDw/HJZdcggMHDrhN4y7IyZnk1G8uLMoa9fUf3a1MW6esC1qcQjGkemU/v3pKF4sqbEOyN6SX1PtUY/otTnmp831Fta3e75yXpJpkQn0ezWOF+30AXGJ6nIf4qdOuckmrUSZZlVi1uVge7zatpV6VWCNv9b2xuNwrp7SqfCW7MmOpXnUiu/N57B7SqrftTmnt2mnrGx4kIbvfp84XAIRzXupj1Wm1/vJUf19GaEwo6BKEb7GoE2jkq0zrmpdqW7Jo7PM+raQuo1aZ1flaPVyf07bwlFa936kcQpX239+ATLR9+3bDLS0RERFIS0tDYWEhxo0bB+Bcj0VhYSFmzpxpQikDI6grLUII3HXXXXj//fexYcMGdO/eXXcedrsd3377LUaPHu2DEhIRUUsXqFWeKysrFX+QFxcXo6ioCHFxcejSpQtyc3MxefJkDBo0COnp6ViwYAGqqqoco4lCUVBXWnJycrBs2TKsXr0abdu2RUlJCQAgJiYGUVHn1peZNGkSOnfu7Ihwfuyxx3DZZZehZ8+eKCsrw7PPPovDhw/j9ttvD9h1EBFRM2ZyTIu3duzYgREjRji2c3NzAQCTJ09GQUEBJkyYgJMnT2Lu3LkoKSlBamoq1q5d6xKcG0qCutLyyiuvAACGDx+u+Hzp0qWOoKAjR47A4tRs+csvv+COO+5ASUkJ2rVrh7S0NHzxxRfo27evv4pNRETUZIMHD4bVakVOTg5ycnLcphs+fLh2NyzOhVeEcneQWlBXWjx9GQCwYcMGxfaLL76IF1980Ucl+o2n+SdUgR3O/b8uXeiqbmNZ9Y04x9JY1AerQxec8pJUyyO5xICo40Wc42Fk1XlcYjw0tl1iWlRxHS77nc6lIx7G9XpUcQEaMS7q6/N4b5zjVDzF6GikdSmTxnld03qIM3I+r/rnRh1347ypzlcdd6Muh13jPKoYF3W8j2K/y/WpzquOw3E+l0ssjUZarZgcABAaean2uRxbp/4BbNh2+d3l8jzKTm/d7/stM/iEVpwNAMmq+iXiFHvjsq+lk4XrL46m5gNzYlqaq6CutBAREQW9AHUPtUQhM+SZiIiIWja2tBARERliUksLl07wiJUWL8lV4Y731krVPCy1yr5hq2rbeWkbq3KZG5e5V9TztFjqnGJaapUPtDovRVrVHCFa+Z7blt3vc5kTRDtORYtLOJBi3gjlTvW2HOY+rRzuPq06vWq5JwhV97ys3u/c1y+p9ym3nfd7XHpHY7/uY7XOq1Vm9T6X+UV0HOvhvKZerwbTljwKxXVWDZRZ130LxXvjSyZ3D3kbiNsSsdJCREQURBiI6x4rLUREREbIAqZ07Zg5U3QzxUqLl34Y84rbfTVC2U9TpxqyWOf0MOuNfLZqtMPaVT8kzmetVTVVqnp8UKfK125am7o22UftyhYdvzD0lsHulF5W3Se7+j46bdep+p3sqm9fvb9OhDmlldzuAwC7qo9LWUb1PvdPnVU17triMqbbPOpyOVOXUf08yk771deudZ/V53RNq7rPTnMOqNOqn5s62f1562Xt8zqXy1O+6mfOOb2nn1ute+6J+lmwOk+/wNgLJSG7DlVvaj6kiaOHiIiIKCSw0kJERGTE+UBcM14wZ5Xn5ordQ0REREaYHNPCQFz3WGnx0n3HL3O872wrU+x7sP1+xbZd1S8pazzMZ0WtYvumfbcotluHNexX9zGHWdTxCA3nCVOlDbcopxxX79cTy6DuJ3fuc/fUP1+vOrbW3rC/VrWGQZ1deWyN3SneQBUzYFfHENiV2/VOedWr99WrYhNU++X6hm1Rp2qcrFcveeA01bnd03IIWmOAVdsehxc7HaAesm1RZea8X70vTDWc3aqaXt/qFNegOlZSPY9Wq3K/xWm/+liLaty8VZ2XU3r1Pkl9rGLpC+3zqI+1aB0L749Va+q+xs4bDHwVm0bkCSstRERERnAaf79hpYWIiMgIAZMqLcazaO4YiEtEREQhgS0tXpoZv8Htvu9qVdP6w30fuyf5PZe73aeek6EO7mNL1PNPeKInvZ65H/TkqzWfiC/Pa4TVxD+NfDlHSkuinnsmGJj5nOhh5s+Bp5/PFo3T+PsNKy1ERERGyDJcIu2bnA9HD2lh1ZmIiIhCAltaiIiIjODoIb9hpcVLdU7xFK0k5Zwn6jWA1DEsrZy2a1TPZJxF2dh1RjXHi90pfbgq39aqGIgq2f16JqbSkXWCap6PM1wQLKhZVd/tGdU8O0TUCFZa/IbdQ0RERBQS2NJCRERkhMnT+JN7rLQQEREZIIQMIYyPHjIjj+aOlRYvTfp2suN9vWpNHA/LxGiuLSKr5l5RpxQui8y436fVHeqaVrkdGVHneD+/778U+1pbatxnDO05KE7L3v8QeppfQ+s86jlOtNLqnTPD09owvhCoeT1a+oyc/prfh0gL52lxj5UWIiIiI4Qwp2tHcJVnT1hpISIiMkKYFNPC0UMecfQQERERhQS2tHgpObrc8f5IeaxmWlt4vWI7MqxhWx0f4bKto7Zer1qLx+40T0ud7H4f0EgsjdP2X/b9zusynMvL/T6tmBxP+z3F++g5j79IOuJftEociDgawPWeq+kplZ7vxMzvL1B/rAbLM+gtM8u7r4tpWYUmWQbMWDuMgbgesdJCRERkBLuH/IbdQ0RERBQS2NLipSe6rnK8V0/jf1Yoh0C3taim+XeqPKunSVfTqkVGSsqDT9qV2z6dup9aJPUQ4HCnYemRZjSHk8tA/2oRiksnzA10AQJKyDKECT8PnKfFM1ZaiIiIjGD3kN+we4iIiCiIDB48GH379kV+fn6gixJ02NJCRERkhCwAM0b8cXI5j1hp8VL+yRGO9yeq2yj2/VLTSrFdU6+8rfVOw421hhoD+obMqofFah3raQitcyk8pdXa76n8Wsd6PK9G86v6vHqGDAdqeLEWT0OPtRi5HiPfgZnUyzI4k0VgGojNjBkz8v36Ih+j1rb0Ic9CwDU6qan5kBZ2DxEREVFIYEsLERGRAUIWECa02Aq2tHjESgsREZERQoY53UMc8uxJSFRa8vPz8eyzz6KkpAQpKSl4+eWXkZ6e7jb9ypUr8cgjj+DQoUPo1asXnn76aYwePdpQGRal/Z+h44mIiMiYoI9pWbFiBXJzczFv3jzs2rULKSkpyMrKwokTJxpN/8UXX2DixImYPn06vvrqK4wbNw7jxo3D7t27/VxyIiJqCYQsTHuRNkkEeSdaRkYGBg8ejIULFwIAZFlGcnIy7rrrLsyePdsl/YQJE1BVVYUPP/zQ8dlll12G1NRULFq0yKtzVlRUICYmBuXl5Rx2RkQUwnz5+/x83sNxPcKkcMP51Ys6bMBq/t+jIai7h2pra7Fz507MmTPH8ZnFYkFmZia2bNnS6DFbtmxBbm6u4rOsrCysWrXK7XlqampQU1Pj2C4vP7eic0VFhYHSExFRoJ3/Pe7Lv8/rUWfKhLj1qDOeSTMX1JWWU6dOwW63IyEhQfF5QkIC9u7d2+gxJSUljaYvKSlxe568vDzMnz/f5fPk5OQmlJqIiILN6dOnERMTY2qeERERSExMxOaSj0zLMzExEREREabl19wEdaXFX+bMmaNonSkrK0PXrl1x5MgR0x/y5qSiogLJyck4evQomzI94L3yDu+T93ivvFNeXo4uXbogLi7O9LwjIyNRXFyM2tpa0/KMiIhAZGSkafk1N0FdaenQoQOsVitKS0sVn5eWliIxMbHRYxITE3WlBwCbzQabzebyeUxMDH8ZeCE6Opr3yUu8V97hffIe75V3LBbfjDuJjIxkJcOPgnr0UEREBNLS0lBYWOj4TJZlFBYWYsiQIY0eM2TIEEV6AFi3bp3b9ERERBQagrqlBQByc3MxefJkDBo0COnp6ViwYAGqqqowdepUAMCkSZPQuXNn5OXlAQD+/Oc/Y9iwYXj++edx3XXXYfny5dixYwdee+21QF4GERERGRT0lZYJEybg5MmTmDt3LkpKSpCamoq1a9c6gm2PHDmiaPa7/PLLsWzZMjz88MN46KGH0KtXL6xatQr9+/f3+pw2mw3z5s1rtMuIGvA+eY/3yju8T97jvfIO71PzEvTztBAREREBQR7TQkRERHQeKy1EREQUElhpISIiopDASgsRERGFhBZTacnPz0e3bt0QGRmJjIwMbNu2TTP9ypUr0adPH0RGRmLAgAH46CPlNM1CCMydOxedOnVCVFQUMjMzsX//fl9egl+YfZ/ee+89XHvttWjfvj0kSUJRUZEPS+8/Zt6nuro6PPjggxgwYABat26NpKQkTJo0CceOHfP1ZfiF2c/Uo48+ij59+qB169Zo164dMjMzsXXrVl9egl+YfZ+c3XnnnZAkCQsWLDC51IFh9r2aMmUKJElSvEaNGuXLS6CmEi3A8uXLRUREhFiyZIn47rvvxB133CFiY2NFaWlpo+k///xzYbVaxTPPPCP27NkjHn74YREeHi6+/fZbR5qnnnpKxMTEiFWrVomvv/5ajB07VnTv3l38+uuv/ros0/niPr311lti/vz54vXXXxcAxFdffeWnq/Eds+9TWVmZyMzMFCtWrBB79+4VW7ZsEenp6SItLc2fl+UTvnim/vGPf4h169aJgwcPit27d4vp06eL6OhoceLECX9dlul8cZ/Oe++990RKSopISkoSL774oo+vxPd8ca8mT54sRo0aJY4fP+54/fzzz/66JNKhRVRa0tPTRU5OjmPbbreLpKQkkZeX12j6W265RVx33XWKzzIyMsT//M//CCGEkGVZJCYmimeffdaxv6ysTNhsNvHPf/7TB1fgH2bfJ2fFxcXNptLiy/t03rZt2wQAcfjwYXMKHSD+uFfl5eUCgFi/fr05hQ4AX92nH3/8UXTu3Fns3r1bdO3atVlUWnxxryZPniyuv/56n5SXzNXsu4dqa2uxc+dOZGZmOj6zWCzIzMzEli1bGj1my5YtivQAkJWV5UhfXFyMkpISRZqYmBhkZGS4zTPY+eI+NUf+uk/l5eWQJAmxsbGmlDsQ/HGvamtr8dprryEmJgYpKSnmFd6PfHWfZFnGbbfdhvvvvx/9+vXzTeH9zJfP1IYNG9CxY0f07t0bf/rTn3D69GnzL4AMa/aVllOnTsFutztm0D0vISEBJSUljR5TUlKimf78v3ryDHa+uE/NkT/uU3V1NR588EFMnDgxpBfC8+W9+vDDD9GmTRtERkbixRdfxLp169ChQwdzL8BPfHWfnn76aYSFheHuu+82v9AB4qt7NWrUKLz11lsoLCzE008/jY0bNyI7Oxt2u938iyBDgn4af6KWpK6uDrfccguEEHjllVcCXZygNWLECBQVFeHUqVN4/fXXccstt2Dr1q3o2LFjoIsWFHbu3ImXXnoJu3btgiRJgS5O0Lv11lsd7wcMGICBAweiR48e2LBhA0aOHBnAkpFas29p6dChA6xWK0pLSxWfl5aWIjExsdFjEhMTNdOf/1dPnsHOF/epOfLlfTpfYTl8+DDWrVsX0q0sgG/vVevWrdGzZ09cdtllWLx4McLCwrB48WJzL8BPfHGfPvvsM5w4cQJdunRBWFgYwsLCcPjwYdx3333o1q2bT67DH/z1e+rCCy9Ehw4dcODAAeOFJlM1+0pLREQE0tLSUFhY6PhMlmUUFhZiyJAhjR4zZMgQRXoAWLdunSN99+7dkZiYqEhTUVGBrVu3us0z2PniPjVHvrpP5yss+/fvx/r169G+fXvfXIAf+fOZkmUZNTU1xgsdAL64T7fddhu++eYbFBUVOV5JSUm4//778e9//9t3F+Nj/nqmfvzxR5w+fRqdOnUyp+BknkBHAvvD8uXLhc1mEwUFBWLPnj1ixowZIjY2VpSUlAghhLjtttvE7NmzHek///xzERYWJp577jnx/fffi3nz5jU65Dk2NlasXr1afPPNN+L6669vFkOezb5Pp0+fFl999ZVYs2aNACCWL18uvvrqK3H8+HG/X59ZzL5PtbW1YuzYseKCCy4QRUVFimGXNTU1AblGs5h9ryorK8WcOXPEli1bxKFDh8SOHTvE1KlThc1mE7t37w7INZrBFz97as1l9JDZ9+rMmTNi1qxZYsuWLaK4uFisX79eXHrppaJXr16iuro6INdI7rWISosQQrz88suiS5cuIiIiQqSnp4svv/zSsW/YsGFi8uTJivRvv/22uOiii0RERITo16+fWLNmjWK/LMvikUceEQkJCcJms4mRI0eKffv2+eNSfMrs+7R06VIBwOU1b948P1yN75h5n84PB2/s9emnn/rpinzHzHv166+/ivHjx4ukpCQREREhOnXqJMaOHSu2bdvmr8vxGbN/9tSaS6VFCHPv1dmzZ8W1114r4uPjRXh4uOjatau44447HJUgCi6SEEIEpo2HiIiIyHvNPqaFiIiImgdWWoiIiCgksNJCREREIYGVFiIiIgoJrLQQERFRSGClhYiIiEICKy1EREQUElhpISIiopDASgtRC3Xo0CFIkoSioiIAwIYNGyBJEsrKygAABQUFiI2N9Tq/bt26YcGCBaaXk4joPFZaiAJgypQpkCQJd955p8u+nJwcSJKEKVOmeJWXurJhlgkTJuCHH37wOv327dsxY8YMx7YkSVi1apWpZSKilo2VFqIASU5OxvLly/Hrr786PquursayZcvQpUuXAJbsnKioKHTs2NHr9PHx8WjVqpUPS0RELR0rLUQBcumllyI5ORnvvfee47P33nsPXbp0wSWXXOL4TJZl5OXloXv37oiKikJKSgreeecdAOe6eEaMGAEAaNeunaKFZu3atRg6dChiY2PRvn17/O53v8PBgwe9Ll9j3UMffPABBg8ejMjISHTo0AHjx4937HPuHurWrRsAYPz48ZAkCd26dcOhQ4dgsViwY8cORZ4LFixA165dIcuy12UjopaJlRaiAJo2bRqWLl3q2F6yZAmmTp2qSJOXl4e33noLixYtwnfffYd7770Xf/zjH7Fx40YkJyfj3XffBQDs27cPx48fx0svvQQAqKqqQm5uLnbs2IHCwkJYLBaMHz++yZWDNWvWYPz48Rg9ejS++uorFBYWIj09vdG027dvBwAsXboUx48fx/bt29GtWzdkZmYqrvd8milTpsBi4a8jItIWFugCELVkf/zjHzFnzhwcPnwYAPD5559j+fLl2LBhAwCgpqYGTz75JNavX48hQ4YAAC688EJs3rwZr776KoYNG4a4uDgAQMeOHRUtIzfeeKPiXEuWLEF8fDz27NmD/v376y7rE088gVtvvRXz5893fJaSktJo2vj4eABAbGwsEhMTHZ/ffvvtuPPOO/HCCy/AZrNh165d+Pbbb7F69Wrd5SGilod/2hAFUHx8PK677joUFBRg6dKluO6669ChQwfH/gMHDuDs2bO45ppr0KZNG8frrbfe8tjVs3//fkycOBEXXnghoqOjHV02R44caVJZi4qKMHLkyCYde964ceNgtVrx/vvvAzjXBTVixAhH2YiItLClhSjApk2bhpkzZwIA8vPzFfsqKysBnOua6dy5s2KfzWbTzHfMmDHo2rUrXn/9dSQlJUGWZfTv3x+1tbVNKmdUVFSTjnMWERGBSZMmYenSpbjhhhuwbNkyR3cWEZEnrLQQBdioUaNQW1sLSZKQlZWl2Ne3b1/YbDYcOXIEw4YNa/T4iIgIAIDdbnd8dvr0aezbtw+vv/46rrzySgDA5s2bDZVz4MCBKCwsdIm5cSc8PFxRpvNuv/129O/fH3/7299QX1+PG264wVC5iKjlYKWFKMCsViu+//57x3tnbdu2xaxZs3DvvfdClmUMHToU5eXl+PzzzxEdHY3Jkyeja9eukCQJH374IUaPHo2oqCi0a9cO7du3x2uvvYZOnTrhyJEjmD17tqFyzps3DyNHjkSPHj1w6623or6+Hh999BEefPDBRtN369YNhYWFuOKKK2Cz2dCuXTsAwMUXX4zLLrsMDz74IKZNm2ZKCw4RtQyMaSEKAtHR0YiOjm5031/+8hc88sgjyMvLw8UXX4xRo0ZhzZo16N69OwCgc+fOmD9/PmbPno2EhATMnDkTFosFy5cvx86dO9G/f3/ce++9ePbZZw2Vcfjw4Vi5ciX+9a9/ITU1FVdffTW2bdvmNv3zzz+PdevWITk5WTGEGwCmT5+O2tpaTJs2zVCZiKhlkYQQItCFIKKW5S9/+QtWrlyJb775JtBFIaIQwpYWIvKbyspK7N69GwsXLsRdd90V6OIQUYhhpYWI/GbmzJlIS0vD8OHD2TVERLqxe4iIiIhCAltaiIiIKCSw0kJEREQhgZUWIiIiCgmstBAREVFIYKWFiIiIQgIrLURERBQSWGkhIiKikMBKCxEREYWE/w+6BrhOGRWQeQAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# NBVAL_SKIP\n", "import matplotlib.pyplot as plt\n", "import matplotlib.colors as colors\n", "\n", "plt.figure(figsize=(6, 5))\n", "\n", "# Update the extent to the physical values: metallicity from 0 to 0.05 and age from 0 to 20.\n", "plt.imshow(loss_map, origin='lower', extent=[0, 0.05, 0, 20], aspect='auto', norm=colors.LogNorm())\n", "\n", "plt.xlabel('Metallicity')\n", "plt.ylabel('Age')\n", "plt.title('Loss Landscape')\n", "plt.colorbar(label='loss')\n", "\n", "# Plot the history in physical coordinates by multiplying the normalized values.\n", "plt.plot(metallicity_history[:], age_history[:])#, 'bx', markersize=8)\n", "\n", "# Plot the red dots in physical coordinates\n", "plt.plot(metallicity_values[index_metallicity], age_values[index_age], marker='o', color='orange', markersize=8)\n", "plt.plot(metallicity_values[initial_metallicity_index], age_values[initial_age_index], 'wo', markersize=8)\n", "\n", "plt.savefig(\"output/optimisation_losslandscape.jpg\", dpi=1000)\n", "plt.show()" ] } ], "metadata": { "kernelspec": { "display_name": "rubix", "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.11.11" } }, "nbformat": 4, "nbformat_minor": 5 }