{ "cells": [ { "cell_type": "markdown", "id": "cell-0", "metadata": {}, "source": [ "# Running PATH on Simulated FRBs\n", "\n", "This notebook demonstrates how to run PATH (Probabilistic Association of Transients to Hosts) on simulated FRB populations.\n", "\n", "The workflow consists of three main steps:\n", "1. **Generate FRBs**: Create synthetic FRB populations with realistic properties\n", "2. **Assign to Hosts**: Place FRBs in host galaxies with localization errors\n", "3. **Run PATH**: Calculate posterior probabilities for host candidates\n", "\n", "This builds on the previous notebooks:\n", "- `Simulate_Generate_FRBs.ipynb`: Generating FRB populations\n", "- `Simulate_Assign_FRBs.ipynb`: Assigning FRBs to host galaxies" ] }, { "cell_type": "code", "execution_count": 11, "id": "cell-1", "metadata": {}, "outputs": [], "source": [ "import os\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "from importlib import reload\n", "import pandas as pd\n", "from pathlib import Path\n", "\n", "from astropy.table import Table\n", "from astropy.coordinates import SkyCoord\n", "from astropy import units\n", "\n", "# Set up plotting style\n", "plt.rcParams['figure.figsize'] = (10, 6)\n", "plt.rcParams['font.size'] = 12" ] }, { "cell_type": "code", "execution_count": 16, "id": "cell-2", "metadata": {}, "outputs": [], "source": [ "# Import astropath modules\n", "from astropath.simulations import generate_frbs, assign_frbs_to_hosts, run_path\n", "from astropath.simulations import utils as sim_utils\n", "from astropath import run" ] }, { "cell_type": "markdown", "id": "cell-3", "metadata": {}, "source": [ "## Step 1: Generate FRB Population\n", "\n", "First, we generate a population of FRBs using `generate_frbs()`. This gives us FRBs with realistic DM, redshift, and host galaxy magnitude distributions for different surveys." ] }, { "cell_type": "code", "execution_count": 4, "id": "cell-4", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Loading P(DM,z) grid from /home/xavier/Projects/FRB/FRB/frb/data/DM/CHIME_pzdm.npz\n", "Sampling DM values\n", "Sampling redshifts\n", "Sampling host galaxy absolute magnitudes\n", "Using Lz values to sample host galaxy absolute magnitudes\n", "Generated 100 FRBs\n", "\n", "FRB properties:\n", " DM range: 40 - 2090 pc/cm³\n", " z range: 0.010 - 1.960\n", " m_r range: 12.84 - 27.61\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
DMegzM_rm_r
0445.00.25-22.60841517.963133
11175.01.38-19.82143825.200431
2710.00.63-21.19665621.734748
3585.00.45-20.42962921.624262
4215.00.11-18.17059920.437868
\n", "
" ], "text/plain": [ " DMeg z M_r m_r\n", "0 445.0 0.25 -22.608415 17.963133\n", "1 1175.0 1.38 -19.821438 25.200431\n", "2 710.0 0.63 -21.196656 21.734748\n", "3 585.0 0.45 -20.429629 21.624262\n", "4 215.0 0.11 -18.170599 20.437868" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Generate 100 CHIME FRBs for demonstration\n", "n_frbs = 100\n", "seed = 42\n", "\n", "frbs = generate_frbs(n_frbs, 'CHIME', seed=seed)\n", "\n", "print(f\"Generated {len(frbs)} FRBs\")\n", "print(f\"\\nFRB properties:\")\n", "print(f\" DM range: {frbs['DMeg'].min():.0f} - {frbs['DMeg'].max():.0f} pc/cm³\")\n", "print(f\" z range: {frbs['z'].min():.3f} - {frbs['z'].max():.3f}\")\n", "print(f\" m_r range: {frbs['m_r'].min():.2f} - {frbs['m_r'].max():.2f}\")\n", "\n", "frbs.head()" ] }, { "cell_type": "markdown", "id": "cell-5", "metadata": {}, "source": [ "## Step 2: Load Galaxy Catalog\n", "\n", "We need a galaxy catalog to:\n", "1. Assign FRBs to host galaxies\n", "2. Provide candidate hosts for PATH analysis\n", "\n", "We'll use the real combined HSC/DECaLs/HECATE catalog if available, otherwise create a mock catalog." ] }, { "cell_type": "code", "execution_count": 5, "id": "cell-6", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Loading real galaxy catalog from:\n", " /home/xavier/Projects/FRB/data/Catalogs/combined_HSC_DECaLs_HECATE_galaxies_hecatecut.parquet\n", " Loaded 2,297,005 galaxies\n", "\n", "Galaxy catalog:\n", " N_galaxies: 2,297,005\n", " Mag range: 9.75 - 28.00\n" ] } ], "source": [ "def create_mock_galaxy_catalog(n_galaxies=50000, seed=42):\n", " \"\"\"\n", " Create a mock galaxy catalog for demonstration.\n", " \"\"\"\n", " np.random.seed(seed)\n", " \n", " # Create galaxies across the sky\n", " ra = np.random.uniform(0., 360., n_galaxies)\n", " dec = np.random.uniform(-30., 60., n_galaxies)\n", " \n", " # Magnitude distribution (peaks around m_r ~ 21-22)\n", " mag_best = np.random.beta(a=2, b=5, size=n_galaxies) * 10 + 16\n", " mag_best = np.clip(mag_best, 16., 26.)\n", " \n", " # Half-light radii (log-normal distribution)\n", " half_light = np.random.lognormal(mean=np.log(0.8), sigma=0.6, size=n_galaxies)\n", " half_light = np.clip(half_light, 0.1, 5.0)\n", " \n", " df = pd.DataFrame({\n", " 'ra': ra,\n", " 'dec': dec,\n", " 'mag_best': mag_best,\n", " 'half_light': half_light,\n", " 'ID': np.arange(n_galaxies)\n", " })\n", " \n", " return df\n", "\n", "\n", "def load_galaxy_catalog(seed=42):\n", " \"\"\"\n", " Load galaxy catalog - tries real catalog first, falls back to mock.\n", " \"\"\"\n", " frb_apath = os.environ.get('FRB_APATH')\n", " \n", " if frb_apath is not None:\n", " catalog_path = Path(frb_apath) / 'combined_HSC_DECaLs_HECATE_galaxies_hecatecut.parquet'\n", " \n", " if catalog_path.exists():\n", " print(f\"Loading real galaxy catalog from:\")\n", " print(f\" {catalog_path}\")\n", " galaxies = pd.read_parquet(catalog_path)\n", " \n", " required_cols = ['ra', 'dec', 'mag_best', 'half_light', 'ID']\n", " if all(col in galaxies.columns for col in required_cols):\n", " print(f\" Loaded {len(galaxies):,} galaxies\")\n", " return galaxies, True\n", " \n", " print(\"Creating mock galaxy catalog...\")\n", " print(\" (Set $FRB_APATH to use real HSC/DECaLs/HECATE catalog)\")\n", " galaxies = create_mock_galaxy_catalog(n_galaxies=50000, seed=seed)\n", " print(f\" Created {len(galaxies):,} mock galaxies\")\n", " return galaxies, False\n", "\n", "\n", "# Load catalog\n", "galaxies, is_real = load_galaxy_catalog(seed=42)\n", "\n", "print(f\"\\nGalaxy catalog:\")\n", "print(f\" N_galaxies: {len(galaxies):,}\")\n", "print(f\" Mag range: {galaxies['mag_best'].min():.2f} - {galaxies['mag_best'].max():.2f}\")" ] }, { "cell_type": "markdown", "id": "cell-7", "metadata": {}, "source": [ "## Step 3: Assign FRBs to Host Galaxies\n", "\n", "Now we assign FRBs to host galaxies based on their expected host magnitude. The assignment includes:\n", "- True FRB position within the galaxy\n", "- Observed position with localization error\n", "- Localization ellipse parameters (a, b, PA)" ] }, { "cell_type": "code", "execution_count": 6, "id": "cell-8", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Localization error ellipse:\n", " Semi-major axis (a): 1.0\"\n", " Semi-minor axis (b): 0.5\"\n", " Position angle: 45.0 deg\n", "\n", "Assigning 86 FRBs to hosts (filtered from 100)\n", "Iteration 1: 86 FRBs remaining\n", " Brightest unassigned FRB: m_r = 17.17 deg\n", " Max magnitude separation: 0.0001 deg deg\n", "Assignment complete after 1 iterations\n", "Generating FRB positions within galaxies...\n", "Applying localization error...\n", "\n", "Assigned 86 FRBs to hosts\n", "(Filtered from 100 based on magnitude range)\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
radectrue_ratrue_decgal_IDgal_offmaghalf_lightloc_offFRB_IDabPA
0199.2168836.409707199.2166056.40988287961171753703890.43912017.9631291.8715111.17761801.00.545.0
133.800890-4.71680233.800732-4.717030374854051126509170.99381325.2004320.6603140.99929711.00.545.0
234.736942-6.06616734.736657-6.06653887961124202104400.48526521.7347500.7370671.68030521.00.545.0
334.353103-2.95109734.352760-2.95115387961135497272881.99718221.6242644.3752641.24780931.00.545.0
436.008173-5.75499736.008381-5.75448087961125145178220.03716820.4378600.4382322.00314341.00.545.0
\n", "
" ], "text/plain": [ " ra dec true_ra true_dec gal_ID gal_off \\\n", "0 199.216883 6.409707 199.216605 6.409882 8796117175370389 0.439120 \n", "1 33.800890 -4.716802 33.800732 -4.717030 37485405112650917 0.993813 \n", "2 34.736942 -6.066167 34.736657 -6.066538 8796112420210440 0.485265 \n", "3 34.353103 -2.951097 34.352760 -2.951153 8796113549727288 1.997182 \n", "4 36.008173 -5.754997 36.008381 -5.754480 8796112514517822 0.037168 \n", "\n", " mag half_light loc_off FRB_ID a b PA \n", "0 17.963129 1.871511 1.177618 0 1.0 0.5 45.0 \n", "1 25.200432 0.660314 0.999297 1 1.0 0.5 45.0 \n", "2 21.734750 0.737067 1.680305 2 1.0 0.5 45.0 \n", "3 21.624264 4.375264 1.247809 3 1.0 0.5 45.0 \n", "4 20.437860 0.438232 2.003143 4 1.0 0.5 45.0 " ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Define localization error ellipse\n", "# (semi-major axis, semi-minor axis, position angle) in arcsec, arcsec, degrees\n", "localization = (1.0, 0.5, 45.) # 1\" x 0.5\" ellipse at 45 deg\n", "\n", "print(f\"Localization error ellipse:\")\n", "print(f\" Semi-major axis (a): {localization[0]}\\\"\")\n", "print(f\" Semi-minor axis (b): {localization[1]}\\\"\")\n", "print(f\" Position angle: {localization[2]} deg\")\n", "print()\n", "\n", "# Assign FRBs to hosts\n", "assignments = assign_frbs_to_hosts(\n", " frb_df=frbs,\n", " galaxy_catalog=galaxies,\n", " localization=localization,\n", " mag_range=(17., 26.), # Only assign FRBs with hosts in this mag range\n", " seed=seed\n", ")\n", "\n", "print(f\"\\nAssigned {len(assignments)} FRBs to hosts\")\n", "print(f\"(Filtered from {len(frbs)} based on magnitude range)\")\n", "\n", "assignments.head()" ] }, { "cell_type": "markdown", "id": "cell-9", "metadata": {}, "source": [ "### Output columns:\n", "\n", "- `ra`, `dec`: Observed FRB coordinates (with localization error)\n", "- `true_ra`, `true_dec`: True FRB coordinates (within galaxy)\n", "- `gal_ID`: Host galaxy ID\n", "- `gal_off`: FRB offset from galaxy center (arcsec)\n", "- `mag`: Host galaxy magnitude\n", "- `half_light`: Host galaxy half-light radius (arcsec)\n", "- `loc_off`: Localization error magnitude (arcsec)\n", "- `a`, `b`, `PA`: Localization ellipse parameters" ] }, { "cell_type": "markdown", "id": "cell-10", "metadata": {}, "source": [ "## Step 4: Run PATH Analysis\n", "\n", "Now we run PATH on each assigned FRB. For each FRB, we:\n", "1. Extract nearby galaxies as candidates\n", "2. Build the input dictionary with localization and priors\n", "3. Run PATH to compute posterior probabilities\n", "4. Compare with the true host" ] }, { "cell_type": "code", "execution_count": 7, "id": "cell-11", "metadata": {}, "outputs": [], "source": [ "def extract_candidates(frb_row, galaxies, search_radius_arcmin=1.0):\n", " \"\"\"\n", " Extract candidate host galaxies near an FRB position.\n", " \n", " Args:\n", " frb_row: Row from assignments DataFrame\n", " galaxies: Galaxy catalog DataFrame\n", " search_radius_arcmin: Search radius in arcmin\n", " \n", " Returns:\n", " astropy.table.Table: Candidate catalog for PATH\n", " \"\"\"\n", " # Get FRB position\n", " frb_ra = frb_row['ra']\n", " frb_dec = frb_row['dec']\n", " \n", " # Convert search radius to degrees\n", " search_radius_deg = search_radius_arcmin / 60.\n", " \n", " # Simple box cut (fast approximation)\n", " cos_dec = np.cos(np.radians(frb_dec))\n", " ra_mask = np.abs(galaxies['ra'] - frb_ra) * cos_dec < search_radius_deg\n", " dec_mask = np.abs(galaxies['dec'] - frb_dec) < search_radius_deg\n", " \n", " nearby = galaxies[ra_mask & dec_mask].copy()\n", " \n", " if len(nearby) == 0:\n", " return None\n", " \n", " # Convert to astropy Table for PATH\n", " catalog = Table()\n", " catalog['ra'] = nearby['ra'].values\n", " catalog['dec'] = nearby['dec'].values\n", " catalog['ang_size'] = nearby['half_light'].values\n", " catalog['mag'] = nearby['mag_best'].values\n", " catalog['ID'] = nearby['ID'].values\n", " \n", " return catalog" ] }, { "cell_type": "code", "execution_count": 8, "id": "cell-12", "metadata": {}, "outputs": [], "source": [ "def run_path_on_frb(frb_row, galaxies, search_radius_arcmin=1.0, verbose=False):\n", " \"\"\"\n", " Run PATH analysis on a single FRB.\n", " \n", " Args:\n", " frb_row: Row from assignments DataFrame\n", " galaxies: Galaxy catalog DataFrame\n", " search_radius_arcmin: Search radius for candidates\n", " verbose: Print detailed output\n", " \n", " Returns:\n", " dict: PATH results including posteriors and true host info\n", " \"\"\"\n", " # Extract candidate galaxies\n", " catalog = extract_candidates(frb_row, galaxies, search_radius_arcmin)\n", " \n", " if catalog is None or len(catalog) == 0:\n", " return {'success': False, 'reason': 'no_candidates'}\n", " \n", " # Build input dictionary\n", " lparam = {\n", " 'a': frb_row['a'],\n", " 'b': frb_row['b'],\n", " 'theta': frb_row['PA']\n", " }\n", " \n", " idict = run.build_idict(\n", " ra=frb_row['ra'],\n", " dec=frb_row['dec'],\n", " ltype='eellipse',\n", " lparam=lparam,\n", " P_O_method='inverse',\n", " PU=0.1, # 10% prior on unseen host\n", " scale=0.5,\n", " theta_PDF='exp',\n", " theta_max=6.0\n", " )\n", " \n", " # Run PATH\n", " try:\n", " result_candidates, P_Ux, Path, mag_key, cut_catalog, _ = run.run_on_dict(\n", " idict,\n", " verbose=verbose,\n", " catalog=catalog,\n", " mag_key='mag'\n", " )\n", " except Exception as e:\n", " return {'success': False, 'reason': str(e)}\n", " \n", " if result_candidates is None or len(result_candidates) == 0:\n", " return {'success': False, 'reason': 'path_failed'}\n", " \n", " # Find the true host in results\n", " true_host_id = frb_row['gal_ID']\n", " \n", " # Check if true host is in candidates\n", " if 'ID' in result_candidates.columns:\n", " true_host_mask = result_candidates['ID'] == true_host_id\n", " if true_host_mask.any():\n", " true_host_P_Ox = result_candidates.loc[true_host_mask, 'P_Ox'].values[0]\n", " true_host_rank = (result_candidates['P_Ox'] > true_host_P_Ox).sum() + 1\n", " else:\n", " true_host_P_Ox = 0.0\n", " true_host_rank = len(result_candidates) + 1\n", " else:\n", " true_host_P_Ox = None\n", " true_host_rank = None\n", " \n", " return {\n", " 'success': True,\n", " 'n_candidates': len(result_candidates),\n", " 'P_Ux': P_Ux,\n", " 'top_P_Ox': result_candidates['P_Ox'].iloc[0],\n", " 'true_host_P_Ox': true_host_P_Ox,\n", " 'true_host_rank': true_host_rank,\n", " 'true_host_id': true_host_id,\n", " 'candidates': result_candidates\n", " }" ] }, { "cell_type": "markdown", "id": "cell-13", "metadata": {}, "source": [ "### Run PATH on a single FRB (example)" ] }, { "cell_type": "code", "execution_count": 9, "id": "cell-14", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "FRB 0:\n", " Position: (199.216883, 6.409707)\n", " True host ID: 8796117175370389.0\n", " True host mag: 17.96\n", " Localization: 1.00\" x 0.50\"\n", "\n", " ID ra dec ang_size mag P_O P_Ox\n", "0 8796117175370389 199.216727 6.409863 1.871511 17.963129 0.9 0.999985\n", "P_Ux = 1.5185724702115839e-05\n", "\n", "============================================================\n", "PATH Results:\n", " N candidates: 1\n", " P(U|x): 0.0000\n", " Top P(O|x): 1.0000\n", " True host P(O|x): 1.0000\n", " True host rank: 1\n" ] } ], "source": [ "# Run PATH on the first FRB\n", "frb_idx = 0\n", "frb_row = assignments.iloc[frb_idx]\n", "\n", "print(f\"FRB {frb_idx}:\")\n", "print(f\" Position: ({frb_row['ra']:.6f}, {frb_row['dec']:.6f})\")\n", "print(f\" True host ID: {frb_row['gal_ID']}\")\n", "print(f\" True host mag: {frb_row['mag']:.2f}\")\n", "print(f\" Localization: {frb_row['a']:.2f}\\\" x {frb_row['b']:.2f}\\\"\")\n", "print()\n", "\n", "result = run_path_on_frb(frb_row, galaxies, search_radius_arcmin=1.0, verbose=True)\n", "\n", "if result['success']:\n", " print(f\"\\n\" + \"=\"*60)\n", " print(f\"PATH Results:\")\n", " print(f\" N candidates: {result['n_candidates']}\")\n", " print(f\" P(U|x): {result['P_Ux']:.4f}\")\n", " print(f\" Top P(O|x): {result['top_P_Ox']:.4f}\")\n", " print(f\" True host P(O|x): {result['true_host_P_Ox']:.4f}\")\n", " print(f\" True host rank: {result['true_host_rank']}\")\n", "else:\n", " print(f\"PATH failed: {result['reason']}\")" ] }, { "cell_type": "markdown", "id": "cell-15", "metadata": {}, "source": [ "### Run PATH on all assigned FRBs, in parallel\n", "\n", "#### This took ~3min on my laptop" ] }, { "cell_type": "code", "execution_count": 12, "id": "fb64ac25-1ee4-480e-a36a-a39de6296ec3", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Slicing...\n", "kk: 0\n", "PATH time\n" ] } ], "source": [ "# Prior dict\n", "DECaLS_chime_priors = {}\n", "DECaLS_chime_priors['version'] = '1.0'\n", "DECaLS_chime_priors['PU'] = 0.15\n", "DECaLS_chime_priors['scale'] = 0.5\n", "prior_dict = DECaLS_chime_priors\n", "\n", "#\n", "final_sims = run_path.full(assignments, galaxies, prior_dict, \n", " debug=False, ncpu=4, multi=True)\n" ] }, { "cell_type": "code", "execution_count": 13, "id": "52439690-da77-43d8-ad09-052bd828f711", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
radecang_sizemagIDsepP_Op_xOP_OxP_Uxgal_IDiFRB
0199.2167276.4098631.87151117.96312987961171753703890.7933400.4207750.0564560.9999510.00004910
1199.2589346.3885911.29649718.8402378796117175369996168.5556420.1579220.0000000.0000000.00004900
2199.2339926.4395634.67240618.3508008796117175370961123.6876740.2713020.0000000.0000000.00004920
333.800652-4.7167660.66031425.200432374854051126509170.8636570.0000710.1062300.7883650.12154912361
433.801193-4.7170330.39729925.941730374854051126509151.3707330.0000420.0191770.0840250.12154912341
.......................................
9528734.280275-6.7776310.48086521.6148348796112138537127179.7918670.0012910.0000000.0000000.0001806884
9528834.309795-6.7754550.59802721.8011768796112138537191176.9320920.0010870.0000000.0000000.0001806984
9528934.298661-6.7737130.97651121.3082738796112138537228179.6924010.0017210.0000000.0000000.0001807084
95290219.96191621.4582171.33955718.80155487961226655186621.6204480.2390000.0507860.9999050.000095085
95291219.92788221.4619771.06132917.9623578796122665518745115.9858590.6110000.0000000.0000000.000095185
\n", "

95292 rows × 12 columns

\n", "
" ], "text/plain": [ " ra dec ang_size mag ID \\\n", "0 199.216727 6.409863 1.871511 17.963129 8796117175370389 \n", "1 199.258934 6.388591 1.296497 18.840237 8796117175369996 \n", "2 199.233992 6.439563 4.672406 18.350800 8796117175370961 \n", "3 33.800652 -4.716766 0.660314 25.200432 37485405112650917 \n", "4 33.801193 -4.717033 0.397299 25.941730 37485405112650915 \n", "... ... ... ... ... ... \n", "95287 34.280275 -6.777631 0.480865 21.614834 8796112138537127 \n", "95288 34.309795 -6.775455 0.598027 21.801176 8796112138537191 \n", "95289 34.298661 -6.773713 0.976511 21.308273 8796112138537228 \n", "95290 219.961916 21.458217 1.339557 18.801554 8796122665518662 \n", "95291 219.927882 21.461977 1.061329 17.962357 8796122665518745 \n", "\n", " sep P_O p_xO P_Ox P_Ux gal_ID iFRB \n", "0 0.793340 0.420775 0.056456 0.999951 0.000049 1 0 \n", "1 168.555642 0.157922 0.000000 0.000000 0.000049 0 0 \n", "2 123.687674 0.271302 0.000000 0.000000 0.000049 2 0 \n", "3 0.863657 0.000071 0.106230 0.788365 0.121549 1236 1 \n", "4 1.370733 0.000042 0.019177 0.084025 0.121549 1234 1 \n", "... ... ... ... ... ... ... ... \n", "95287 179.791867 0.001291 0.000000 0.000000 0.000180 68 84 \n", "95288 176.932092 0.001087 0.000000 0.000000 0.000180 69 84 \n", "95289 179.692401 0.001721 0.000000 0.000000 0.000180 70 84 \n", "95290 1.620448 0.239000 0.050786 0.999905 0.000095 0 85 \n", "95291 115.985859 0.611000 0.000000 0.000000 0.000095 1 85 \n", "\n", "[95292 rows x 12 columns]" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "final_sims" ] }, { "cell_type": "markdown", "id": "2a00e6a7-34fd-4d24-87d4-b80d464eb5a9", "metadata": {}, "source": [ "## Step 5. Digest" ] }, { "cell_type": "code", "execution_count": 19, "id": "51d67073-9858-49fd-bff5-040bd5245830", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Index(['DMeg', 'z', 'M_r', 'm_r'], dtype='object')" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "frbs.keys()" ] }, { "cell_type": "code", "execution_count": 21, "id": "f6acbef7-8f0a-45e8-97c7-369d12326562", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Get parameters from the simulation results dataframe\n", "Rename some columns to make concatenation cleaner\n", "Calculate angular separation between true host and best candidate\n", "Add the RA/Dec of the host *galaxy* from the original catalog\n", "Merge dataframes, to create a nice big cross-checked dataframe for plotting purposes\n" ] } ], "source": [ "reload(sim_utils)\n", "digest = sim_utils.build_digest(final_sims, frbs, assignments, galaxies)" ] }, { "cell_type": "code", "execution_count": 23, "id": "09460be2-ca7d-43a4-bd96-62312c3f43f5", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ra_locdec_loctrue_ratrue_dechost_IDgal_offmag_hosthalf_light_hostloc_offFRB_ID...ang_size_candmag_candcand_IDsep_candP_Op_xOP_OxP_Uxgal_indiFRB
0199.2168836.409707199.2166056.40988287961171753703890.43912017.9631291.8715111.1776180...1.87151117.96312987961171753703890.7933400.4207750.0564560.9999510.00004910
133.800890-4.71680233.800732-4.717030374854051126509170.99381325.2004320.6603140.9992971...0.66031425.200432374854051126509170.8636570.0000710.1062300.7883650.12154912361
234.736942-6.06616734.736657-6.06653887961124202104400.48526521.7347500.7370671.6803052...0.73706721.73475087961124202104401.2755880.0032140.0985190.9963580.003642312
334.353103-2.95109734.352760-2.95115387961135497272881.99718221.6242644.3752641.2478093...4.37526421.62426487961135497272882.5646060.0016820.0097610.9341490.065851543
436.008173-5.75499736.008381-5.75448087961125145178220.03716820.4378600.4382322.0031434...0.43823220.43786087961125145178222.0233520.0092070.0215870.9942070.005790254
..................................................................
8137.603128-5.11052937.602826-5.11057987961127969755570.72338820.3428921.4818961.09546995...1.48189620.34289287961127969755570.9796290.0067000.0595330.9971070.0028932781
8235.058354-5.59932035.058318-5.599317374899191232825550.12361922.1890070.6152960.12609796...0.61529622.189007374899191232825550.0849370.0014730.2072590.9962220.00377873382
8334.589116-3.98347434.588902-3.983679385491654326360340.01765622.6674120.5377381.06573397...0.53773822.667412385491654326360341.0605460.0007560.1386900.9890860.01091459183
8434.299906-6.82361234.300143-6.82364487961121385358390.42660617.3062152.2905710.85433698...2.29057117.30621587961121385358390.4929790.1215290.0527650.9997990.0001802084
85219.96229721.458493219.96192121.45829087961226655186620.26343318.8015541.3395571.45790499...1.33955718.80155487961226655186621.6204480.2390000.0507860.9999050.000095085
\n", "

86 rows × 34 columns

\n", "
" ], "text/plain": [ " ra_loc dec_loc true_ra true_dec host_ID gal_off \\\n", "0 199.216883 6.409707 199.216605 6.409882 8796117175370389 0.439120 \n", "1 33.800890 -4.716802 33.800732 -4.717030 37485405112650917 0.993813 \n", "2 34.736942 -6.066167 34.736657 -6.066538 8796112420210440 0.485265 \n", "3 34.353103 -2.951097 34.352760 -2.951153 8796113549727288 1.997182 \n", "4 36.008173 -5.754997 36.008381 -5.754480 8796112514517822 0.037168 \n", ".. ... ... ... ... ... ... \n", "81 37.603128 -5.110529 37.602826 -5.110579 8796112796975557 0.723388 \n", "82 35.058354 -5.599320 35.058318 -5.599317 37489919123282555 0.123619 \n", "83 34.589116 -3.983474 34.588902 -3.983679 38549165432636034 0.017656 \n", "84 34.299906 -6.823612 34.300143 -6.823644 8796112138535839 0.426606 \n", "85 219.962297 21.458493 219.961921 21.458290 8796122665518662 0.263433 \n", "\n", " mag_host half_light_host loc_off FRB_ID ... ang_size_cand \\\n", "0 17.963129 1.871511 1.177618 0 ... 1.871511 \n", "1 25.200432 0.660314 0.999297 1 ... 0.660314 \n", "2 21.734750 0.737067 1.680305 2 ... 0.737067 \n", "3 21.624264 4.375264 1.247809 3 ... 4.375264 \n", "4 20.437860 0.438232 2.003143 4 ... 0.438232 \n", ".. ... ... ... ... ... ... \n", "81 20.342892 1.481896 1.095469 95 ... 1.481896 \n", "82 22.189007 0.615296 0.126097 96 ... 0.615296 \n", "83 22.667412 0.537738 1.065733 97 ... 0.537738 \n", "84 17.306215 2.290571 0.854336 98 ... 2.290571 \n", "85 18.801554 1.339557 1.457904 99 ... 1.339557 \n", "\n", " mag_cand cand_ID sep_cand P_O p_xO P_Ox \\\n", "0 17.963129 8796117175370389 0.793340 0.420775 0.056456 0.999951 \n", "1 25.200432 37485405112650917 0.863657 0.000071 0.106230 0.788365 \n", "2 21.734750 8796112420210440 1.275588 0.003214 0.098519 0.996358 \n", "3 21.624264 8796113549727288 2.564606 0.001682 0.009761 0.934149 \n", "4 20.437860 8796112514517822 2.023352 0.009207 0.021587 0.994207 \n", ".. ... ... ... ... ... ... \n", "81 20.342892 8796112796975557 0.979629 0.006700 0.059533 0.997107 \n", "82 22.189007 37489919123282555 0.084937 0.001473 0.207259 0.996222 \n", "83 22.667412 38549165432636034 1.060546 0.000756 0.138690 0.989086 \n", "84 17.306215 8796112138535839 0.492979 0.121529 0.052765 0.999799 \n", "85 18.801554 8796122665518662 1.620448 0.239000 0.050786 0.999905 \n", "\n", " P_Ux gal_ind iFRB \n", "0 0.000049 1 0 \n", "1 0.121549 1236 1 \n", "2 0.003642 31 2 \n", "3 0.065851 54 3 \n", "4 0.005790 25 4 \n", ".. ... ... ... \n", "81 0.002893 27 81 \n", "82 0.003778 733 82 \n", "83 0.010914 591 83 \n", "84 0.000180 20 84 \n", "85 0.000095 0 85 \n", "\n", "[86 rows x 34 columns]" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "digest" ] }, { "cell_type": "markdown", "id": "cell-18", "metadata": {}, "source": [ "## Step 5: Analyze PATH Performance\n", "\n", "Let's analyze how well PATH identifies the true hosts." ] }, { "cell_type": "code", "execution_count": 24, "id": "b8ad779e-6da9-492b-a05c-af326ade86bf", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "np.int64(84)" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "matched = digest['cand_ID'] == digest.host_ID\n", "np.sum(matched)" ] }, { "cell_type": "markdown", "id": "cell-22", "metadata": {}, "source": [ "## Step 6: Compare Different Localization Precisions\n", "\n", "Let's see how PATH performance varies with localization precision." ] }, { "cell_type": "code", "execution_count": 13, "id": "cell-23", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "Running Excellent (0.1\")...\n", "Assigning 68 FRBs to hosts (filtered from 100)\n", "Iteration 1: 68 FRBs remaining\n", " Brightest unassigned FRB: m_r = 17.22 deg\n", " Max magnitude separation: 0.0001 deg deg\n", "Assignment complete after 1 iterations\n", "Generating FRB positions within galaxies...\n", "Applying localization error...\n", " Assigned: 68, PATH success: 68\n", " Correct (rank=1): 98.5%\n", "\n", "Running Good (0.5\")...\n", "Assigning 68 FRBs to hosts (filtered from 100)\n", "Iteration 1: 68 FRBs remaining\n", " Brightest unassigned FRB: m_r = 17.22 deg\n", " Max magnitude separation: 0.0001 deg deg\n", "Assignment complete after 1 iterations\n", "Generating FRB positions within galaxies...\n", "Applying localization error...\n", " Assigned: 68, PATH success: 68\n", " Correct (rank=1): 95.6%\n", "\n", "Running Moderate (2\")...\n", "Assigning 68 FRBs to hosts (filtered from 100)\n", "Iteration 1: 68 FRBs remaining\n", " Brightest unassigned FRB: m_r = 17.22 deg\n", " Max magnitude separation: 0.0001 deg deg\n", "Assignment complete after 1 iterations\n", "Generating FRB positions within galaxies...\n", "Applying localization error...\n", " Assigned: 68, PATH success: 68\n", " Correct (rank=1): 91.2%\n", "\n", "Running Poor (5\")...\n", "Assigning 68 FRBs to hosts (filtered from 100)\n", "Iteration 1: 68 FRBs remaining\n", " Brightest unassigned FRB: m_r = 17.22 deg\n", " Max magnitude separation: 0.0001 deg deg\n", "Assignment complete after 1 iterations\n", "Generating FRB positions within galaxies...\n", "Applying localization error...\n", " Assigned: 68, PATH success: 68\n", " Correct (rank=1): 79.4%\n" ] } ], "source": [ "# Define different localization scenarios\n", "localization_scenarios = {\n", " 'Excellent (0.1\")': (0.1, 0.1, 0.),\n", " 'Good (0.5\")': (0.5, 0.3, 45.),\n", " 'Moderate (2\")': (2.0, 1.0, 30.),\n", " 'Poor (5\")': (5.0, 3.0, 0.)\n", "}\n", "\n", "# Run simulations for each scenario\n", "scenario_results = {}\n", "\n", "for scenario_name, loc in localization_scenarios.items():\n", " print(f\"\\nRunning {scenario_name}...\")\n", " \n", " # Assign FRBs with this localization\n", " assign_scenario = assign_frbs_to_hosts(\n", " frb_df=frbs,\n", " galaxy_catalog=galaxies,\n", " localization=loc,\n", " mag_range=(17., 26.),\n", " seed=42\n", " )\n", " \n", " # Run PATH on each\n", " scenario_path_results = []\n", " for idx in range(len(assign_scenario)):\n", " frb_row = assign_scenario.iloc[idx]\n", " result = run_path_on_frb(frb_row, galaxies, search_radius_arcmin=1.0)\n", " if result['success']:\n", " scenario_path_results.append(result)\n", " \n", " scenario_results[scenario_name] = pd.DataFrame(scenario_path_results)\n", " \n", " # Summary\n", " df = scenario_results[scenario_name]\n", " rank1_frac = (df['true_host_rank'] == 1).mean() * 100\n", " print(f\" Assigned: {len(assign_scenario)}, PATH success: {len(df)}\")\n", " print(f\" Correct (rank=1): {rank1_frac:.1f}%\")" ] }, { "cell_type": "code", "execution_count": 14, "id": "cell-24", "metadata": {}, "outputs": [ { "data": { "image/png": "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v359AECDBg3QoEGDbG9LlZCQEFhaWqJjx465sj0iIiLKOzkag3b16tUIDw8HALi4uKBt27bw8vJC5cqVIZPJEB4ejtWrV+dmnERERERERD+MokWLwtfXF1OmTMn1baempmLWrFkYM2YM9PX1c337RERElLty1IO2a9euWLNmDRwcHFQuP3/+PLp27SoNf0BERERERESKFi1alCfb1dbWxr///psn2yYiIqLcl6MetJ/OYqpKQkICtLRyPHoCERERERERERER0X+C2lnUGzdu4Nq1a9LfJ0+exIcPH5TqxcbGYvHixShRokSuBEhERERERERERET0o1I7Qbtt2zaMGzcOACCTybBkyRIsWbJEZV0zMzOOQUtERERERERERESUBbUTtD179sTPP/8MIQSqVq2K8ePHo0mTJgp1ZDIZDA0N4eTkxCEOiIiIiIiIiIiIiLKgdhbV2toa1tbWAICjR4+iVKlSKFiwYJ4FRkRERERERERERPSjy1E3Vzc3t9yOg4iIiIiIvqKsJv4l+hHwOiciou9BjschePXqFZYvX44rV64gLi4O6enpCstlMhkOHz78xQESEREREVHu0dbWBgAkJiZCX18/n6MhyluJiYkA/nfdExHRN+hSiMpip3+jc39f1Qbn/jZzQY4StDdu3IC7uzuSkpJQsmRJ3Lx5E6VLl0ZsbCyeP38OJycn2NnZ5XasRERERET0hTQ1NWFmZoY3b94AAAwMDCCTyfI5KqLcJYRAYmIi3rx5AzMzM2hqauZ3SERERBnKUYJ2xIgRMDIywrVr12BgYICCBQtizpw58PDwwObNm9GrVy+sW7cut2MlIiIiIqJcUKhQIQCQkrREPyozMzPpeiciIvpW5ShBe/r0aQwbNgxFihRBdPTH7sbyIQ7atm2LU6dOYejQoTh+/HjuRUpERERERLlCJpPB2toaBQsWRGpqan6HQ5QntLW12XOWiIi+CzlK0Kanp+Onn34CAOl2EXmiFgDKlSuH5cuX506ERERERESUJzQ1NZnAIiIiIspnGjlZydHREWFhYR83oKEBR0dHhIaGSsvPnDkDMzOzXAmQiIiIiIiIiIiI6EeVowRtw4YNsXnzZunvXr16YdmyZfD09ET9+vWxatUqdOzYMdeCJCIiIiIiIiIiIvoR5WiIg9GjR6NDhw5ITU2FtrY2BgwYgISEBGzduhWampoYO3YsRo0alduxEhEREREREREREf1QcpSgNTc3h6urq/S3TCbDmDFjMGbMmFwLjIiIiIiIiIiIiOhHl6MhDrJy8OBBeHh45MWmiYiIiIiIiIiIiH4Y2e5Be+nSJTx69Ajm5uaoW7cu9PT0pGWbNm3C1KlTcfXqVU4SRkRERERERERERJQFtRO0cXFxaN68OU6fPi2VFSxYEPv27YOenh46deqEa9euwdbWFtOnT0fPnj3zJGAiIiIiIiIiIiKiH4XaCdqAgACcOnUKXl5eqFOnDsLCwrBw4UL4+PjgzZs30NPTw4oVK9CpUydoaeVoaFsiIiIiIiIiIiKi/xS1M6k7d+5Eu3btsGHDBqmsdOnS8PX1RY0aNXDw4EEYGhrmSZBEREREREREREREPyK1Jwl7/vw56tevr1Am/7tfv35MzhIRERERERERERFlk9oJ2g8fPiglYeV/W1lZ5W5URERERERERERERP8B2RosNiEhAdHR0dLf8v+/fftWoVzOwsLiC8MjIiIiIiIiIiIi+nFlK0Hr5+cHPz8/pfLWrVurrJ+WlpazqIiIiIiIiIiIiIj+A9RO0AYGBuZlHERERERERERERET/OUzQEhEREREREREREeUTtScJIyIiIiIiIiIiIqLcxQQtERERERERERERUT5hgpaIiIiIiIiIiIgonzBBS0RERERERERERJRPmKAlIiIiIiIiIiIiyidM0BIRERERERERERHlE60vWfnt27d48uQJYmJiIIRQWl63bt0v2TwRERERERERERHRDy1HCdqoqCj06dMHW7duRVpamtJyIQRkMpnKZURERERERERERET0UY4StD169MCuXbvQr18/1KlTB+bm5rkdFxH9H3v3HRbF1bYB/B5AepciKIqK2BAbgiJiQ0SNJXaN3cRoYowt1hhbLIlGU3ztvWvsRhM7xh4Va1RQLBRRVESK1N3z/cG3E1eKuCys4v27rr10Z87MPLMzzO4+e+Y5RERERERERERU7GmUoD148CBGjBiBH3/8UdvxvJWQkBBMmTIFJ0+eRGpqKipUqIBBgwZh2LBhcpvTp09jzJgxCAkJgaWlJbp27YqZM2fC3Nxch5ETERERERERERERaZigNTU1haurq5ZDeTsHDx5E27ZtUbt2bUyaNAnm5uYIDw9HVFSU3Oby5cto3rw5qlatinnz5iEqKgpz587F7du38eeff+oweiIiIiIiIiIiIiINE7S9evXCzp078cUXX2g7nnxJSEhAnz590KZNG2zbtg16eno5tpswYQJsbGwQHBwMS0tLAICrqys+++wzHDx4EIGBgUUZNhEREREREREREZGanDObb9C5c2fExcUhKCgIO3bswPnz5xESEpLtUVg2btyIx48fY8aMGdDT00NycjKUSqVam4SEBBw6dAi9evWSk7MA0KdPH5ibm2Pr1q2FFh8RERERERERERFRfmjUg9bPz0/+/6FDh7LNF0JAkiQoFArNI8vD4cOHYWlpiejoaHTo0AFhYWEwMzND7969MX/+fBgbG+PatWvIzMyEl5eX2rKGhoaoVasWLl26VCixEREREREREREREeWXRgnaVatWaTuOt3L79m1kZmaiffv2GDhwIGbNmoXg4GD89ttviI+Px6ZNmxATEwMAcHJyyra8k5MTTpw4kec20tLSkJaWJj9PSEjQ7k4QERERERERERHRB0+jBG3fvn21HcdbSUpKwsuXLzF48GD8+uuvAICOHTsiPT0dS5YswbRp05CSkgIAMDIyyra8sbGxPD83s2bNwtSpU7UfPBEREREREREREdH/06gG7auSkpJw8+ZN3Lx5E0lJSdqI6Y1MTEwAAD169FCb3rNnTwDAmTNn5Dav9oJVSU1NlefnZvz48Xjx4oX8iIyM1EboRERERERERERERDKNE7Tnz59H06ZNYWNjAw8PD3h4eMDGxgbNmjXDhQsXtBljNs7OzgAAR0dHtekODg4AgOfPn8ulDVSlDl4VExMjryM3RkZGsLS0VHsQERERERERERERaZNGCdpz587B398fISEh+PTTTzF//nzMnz8fn376KUJCQuDv749//vlH27HK6tatCwCIjo5Wm/7w4UMAgL29PTw8PGBgYJAtWZyeno7Lly+jVq1ahRYfERERERERERERUX5olKCdOHEiSpcujdDQUCxatAjDhg3DsGHDsGjRIoSGhsLZ2RkTJ07Udqyyrl27AgBWrFihNn358uUwMDBAkyZNYGVlhYCAAKxfvx6JiYlym3Xr1iEpKQldunQptPiIiIiIiIiIiIiI8kOjQcLOnTuH7777DqVKlco2z9HREYMGDcL06dMLHFxuateujQEDBmDlypXIzMxE48aNERwcjN9//x3jx4+XyxfMmDEDvr6+aNy4MQYNGoSoqCj89NNPCAwMRFBQUKHFR0RERERERERERJQfGiVo9fT0kJmZmet8hUIBPb0Cjz+Wp8WLF6Ns2bJYtWoVdu7ciXLlymH+/PkYPny43KZOnTo4fPgwxo4dixEjRsDCwgIDBw7ErFmzCjU2IiIiIiIiIiIiovzQKEHr6+uL//3vf+jZsyfKlSunNi8iIgILFy5Ew4YNtRJgbkqUKIHJkydj8uTJebbz8/PDqVOnCjUWIiIiIiIiIiIiIk1olKCdOXMm/P39UaVKFXz88cdwd3cHAISGhmL37t0wMDBgL1UiIiIiIiIiIiKiN9CoDkHt2rVx7tw5BAUFYc+ePZg2bRqmTZuGvXv3IigoCGfPnkXNmjW1HSsRERER0XsnKSkJkydPRlBQEGxtbSFJElavXp2tXb9+/SBJUrZHlSpVij5oIiIiIioyGvWgBYBq1aph586dUCqVePLkCQDA3t6+0GvPEhEREREVllatWqF37974+OOPYWJiopV1Pn36FNOmTUPZsmVRs2ZNBAcH59rWyMgIy5cvV5tmZWWllTiIiIiI6N2kcYJWRU9PD46OjtqIhYiIiIhIp+7evYtevXrB3NwcH3/8MXr37o3mzZtDkiSN1+nk5ISYmBiUKlUKFy5cQL169XJta2BggF69emm8LSIiIiJ6/+QrQTtt2jRIkoSJEydCT08P06ZNe+MykiRh0qRJBQ6QiIiIiKiohIaG4vz581i/fj22bt2K9evXo1SpUujZsyc++eQT1KpV663XaWRkhFKlSuW7vUKhQHJyMiwtLd96W0RERET0/slXgnbKlCmQJAljx46FoaEhpkyZ8sZlmKAlIiIiovdRvXr1UK9ePcyfPx+HDh3C+vXrsWTJEsybNw9Vq1ZFnz590LNnT5QpU0br23758iUsLS3x8uVL2NjYoEePHvjhhx9gbm6u9W0RERER0bshXwVjlUolFAoFDA0N5edveigUikINnIiIiIioMOnp6aFly5ZYt24dIiIi0LlzZ9y4cQPjxo2Dq6srAgICsG/fPq1tz8nJCWPGjMGqVauwadMmtGvXDgsXLkRQUBAyMzNzXS4tLQ0JCQlqDyIiIiJ6fxS4Bi0RERERUXF18uRJrF+/Htu2bUNcXBw8PDzQp08flChRAitXrkS7du0wceLEfJUAe5NZs2apPe/evTvc3d0xceJEbNu2Dd27d891ualTpxZ4+0RERESkG/nqQfs6fX19bNy4Mdf5W7Zsgb6+vsZBERERERHpyo0bNzBhwgSUL18ejRs3xu7du9G3b1+EhITg6tWrGD16NL7++mtcuXIFAwcOxP/+979Ci2XEiBHQ09PD4cOHc20zfvx4vHjxQn5ERkYWWjxEREREpH0a9aAVQuQ5X6FQFGikWyIiIiIiXahVqxauXbsGIyMjtG/fHgsXLkTLli2hp5dzv4amTZti+fLlhRaPiYkJSpYsibi4uFzbGBkZwcjIqNBiICIiIqLCpXGJg9wSsAkJCThw4ADs7Ow0DoqIiIiISBesra2xdOlSdOnSBZaWlm9s3759e9y7d6/Q4klMTMTTp09hb29faNsgIiIiIt3Kd4mDqVOnQl9fH/r6+pAkCb169ZKfv/qwsbHBunXrcq2RRURERET0rlq7di169uyZa3I2JSUFERER8nNTU1OUK1euwNtNTU1FYmJitunTp0+HEAJBQUEF3gYRERERvZvy3YPW29sbX3zxBYQQWLhwIVq0aAF3d3e1NpIkwczMDHXr1kXHjh21HiwRERERUWEqX7481q1bh549e+Y4f8+ePejZsycUCsVbrXfBggWIj4/Hw4cPAQB79+5FVFQUAOCrr77C8+fPUbt2bfTo0QNVqlQBABw4cAD79+9HUFAQ2rdvX4C9IiIiIqJ3Wb4TtK1atUKrVq0AAMnJyRg8eDB8fHwKLTAiIiIioqL2prEWMjIycq1Hm5e5c+fiwYMH8vMdO3Zgx44dAIBevXrB2toaH330EQ4dOoQ1a9ZAoVDAzc0NM2fOxOjRozXaJhERERG9HzSqQbtq1Sptx0FEREREpBMJCQmIj4+Xnz979kytjIFKfHw8Nm/eDCcnp7fexv3799/YZt26dW+9XiIiIiJ6/2k8SBgAREVF4dKlS3jx4gWUSmW2+X369CnI6omIiIiICt38+fMxbdo0AFklu4YPH47hw4fn2FYIge+//74IoyMiIiKi4k6jBG1qair69u2L7du3Q6lUQpIk+XYwSZLkdkzQEhEREdG7LjAwEObm5hBCYMyYMejRowfq1Kmj1ubVsRa8vLx0FCkRERERFUcaJWgnTJiAHTt2YMaMGWjQoAGaNGmCNWvWwMnJCT///DMePnyItWvXajtWIiIiIiKta9CgARo0aAAga6yFjh07okaNGjqOioiIiIg+FBqNNrBt2zb0798fY8eORfXq1QEApUuXRkBAAP744w9YW1vjf//7n1YDJSIiIiIqbJMnT2ZyloiIiIiKlEY9aGNjY+Ht7Q0AMDExAZDV20ClU6dOmDZtGhYtWqSFEImIiIiICse0adMgSRImTpwIPT09uRZtXiRJwqRJk4ogOiIiIiL6EGiUoHV0dMSzZ88AAKamprCxsUFoaCjatm0LIGsk3NTUVO1FSURERERUCKZMmQJJkjB27FgYGhpiypQpb1yGCVoiIiIi0iaNErQ+Pj44efIkxo4dCwBo27Yt5syZAycnJyiVSsyfPx/169fXaqBERERERNqmVCrzfE5EREREVNg0qkE7bNgwVKhQAWlpaQCA6dOnw9raGr1790bfvn1hZWWFX3/9VauBEhERERERERERERU3GvWg9fPzg5+fn/zcxcUFN2/exLVr16Cvr48qVarAwECjVRMRERERvVNevnyJzZs3Iy0tDa1bt0a5cuV0HRIRERERFSNay6Lq6emhZs2a2lodEREREVGRGzhwIM6dO4fr168DANLT01G/fn35uZWVFY4ePYratWvrMkwiIiIiKkY0KnGwadMm9OvXL9f5/fv3x9atWzWNiYiIiIhIJ44dO4aOHTvKzzdu3Ijr169jw4YNuH79OkqVKoWpU6fqMEIiIiIiKm40StDOnz8fRkZGuc43MTHB/PnzNQ6KiIiIiEgXHj16BFdXV/n5rl274OXlhR49eqBatWr47LPPcO7cOd0FSERERETFjkYJ2tDQ0Dxv66pZsyZu3bqlcVBERERERLpgZmaG+Ph4AEBmZiaCg4PRsmVLeb6FhQVevHiho+iIiIiIqDjSqAatEEL+4JqT58+fIyMjQ9OYiIiIiIh0ok6dOli2bBmaNm2KPXv2IDExEW3btpXnh4eHw9HRUYcREhEREVFxo1EP2tq1a2PTpk1IT0/PNi8tLQ0bN27kwAlERERE9N6ZMWMGYmNj4eXlhalTp6JTp07w9vaW5+/cuRMNGzbUYYREREREVNxo1IN23Lhx+Oijj9C0aVOMGzcO1atXBwBcv34ds2bNwr///os9e/ZoNVAiIiIiosLm5eWFW7du4fTp07C2tkbjxo3lefHx8fjiiy/UphERERERFZRGCdpWrVphxYoV+Prrr9GhQwd5uhACFhYWWLZsGdq0aaOtGImIiIiIioy9vT3at2+fbbq1tTW+/vprHURERERERMWZRglaAOjXrx86duyIQ4cOITw8HABQsWJFBAYGwsLCQmsBEhEREREVtcTERDx48ADPnz+HECLbfH9/fx1ERURERETFkcYJWgCwtLREp06dtBULEREREZFOPXv2DEOHDsX27duhUCiyzRdCQJKkHOcREREREWkiXwnaiIgIAEDZsmXVnr+Jqj0RERER0fvgs88+w969ezFs2DA0atQINjY2ug6JiIiIiIq5fCVoXV1dIUkSUlJSYGhoKD9/E/YsICIiIqL3ycGDBzFixAj8+OOPug6FiIiIiD4Q+UrQrlq1CgBQokQJAMDKlSvzlaAlIiIiInqfmJqawtXVVddhEBEREdEHJF8JWhsbG3h5eclJ2X79+hVmTEREREREOtGrVy/s3LkTX3zxha5DISIiIqIPhF5+Gn388ccIDg6Wn1eoUAF79uwprJiIiIiIiHSic+fOiIuLQ1BQEHbs2IHz588jJCQk24OIiIiISFvy1YPWwsIC8fHx8vP79+8jKSmpsGIiIiIiItIJPz8/+f+HDh3KNl8IAUmSONYCEREREWlNvhK03t7emDFjBh4/fgwrKysAwP79+/Ho0aNcl5EkCSNGjNBOlERERERERUA19gIRERERUVHJV4J24cKF6NOnD6ZPnw4gK/m6ceNGbNy4MddlmKAlIiIiovdN3759dR0CEREREX1g8pWgdXNzw+nTp5GamorY2Fi4urri559/Rvv27Qs7PiIiIiIinYiJiUFsbCzc3NxgZmam63CIiIiIqJjK1yBhKsbGxihbtiwmT56MZs2aoVy5cnk+iIiIiIjeN7t370aVKlVQpkwZ1KlTB+fOnQMAPH36FLVr18bOnTt1HCERERERFSdvlaBVmTx5Mjw8PLQdCxERERGRTu3duxcdO3aEnZ0dJk+eDCGEPM/Ozg6lS5fG6tWrdRcgERERERU7+SpxMGDAAEiShKVLl0JfXx8DBgx44zKSJGHFihUFDpCIiIiIqKhMmzYN/v7+OHbsGJ49e4YpU6aozW/QoAGWLFmim+CIiIiIqFjKV4L26NGj0NPTg1KphL6+Po4ePQpJkvJc5k3ziYiIiIjeNdevX8e8efNyne/o6IjY2NgijIiIiIiIirt8JWjv37+f53MiIiIiouLA1NQUycnJuc6/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smULMjMzs83LzMzEli1b4OzsXODgiIiIiIg+FJ06dcIff/yByMhIedqRI0cQFhaGLl266DAyIiIiIipMGpU4GDNmDAYPHoz69etj8ODBcHNzAwDcvn0bixcvxuXLl7Fw4UKtBkpERERE9L5asGAB4uPj8fDhQwDA3r17ERUVBQD46quvYGVlhQkTJuD3339H06ZN8fXXXyMpKQlz5sxBjRo10L9/f12GT0RERESFSKME7aBBg6Cvr4+JEydi0KBBkCQJACCEgL29PRYvXozPPvtMq4ESEREREb2v5s6diwcPHsjPd+zYgR07dgAAevXqBSsrK7i4uOD48eMYOXIkxo0bB0NDQ7Rp0wY//fQTa8wSERERFWMaJWgBYODAgejbty8uXLggf9gsV64cvLy8YGCg8WqJiIiIiIqd+/fv56td9erVceDAgcINhoiIiIjeKQXKpBoYGKB+/fqoX7++tuIhIiIiIiIiIiIi+mDkO0EbFxf31iu3tbV962WIiIiIiIiIiIiIPhT5TtDa2dnJtWbzS6FQvHVARERERERERERERB+KfCdov/vuu7dO0BIRERERERERERFR7vKdoJ0yZUohhkFERERERERERET04dHTdQBEREREREREREREHyomaImIiIiIiIiIiIh0hAlaIiIiIiIiIiIiIh1hgpaIiIiIiIiIiIhIR5igJSIiIiIiIiIiItIRjRK0f//9N548eZLr/KdPn+Lvv//WOCgiIiIiIiIiIiKiD4FGCdqmTZvi0KFDuc4/cuQImjZtqnFQRERERERERERERB8CjRK0Qog856elpUFfX1+jgIiIiIiIiIiIiIg+FAb5bRgREYH79+/Lz2/dupVjGYP4+HgsWbIE5cqV00qARERERERERERERMVVvhO0q1atwtSpUyFJEiRJwowZMzBjxoxs7YQQ0NfXx5IlS7QaKBEREREREREREVFxk+8EbdeuXeHh4QEhBLp27Yphw4ahUaNGam0kSYKZmRlq1aoFR0dHrQdLREREREREREREVJzkO0FbtWpVVK1aFUBWb1p/f3+UL1++0AIjIiIiIiIiIiIiKu40GiTsk08+QcmSJXOdn5CQgMzMTI2DIiIiIiIiIiIiIvoQaJSgHTZsGHx9fXOd37BhQ4waNUrjoIiIiIiIiIiIiIg+BBolaP/66y907tw51/mdO3fG/v37NQ6KiIiIiIiIiIiI6EOgUYL24cOHKF26dK7znZ2dER0drXFQRERERERERERERB8CjRK0JUuWRGhoaK7zb968CUtLS42DIiIiIiIiIiIiIvoQaJSgDQoKwpIlS3Dp0qVs80JCQrB06VK0atWqwMERERERERERERERFWcGmiw0ffp0/PXXX/D29ka7du1QvXp1AMD169exd+9eODg4YPr06VoNlIiIiIiIiIiIiKi40ShB6+zsjAsXLmDcuHHYvXs3du7cCQCwtLTEJ598gpkzZ8LZ2VmrgRIREREREREREREVNxolaAHAyckJa9asgRACT548AQDY29tDkiStBUdERERERERERERUnGmcoFWRJAlGRkYwNzdncpaIiIiIiIiIiIjoLWg0SBgAXLhwAUFBQTA1NUXJkiVx/PhxAMDTp0/Rvn17BAcHaytGIiIiIiIiIiIiomJJowTt6dOn4efnh9u3b6NXr15QKpXyPDs7O7x48QJLlizRWpBERERERERERERExZFGCdoJEyagatWquHHjBmbOnJltftOmTXHu3LkCB0dERERERERERERUnGmUoD1//jz69+8PIyOjHOvOli5dGo8ePSpwcERERERERERERETFmUYJ2hIlSqiVNXhddHQ0zM3NNQ6KiIiIiIiIiIiI6EOgUYK2fv362LZtW47zkpOTsWrVKjRu3LhAgREREREREREREREVdxolaKdOnYoLFy6gTZs2+PPPPwEAV65cwfLly1G3bl08efIEkyZN0mqgRERERERERERERMWNgSYL+fj4YP/+/RgyZAj69OkDABg1ahQAoGLFiti/fz88PT21FyURERERERERERFRMfTWCVohBBITE+Hr64vQ0FBcvnwZt2/fhlKpRMWKFVG3bt0cBw4jIiIiIiIiIiIiInVvnaBNT0+Hra0tZs6ciTFjxqBWrVqoVatWIYRGREREREREREREVLy9dQ1aIyMjlCpVCkZGRoURDxEREREREREREdEHQ6NBwvr164e1a9ciPT1d2/EQERERERERERERfTA0GiSsRo0a2LVrF6pXr45+/frB1dUVJiYm2dp17NixwAESERERERERERERFVcaJWh79Ogh/3/SpEk5tpEkCQqFQrOoiIiIiIiIiIiIiD4AGiVojx07pu04iIiIiIiIiIiIiD44b52gTU1NxZUrV1CrVi34+/sXRkxERERERERERERUzD3fshU2NyJznKdITtP+Bnu8uYkuvPUgYcbGxhg7dixCQ0MLIx4iIiIiIiIiIiKiD8ZbJ2gBwMPDA/fv39dyKEREREREREREREQfFo0StDNmzMCSJUtw+PBhbcdDRERERERERERE9MHQaJCwBQsWwNbWFi1btkT58uVRvnx5mJiYqLWRJAm7d+/WSpBERERERERERERExZFGCdqrV69CkiSULVsWCoUCd+7cydZGkqQCB0dERERERERERERUnGmUoGX9WSIiIiIiIiIiIqKC06gGLREREREREREREREVnEY9aFWOHz+Offv24cGDBwCAcuXKoU2bNmjcuLFWgiMiIiIiIiIiIiIqzjRK0Kanp6NHjx7YtWsXhBCwtrYGAMTHx+Onn37Cxx9/jE2bNqFEiRLajJWIiIiIiIiIiIioWNGoxMHUqVOxc+dOjBo1CjExMYiLi0NcXBwePXqE0aNHY8eOHZg2bZq2YyUiIiIiIiIiIiIqVjRK0G7cuBF9+/bFjz/+CEdHR3m6g4MDfvjhB/Tp0wfr1q3TWpCvO3/+PIYOHYrq1avDzMwMZcuWRdeuXREWFpat7c2bNxEUFARzc3PY2tqid+/eePLkSaHFRkRERERERERERJRfGpU4iImJgY+PT67zfXx8sHnzZo2DepMffvgBp06dQpcuXeDp6YlHjx5hwYIFqFOnDs6ePQsPDw8AQFRUFPz9/WFlZYWZM2ciKSkJc+fOxbVr1/DPP//A0NCw0GIkIiIiIiIiIiIiehONErRlypRBcHAwBg8enOP848ePo0yZMgUKLC8jR47Exo0b1RKs3bp1Q40aNTB79mysX78eADBz5kwkJyfj4sWLKFu2LADA29sbLVq0wOrVqzFo0KBCi5GIiIiIiIiIiIjoTTQqcdC3b19s3boVgwcPRmhoKBQKBZRKJUJDQzFkyBD8/vvv6Nevn5ZD/Y+vr2+23q+VKlVC9erVcfPmTXna9u3b8dFHH8nJWQAICAiAu7s7tm7dWmjxEREREREREREREeWHRgnaCRMmoE+fPli6dCmqVasGY2NjGBkZoVq1aliyZAn69OmDCRMmaDvWPAkh8PjxY9jZ2QEAoqOjERsbCy8vr2xtvb29cenSpSKNj4iIiIgoL8HBwZAkKcfH2bNndR0eERERERUSjUoc6OvrY/Xq1Rg5ciT279+PBw8eAADKlSuH1q1bw9PTU6tB5seGDRsQHR2NadOmAciqkwsATk5O2do6OTkhLi4OaWlpMDIyynF9aWlpSEtLk58nJCQUQtREREREROqGDRuGevXqqU1zc3PTUTREREREVNg0StCqeHp66iQZ+7pbt27hyy+/RIMGDdC3b18AQEpKCgDkmIA1NjaW2+SWoJ01axamTp1aSBETEREREeWsUaNG6Ny5s67DICIiIqIiku8SB6mpqRg8eDB+++23PNv9+uuvGDJkCDIyMgocXH48evQIbdq0gZWVFbZt2wZ9fX0AgImJCQCo9YJVSU1NVWuTk/Hjx+PFixfyIzIyshCiJyIiIiLKLjExEZmZmboOg4iIiIiKQL4TtEuXLsXq1avRpk2bPNu1adMGq1atwvLlywsc3Ju8ePECrVq1Qnx8PP766y84OzvL81SlDVSlDl4VExMDW1vbXHvPAlk9by0tLdUeRERERESFrX///rC0tISxsTGaNm2KCxcu6DokIiIiIipE+U7Qbt26FZ06dUKFChXybFexYkV06dIFmzZtKnBweUlNTUXbtm0RFhaGP/74A9WqVVObX7p0adjb2+f4gfaff/5BrVq1CjU+IiIiIqK3YWhoiE6dOuGXX37B7t278f333+PatWto1KhRngPcpqWlISEhQe1BRERERO+PfCdor127Bj8/v3y19fX1xdWrVzUO6k0UCgW6deuGM2fO4Pfff0eDBg1ybNepUyf88ccfauUJjhw5grCwMHTp0qXQ4iMiIiIielu+vr7Ytm0bBgwYgHbt2mHcuHE4e/YsJEnC+PHjc11u1qxZsLKykh8uLi5FGDURERERFVS+BwlLT0+HoaFhvtoaGhrmWPtVW0aNGoU9e/agbdu2iIuLw/r169Xm9+rVCwAwYcIE/P7772jatCm+/vprJCUlYc6cOahRowb69+9faPEREREREWmDm5sb2rdvjx07dkChUMjjLbxq/PjxGDlypPw8ISGBSVoiIiKi90i+E7TOzs64fv16vtpev35drR6stl2+fBkAsHfvXuzduzfbfFWC1sXFBcePH8fIkSMxbtw4GBoaok2bNvjpp5/yrD9LRERERPSucHFxQXp6OpKTk3McF8HIyIifbYmIiIjeY/lO0AYEBGDt2rUYP348HBwccm0XGxuLtWvXFmoJgeDg4Hy3rV69Og4cOFBosRARERERFaa7d+/C2NgY5ubmug6FiIiIiApBvmvQjh07FqmpqWjWrBnOnTuXY5tz586hefPmSE1NxTfffKO1IImIiIiIirsnT55km3blyhXs2bMHgYGB0NPL90d3IiIiInqP5LsHbYUKFbB161b06NEDvr6+qFChAmrUqAELCwskJibi+vXrCA8Ph6mpKTZv3oyKFSsWZtxERERERMVKt27dYGJiAl9fXzg4OODGjRtYunQpTE1NMXv2bF2HR0RERESFJN8JWgBo06YNrl69ih9++AF//PEHdu3aJc9zdnbGZ599hjFjxqBChQrajpOIiIiIqFjr0KEDNmzYgHnz5iEhIQH29vbo2LEjJk+eDDc3N12HR0RERESF5K0StADg6uqKRYsWYdGiRUhMTERCQgIsLS1hYWFRGPEREREREX0Qhg0bhmHDhuk6DCIiIiIqYm+doH2VhYUFE7NEREREREREREREGuJIA0REREREREREREQ6wgQtERERERERERERkY4wQUtERERERERERESkI0zQEhEREREREREREekIE7REREREREREREREOsIELREREREREREREZGOMEFLREREREREREREpCNM0BIRERERERERERHpCBO0RERERERERERERDrCBC0RERERERERERGRjjBBS0RERERERERERKQjTNASERERERERERER6QgTtEREREREREREREQ6wgQtERERERERERERkY4wQUtERERERERERESkI0zQEhEREREREREREekIE7REREREREREREREOsIELREREREREREREZGOMEFLREREREREREREpCNM0BIRERERERERERHpCBO0RERERERERERERDrCBC0RERERERERERGRjjBBS0RERERERERERKQjTNASERERERERERER6YiBrgMgIiIiIiIiIiKid8fvYb8XyXZsHl8sku2869iDloiIiIiIiIiIiEhHmKAlIiIiIiIiIiIi0hEmaImIiIiIiIiIiIh0hAlaIiIiIiIiIiIiIh1hgpaIiIiIiIiIiIhIR5igJSIiIiIiIiIiItIRJmiJiIiIiIiIiIiIdIQJWiIiIiIiIiIiIiIdYYKWiIiIiIiIiIiISEeYoCUiIiIiIiIiIiLSESZoiYiIiIiIiIiIiHSECVoiIiIiIiIiIiIiHWGCloiIiIiIiIiIiEhHmKAlIiIiIiIiIiIi0hEmaImIiIiIiIiIiIh0hAlaIiIiIiIiIiIiIh1hgpaIiIiIiIiIiIhIRwx0HQAREREREb3fnm/ZWmTbsunWtci2RURERFQU2IOWiIiIiIiIiIiISEeYoCUiIiIiIiIiIiLSEZY4ICIiIiIinbj4+OJbL/M8TNJoW13cu2i0HBEREVFhY4KWiIiIiIgoF0VZXxdgjV1t4/HTHr6WRLrBv70PA0scEBEREREREREREekIE7REREREREREREREOsIELREREREREREREZGOsAYtEREREREREVERyq2uqCaDJ+Zre0Fe2aZx8ETKierctCmkc5Fyxh60RERERERERERERDrCBC0RERERERERERGRjjBBS0RERERERERERKQjrEFLRERERET0jsitLmVhsenWtUi3V9wV9fErzvhaapfNXxeyTTucw7T3VU41dosL1oL9MLAHLREREREREREREZGOMEFLREREREREREREpCMfRImDtLQ0fPfdd1i3bh2eP38OT09PfP/992jRooWuQyMiIiIikvFzK32INp6L0Or6evqU1er6iEhz958lF8l2Qu/Fabysd3lbLUbyYdP0eJsnp2k5kvfPB5Gg7devH7Zt24bhw4ejUqVKWL16NVq3bo1jx47Bz89P1+EREREREQEohp9bH5zKe35y9Nuv83567vNcfd9+fZp6w75d1GTfNFTXrLTmC1/I4cu0V3/N1/eeuliENR7rOtYtsm0V5X4BxWjfnoWrPS3Q31h+lGtYuOunwnH/dNFs51kkULJi0WxL3mb4m9vkgIlWzRX7BO0///yDzZs3Y86cORg9ejQAoE+fPvDw8MCYMWNw+nQR/UEREREREeWBn1vzx+ZUZO4zb+U+4M3zS6IQonn/PT96OfvE8KIdnKlkAXq+5eT5ffaGI/rQVD59TeNlbULNNFvwWR7vR0RvqdjXoN22bRv09fUxaNAgeZqxsTEGDhyIM2fOIDKSf1BEREREpHv83EpERET0YSr2CdpLly7B3d0dlpaWatO9vb0BAJcvX9ZBVERERERE6vi5lYiIiOjDVOxLHMTExMDJySnbdNW0hw8f5rhcWloa0tL+q53x4sULAEBCQkIhRJldYmIiFJmZiI+5j4zUl0WyTSpcyc9jocjMRGJiYpGdR0DWuZSRqcCthwlITM0osu1S4YmOS0FGpqJIz6Wsa5ICzyOeIz0lj9p/9F5JfpIMhQ7OpUyFAuHxz5GcwWtScfAoOQmZiqI7j1TbEKL43a7+vn5uBYCEl7l8Xk3NuxZdcpqWrwN5bC/XGAthW0Ah7FseEvS1XPNP26/VGySnpmh1fZoc6+Q3HE9t0vq5mIei3C+gGO3ba3+/Wv8be90rr1tRH7PClpL27n93SE7VMDVWhNf5N73naJ2G+/ayKF8TDRXp56O3+Nxa7BO0KSkpMDIyyjbd2NhYnp+TWbNmYerUqdmmu7i4aDfANzkdXLTbo0JXu3ZtnWz3AMvWFTsHdHEu/V30m6TCp4vr0pEi3yIVtqI+jxITE2FlZVWk2yxs7/3nVipGlug6AKIPDP/miIrKwAVF//kxP59bi32C1sTERK1HgUpqaqo8Pyfjx4/HyJEj5edKpRJxcXEoWbIkJEkqnGA/QAkJCXBxcUFkZGS22/mI3gbPJdIWnkukLTyXCocQAomJiXB2dtZ1KFr3Pn5u5Xn+fuPxe3/x2L3fePzeXzx277eiPn5v87m12CdonZycEB0dnW16TEwMAOT6IhkZGWXrwWBtba31+CiLpaUlL26kFTyXSFt4LpG28FzSvuLWc1blff7cyvP8/cbj9/7isXu/8fi9v3js3m9Fefzy+7m12A8SVqtWLYSFhWWrMXHu3Dl5PhERERGRrvFzKxEREdGHqdgnaDt37gyFQoGlS5fK09LS0rBq1Sr4+PiwNhcRERERvRP4uZWIiIjow1TsSxz4+PigS5cuGD9+PGJjY+Hm5oY1a9bg/v37WLFiha7D++AZGRlh8uTJOQ6IQfQ2eC6RtvBcIm3huURv63383Mrz/P3G4/f+4rF7v/H4vb947N5v7/Lxk4QQQtdBFLbU1FRMmjQJ69evx/Pnz+Hp6Ynp06ejZcuWug6NiIiIiEjGz61EREREH54PIkFLRERERERERERE9C4q9jVoiYiIiIiIiIiIiN5VTNASEdEHhzePEBERERER0buCCVoqNDdv3sTSpUtx//59AIBSqdRtQPRei46O1nUIVAykpKTgn3/+gSRJvCZRgSQkJCA0NBSZmZm6DoWoUKSlpWHs2LFwdnaGiYkJfHx8cOjQoXwtGx0dja5du8La2hqWlpZo37497t69W8gRk4qmx27Hjh3o1q0bKlSoAFNTU1SuXBmjRo1CfHx84QdNsoL87b2qRYsWkCQJQ4cOLYQoKTcFPX5btmxBgwYNYGZmBmtra/j6+uLo0aOFGDGpFOTYHT58GE2bNoWdnR2sra3h7e2NdevWFXLE9KqkpCRMnjwZQUFBsLW1hSRJWL16db6Xj4+Px6BBg2Bvbw8zMzM0bdoUISEhhRdwDpigpQLJqRea6stqREQEfvvtN4waNQoAoKfH043eLKdzasKECfDx8cHFixcBMNlPmhFCYOXKlahfvz7+/vtvSJKk65DoPaRQKAAAEydORNu2bbFnzx4AvC5R8dOvXz/MmzcPn3zyCX755Rfo6+ujdevWOHnyZJ7LJSUloWnTpjh+/DgmTJiAqVOn4tKlS2jcuDGePXtWRNF/2DQ9doMGDcLNmzfRq1cv/PrrrwgKCsKCBQvQoEEDpKSkFFH0pOnxe9WOHTtw5syZQoySclOQ4zdlyhT06NEDLi4umDdvHr7//nt4enqyo0oR0fTY7dmzB4GBgUhPT8eUKVMwY8YMmJiYoE+fPpg/f34RRU9Pnz7FtGnTcPPmTdSsWfOtllUqlWjTpg02btyIoUOH4scff0RsbCyaNGmC27dvF1LEORBEWvLo0SOxdu1atWkhISHC2NhYzJgxQ0dR0fvqxYsX8v+fPXsmevToIapUqSISEhJ0GBW9j2JiYoRCoZCf9+nTR3h6eoqTJ08KIYRQKpW6Co3eMxEREfL/nz17JsaOHStKlSol/v33Xx1GRaR9586dEwDEnDlz5GkpKSmiYsWKokGDBnku+8MPPwgA4p9//pGn3bx5U+jr64vx48cXWsyUpSDH7tixY9mmrVmzRgAQy5Yt03aolIOCHL9X27u6uopp06YJAOLLL78srHDpNQU5fmfOnBGSJIl58+YVdpiUg4IcuxYtWghnZ2eRmpoqT8vIyBAVK1YUnp6ehRYzqUtNTRUxMTFCCCHOnz8vAIhVq1bla9ktW7YIAOL333+Xp8XGxgpra2vRo0ePwgg3R+zSSHkSQuTZK+jChQv45ptvAGT9Utu3b1+8fPkSQFYvo9q1a+Orr77Czz//jOPHjxdJzPRuUyqVOZ5TycnJ8u2P3bp1Q//+/ZGeng4AsLW1xaxZs/DkyRNMmDABcXFxRRozvXuEELnWkY2MjMS5c+cAAB06dED79u3Vem1NmjQJDg4O8rkkSRJr0n7AhBBQKBQ5ngNRUVE4deoUgKxeFS1atJCXsbW1xeTJk2FlZYWxY8eydxkVK9u2bYO+vj4GDRokTzM2NsbAgQNx5swZREZG5rlsvXr1UK9ePXlalSpV0Lx5c2zdurVQ46aCHbsmTZpkm/bxxx8DyCpdRoWvIMdP5ccff4RSqcTo0aMLM1TKQUGO388//4xSpUrh66+/hhACSUlJRREy/b+CHLuEhATY2NjAyMhInmZgYAA7OzuYmJgUatz0HyMjI5QqVUqjZbdt2wZHR0d07NhRnmZvb4+uXbti9+7dSEtL01aYeWKClnKk+qIqSVKepQn+/vtvzJ8/H3fu3EGTJk1gZmYm12lRJeGGDBkCNzc3zJw5k7e2fYCUSqV8SzCQVeoip3PK398fX331FQDAwcEBsbGxCA8PBwBkZGSgXLlyGDt2LHbt2oUtW7bI66YPx6s/GEmSpFai4NXk2qhRo9CjRw8AQKtWrXD//n08fvxYnu/m5obJkyfj9OnTWLx4sbw++nC8el2SJAn6+vqQJEntw1dGRgaGDh2KIUOGAABq1KiBly9fIjY2FpIkQaFQwMTEBOPGjUNwcDA2bNigk30hKgyXLl2Cu7s7LC0t1aZ7e3sDAC5fvpzjckqlElevXoWXl1e2ed7e3ggPD0diYqLW46X/aHrscvPo0SMAgJ2dnVbio7wV9PhFRERg9uzZ+OGHH5gY0oGCHL8jR46gXr16+PXXX2Fvbw8LCws4OTlhwYIFhRky/b+CHLsmTZrg33//xaRJk3Dnzh2Eh4dj+vTpuHDhAsaMGVOYYZOWXLp0CXXq1MmWp/D29sbLly8RFhZWJHEwQUs5UiUr/v33X0ydOhVDhw5FTEwMAPWea/Xq1YO7uzuOHj2KKlWqoGrVqti9e7fausqXL4+hQ4fi8OHD2L9/f9HuCOmcnp4e9PX1AWS9sU2bNg2VKlXCb7/9JvdcA4BmzZrhyZMnePjwIVq0aIG4uDhcu3ZNbV3dunVDtWrV8Msvv8jrpg+H6gcjhUKBY8eOYd26dfj333/learkbZcuXRAXF4fo6Gi0a9cOT548yfam6ufnh4CAAKxevTpfvVHo/fdqEl91XUpLS8OePXvQr18/ODk5Ydq0acjIyAAAlChRAj4+PtDT08OdO3fg7e0NSZIQHBwM4L8fiNq1a4eAgAD89ttvHASJio2YmBg4OTllm66a9vDhwxyXi4uLQ1pamkbLknZoeuxy88MPP0BfXx+dO3fWSnyUt4Iev1GjRqF27dro3r17ocRHedP0+D1//hxPnz7FqVOnMGnSJIwbNw5btmxBrVq18NVXX2HJkiWFGjcV7G9v0qRJ6Nq1K2bMmIFKlSrBzc0Ns2fPxvbt29V6ZNK7S9vvnZpidoNydOfOHYwePRpBQUGYOnUqtm7dKt/a9OqX3PLly8PNzQ1HjhyBJEmoVasW1qxZAyCrW79Kz549YW5ujt27d/M20A+IEAJ//vknAgMDYW1tjTp16mD9+vWoXr06qlatCuC/HwNatGiBhw8f4urVq/D29oa+vj7Onj0LICtRAgBly5ZF9+7dERYWhj///FM3O0VF4vHjx9i5c6fatFu3buGrr76Cs7MzPv74Y3z33Xdo2LAhOnbsiIyMDDlh37BhQ6SlpeHMmTNwcnKCnZ0dDh06hNTUVAD/DfL0ySefIDIyEtu3bwfAHtnF1dOnT7Fu3Tq1965ff/0Vnp6eMDMzQ48ePRAaGoouXbqgbdu2aiUvatSoAQA4e/YsPDw84OjoKJ8vqmuXra0tBg0ahGvXruHIkSNFvHdEhSMlJUXtVk0VY2NjeX5uywHQaFnSDk2PXU42btyIFStWYNSoUahUqZLWYqTcFeT4HTt2DNu3b8fPP/9cWOHRG2h6/FTlDJ49e4bly5dj9OjR6Nq1K/bt24dq1arh+++/L7ygCUDB/vaMjIzg7u6Ozp07Y9OmTVi/fj28vLzQq1cv+fssvdu0+d5ZEEzQfiCUSmW+aiyq2ly9ehXz5s2Dl5cXRo8ejRcvXuD69esA1G8tLlWqFFxcXPDnn39CCIFevXph9uzZUCgUchtVMqRFixYICQnBrVu3CmMXqQjlt15namoqNm/ejMOHD2PIkCE4cuQI9u7di1WrVqF58+ZqJTT8/PyQlpaGI0eOoFSpUihTpgwMDAzkOrQqjRo1gouLC/bs2SMn3Kj4Wb58OUaOHCk/f/nyJQYMGIB9+/Zh8ODB2L17N1avXo1PPvkEu3btwk8//SSfD87OznBycpJrHXbo0AFmZmbyeas65xo0aIBq1arh999/L+K9o6I0d+5cLFq0CHFxcfI5cPToUVy/fh3fffcdzp49i82bN2P27NmoX7++2o+LHh4eMDQ0xK5du2BjY4OGDRvKv6S/2q5Vq1awsrLC0aNHefs2FQsmJiY51ltTXWdzu3VaNV2TZUk7ND12rztx4gQGDhyIli1bYsaMGVqNkXKn6fHLzMzEsGHD0Lt3b7X6z1S0CnrtLFGihFpvdT09PXTr1g1RUVGIiIgohIhJpSDXzqFDh2Lv3r3YvHkzunfvjk8++QSHDx+Gk5MTvv7660KLmbRHW++dBWXw5iZUHLx+K7hSqczz9vCAgACcO3dOfoP/3//+h5CQkGzLGRgY4NNPP0WfPn0gSRL8/f3h7++f6zr379+PsLAw1K5dWwt7RUVJCCEn3fNbr9PExASBgYHYsmULGjVqhKZNm+bYTqlUwtTUFK1bt4abmxsAYO/evXJphFc5Ozujfv36OHPmDBITE+Vftah4+euvvzBgwAD5uampKcqUKYPRo0er3SpUv359hIaGYseOHejWrRvKly8PABg5cqTc83rp0qVq61advy4uLvDx8cHKlSuhUChyPN/o/aV6vwoNDYW7uzvs7OyQlpYGIyMj9O7dG3v27EHZsmXlXrKvUp0jrq6u6NKlC5ydnQEA8+fPz9ZWde74+/vj0qVLiI6ORpUqVQp354gKmZOTE6Kjo7NNV5W7Uv1NvM7W1hZGRkZyu7dZlrRD02P3qitXrqBdu3bw8PDAtm3b1H6QosKl6fFbu3YtQkNDsWTJEty/f19tXmJiIu7fvw8HBweYmppqPWb6T0GuncbGxrC2ts72edTBwQFAVhmEsmXLajliUtH02KWnp2PFihUYM2aMWp6kRIkSaNWqFRYsWID09HQYGhoWTuCkFU5OTu/EZxe+234Abt68ic2bN+P27dvw9fVFp06d4OTkpJZwU1E9t7S0RL169ZCZmQkDAwN4enriypUrePDgAcqXL6+27OvJVqVSqdbLVnWhatKkCVJTU/H06dPC3mXSgtfPD9X/b926hVu3bqFatWpwd3d/43o8PT1hYGCAiIgIREZG4sSJEwgLC4O/vz+8vb1hbm4ur1tVHgMA9PX1s51LQNYtJLVr18b+/fvlWpFUfKh6OEZERMDKygrAfwmwVatWwczMTG6rUChgZGQELy8vbNiwQa2o/9ChQ9XWm1MC1tDQEBUrVkR6ejquXr3KH46KGT09PcTGxuL58+coU6YMgP/KpTRv3hxA1vXs8uXL2LdvH+7fv49GjRqhVatWsLe3l9fzzTffqK1XoVBAT08v2w9WTZo0QXBwMOLj4wt714gKXa1atXDs2DEkJCSoXVvPnTsnz8+Jnp4eatSogQsXLmSbd+7cOVSoUAEWFhaFEjNl0fTYqYSHhyMoKAgODg7Yv38/zM3NCzNceo2mxy8iIgIZGRlo2LBhtnlr167F2rVrsXPnTnTo0KEwwqb/V5BrZ61atXD+/PlsyTxV7ctXP5uQ9ml67J49e4bMzEy1QbFVMjIysg2YTe+mWrVq4cSJE9k6JJ47dw6mpqb5yntoA0scFBOXL1/G+PHjAajXUTx58iRatmyJLVu24MmTJ/jmm2/QpEkThIWFvdWo5S1btsSdO3fkAXlev8X99cFXckrsOTs7w9jYmHUe33GpqakICQlRq8MIZF2cvL294enpicGDByMgIABz587NVoLgdWXKlEGtWrXwxRdfoFq1avj888/xyy+/ICAgAJ07d8bt27fVBnh69Q3s9XMJyErcOjs7Izk5GQkJCVrcc3oXSJKEmzdvwsTEBC9fvpSnAVBLzgKQE64XL16EsbExSpYsqTY/MzMzW1sV1fnm6OgIe3v7HGts0/vP1tYW165dg5ubG4QQ0NPTg1KphLW1NapUqYIff/wRfn5+WLJkCfbt24d+/fqhbdu2OHHiBADkeF3S19dXuy6pPsRVqVIFycnJOdavInrfdO7cGQqFQu0OhLS0NKxatQo+Pj5wcXEBkJUUer10VefOnXH+/Hm1JG1oaCiOHj2KLl26FM0OfMAKcuwePXqEwMBA6Onp4cCBA0wI6YCmx6979+7YuXNntgcAtG7dGjt37oSPj0/R7swHqCB/f926dYNCoVDrsJKamooNGzagWrVqvPugkGl67BwcHGBtbY2dO3eqfS9OSkrC3r17UaVKFZb2ecfExMTg1q1bap29OnfujMePH2PHjh3ytKdPn+L3339H27Zti+zzPXvQFgNCCKxevRoXL14E8N+XxdTUVAwZMgT29vZYvnw5KlSogPPnz2PAgAEYPnw4Fi5cCFdX1zzLHaimt27dGtOmTcPly5fx0UcfZWufn2RvQkIC7O3t5aRLTj14SbcUCgU+++wzpKSkYNu2bfLxSUpKwsSJE5GcnIxNmzahZMmSWLRoEcaNGwdjY+NsvRVfZWpqisDAQKSkpGDixImoXr06kpOTcfr0aQwbNgyffvopjh8/Lp9Ted1mrjpn9PX1YW9vj/DwcFSpUoXnUjGhOo6GhoZ4/Pix3Hsgr3Isd+7cwdmzZzFq1Khs8/JzS2b58uWRmJgo96zkefT+UNVWz+uakZSUBAMDA7kuuhBCfs9r3749zM3N8cMPP8iD3xw/fhwDBw7EqFGjcOLECfnDWH7KXxgYGECpVL7xRyui94GPjw+6dOmC8ePHIzY2Fm5ublizZg3u37+PFStWyO369OmD48ePq/249cUXX2DZsmVo06YNRo8ejRIlSmDevHlwdHTM8VpN2lWQYxcUFIS7d+9izJgxOHnyJE6ePCnPc3R0RIsWLYp0Xz5Emh6/KlWq5Fpep3z58uw5W0QK8vf3+eefY/ny5fjyyy8RFhaGsmXLYt26dXjw4AH27t2ri935oGh67PT19TF69Gh8++23qF+/Pvr06QOFQoEVK1YgKioK69ev19UufZAWLFiA+Ph4uef53r17ERUVBQD46quvYGVlhfHjx2PNmjW4d+8eXF1dAWQlaOvXr4/+/fvjxo0bsLOzw8KFC6FQKDB16tSi2wFB7zWlUimEEKJy5cril19+UZt27NgxYWJiIjZs2KC2zJIlS4Spqan44YcfhBBCZGZm5mtbtra24uOPPxYvX77UKNbr16+LatWqienTp6vFSe8G1fFwdnYWGzduFEL8d27s3LlTGBsbi9WrV8vtExISRI8ePUTZsmXF6dOn1dbxutu3b4tbt25lmz5ixAghSZI4f/58vmJUKBRyPPb29iI4ODife0e6olAoREZGhnzs8uPly5fC2NhYzJo1K9flVOfa6NGjhaWlpQgJCVGbnl+3bt0SkiSJCxcuvNVypBsKhSLHY5yWlpZj+9u3bws3NzcxaNAgIUTWNU21fGxsrIiKisq2zK+//ioMDAzEvn378hWTan1bt24Vrq6u8nJ8j6P3XUpKihg9erQoVaqUMDIyEvXq1RN//fWXWpvGjRuLnL5OREZGis6dOwtLS0thbm4uPvroI3H79u2iCv2Dp+mxA5Dro3HjxkW4Bx+2gvztvQ6A+PLLLwsrVMpBQY7f48ePRd++fYWtra0wMjISPj4+2ZalwlOQY7dhwwbh7e0trK2thYmJifDx8RHbtm0rqtDp/5UrVy7X97F79+4JIYTo27ev2nOVuLg4MXDgQFGyZElhamoqGjdunO88hbYwQVsMxMTEiMqVK4vZs2cLIf77orp582ZRokQJsXfvXiGEEOnp6XJ7Ly8vUbdu3XytX5Wka9WqlXBzcxPXrl1Tm55f0dHRwsLCQhw+fPitlqOCi4mJEU+ePHlju2vXrgl3d3exZs0aIcR/59KCBQuEmZmZuH79uhDiv0TptWvXhCRJYsKECW8VT0ZGhhBCiIMHDwozMzMxbdo0IUT+z6kjR44IfX198fz587faLmlfXFycSE1NzVfbpKSkfB3j58+fi0qVKolBgwbJ162chIaGCmdnZzFgwAAhhMizbW4OHTok7OzsNE7wUuHJ61hkZmaKiIgI0bVrV1G/fn1x6NChHJd5+PCh8PHxEb6+vm9cp2retWvXhK2trZg6dWq+zgfV9XD37t3C1taWSSgiIiIiInprrEH7jkpPT39jrVbx/93qHz9+LI9MDfx3W6+zszMyMzPlWzNVt/CWKlUKfn5+uHr1Ku7cuaO2rry2ExQUhIiICNy4cQNA/m75fFVCQgIkSeLok0Xs1q1bcHNzw+zZs3NtozrGCQkJePr0qVxzTHWLuVKpRGZmpjxddcu5h4cHPDw8cPToUTx+/FhtXbltA/jvNnInJycYGRnJdXzye3t5eHg4qlevzkHCdOz69esYOXIkzp8/n+txDwsLwzfffAN3d3fUrFkTQ4YMkYvt50aSJFSrVg0hISFITU3Ntd26devw5MkTTJw4EcB/17j8UF1f7969izJlysjnNksc6NarAymojsWr51ZYWBjq16+PAQMGYMWKFYiIiECrVq3kwRxeP35OTk4oXbo0oqKiEB8fn+fxFa/cqmZgYIDo6GhIkvTGgR1U10OlUokSJUrAzc3tLfeaiIiIiIg+dEzQvoPOnTuH6dOny4nQVwe6eZXqi2bZsmXx4MEDeQAd1ZdFMzMzmJiY4P79+/Iyqi+a9erVg4GBAY4cOQIAeSaDVQnfTp06ISMjA2fPnsX9+/dx4MABOca8qL70bty4Ef7+/hwNtoioXveSJUuicePGOY6orKI6l4yNjREfHw9bW1u1+SYmJkhPT0dERAQA9SRKQEAA7t69i+vXr6ttN6+YVMn9zMxMPH/+HPXq1QOQd61R1XYBYMeOHXB3d+fgFTqmr6+PNWvW4Pz58/I5FBUVJdfgjImJwYgRI7Bz504EBQUhMDAQu3btQrdu3eSBK3JKfpmZmcHX1xf//vuv/CPS6x48eID58+djxIgRqFChAoCsQv5xcXF5JnVVVPHevn0bQgiUKVOGA4S9A/T09OTrw61btxAeHq42YKGNjQ0SEhJw8OBBbNq0Cb/99hvGjRsHb2/vbOtSXS9q1aqFZ8+eybUUXz3nXj3mqutPbGwsnjx5Iv+YmN8fIxctWiTX2yYiIiIiInobTNC+g5KSkjBjxgxcvnwZQFaCNK+EQ2pqKmxtbfH8+XO16TY2NihXrhxOnTqVLQlSuXJlODg4ICQkBEDevcYUCgUiIyMRHR0NOzs7bNiwAR999BFatWqFFStWIDk5OV/7NWrUKOzduxdOTk75ak8Fo0o8WFlZoUGDBjh//jyePn2a5zKqc+jZs2cAIPdQdXZ2hrGxMQ4dOgQgK/GhOmeaNm2KuLg4hIeHA8j9XJIkCZIkITMzE/Hx8QgODkafPn1gZmaG1q1b52ufVAmUr776CpMmTcrXMlRwrybkX1W1alVUq1YNq1evhr+/P/T09DBo0CA8evQIADB37lwEBwdj8eLFmDJlChYuXIiwsDA4ODjIxdZzSsobGBigadOmkCQJf/75Z46DLs2aNQsA0KFDB4SHh2Pnzp2YMGEC+vbti927dwPI+8cC1XnavXt3eeAF9p7VjFKpfOMdH6+2zatH6u3btzFw4ED5uhUUFIQvvvgCaWlpAAB7e3t4eXnh8ePHGD58OLy8vOSe/rlp0qQJbGxssGXLFgDqx1n1/+TkZDx69Ai7d+/GgAEDUL58eXTv3j3f+wQAEydOxNy5czlSLxERERERvTUmaHVICAGFQpEtidC8eXOYmJhg69atGDhwIJycnDBo0CDExcXluJ709HQ4OTnh6tWrAP77smhnZwdfX1+cOHFCHsVOlQxxd3eHQqGQk6uq6YmJiYiKilL7An369GkMHDgQAQEBePr0KfT19eHh4YHly5djypQpcs/d3Ki+AFtZWb3V60MFozqmhoaGqFu3LtLT0/HPP//k2PbVnq02NjZyO9X0SpUqwc3NDX/88QeArGOqWr+Pjw8UCgXi4+PleSqvnkdr1qxBr169MGLECAwePBj9+/dHUlIStmzZAnd397fat9atW8PT0/OtlqG3I/5/tHtAvVejSnp6OsaNG4cbN24gNDQUJUqUwNy5czFx4kS4uLjg+fPn2Lp1K0aNGoWAgADY2toiKSkJp0+fRmZmJq5evYrQ0NBck6L16tVD06ZNsWXLFrmnvup8unjxIlauXInSpUtjzpw5qFevHjp16oSNGzfCwcEBNWrUAJC/hGvdunXh4uKi8etEWeeH6noQFhaG6OjobG1U15KcziWVzMxMTJ8+HXv27MFXX32FefPmoXr16li8eDFGjBghv4+pesuqEve5lTpRxVS7dm20a9cOu3fvRnR0tNqPAhs2bECzZs3w6aefomfPnhg4cCCMjY2xYsUKVKxYMd/7DwD+/v5wcHDI1zJERERERESvYoK2iL2asJIkCfr6+mpJBKVSiQEDBiAlJQUHDhzAxYsX0bVrV/Tt2xempqY5rtPS0hJVqlTB6dOnAfz3ZdHCwgJt27ZFVFQUgoOD5V6PSqUSFhYWyMjIgL29vRxTUlISPvvsM7Rv3x6hoaFqMTk6OuLbb7/F7du38fDhQ2zevBkDBgyAhYWF1l8j0o47d+5gzpw5WLBgASRJQvny5XHw4ME8l1HV4rx48SKA/8pblC9fHo0bN8a5c+cQGxsLfX19+QcGhUIBCwsLGBsby+t5+vQppkyZgrlz5+Lly5cAss7HyMhIHDx4ENHR0Rg4cCAOHjyY796zVLhe79n4ahI+ODgYU6dOxeLFixEZGQkg69zo2bMnxo8fj/T0dPTp0wfDhw9Hw4YN5WXj4uKQnp6OSZMmoV69eihZsiQ6deoEKysrfPPNN7n2NFQlhr/66is8evQIK1euBPBfki8jIwOZmZl48eIFUlJSMHv2bDx8+BAxMTFYsWIFqlWrVmivE6kLCwvDjz/+CF9fX9ja2qJZs2Zo1aoVhgwZIrcRQsjvPYcPH8akSZMwd+5cuWSKys6dO7F+/Xp8+eWX+P7779G/f3/s2rULI0aMwMqVK7Fv3z4AgJeXF+zt7eWyLW8qQWBubo4hQ4ZAkiT89ttvSExMlOeprnl3796Fvb095s2bh1OnTqFJkyZaeoWIiIiIiIjyoWjGIqOcREREiEWLFonp06eLy5cvy9P37NkjWrduLUxNTcWmTZuEEG8eWXzu3LlCkiR5JHIVhUIhqlatKry9vcX9+/fl6UeOHBFmZmbi559/lqelpqaKbt26CTMzM3HmzJk8t5eRkZGv0dhJu5RKpcjMzHzja7927VphamoqXFxchK+vr6hcubIwNDQUvr6+8ojjua3/o48+Ei4uLiIxMVEI8d8I5X/++acwNzcX06ZNE2lpafIyR48eFUZGRmL58uXytNDQUOHg4CDMzc3Fw4cPhRBCpKWliZiYmHyNik5FQ6FQ5Ho8kpKSxP/+9z9RtWpVYW5uLsqXLy9MTEyEtbW1OHfunNwuIiJC2NjYiPHjx6udFw8ePBDe3t5CkiRRuXJl8dlnn4kNGzaIf//9Vzx9+lS8fPnyjfGlp6eL7777ThgaGopr167J01NSUsTdu3eztVcqlSIjIyPPc5y0Q6FQiKVLlwpJkoSdnZ3o0qWL+Omnn8TMmTNF3bp1hSRJ4scff5SP88WLF4Wfn58wMTERlSpVElZWVsLW1lYsXbpUXueMGTOEvr6+uHjxohAi631GCCHCw8OFo6OjaNu2rRBCiOTkZOHr6ytq1qyZr2OtajNmzBhRvnx5sXHjRnleRkaGSEpK0s6LQkREREREpCEmaN9SfHy8mDdvnoiKispxfl4JgszMTLF3716xb98+ERoaKsqUKSNsbW2FqampqFixoti5c6fc9vz580KSJPHbb7/lK66zZ88KOzs7MW7cOJGeni6E+O/L7dq1a4Wtra1o2LCh2LZtm/jzzz+Fv7+/qF69uggPD1dbz+PHj9WSLK/uV2ZmJpNr75D09HQRExMjP1cdm/DwcGFlZSXq168vzp8/L+7fvy/OnTsnLC0thaGhoVqi/lWqc3bOnDmiRIkSYseOHUKI/86jzMxM8dlnnwlTU1OxaNEi8eLFCxEaGiratGkjypYtK0JDQ+V1paamio0bN4q9e/fm+reQkZHB80mLVH/3ucnrtc7MzBT//vuv6N69u7CxsRHPnj0TERERomLFimLgwIHiwIED4tq1a+LMmTOievXqolGjRvLxfvnypWjatKlo1KiR2nXxyZMn4pNPPhFlypQRV65cyfFHnZSUlDfuV2ZmpvD29hYdOnQQN2/ezLYv/LFId/78809haWkpZsyYIRISEuRrxc2bN4Wnp6fw8vISt27dEmlpaaJ169bCzs5OrF+/Xty+fVv89ddfws/PT9ja2oojR44IIYSYPn26sLCwyPH9tVmzZsLd3V3ExsYKIYT4/PPPha2trZzMzStRq5oXExMjPv/8c1GhQgVx7949IYT6uZSfH7+IiIiIiIgKAxO0b/D48WNx9uxZOWkZHBwsJEkSv/76a77XofoCGBERIdzc3ISRkZFo2bKlmDBhgggJCRFHjx4Vbm5uonr16nKSRaFQCHt7e/HJJ5+I+Pj4N24jIyNDfPbZZ8LFxUXu3ab6sqxQKMSuXbtElSpVhLW1tShRooSoWrWq2LVr1xtjpoJTKpV59lR8XV5tU1NTxYoVK4SXl5ewsbERnp6eYvTo0eLJkydym02bNglJksT58+fVll28eLGQJEmsX78+1+0KIcSVK1eEh4eHaNOmTbZ5UVFRomPHjkKSJOHl5SUqV64sSpUqJVatWpWvfSPt27p1q7C3txeHDh0SQqj/7SoUijwTThEREcLd3V3MmjVLdOvWTQQEBIjPP/9cREZGisTERHH48GG5J7XKwoULhZOTk1iyZIm8jenTpwsbGxtx9uxZuZ1SqRRbt24VkiSJmTNnqsUUGRkpfv75ZxEUFCT3sM7Jq+ekr6+v2jlJunfnzh1RvXp10aNHD7XpqampYvDgwcLOzk78+++/4tKlS0KSJDF+/Hi1dvfu3ROGhoaiZ8+eQqFQiJUrVwpJksTRo0flNqr3xH79+glnZ2c5Ibtq1SphbW0t5s+fL4QQ+U6sxsfHi8aNG4tmzZq98UcNIiIiIiKiosIatLlQ1UDs1q0bOnbsiLt37wLIqsXZoEED/P333zkuFx4ejhkzZqBly5YYOHAgDhw4INeYdXFxQYsWLWBgYABLS0tMmzYNtWvXRtOmTTF8+HCEh4fjyJEjALLqyPr5+eHChQvygCt5jZJtYGCAkSNHIiUlBYsXL5anqdbVvn17nD59Gps2bcLVq1dx48YNtG/fPtf1cTTzghGvDLCkqseZ12sqsn4sAYA8227fvh0jR46Eo6Mjxo4dC3d3d/z000/o2bOnPIDOuXPnYG5uLtcPVQ2k06RJE1StWhV//fVXjutWta9WrRqGDBmCQ4cOYf/+/WrzSpcujbVr12Lz5s2oVasWunbtigMHDqBfv345rjO/I7vT21OdL9WqVcPTp08RHh4OQP1v99UBmS5duiQPJKhSokQJGBsb4/vvv8fjx48xb948zJs3D2XKlIGpqSmaN28Oc3NzPHz4ED/99BP8/PwwfPhwPHv2DCdPnpS34e/vj/j4eHkwL1UcXbp0QVBQECZOnIiuXbti/vz5WLBgAUaMGIHffvsNnp6eudbWVq0bADw9PbFz505s3bpVC68caYuDgwN8fHxw8uRJPHr0SD4nExMTERISghcvXsDJyQmPHz8GAAQEBADIui5kZGTA1dUVTZo0wenTpxEREYHatWvD1tYWu3fvRmZmJoCscxTIOp/MzMxQqlQpAECDBg1gaWmZ7Rr1JlZWVtiyZQv+/PNPed1ERERERES6xgRtLlSJpR49eiAxMVEezKRkyZLw9vbGiRMnkJqaqrbMqVOn0L59eyxfvhzGxsY4efIkWrVqhZkzZ+LFixcAAA8PD7x8+RJ169aFvr6+vI6GDRuiVKlS2LZtm7y+Vq1a4e7duwgLCwPw5i+gVapUwdixY7F582YcO3Ys23wbGxsEBQWhSpUqANQHLCPtenWApdOnT2PKlCn4/PPPMXfu3BwTpJIkQZIkPH/+HNu3b8eKFSsQExOj1iYhIQEjR45EzZo1sXDhQowePRq///47Zs6cicOHD2P58uUAAEdHR6SlpcmDOakSdI6OjqhRowZOnjyZ66jnQFZi/4svvkCVKlUwZ84cObmiSiKbmZmha9euWLZsGaZNmwZPT89c15XfpAm9PUmSoFAoUL16ddjY2OCff/5BcnKyWpt79+7Jg/k1bNgQ7dq1w6effionUi0sLNC6dWu8fPkSTZs2RY0aNeSEqerYLV++HHXq1MH8+fNRoUIF+fm///6L58+fA8i69pQuXRpnzpyRr3Xx8fEAgE2bNmHKlCm4ffs2Zs+ejYkTJyI2NhYTJ07E2LFjYWVlla/9dXBwyDOZS0XPwsIC9evXR1RUFJ4+fQpJknDv3j3Mnj0b58+fx8iRI2FjY4OEhAQAwKNHjwBkXUtU51fz5s3x8OFDhIWFoUaNGujQoQOWLl2K7du3AwBSU1Oxf/9+bN26FZUqVYKzszMAoHLlyqhevTpKlSqFjIyMt/pR0dHREYaGhtp8KYiIiKgY+eKLL9CiRYsCr6dfv34aDzzavXt3dO3atcAxENF7RHedd99tqtuEIyMjhSRJ4qeffpLn5XQL+ePHj0XVqlVFgwYNxOnTp8Xjx4+FQqEQ33zzjXBwcBCrV68WQgjx999/C3t7e9G7d28hxH+3b8bFxYlOnToJV1dXeZ13794VkiSJ6dOny9Nyqg/7uo4dO4pGjRqJgwcPCiHUa/MplUqWLygC6enp4qeffhIVK1YUJiYmwsPDQzRr1kyUKlVKWFpayvUPVV6+fClGjx4tTE1NhY2NjbCwsBDm5ubif//7n1ync+fOnUKSJLF48WIhxH+39D548EAEBASIqlWrCiGEuHDhgpAkSXz33Xdq7ZRKpVye4Pr167nGrmp/6NAh4e7uLoYPHy6fM6+eO6q6xByQqWipSma8ql27dsLDw0OEhYUJIbL+5pOTk0Xv3r1FuXLlxJw5c8Tvv/8uvvnmG1GyZEnRsGFDeV1btmwRkiSJ5cuXZ7s2XLlyRTg7O4vOnTuLa9euiefPnwshhOjVq5cwMzMTx48fl9t++umnQpIkMWzYMDFlyhQxaNAgceXKFXn+s2fPxL///svrTzFz6tQpUbJkSVGnTh1RqVIloaenJ5ydncWECRPE06dPhRBCnDlzRjg4OIhevXoJIbKuj6oSPKrr2uHDh4UQQq59bGBgIDp16iS++uorUaVKFVGjRg25ZjqvOUREVJwByNfj2LFjOo2zcePGonr16jnOu3fvngAg5syZUyjbPnXqlJg8ebL82fRN+vbtq/baWVhYCE9PTzF37lyRmpqq1vbu3buiRIkSaiWXVJ4+fSpGjx4t3N3dhZGRkbCxsRGBgYFi7969uW63cePGb7t7QgghQkJChJ6entpg4kRUvBnoIin8LlL1JlX1NpQkCUIIlClTBk5OTjh//jzi4+NhbW0Nd3d3lCxZEocOHYKXlxcA4K+//sLjx4+xYcMG1K5dW15v3bp18fPPP2PZsmXo27cvKleujBo1auDEiRMA/rt908bGBt7e3tixYwceP34MR0dHlC9fHlWrVsWiRYtgb2+PEiVKID4+Hp07d0bZsmUhhFDrNaRUKqGnp4dffvkFY8eOxW+//YYWLVqo9WJk6YLCl5mZiblz52LmzJlo164devXqBXd3dxgbG6N06dI4ceIETExM1JZZuXIl5s+fj0GDBqFv376Ii4vD4sWL8fXXX+Ply5cYPXq03OPr1XMUAJydndGsWTNMnjwZ4eHhqFu3LipUqIBdu3Zh2LBhKFmypNw+KioKQFav3urVq+cYv2r9AQEBmDFjBkaNGgVJkjBv3jy1dpIkyW0p/8T/3wau6d+iqrd1Wloa/v77b1StWhU9evRA3759ERoaikqVKkFPTw8nT57E+vXrsXPnTrRs2RLGxsbo3Lkz6tati549e2LHjh3o2LEjatasCQsLC9y9excZGRkwNDSUryVnzpxBSkoKBgwYAA8PDzmG1NRUKBQKnD59Gv7+/gCAcePGIS4uDuvWrYMkSWjZsiVsbGzkZWxtbWFrawvgv+vtm0p/0LvP2dkZPj4+OHjwIEaNGoWmTZvC09MTTk5OcpvKlSujYcOGOHDgAB4+fCj3ggWA48ePw8jICBUqVACQVQpo165dWLNmDQ4fPoyQkBA0bdoUQ4YMkdu8+p6mUCh4HhERUbGybt06tedr167FoUOHsk2vWrVqUYb1Tjl9+jSmTp2Kfv36wdraOl/LGBkZyXccxsfHY/v27Rg9ejTOnz+PzZs3y+1++eUXlC9fHk2bNlVbPjQ0FM2bN8eTJ0/Qv39/eHl5IT4+Hhs2bEDbtm0xevRozJkzR2v7WLt2bXh5eeGnn37C2rVrtbZeInqH6ThB/E5T9Vbt06ePqFixorh69aoQImsk6BYtWogmTZrIbefNmyfs7e3F5cuXxf/+9z/RunVrYWtrK/T19UWdOnXE+PHj5Z5jo0aNEpIkibt37woh/uuxuH//fmFkZCTWrFkjr3fr1q2iTp06wsjISEiSJNq3by/u3Lnzxtg5+InuHDt2TEiSJIYOHZrtF9mcPH36VNStW1fUrVtXbXpkZKTw9PQU5cqVE0IIcf/+fSFJkpg6darcg0x1Tq1Zs0ZIkiT3mp4zZ44oUaKE6NWrlwgODhYhISGid+/eol69esLZ2VnUq1cvX/uiVCrF2bNnRURERH53nwooMzNT7l0oRPYB+5RKpZg6daowNzcX1tbWomHDhiIwMFCUKFFCzJ49W2736aefitq1a8vPL1++LH744Qfh4+MjJEkS3377rUhNTRWJiYnCz89PBAQEyIPNqba/f/9+YWNjI8aPHy9evnwp7t69KyZOnChsbGxEuXLlhJ+fn1psL168EI8ePdL6a0LvruTkZDFq1ChhY2Mj7t+/rzbv1XP3wIEDokSJEiIoKEicOXNG3L59W6xZs0ZYWVmJLl26iJcvX6oto1AoREJCQtHtCBER0Tvqyy+/FPn52p6cnFwE0fxHlz1o58yZIwBkuysxN3379hVmZmZq0xQKhfDy8hIARHR0tBAi6zu0nZ2d+Pbbb9XapqenCw8PD2Fqaqo2KK4QWZ/du3XrJgCIzZs3Z9uupj1ohRBi7ty5wszMLNugvURUPH0wBSLFK4M2qaiex8fHY+3atejZsycGDhyIPXv2ICkpSe6x2KFDB9y9exe3b98GkNXb1dfXFxcuXJDrLJYoUQJxcXGoXbs2pk2bBn19fUyaNAmnTp3Cnj17MHHiRLnnXO3atWFgYIADBw4A+K83mZubG1xcXLBq1So5vi5dumD79u04efIkFAoFdu3ahYoVK75xfzn4SdFTHd9Vq1bBxMQEX3/9NYyMjOTarQqFQm7zqoyMDFy+fBn169eX16NUKlGmTBl069YNERERCAkJQbly5VCxYkUcP35cHhBMde6kpKQAyBqcBwCGDh2KGTNmYOPGjWjVqhUCAgIQEhKCKVOmYN26dZg5c2a+9kmSJPj4+MDFxaVgLw5BCIHMzEzs27cP48ePx6FDhwBkrwWtr68vD/Cnqq356nlz8OBBzJ07F4GBgdi+fTsmTZoEa2trZGZm4urVq4iNjQWQVe/zyZMnaN26NRwcHFC7dm0sXLgQ7u7uWLp0KXr16gUjIyOYmpqicePGuHz5snxeqXpG+/v7o3nz5pg9ezZatGiBrl27Ytu2bdi3bx/69++PPn36yIM5AYClpSUcHR0BZPUk5yBxxZ+pqSnq1auH+Ph43Lp1S23eq71aAwMDMWXKFJw9exYfffQRWrdujcGDB6N27dr4/vvv5bsKVMvo6enBwsJC/rvhuURERPSfJk2awMPDAxcvXoS/vz9MTU0xYcIEAFnvpVOmTMm2jKura7aBfePj4zF8+HC4uLjAyMgIbm5u+OGHHwrtfffu3bvo0qULbG1tYWpqivr162Pfvn3Z2v3222+oXr06TE1NYWNjAy8vL2zcuBEAMGXKFHzzzTcAsgbwVt1ddv/+/beKRU9PT64Pq1r25MmTePr0qTywqcr27dtx/fp1jBs3Dj4+Pmrz9PX1sWTJElhbW+f4ur8qNjYW9vb2aNKkidrn+zt37sDMzAzdunVTa9+iRQskJyfL3xuIqHgr1iUOVIkufX19+cL96jw9PT1ERESgb9++uHXrFtzc3JCUlIS1a9eia9eu2LBhA4CsL5YAcO3aNXz88ccwMjKCl5cXXr58iXPnzqFly5YoVaoULCws0KtXL0ycOBHm5uYwMTFRuwU8LS0NRkZG8PDwQIUKFfDXX39h8ODBareqt2/fXh44THUbp6urK1xdXQFkJXNeHYCK3h2SJOHRo0e4cuUKPD094ebmBoVCIZ8Dqn9v3LiBEydOwM7ODu3bt4e1tTXMzc1haGiI1NRUGBsby2/Ynp6e0NfXx7Fjx1CnTh107doVs2bNwrZt2zB8+HDo6ekhNjYW27ZtQ6lSpdC4cWMIIWBsbIxRo0bho48+wo4dO1C6dGk5UUdFT/x/OZIjR46gbdu2ALISmK+XIElLS8PBgwexYcMGREVFoW7duvjkk09Qr149uc3y5cthZmaG2bNno1KlSgCyfvR58eIF/vnnH0RFRcHBwQENGjTAvn37ULZsWUyYMAFeXl6oWLEirK2tYWhoKJ+Penp68PPzw6xZsxAWFgZPT0/5mmRmZoZFixbB29sbx48fh4uLC7p164YGDRqgQYMGee6zKslMxZ+7uzscHBxw9OhRtGzZMtt81fk/btw4fPzxx9i+fTtSUlLQtGlTNGvWDHp6enJZjddJksRziYiIKAfPnj1Dq1at0L17d/Tq1Uv+kTy/Xr58icaNGyM6Ohqff/45ypYti9OnT2P8+PGIiYnBzz///MZ1KBQKPH36NNt01UCyr3r8+DF8fX3x8uVLuQzbmjVr0K5dO2zbtg0ff/wxAGDZsmUYNmwYOnfujK+//hqpqam4evUqzp07h549e6Jjx44ICwvDpk2bMH/+fNjZ2QEA7O3t32r/ASA8PBwA5JJwp0+fhiRJaiULAWDv3r0AgD59+uS4HisrK7Rv3x5r1qzBnTt34ObmlmM7BwcHLFq0CF26dMFvv/2GYcOGQalUol+/frCwsMDChQvV2lerVg0mJiY4deqU/PoQUTFW5H1230JOg+G8qX1uzp8/LxYvXix2794tT8vIyBABAQGiXLlyYufOnSIyMlI8e/ZM/Prrr0KSJLF+/Xq5zEHVqlVFq1at5Nt3//33X1GuXDkxfPhwIYQQYWFhokGDBqJhw4YiKipKbdtRUVFi7ty54rfffhNCCJGQkCAaNWokJEnSyr7RuyMtLU04ODiIOnXqZDtmP/74o7CzsxMGBgZCkiQRGBgoHj16JNLT04Wvr69o3ry5fHuN6rw7d+6csLCwEEOHDhVCCBEeHi5atGghJEkSn3zyiZg/f77o2LGjsLKyEitXrsx3nBxkp/DcunVLbNu2Lcdbkfbu3SsMDQ1F6dKlxUcffSSXElAdj+nTp8uDeLVt21ZYWVkJa2trsX79eiFE1nnRuHFjubxKZmamXCJFNdjXli1bhBBCnDx5Ui6JkZPIyEiRlJQkhMgaDMHOzk589tln8q3mQogcB4d7lWrb9GF7/PixaN26tWjYsKHa+ZNffH8jIiLKXU4lDho3biwAyIMHvwqAmDx5crbp5cqVE3379pWfT58+XZiZmcmDzKqMGzdO6Ovrv7HEmSqGvB6vljgYPny4ACBOnDghT0tMTBTly5cXrq6u8ufh9u3b51o6QUXTEgdPnjwRT548EXfu3BEzZ84UkiQJT09PuV2vXr1EyZIlsy1fq1YtYWVllec25s2bJwCIPXv2qG03pxIHPXr0EKampiIsLEzel127duW4Xnd3d9GqVat87ScRvd/euW6YSqVSvqXibXuK5jRIyG+//YZy5crBz88P8+fPxxdffIEnT54AAG7fvo2TJ09i6dKl6NChA8qUKQNbW1sEBQXB3t4eK1askG93aNWqFS5duoQHDx4AABwdHVGvXj0cPXoUAFCpUiWMHTsWp0+fRvfu3bFz504cOnQIa9euxciRI7Fo0SLY2NhAqVTCwsICM2fOREhISI77kZmZme1WeA6A8n4wNDSEvb09kpKScPfuXQBZt6kDQMWKFTF27FicPXsWAwYMQGhoKB4+fIgSJUogKCgIp0+fxj///COvB8jqdZuUlCQPRlehQgVs3LgRQ4YMwYULFzB58mSEhoZixowZ6NGjR44xiRzKK7AHtvYplUosW7YMVatWRZcuXbB48eJst4dduXIF/v7+cHR0xL179+RbwvX09LB//35MmTIFAQEB2LRpE3bt2oVjx46hXLlymDRpEm7cuIH09HTo6+vj8ePHANQHamvWrBmArJ7+CoUCDRs2hIeHB5YtW4Zr164BAJKTkxEWFoYlS5agSpUq2L17N4CsXgP+/v4wMTFRO09U1x1VmYXXbzXnIHEEANbW1qhZsyZOnz4tv0e+iUKhUHuvJyIiordjZGSE/v37a7z877//jkaNGsHGxgZPnz6VHwEBAVAoFPj777/fuA5XV1ccOnQo22P9+vXZ2u7fvx/e3t7w8/OTp5mbm2PQoEG4f/8+bty4ASDrc0VUVBTOnz+v8b7lJDk5Gfb29rC3t4ebmxsmTJiABg0aYOfOnXKbZ8+eqQ1yq5KYmAgLC4s816+an5CQ8MZYFixYACsrK3Tu3BmTJk1C79690b59+xzbqo4PERV/79x9g68mjk6dOoX169cjLS0N8+bNg7W1da63+KempmL37t3w9vZG+fLlAQBbt27FhAkT0KJFCwwcOBClS5dGYmKiPNLjyZMnYW9vj5SUFBw5cgQbN27EsWPHEBkZCRsbG/j4+MDY2BhAVh3a+fPnIzQ0FN7e3rCyskLDhg2xe/duREdHo3Tp0mjfvj3WrVuHyZMn49NPP4UQAomJiahbty4mTpyI9u3by3G/+sb0Ot7O+X5r2LAh1qxZg3///RcVK1aUj7nqthRJktChQwesXLkSt27dQu3atTFgwAD88MMPmDhxImrXrg1jY2NERkZi2LBhsLS0ROPGjeX129nZ4X//+x+ioqJgY2MDMzOzPON5NYlHhUdPTw9lypRBqVKloFQqsXDhQnh7e8Pf3x8ZGRkoUaIEoqOjYW1tjcaNG+PHH39ESEgIPDw8AACXL1+GiYkJJk+eLNf8rV27NhYsWAB/f3/s2rULEyZMQKVKlXDs2DHEx8fD2tpa/lHLyMgIZcqUkWvJuri4YO7cufj6669Rt25dNGnSBOXLl8eVK1fw6NEjfPzxx3INLUtLS2zfvj3P/eOt5pQbQ0NDtGnTBubm5ihVqlS+luE1iYiIqGBKly4td+rQxO3bt3H16tVcSwOoxjXIi5mZWbZ6rQByrAf74MGDbPVbAaBq1aryfA8PD4wdOxaHDx+Gt7c33NzcEBgYiJ49e6Jhw4ZvjCcvxsbGcqkCIyMjlC9fHmXKlMnW7vWOUkBW8vVNSVLVWCBvSuQCgK2tLX799Vd06dIFjo6O+PXXX3NtK/6/VBQRFX/vVDe6sLAw/Pjjj/D19YWRkRGaNm2Ko0ePwtraWk5y6evr59j778cff0SPHj0QGRkJIKt3zuzZs1G1alUsX74cbdq0Qa1atdCoUSN5AC0HBwdERUWhe/fuaNu2Lf799190794df/zxB86cOYMxY8bIiRLVcpcuXUJ6ejoMDAxQq1YtlChRAidOnJDj+OSTT3DhwgVs3LgRq1evRkxMDM6ePYv+/fvD3NxcLeacLv70/vv444+Rnp6O/fv3A/jvR4dX6yA3btwYlpaWuHjxIl6+fInSpUtj4cKFePjwIapUqYKPP/4Y3bt3R3h4OFatWiXXIH5VmTJlYGZmBqVSmWOvayp6bm5uKFOmDCpXrgx3d3dMnDgR0dHR8jXHyMgIT548Qd++fZGZmSn3DEhPT0dMTAwyMzNRuXJltXX6+fnB2dkZf//9N9LT0+Hv7w8A2LRpE4Cs88vAwAA3btxAYmIioqKi5F6MgYGB2Lt3L7777jsolUqcPXsW1apVw7Jly7By5cpsAw7mNpAd0Zs0bNgQEyZMkH8AJSIiosKlGmAzv14fmFapVKJFixY59oA9dOgQOnXqpM1w861q1aoIDQ3F5s2b4efnh+3bt8PPzw+TJ08u0Hr19fUREBCAgIAANGrUKMfkbMmSJXOsn1u1alW8ePECERERua7/6tWrALLqxuaHasDw58+fIyoqKtd2z58/l+vsElHx9k4kaFW3BlepUgVz5sxBmTJl8NNPP+HIkSM4fPgwpk+fDktLSwDApUuX0KhRI0yePFm+fSA9PR2HDx9G69at5eTF+fPncevWLTRt2hS2trbyG5IQQk5AqH6F8/f3x5UrV/DXX39h6tSpaNmyJSpWrAgbGxtIkiQv26BBA1y8eBGPHj0CADg5OcHKygrHjh1T2x9ra2u0bNkS7dq1g52dXY63mAO8rbO4CgoKQuXKlbF+/XqEhYXleJxfvHgBhUKBW7duITk5GUBW0fng4GBMmjQJjo6O6NWrF4KDg99YEF6VoOP5pHuOjo7w8PBAbGwsvv76a0RHR2POnDkAsgYAe/r0KaytreHi4gJXV1dcuXIFL168gKGhoZzEvXLlCgD1ci++vr6IiIjAs2fP0Lx5c7Rs2RKTJ0/G77//jsTERFy/fh0LFiyAg4MDrly5gsuXL8sxubm54dtvv8XevXtx5coVrFy5Ei1atJC39yrVgIpEmlAqlUzwExER6ZiNjQ3i4+PVpqk6A7yqYsWKSEpKkpOWrz/Kli2r1bjKlSuH0NDQbNNVJb/KlSsnTzMzM0O3bt2watUqREREoE2bNpgxY4Y8mHZhfV6tUqUKnj9/jhcvXqhN/+ijjwAAa9euzXG5hIQE7N69G1WqVMl1gLBX/fXXX1i+fDnGjBkDe3t7ufPG6zIzMxEZGSn3Miai4u2dSNDq6enBxcUFFhYWGDFiBFasWIEvv/wSjRo1gouLC8zMzOQvfaVLl0bNmjUxffp09O/fH6mpqbh//z5OnjyJwMBAeZ2Ojo5ITU2Vb/9W3U6p6sUohICdnR3q16+PO3fuIDMzE9bW1nLSIjk5Gb/++iuWLl0qL+vv748TJ07Ioz26urri9OnTWLJkSY779Wp9PSY+PiyTJ09GiRIl0KZNGxw+fBgvX75EZGQkrl+/jrVr1+KTTz6Bk5MTvvzyS9jb28vnd82aNTFhwgTs3LkTU6ZM4Zvxe8bS0hINGjRAaGgoSpYsiaFDh2Lp0qU4ffo0jIyMcOvWLZQuXRoAUK9ePdy9e1euD1u9enXo6+vj0KFDALJqF79650BycjLs7Ozg6OiIWbNmwdzcHD179kRAQAB69uyJO3fu4OTJk2jVqhWqV6+uFpcQQq4v+3odWSJt0dPT4/scERGRjlWsWDFb/dilS5dm60HbtWtXnDlzRu7J+ar4+PgcE4YF0bp1a/zzzz84c+aMPC05ORlLly6Fq6ur3PP02bNnassZGhqiWrVqEELIY3uovuO/noguqAYNGkAIgYsXL6pN79y5M6pVq4bZs2fjwoULavOUSiWGDBmC58+f56uXb3x8PD799FN4e3tj5syZWL58OUJCQjBz5sxsbW/cuIHU1FT4+voWbMeI6L3wzhQUrFSpElxcXHD9+vU867Y4ODhgwYIFaNSoEfr3748mTZqgbt26MDIyQs+ePeV2pUuXho2NDe7du4eEhARYWlpCqVTKyVkgK3E6cuRIDB06FJ9//jmGDh2KMmXKIDY2FseOHcP27dvV1vnll1+ifv36ci9dIyOjHG89V+FATB+u7t27w8jICBMmTEBgYCDKli0LV1dXhIeHIy4uDg0bNsSCBQvkHxVeT2qoeqIx4fH+qV69OszMzHD8+HF888032L9/P7799lv8+uuv8kCBQFaZi+3bt+PixYvw8/NDw4YN4ebmhpUrV2Lo0KEwNTUFADx8+BB///03qlWrJv+AVKtWLRw9ehSrV6/G2bNn0bBhQ/Tu3Rv29vbYt29ftpheHeyLdWSJiIiIiq9PP/0UgwcPRqdOndCiRQtcuXIFBw4cyHab/DfffIM9e/bgo48+Qr9+/VC3bl0kJyfj2rVr2LZtG+7fv6/VW+vHjRuHTZs2oVWrVhg2bBhsbW2xZs0a3Lt3D9u3b5e/OwcGBqJUqVJo2LAhHB0dcfPmTSxYsABt2rSR8wR169YFAEycOBHdu3dHiRIl0LZt2zeOzfEmfn5+KFmyJA4fPiwPwAtkJYm3bduG5s2bw8/PD/3794eXlxfi4+OxceNGhISEYNSoUejevfsbt/H111/j2bNnOHz4MPT19REUFIRPP/0U33//Pdq3b4+aNWvKbQ8dOgRTU1O0aNGiQPtFRO8J8Y5ISEgQAwYMEK6uriI9PV0IIcSdO1BODO0AAAdOSURBVHfEokWLRMuWLUW5cuXktkqlUgghxJ49e4Sbm5uQJEn06dNHJCQkCCGEyMzMFEII0a5dO1G2bFlx5syZbNvLyMiQ17Vv3z5RtmxZYWFhIcqUKSMMDAxEpUqVxNSpU8XDhw8Lc7epmIuMjBQ7d+4Uw4cPF/379xe//PKLCA8P13VYVIgiIyNF/fr1RfPmzYUQQgQHBwtfX1/RpEkT0bp1a/HNN98IIYS4d++esLGxEX379hVCZF2L1qxZIwwMDESzZs3EunXrxO7du0W7du2Evb29OHjwoLwNhUIhL/M6pVIpXwOJiIiI6P325Zdfite/tjdu3FhUr149x/YKhUKMHTtW2NnZCVNTU9GyZUtx584dUa5cOflzp0piYqIYP368cHNzE4aGhsLOzk74+vqKuXPnyt/Jc5NXDPfu3RMAxJw5c9Smh4eHi86dOwtra2thbGwsvL29xR9//KHWZsmSJcLf31+ULFlSGBkZiYoVK4pvvvlGvHjxQq3d9OnTRenSpYWenp4AIO7du5drrH379hVmZmZ57o/KsGHDhJubW47zYmNjxciRI4Wbm5swMjIS1tbWIiAgQOzZsyfX7TZu3Fh+vnv3bgFA/PTTT2rtEhISRLly5UTNmjXVXncfHx/Rq1evfMVNRO8/SYh3p2DcsmXLMHjwYAQGBuL69euIjo6Go6MjfH194efnh8GDB8vF0MX/j2Y4b948jB49GpUqVcLkyZPRs2dPKJVK6OnpYf/+/ejQoQNatmyJjRs3AsiqD3PgwAEsW7YMJ06ckHuTZWRk4MCBA3j27Bm8vLyy3SKsIjiKImmJ6jyl4iUlJQXffvstVq1ahRs3bsDe3h7btm1Djx49IEkS1q1bJ/+/Xr16EEJg3759cHR0BAB8//33WLFiBRITE/HixQuUKlUK48ePx+effy6XW3mV+P8a13p6ejyfiIiIiIgK4O7du6hSpQr+/PNPNG/evEDr6tevH+7fv4/g4OC3Xvby5cuoU6cOQkJCUKtWrQLFQUTvh3fqXtfKlSujbNmyuHbtGgYPHgw/Pz9UrFgR9vb2MDY2VmurSpTevXsX5ubmqFatGj799FMkJibi888/BwAEBATghx9+wKhRo+Dq6gpfX1/ExcUhMjISPj4+SEpKgrW1NYQQKFGihFz8W0WhUECSJLWkB5OzpKnXyxYwmVY8mZiYwNvbG/Pnz8elS5fQqlUrdOvWDcHBwbhx4wZq1qwpX0caN26MtWvXIiQkBK1atQIAfPvttxg4cCDOnz8PV1dXeHp65rk9li0gIiIiItKOChUqYODAgZg9e3aBE7QFMXv2bHTu3JnJWaIPyDv1rd7V1RWlS5eGkZERRo8enS0p+yo9PT3ExcVhw4YN+OyzzzBp0iT06dMHQ4YMQXx8PEaPHg1DQ0OMGDECnp6e2Lt3Ly5duoSKFSti7NixCAwMlNf/atJVVadWNbAXkbYwIfvhcHd3h4ODA4KDgxEUFARJkjB9+nSkpKSgdOnSyMzMhIGBAXx9fTF//nxERkaqLe/k5IR27drJz1U9ZPkDERERERFR4Vq0aJGuQ8DmzZt1HQIRFbF3KkFrb28PHx8frFmzBv/X3v2zNLKFARx+L0hEiPnTiVZiI1gIinYWIlYR42fwC9jYWNgF/QbWfgKNpaVFbCy0S20hQgIRi4BInGyVXN3NZZe93Duz+jz1YWCaKX7znnM6nU5MT09Hv98fTst+HycuLy+j2+1GtVqNUqkU9Xo99vb24uDgIO7u7uLk5CTK5XJsbGzE+vr6LwUyEQ34t2ZmZmJ5eTkajUa8vLzExMTEh0sWBt+Z7e3teHp6ikKh8MMz+u8uM/SzCAAAAD6vTNXIwdbgTqcTt7e3ERHDreCDOJskSfR6vYiIOD8/j/n5+VhaWhpuHT86Oop6vR6Hh4dRLpeHzx4EkV6vF29vb//zmwFfSalUisXFxbi+vo77+/t/XDc2NhaFQiFGHQU+6qcUAADwZzg9Pf2t82eBrylTE7QRf28NbjQaUalUot/vx/Pzc7Tb7Wg2m9Fut2NraytarVZcXFzE/v5+5PP5YeCYnJz8sDX4e85qBP5ruVwuKpVK5PP5mJqa+ul6IRYAAAC+rr/6o0a3UtRqtWJ3dzceHx/j+Pg4ms1mXF1dxc3NTTw8PMTs7GycnZ3FwsJCdLvdKBaLI58zOBYBAAAAACCrMhdoX19fo1arRa1Wi4iI8fHxWFlZiWq1Gjs7OzE3N/dhfZIkzo0FMun9pYMAAAAAo2Ruv38ul4vNzc0oFouxtrYWq6urP6x5H2XFWSCrfJ8AAACAn8ncBO0og0u93l8WBgAAAADwp8tsoE2SJCJMoAEAAAAAn1dmAy0AAAAAwGdnPBUAAAAAICUCLQAAAABASgRaAAAAAICUCLQAAAAAACkRaAEAAAAAUiLQAgAAAACkRKAFAAAAAEiJQAsAAAAAkBKBFgAAAAAgJQItAAAAAEBKBFoAAAAAgJR8A9bRqpYps0D9AAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, axes = plt.subplots(1, 2, figsize=(14, 5))\n", "\n", "colors = ['#1f77b4', '#ff7f0e', '#2ca02c', '#d62728']\n", "\n", "# 1. Rank 1 success rate comparison\n", "ax = axes[0]\n", "scenarios = list(scenario_results.keys())\n", "rank1_rates = [(scenario_results[s]['true_host_rank'] == 1).mean() * 100 for s in scenarios]\n", "\n", "bars = ax.bar(range(len(scenarios)), rank1_rates, color=colors, alpha=0.7, edgecolor='black')\n", "ax.set_xticks(range(len(scenarios)))\n", "ax.set_xticklabels(scenarios, rotation=15, ha='right')\n", "ax.set_ylabel('Correct Identification Rate (%)')\n", "ax.set_title('PATH Success Rate by Localization Precision')\n", "ax.set_ylim(0, 100)\n", "\n", "# Add value labels\n", "for bar, rate in zip(bars, rank1_rates):\n", " ax.text(bar.get_x() + bar.get_width()/2, bar.get_height() + 2, \n", " f'{rate:.1f}%', ha='center', fontsize=11)\n", "\n", "# 2. True host P(O|x) distributions\n", "ax = axes[1]\n", "for scenario, color in zip(scenarios, colors):\n", " df = scenario_results[scenario]\n", " ax.hist(df['true_host_P_Ox'], bins=20, alpha=0.4, color=color, \n", " label=scenario, density=True)\n", "\n", "ax.set_xlabel('True Host P(O|x)')\n", "ax.set_ylabel('Density')\n", "ax.set_title('True Host Posterior Distribution by Localization')\n", "ax.legend()\n", "\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "cell-25", "metadata": {}, "source": [ "## Step 7: Effect of Unseen Host Prior (P_U)\n", "\n", "The `PU` parameter controls the prior probability that the true host is not in the catalog. Let's see how this affects PATH performance." ] }, { "cell_type": "code", "execution_count": 15, "id": "cell-26", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Testing P_U effect on 30 FRBs...\n", "Done!\n" ] } ], "source": [ "def run_path_with_PU(frb_row, galaxies, PU, search_radius_arcmin=1.0):\n", " \"\"\"Run PATH with a specific P_U value.\"\"\"\n", " catalog = extract_candidates(frb_row, galaxies, search_radius_arcmin)\n", " \n", " if catalog is None or len(catalog) == 0:\n", " return None\n", " \n", " lparam = {\n", " 'a': frb_row['a'],\n", " 'b': frb_row['b'],\n", " 'theta': frb_row['PA']\n", " }\n", " \n", " idict = run.build_idict(\n", " ra=frb_row['ra'],\n", " dec=frb_row['dec'],\n", " ltype='eellipse',\n", " lparam=lparam,\n", " P_O_method='inverse',\n", " PU=PU,\n", " scale=0.5,\n", " theta_PDF='exp',\n", " theta_max=6.0\n", " )\n", " \n", " try:\n", " result_candidates, P_Ux, Path, mag_key, cut_catalog, _ = run.run_on_dict(\n", " idict, catalog=catalog, mag_key='mag'\n", " )\n", " return {\n", " 'P_Ux': P_Ux,\n", " 'candidates': result_candidates\n", " }\n", " except:\n", " return None\n", "\n", "# Test different P_U values on a subset\n", "PU_values = [0.0, 0.05, 0.1, 0.2, 0.3, 0.5]\n", "n_test = min(30, len(assignments))\n", "\n", "PU_results = {pu: [] for pu in PU_values}\n", "\n", "print(f\"Testing P_U effect on {n_test} FRBs...\")\n", "for idx in range(n_test):\n", " frb_row = assignments.iloc[idx]\n", " true_host_id = frb_row['gal_ID']\n", " \n", " for pu in PU_values:\n", " result = run_path_with_PU(frb_row, galaxies, pu)\n", " if result is not None:\n", " cands = result['candidates']\n", " if 'ID' in cands.columns:\n", " mask = cands['ID'] == true_host_id\n", " if mask.any():\n", " true_P_Ox = cands.loc[mask, 'P_Ox'].values[0]\n", " else:\n", " true_P_Ox = 0.0\n", " else:\n", " true_P_Ox = None\n", " \n", " PU_results[pu].append({\n", " 'P_Ux': result['P_Ux'],\n", " 'true_host_P_Ox': true_P_Ox\n", " })\n", "\n", "print(\"Done!\")" ] }, { "cell_type": "code", "execution_count": 16, "id": "cell-27", "metadata": {}, "outputs": [ { "data": { "image/png": "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W0KKiJgpNjaW0NBQDh8+DCRPa9C4cWOTU4mISGbYbDatkyAiIpLNvAp4EdInhOEhw1l4YCE2w8bTa5/mXMw53mj5htbmEMkguwq0u3fv5t///nea4ixAyZIlGTlyJG+//XaWw4mImMkwDH755RfCwsK4efMmVquVpk2b0qJFC1xdszyFt4iI5ILo6Gi2bdvG5MmTefDBB82OIyIikue4ubgx7/F5lPIqxeRdkwF4a9tbnI89z/SO03G16mcnkXux61NitVpJTEy84/6kpCSsVrtmTxARcRj79u1j7dq1AJQuXZquXbum+4spERExn9VqveMoHcMwKF++PF988UUupxIREckfrBYrH7X9iNJepXl+/fMAzNw/kwvXL7Ck+xI83TxNTiji2Owq0DZp0oTp06fTr18//P39U+07efIkX3zxBU2bNs2WgCIiZqlbty579uyhXr16NG7cWL94EhFxYP/+97/TFGgtFgvFihWjcuXKtGvXTk8/iIiI5LDnGj9HKa9SDF41mARbAquPrabtwraE9A3Bx9PH7HgiDsuuXup7771H8+bNqV69Ot26daNq1aoAHDt2jNWrV+Pq6sr777+frUFFRHLaxYsX2bdvH+3bt8disVCgQAGefvppFWZFRBycYRg8//zzFChQAA8PD7PjiIiI5Gt9a/fFt6AvTyx/gthbsew8tZNH5z5K2IAwyhYua3Y8EYdkV9XhwQcf5KeffiIwMJCQkBDeeust3nrrLdasWUNgYCA//fQTdevWtStQfHw8EydOpEyZMnh6etKoUaMMLTYWHBxM7969qVSpEgULFqRatWq88MILXLt2za4cIpJ/JCYmsnnzZr766iv27NnDvn37UvapOCsi4vhu3bqFj48Pn3/+udlRREREBGhbuS1bBm+hRKESAByOPEyT2U04HHnY5GQijsnu57weeOABVq5cic1mIzIyEgA/P78sFzOGDBlCUFAQzz77LFWqVGHevHl06NCBzZs306xZszueN3LkSMqUKcOAAQMoX748v/32G9OmTSM0NJT9+/fj6an5TkQkrdOnT7N69eqU72PVq1enWrVqJqcSEZHMcHd3p1SpUhQoUMDsKCIiIvL/6pepz65huwj4JoDjV49zKvoUzeY047t+39GkXBOz44k4lExVU2fOnEmNGjXw8PDgvvvu47nnniMhIYGSJUtSsmTJ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s+OJk8twgbZLly6ZurDFYmH16tWZDiQiWWcYBvv27WPjxo3Ex8fj4uJC8+bNKVu2rNnRREREcoSm4BIREZGc5lfIj02DNtHz2558/+f3xCfF0yuoF9NvTOfpBk+bHU+cWIYLtN999x0eHh6UKlUKwzDuebxG54mY4/Lly4SEhPD3338DUK5cObp06YKfn5/JyURERHKepuASERGRnFSoQCFW91nNiJARLDiwAAOD0aGjORd7jjdbvql6mNglwwXa++67jzNnzuDr60u/fv3o06cPpUqVyslsIpJJNpuNhQsXcu3aNQoUKEDr1q1p0KABVqvV7GgiIiIiIiIieYKbixtzusyhsLUw036ZBsDb297mfOx5vuj4Ba5WzSgqmZPh/2NOnTrF1q1bWbx4MW+//TYvvfQSLVq0oH///vTo0QNvb++czCkiGWC1Wmnbti3h4eF06tQpZQ4+ERGRvEhTcImIiIhZLBYLrzZ6lcolKvPc+ucAmLV/FheuX2Bp96V4unmanFCcSaZK+i1atKBFixZMmzaN0NBQFi9ezNixYxk9ejTt27enX79+dO7cGXd395zKKyL/kJCQwNatWylVqhS1atUCoGbNmtSsWVOPVYiISJ6nKbhERETEbOMbjaeUdykGrRxEgi2BkGMhtFnYhjV91+Dj6WN2PHESdo25dnNzo2vXrnTt2pXY2FiCg4P58ssv6d27N2+88QavvfZaducUkf8RERHBmjVruHz5MgULFqRKlSq4u7vrh08REck3NAWXiIiIOII+tfrgV9CPbsu6EXMrhl2ndvHo3EdZ138d5YqUMzueOIEsTUwZHx9PWFgYq1evJjw8HA8PDypUqJBN0UQkPTdv3mTNmjXMmzePy5cv4+3tTdeuXTVyXURE8p1Tp06xefNmHnzwQd5++23KlStHmzZtmDt3LjExMWbHExERkXykdaXWbB2ylZKFSgJwOPIwTeY04dDFQyYnE2eQ6QKtzWYjLCyMIUOGULJkSfr27UtcXByzZs3i4sWLDBw4MCdyighw7Ngxpk+fzs8//wzAww8/zJgxY6hWrZrJyURERMzRokULvvrqK86fP09QUBDFixdn7NixlChRgieeeIKgoCDi4+PNjikiIiL5wIOlH2TX8F1ULlYZgNPRp2k2txk7T+40OZk4ugwXaHft2sXYsWMpXbo0HTt25M8//+S9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nKc+b2rq84pITnM1O4CIiDN66623qFixIjdv3mTHjh3MmDGD0NBQDh48SMGCBe967qxZs9J0FHNS2bJlef/99wGIjIxkwYIFDB8+nN9//50PPvgg5bjJkyfTunVr7r///iy931NPPcXUqVPZtGkTrVq1ytK1RERERMQ86vPemfq8IpKdNIJWRMQO7du3Z8CAAYwYMYJ58+bx7LPP8tdff7F69eo7nnP9+nUA3NzccHd3z5YcNpuNmzdv3vWYIkWKMGDAAAYMGMBzzz3Hzp07KVu2LNOmTSMhIQGAixcvsnbtWnr16pXlTDVq1KBWrVrMmzcvy9cSEREREfOoz3tn6vOKSHZSgVZEJBvc/q35X3/9BSTPueXl5cXx48fp0KED3t7e9O/fP2Xf/87Hdf36dV544QXKlSuHu7s71apV4+OPP8YwjFTHWSwWxo4dy6JFi3jggQdwd3dn3bp1mcpasGBBHnnkEa5fv05kZCQAa9euJTExkTZt2thz+2m0bduWNWvWpMkvIiIiIs5Lfd7U1OcVkeyiKQ5ERLLB8ePHgeT5qG5LTEwkICCAZs2a8fHHH9/xMTDDMOjSpQubN29m+PDh1KtXj7CwMF566SXOnDnDp59+mur4TZs2sXz5csaOHYuvr69diy+cOHECFxcXihYtCsCuXbsoXrw4/v7+mb5WeurXr8+nn37KoUOHqFWrVrZcU0RERETMpT5vaurzikh2UYFWRMQOUVFRXLp0iZs3b7Jz507eeustPD096dSpU8ox8fHx9OzZM2UurDsJCQlh06ZNvPPOO7z66qsAjBkzhp49ezJlyhTGjh1L5cqVU44/duwYv/32GzVr1sxQ1qSkJC5dugTApUuXmDFjBvv376dz584pHeijR49m6yq7lSpVAuDw4cPqrIqIiIg4KfV57059XhHJLirQiojY4X8fi/L392fRokXcd999qbY//fTT97xWaGgoLi4ujB8/PtX2F154gaCgIL7//nvGjh2bsr1FixYZ7qhCckfUz88v5bXFYqFjx47MmTMnZdvly5fTZM+KYsWKAaR0kkVERETE+ajPe3fq84pIdlGBVkTEDtOnT6dq1aq4urpSsmRJqlWrhtWaelpvV1dXypYte89r/f3335QpUwZvb+9U22vUqJGy/58qVqyYqawVKlRg1qxZWCwWPDw8qFKlCiVKlEhznL1zZ1ksljteK719IiIiIuIc1Of9L/V5RSQnqUArImKHhg0b8vDDD9/1GHd39zQd2Ozg6emZqeMLFSp0z4UQihcvztWrV9Ns9/DwACAuLi7d827cuJFyzD/dvpavr2+msoqIiIiI41CfN5n6vCKS07L/u6iIiGSKv78/Z8+eJSYmJtX2o0ePpuzPadWrV09Zjfd/s0HyHGDp+f3339PNd/tat0dEiIiIiEj+pj6viMidqUArImKyDh06kJSUxLRp01Jt//TTT7FYLLRv3z7HMzRu3JirV69y4sSJVNvr169PiRIl+Prrr4mPj0+1b9WqVZw5cybdfD///DNFihThgQceyNHcIiIiIuIc1OcVEbkzTXEgImKyzp0789hjj/Hqq68SERFB3bp1Wb9+PatXr+bZZ59NtZptTunYsSOurq5s3LiRkSNHpmwvUKAAH3/8MYMHD6ZBgwb07t2b4sWLEx4ezpw5c6hTp06q42/bsGEDnTt31nxcIiIiIgKozysicjcaQSsiYjKr1UpISAjPPvss3333Hc8++yyHDx9m8uTJfPLJJ7mSoWTJknTo0IHly5en2Tdw4EBCQ0Px9fXlo48+Yvz48WzYsIHx48ezdevWNPODHT16lIMHDzJkyJBcyS4iIiIijk99XhGRO7MY9i5hKCIiecr27dtp2bIlR48epUqVKnZf59lnn2Xbtm38/PPPGk0gIiIiIg5FfV4RcUQq0IqISIr27dtTtmxZZs2aZdf5ly9fxt/fn+XLl9OhQ4dsTiciIiIiknXq84qIo1GBVkRERERERERERMQkmoNWRERERERERERExCQq0IqIiIiIiIiIiIiYRAVaEREREREREREREZOoQCsiIiIiIiIiIiJiEhVoRUREREREREREREyiAq2IiIiIiIiIiIiISVSgFRERERERERERETGJCrQiIiIiIiIiIiIiJlGBVkRERERERERERMQkKtCKiIiIiIiIiIiImEQFWhERERERERERERGT/B8u/bMCWnIldwAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "P(U) effect summary:\n", "P_U Mean P(U|x) Mean True Host P(O|x)\n", "---------------------------------------------\n", "0.00 0.0000 0.9229 \n", "0.05 0.0008 0.9223 \n", "0.10 0.0016 0.9216 \n", "0.20 0.0036 0.9200 \n", "0.30 0.0061 0.9179 \n", "0.50 0.0136 0.9116 \n" ] } ], "source": [ "fig, axes = plt.subplots(1, 2, figsize=(14, 5))\n", "\n", "# 1. Mean P(U|x) vs prior P_U\n", "ax = axes[0]\n", "mean_PUx = [np.mean([r['P_Ux'] for r in PU_results[pu]]) for pu in PU_values]\n", "ax.plot(PU_values, mean_PUx, 'bo-', markersize=10, linewidth=2)\n", "ax.plot([0, 0.5], [0, 0.5], 'k--', alpha=0.5, label='1:1 line')\n", "ax.set_xlabel('Prior P(U)', fontsize=12)\n", "ax.set_ylabel('Mean Posterior P(U|x)', fontsize=12)\n", "ax.set_title('Effect of Unseen Prior on Posterior')\n", "ax.legend()\n", "ax.grid(alpha=0.3)\n", "\n", "# 2. Mean true host P(O|x) vs P_U\n", "ax = axes[1]\n", "mean_true_POx = [np.mean([r['true_host_P_Ox'] for r in PU_results[pu] if r['true_host_P_Ox'] is not None]) \n", " for pu in PU_values]\n", "ax.plot(PU_values, mean_true_POx, 'go-', markersize=10, linewidth=2)\n", "ax.set_xlabel('Prior P(U)', fontsize=12)\n", "ax.set_ylabel('Mean True Host P(O|x)', fontsize=12)\n", "ax.set_title('Effect of Unseen Prior on True Host Posterior')\n", "ax.grid(alpha=0.3)\n", "\n", "plt.tight_layout()\n", "plt.show()\n", "\n", "print(\"P(U) effect summary:\")\n", "print(f\"{'P_U':<8} {'Mean P(U|x)':<15} {'Mean True Host P(O|x)':<20}\")\n", "print(\"-\" * 45)\n", "for pu, pux, pox in zip(PU_values, mean_PUx, mean_true_POx):\n", " print(f\"{pu:<8.2f} {pux:<15.4f} {pox:<20.4f}\")" ] }, { "cell_type": "markdown", "id": "cell-28", "metadata": {}, "source": [ "## Summary\n", "\n", "This notebook demonstrated the complete workflow for running PATH on simulated FRBs:\n", "\n", "1. **Generate FRBs**: Used `generate_frbs()` to create realistic FRB populations\n", "2. **Load Catalog**: Used real or mock galaxy catalog\n", "3. **Assign Hosts**: Used `assign_frbs_to_hosts()` to place FRBs with localization errors\n", "4. **Run PATH**: Used `run.run_on_dict()` to compute posteriors\n", "5. **Analyze Performance**: Evaluated correct identification rates\n", "\n", "### Key Findings\n", "\n", "- **Localization precision matters**: Better localization leads to higher correct identification rates\n", "- **P_U trade-off**: Higher unseen prior reduces true host posterior but may be more realistic\n", "- **PATH is effective**: Even with moderate localization, PATH correctly identifies most hosts\n", "\n", "### Using with Real Data\n", "\n", "To use this workflow with real FRB observations:\n", "\n", "1. Replace simulated FRBs with real observations\n", "2. Use actual localization parameters from your survey\n", "3. Query appropriate survey catalogs (Pan-STARRS, DECaLS, etc.)\n", "4. Adjust priors based on your expectations" ] }, { "cell_type": "code", "execution_count": null, "id": "cell-29", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.13.11" } }, "nbformat": 4, "nbformat_minor": 5 }