From 519fb3ded86bf6ebbb3986edf746766a005518c1 Mon Sep 17 00:00:00 2001 From: Jammy2211 Date: Thu, 9 Jul 2026 11:33:19 +0100 Subject: [PATCH 1/2] feat: cluster likelihood per-step breakdowns (source-plane + image-plane) + scaling tier in simulator MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit likelihood_breakdown/cluster/source_plane.py: FitPositionsSource decomposed (multi-plane ray-trace -> hessian magnifications -> mag-weighted chi2 about the model source centre -> LL with mag-scaled noise norm); per-step LL matches the production fit to 8 digits (rtol 1e-4 assert). Total steady-state 3.1 ms. Three production-formula facts documented en route: chi2 weights distances by |mu|^2; name pairing hands the fit the model Point centre (barycenter only as fallback); noise normalization uses sigma/mu. likelihood_breakdown/cluster/image_plane.py: FitPositionsImagePairRepeat decomposed; triangle-tiling PointSolver solve JIT'd per source plane (compile ~10.5 s, steady ~0.32 s/call at 200x200 @0.7" precision 0.01"); fit totals ~2 s/system. Pytree registration mirrors simulators/cluster.py. simulators/cluster.py: brought to the current standard model — adds the 10-member scaling tier on the reference-anchored relation (autolens_workspace #238 convention, b0_ref=0.12, rs ∝ L^0.5) + writes scaling_galaxies.csv. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01PUuWXiS23FvmfQPLvMNjeM --- likelihood_breakdown/cluster/image_plane.py | 384 +++++++++++++++ likelihood_breakdown/cluster/source_plane.py | 452 ++++++++++++++++++ .../image_plane_breakdown_v2026.7.6.649.json | 25 + .../image_plane_breakdown_v2026.7.6.649.png | Bin 0 -> 70725 bytes .../source_plane_breakdown_v2026.7.6.649.json | 25 + .../source_plane_breakdown_v2026.7.6.649.png | Bin 0 -> 83048 bytes .../cluster_summary_v2026.7.6.649.json | 59 +++ .../cluster_summary_v2026.7.6.649.png | Bin 0 -> 137921 bytes simulators/cluster.py | 51 +- 9 files changed, 995 insertions(+), 1 deletion(-) create mode 100644 likelihood_breakdown/cluster/image_plane.py create mode 100644 likelihood_breakdown/cluster/source_plane.py create mode 100644 results/breakdown/cluster/image_plane_breakdown_v2026.7.6.649.json create mode 100644 results/breakdown/cluster/image_plane_breakdown_v2026.7.6.649.png create mode 100644 results/breakdown/cluster/source_plane_breakdown_v2026.7.6.649.json create mode 100644 results/breakdown/cluster/source_plane_breakdown_v2026.7.6.649.png create mode 100644 results/simulators/cluster_summary_v2026.7.6.649.json create mode 100644 results/simulators/cluster_summary_v2026.7.6.649.png diff --git a/likelihood_breakdown/cluster/image_plane.py b/likelihood_breakdown/cluster/image_plane.py new file mode 100644 index 0000000..366b8e5 --- /dev/null +++ b/likelihood_breakdown/cluster/image_plane.py @@ -0,0 +1,384 @@ +""" +JAX Profiling: Cluster Image-Plane Likelihood — Per-Step Breakdown +=================================================================== + +Decomposes the cluster point-source **image-plane chi-squared** likelihood +(``FitPositionsImagePairRepeat``, the model-fit default) into its pipeline +steps for the standard cluster model (2 main dPIE + 10 scaling dPIE + NFW +host at z = 0.5; 2 point sources at z = 1.0 / 2.0 — multi-plane). + +Where the source-plane likelihood (``source_plane.py``) only ray-traces the +observed positions *backwards*, the image-plane likelihood **forward-solves +the lens equation** for every source: tile the image plane in triangles, +trace them to the source plane, keep the ones containing the source centre, +subdivide, repeat to sub-pixel precision. That solve dominates everything +else by orders of magnitude and is the reason cluster image-plane fits need +JAX — this script makes its cost (and its one-off JIT compile cost, which a +sampler pays once but a single fit pays in full) visible per source plane. + +Steps profiled: + +1. Back-trace observed positions → model source centres (setup, eager). +2. Triangle-tiling PointSolver solve, JIT-compiled per source plane — the + dominant step. Lower/compile/first-call/steady-state are reported + separately so compile amortisation is explicit. +3. ``FitPositionsImagePairRepeat`` log-likelihood per system (eager, + nearest-pair chi-squared given the solved positions). + +The solver grid below (200x200 @ 0.7", precision 0.01") is the +tutorial-scale configuration of the workspace cluster scripts, chosen so the +one-off compile stays at minutes; production precision (0.001") multiplies +the triangle fan-out, not the structure of the breakdown. + +Output +------ + +Results JSON and PNG are written to ``results/breakdown/cluster/`` using the +basename ``image_plane_breakdown_v{al_version}``. +""" + +# --------------------------------------------------------------------------- +# AUTOLENS_PROFILING_SMOKE=1 short-circuit (CI lint smoke). +# --------------------------------------------------------------------------- +import os as _smoke_os +import sys +import time +from contextlib import contextmanager +from pathlib import Path + +import autolens as al +import jax +import jax.numpy as jnp +import numpy as np + +if _smoke_os.environ.get("AUTOLENS_PROFILING_SMOKE") == "1": + print(f"[smoke] {__file__}: imports + module setup OK; exiting.") + sys.exit(0) + +sys.path.insert(0, str(Path(__file__).resolve().parents[2])) +from _profile_cli import ( # noqa: E402 + auto_simulate_if_missing, + device_info_dict, + parse_profile_cli, + resolve_output_paths, +) + +_cli = parse_profile_cli() + +_script_dir = Path(__file__).resolve().parent +_workspace_root = _script_dir.parents[1] + + +# --------------------------------------------------------------------------- +# Profiling helpers (house pattern) +# --------------------------------------------------------------------------- + + +class Timer: + def __init__(self): + self.records: list[tuple[str, float]] = [] + + @contextmanager + def section(self, label: str): + start = time.perf_counter() + yield + elapsed = time.perf_counter() - start + self.records.append((label, elapsed)) + print(f" [{label}] {elapsed:.4f} s") + + def summary(self): + print("\n" + "=" * 70) + print("PROFILING SUMMARY") + print("=" * 70) + max_label = max(len(r[0]) for r in self.records) + total = 0.0 + for label, elapsed in self.records: + print(f" {label:<{max_label}} {elapsed:>10.4f} s") + total += elapsed + print("-" * 70) + print(f" {'TOTAL':<{max_label}} {total:>10.4f} s") + print("=" * 70) + + +def block(x): + if hasattr(x, "block_until_ready"): + x.block_until_ready() + return x + + +def jit_profile(func, label, *args, n_repeats=10): + jitted = jax.jit(func) + + with timer.section(f"{label}_lower"): + lowered = jitted.lower(*args) + + with timer.section(f"{label}_compile"): + compiled = lowered.compile() + + with timer.section(f"{label}_first_call"): + result = compiled(*args) + block(result) + + with timer.section(f"{label}_steady_x{n_repeats}"): + for _ in range(n_repeats): + result = compiled(*args) + block(result) + + per_call = timer.records[-1][1] / n_repeats + print(f" -> per-call avg: {per_call:.6f} s") + return compiled, result + + +timer = Timer() +likelihood_steps = [] + + +# =================================================================== +# PART A — Setup +# =================================================================== +dataset_path = _workspace_root / "dataset" / "cluster" / "simple" + +auto_simulate_if_missing( + dataset_path, + dataset_type="cluster", + instrument="simple", + workspace_root=_workspace_root, +) + +dataset_list = al.list_from_csv(file_path=dataset_path / "point_datasets.csv") +print(f"Loaded {len(dataset_list)} point-source systems from {dataset_path}.") + +redshift_lens = 0.5 + +main_lens_params = [ + ((0.0, 0.0), 8.0, 20.0, 3.0), + ((10.0, 8.0), 5.0, 12.0, 1.2), +] +main_lens_galaxies = [ + al.Galaxy( + redshift=redshift_lens, + mass=al.mp.dPIEMassSph(centre=centre, ra=ra, rs=rs, b0=b0), + ) + for centre, ra, rs, b0 in main_lens_params +] + +scaling_table = al.galaxy_table_from_csv(file_path=dataset_path / "scaling_galaxies.csv") +SCALING_B0_REF, SCALING_RS_REF, SCALING_RA, SCALING_EXPONENT = 0.12, 10.0, 0.1, 0.5 +_lum_ref = max(scaling_table.luminosities) +scaling_galaxies = [ + al.Galaxy( + redshift=redshift_lens, + mass=al.mp.dPIEMassSph( + centre=tuple(centre), + ra=SCALING_RA, + rs=SCALING_RS_REF * (lum / _lum_ref) ** SCALING_EXPONENT, + b0=SCALING_B0_REF * (lum / _lum_ref) ** SCALING_EXPONENT, + ), + ) + for centre, lum in zip(scaling_table.centres, scaling_table.luminosities) +] + +host_halo_galaxy = al.Galaxy( + redshift=redshift_lens, + dark=al.mp.NFWMCRLudlowSph( + centre=(0.0, 0.0), + mass_at_200=10**15.3, + redshift_object=redshift_lens, + redshift_source=max(float(d.redshift) for d in dataset_list), + ), +) + +source_galaxies = [ + al.Galaxy(redshift=float(d.redshift), **{d.name: al.ps.Point(centre=(0.0, 0.0))}) + for d in dataset_list +] + +tracer = al.Tracer( + galaxies=main_lens_galaxies + scaling_galaxies + [host_halo_galaxy] + source_galaxies +) +n_mass_profiles = len(main_lens_galaxies) + len(scaling_galaxies) + 1 +print(f"Tracer: {len(tracer.planes)} planes, {n_mass_profiles} mass components.") + +positions_list = [np.atleast_2d(np.asarray(d.positions)) for d in dataset_list] +plane_indices = [ + tracer.plane_index_via_redshift_from(redshift=float(d.redshift)) for d in dataset_list +] + +# --------------------------------------------------------------------------- +# Step 1 — model source centres: back-trace the observed images and take the +# per-system centroid (what a model fit derives from its Point centre; here +# the truth-adjacent centroid keeps the solve realistic). Eager + cheap. +# --------------------------------------------------------------------------- +source_centres = [] +with timer.section("step1_source_centres"): + for positions, plane_index in zip(positions_list, plane_indices): + traced = np.asarray( + tracer.traced_grid_2d_list_from(grid=al.Grid2DIrregular(positions))[plane_index] + ) + source_centres.append(tuple(traced.mean(axis=0))) +likelihood_steps.append(("1 source centres (back-trace)", timer.records[-1][1])) + +# --------------------------------------------------------------------------- +# Step 2 — the triangle-tiling PointSolver forward-solve, per source plane. +# Pytree registration mirrors simulators/cluster.py: the model classes are +# registered via autofit's register_model on an af.Model mirror, and Tracer +# itself via register_instance_pytree (cosmology excluded from flattening). +# --------------------------------------------------------------------------- +import autofit as af # noqa: E402 +from autoarray.abstract_ndarray import register_instance_pytree # noqa: E402 +from autofit.jax import register_model as _register_model_pytrees # noqa: E402 +from autolens.lens.tracer import Tracer # noqa: E402 + +_registration_model = af.Collection( + galaxies=af.Collection( + af.Model( + al.Galaxy, + redshift=redshift_lens, + mass=af.Model(al.mp.dPIEMassSph, centre=(0.0, 0.0), ra=1.0, rs=10.0, b0=1.0), + ), + af.Model( + al.Galaxy, + redshift=redshift_lens, + dark=af.Model( + al.mp.NFWMCRLudlowSph, + centre=(0.0, 0.0), + mass_at_200=10**15.3, + redshift_object=redshift_lens, + redshift_source=max(float(d.redshift) for d in dataset_list), + ), + ), + *[ + af.Model( + al.Galaxy, + redshift=float(d.redshift), + **{d.name: af.Model(al.ps.Point, centre=(0.0, 0.0))}, + ) + for d in dataset_list + ], + ) +) +_register_model_pytrees(_registration_model) +register_instance_pytree(Tracer, no_flatten=("cosmology",)) + +solver = al.PointSolver.for_grid( + grid=al.Grid2D.uniform(shape_native=(200, 200), pixel_scales=0.7), + pixel_scale_precision=0.01, + use_jax=True, +) + +predicted_per_system = [] +for dataset, centre in zip(dataset_list, source_centres): + + def solve(source_plane_coordinate, _z=float(dataset.redshift)): + return solver.solve( + tracer=tracer, + source_plane_coordinate=source_plane_coordinate, + plane_redshift=_z, + ) + + _, predicted = jit_profile( + solve, f"step2_solve_{dataset.name}", jnp.array(centre), n_repeats=3 + ) + predicted_per_system.append(predicted) + likelihood_steps.append( + (f"2.{dataset.name} PointSolver solve (z={float(dataset.redshift):.1f})", + timer.records[-1][1] / 3) + ) + +# --------------------------------------------------------------------------- +# Step 3 — pairing + chi-squared: the production FitPositionsImagePairRepeat, +# timed eagerly per system (the pairing is trivial next to the solve; the fit +# re-runs the solve internally, so its time is reported as fit-total and the +# pairing overhead is the difference from step 2). +# --------------------------------------------------------------------------- +fit_log_likelihoods = [] +for dataset in dataset_list: + with timer.section(f"step3_fit_total_{dataset.name}"): + fit = al.FitPositionsImagePairRepeat( + name=dataset.name, + data=dataset.positions, + noise_map=dataset.positions_noise_map, + tracer=tracer, + solver=solver, + ) + fit_log_likelihoods.append(float(fit.log_likelihood)) + likelihood_steps.append( + (f"3.{dataset.name} FitPositionsImagePairRepeat (fit total)", timer.records[-1][1]) + ) + +log_likelihood_total = sum(fit_log_likelihoods) +print(f"\n image-plane log likelihood (sum over systems): {log_likelihood_total:.6e}") + + +# =================================================================== +# PART B — Summary + artifacts +# =================================================================== +import json + +import matplotlib + +matplotlib.use("Agg") +import matplotlib.pyplot as plt + +al_version = al.__version__ + +timer.summary() + +print("\n" + "=" * 70) +print(f"PER-STEP BREAKDOWN SUMMARY — CLUSTER IMAGE-PLANE — v{al_version}") +print("=" * 70) +max_label = max(len(label) for label, _ in likelihood_steps) +step_total = 0.0 +for i, (label, per_call) in enumerate(likelihood_steps, 1): + print(f" {i:>2}. {label:<{max_label}} {per_call:>12.6f} s") + step_total += per_call +print("-" * 70) +print(f" {'TOTAL (step-by-step)':<{max_label}} {step_total:>12.6f} s") +print("=" * 70) + +breakdown_summary = { + "autolens_version": al_version, + "device": device_info_dict(), + "configuration": { + "n_systems": len(dataset_list), + "n_images_total": int(sum(len(p) for p in positions_list)), + "n_planes": len(tracer.planes), + "n_mass_profiles": n_mass_profiles, + "likelihood": "image_plane (FitPositionsImagePairRepeat)", + "solver_grid": "200x200 @ 0.7 arcsec", + "solver_pixel_scale_precision": 0.01, + }, + "steps": {label: per_call for label, per_call in likelihood_steps}, + "total_step_by_step": step_total, + "log_likelihood": log_likelihood_total, +} + +dict_path, chart_path = resolve_output_paths( + _cli, + default_dir=_workspace_root / "results" / "breakdown" / "cluster", + default_basename=f"image_plane_breakdown_v{al_version}", +) +dict_path.write_text(json.dumps(breakdown_summary, indent=2)) +print(f"\n Results dict saved to: {dict_path}") + +labels = [label for label, _ in likelihood_steps] +times = [per_call for _, per_call in likelihood_steps] +fig, ax = plt.subplots(figsize=(10, 5)) +y_pos = range(len(labels)) +bars = ax.barh(y_pos, times, color="#4C72B0", edgecolor="white", height=0.6) +for bar, t in zip(bars, times): + ax.text( + bar.get_width() + max(times) * 0.01, + bar.get_y() + bar.get_height() / 2, + f"{t:.6f} s", + va="center", + fontsize=9, + ) +ax.set_yticks(y_pos) +ax.set_yticklabels(labels, fontsize=10) +ax.invert_yaxis() +ax.set_xlabel("Time per call (s)", fontsize=11) +fig.suptitle(f"Cluster image-plane likelihood breakdown — v{al_version}", fontsize=12) +fig.tight_layout() +fig.savefig(chart_path, dpi=150) +print(f" Bar chart saved to: {chart_path}") diff --git a/likelihood_breakdown/cluster/source_plane.py b/likelihood_breakdown/cluster/source_plane.py new file mode 100644 index 0000000..5cdf0ef --- /dev/null +++ b/likelihood_breakdown/cluster/source_plane.py @@ -0,0 +1,452 @@ +""" +JAX Profiling: Cluster Source-Plane Likelihood — Per-Step Breakdown +==================================================================== + +Decomposes the cluster point-source **source-plane chi-squared** likelihood +(``FitPositionsSource``) into its pipeline steps and JIT-profiles each one +separately, for the standard cluster model: + + - 2 individually-modelled dPIE main lenses + 10 scaling-tier dPIE members + (reference-anchored relation) + 1 NFW host halo, all at z = 0.5; + - 2 point sources at *different* redshifts (z = 1.0, 2.0) — a genuine + multi-plane system, so ray-tracing pays the per-plane recursion. + +This is Lenstool's default likelihood: observed multiple-image positions are +ray-traced *back* to each source's plane and the scatter about the group +centroid is penalised. No lens-equation solve is involved, which is why the +whole thing is orders of magnitude cheaper than the image-plane likelihood +(``image_plane.py`` in this folder profiles that one). + +Steps profiled: + +1. Multi-plane ray-tracing of the observed positions, per source plane — + the deflection stack over all 13 mass profiles is one hot spot. +2. Magnification at every observed position via the tracer Hessian + (``LensCalc.magnification_2d_via_hessian_from``) — the production + source-plane chi-squared weights each residual by its magnification, so + image-plane noise maps correctly into the source plane. This evaluates + the full deflection stack several more times per position and competes + with step 1 for the budget. +3. Magnification-weighted chi-squared per system: the distance of each + traced position to the *model's* source centre (name pairing hands the + fit the ``Point`` profile centre — the barycenter is only a fallback when + the tracer has no matching profile), chi2_i = dist_i^2 * mag_i^2 / sigma_i^2. +4. Total log-likelihood assembly. The noise normalization uses the + magnification-scaled effective noise, sum ln(2 pi (sigma_i / mag_i)^2) — + consistent with the chi-squared's source-plane noise mapping. + +The steps close over the (fixed) tracer rather than passing it as a JIT +pytree argument: each step compiles exactly once here, so registration +buys nothing and the closure keeps the decomposition free of pytree +plumbing. (In a model-fit the tracer changes per call — see +``simulators/cluster.py`` for the pytree-argument pattern used there.) + +Reference check: the summed per-step log-likelihood is asserted against the +eager ``al.FitPositionsSource(profile=None)`` values at ``rtol=1e-4``, so the +decomposition is provably the production calculation. Note the known JAX +constraint: the *end-to-end* source-plane fit is not JIT-compilable today +(see ``autolens_workspace_test/scripts/CLAUDE.md`` — the source-plane entry +is marked JIT-blocked); the per-step decomposition below sidesteps that by +compiling the numerical core of each step in isolation. + +Output +------ + +Results JSON and PNG are written to ``results/breakdown/cluster/`` using the +basename ``source_plane_breakdown_v{al_version}``. +""" + +# --------------------------------------------------------------------------- +# AUTOLENS_PROFILING_SMOKE=1 short-circuit (CI lint smoke): verify the import +# graph + module-level setup succeeded without running the full pipeline. +# --------------------------------------------------------------------------- +import os as _smoke_os +import sys +import time +from contextlib import contextmanager +from pathlib import Path + +import autolens as al +import jax +import jax.numpy as jnp +import numpy as np + +if _smoke_os.environ.get("AUTOLENS_PROFILING_SMOKE") == "1": + print(f"[smoke] {__file__}: imports + module setup OK; exiting.") + sys.exit(0) + +sys.path.insert(0, str(Path(__file__).resolve().parents[2])) +from _profile_cli import ( # noqa: E402 + auto_simulate_if_missing, + device_info_dict, + parse_profile_cli, + resolve_output_paths, +) + +_cli = parse_profile_cli() + +_script_dir = Path(__file__).resolve().parent +_workspace_root = _script_dir.parents[1] + + +# --------------------------------------------------------------------------- +# Profiling helpers (house pattern — see likelihood_breakdown/imaging/mge.py) +# --------------------------------------------------------------------------- + + +class Timer: + """Accumulates named timing measurements and prints a summary.""" + + def __init__(self): + self.records: list[tuple[str, float]] = [] + + @contextmanager + def section(self, label: str): + start = time.perf_counter() + yield + elapsed = time.perf_counter() - start + self.records.append((label, elapsed)) + print(f" [{label}] {elapsed:.4f} s") + + def summary(self): + print("\n" + "=" * 70) + print("PROFILING SUMMARY") + print("=" * 70) + max_label = max(len(r[0]) for r in self.records) + total = 0.0 + for label, elapsed in self.records: + print(f" {label:<{max_label}} {elapsed:>10.4f} s") + total += elapsed + print("-" * 70) + print(f" {'TOTAL':<{max_label}} {total:>10.4f} s") + print("=" * 70) + + +def block(x): + if hasattr(x, "block_until_ready"): + x.block_until_ready() + return x + + +def jit_profile(func, label, *args, n_repeats=10): + """JIT-compile *func*, time lower/compile/first-call/steady-state.""" + jitted = jax.jit(func) + + with timer.section(f"{label}_lower"): + lowered = jitted.lower(*args) + + with timer.section(f"{label}_compile"): + compiled = lowered.compile() + + with timer.section(f"{label}_first_call"): + result = compiled(*args) + block(result) + + with timer.section(f"{label}_steady_x{n_repeats}"): + for _ in range(n_repeats): + result = compiled(*args) + block(result) + + per_call = timer.records[-1][1] / n_repeats + print(f" -> per-call avg: {per_call:.6f} s") + return compiled, result + + +timer = Timer() +likelihood_steps = [] # (label, per_call_seconds) + + +# =================================================================== +# PART A — Setup (not JIT-compiled) +# =================================================================== + +# --------------------------------------------------------------------------- +# 1. Dataset (auto-simulated on first run via simulators/cluster.py) +# --------------------------------------------------------------------------- +dataset_path = _workspace_root / "dataset" / "cluster" / "simple" + +auto_simulate_if_missing( + dataset_path, + dataset_type="cluster", + instrument="simple", + workspace_root=_workspace_root, +) + +dataset_list = al.list_from_csv(file_path=dataset_path / "point_datasets.csv") +print(f"Loaded {len(dataset_list)} point-source systems from {dataset_path}.") + +# --------------------------------------------------------------------------- +# 2. Tracer — the standard cluster model, at the simulator truth values. +# Constants mirror simulators/cluster.py (which mirrors the workspace +# cluster simulator + its reference-anchored scaling relation). +# --------------------------------------------------------------------------- +redshift_lens = 0.5 + +main_lens_params = [ + ((0.0, 0.0), 8.0, 20.0, 3.0), + ((10.0, 8.0), 5.0, 12.0, 1.2), +] +main_lens_galaxies = [ + al.Galaxy( + redshift=redshift_lens, + mass=al.mp.dPIEMassSph(centre=centre, ra=ra, rs=rs, b0=b0), + ) + for centre, ra, rs, b0 in main_lens_params +] + +scaling_table = al.galaxy_table_from_csv(file_path=dataset_path / "scaling_galaxies.csv") +SCALING_B0_REF, SCALING_RS_REF, SCALING_RA, SCALING_EXPONENT = 0.12, 10.0, 0.1, 0.5 +_lum_ref = max(scaling_table.luminosities) +scaling_galaxies = [ + al.Galaxy( + redshift=redshift_lens, + mass=al.mp.dPIEMassSph( + centre=tuple(centre), + ra=SCALING_RA, + rs=SCALING_RS_REF * (lum / _lum_ref) ** SCALING_EXPONENT, + b0=SCALING_B0_REF * (lum / _lum_ref) ** SCALING_EXPONENT, + ), + ) + for centre, lum in zip(scaling_table.centres, scaling_table.luminosities) +] + +host_halo_galaxy = al.Galaxy( + redshift=redshift_lens, + dark=al.mp.NFWMCRLudlowSph( + centre=(0.0, 0.0), + mass_at_200=10**15.3, + redshift_object=redshift_lens, + redshift_source=max(float(d.redshift) for d in dataset_list), + ), +) + +# Point centres at the simulator truth (simulators/cluster.py source_centres) — +# name pairing hands these to the fit as the source-plane reference points. +TRUTH_SOURCE_CENTRES = [(0.3, 0.5), (-0.8, 1.2)] +source_galaxies = [ + al.Galaxy(redshift=float(d.redshift), **{d.name: al.ps.Point(centre=centre)}) + for d, centre in zip(dataset_list, TRUTH_SOURCE_CENTRES) +] + +tracer = al.Tracer( + galaxies=main_lens_galaxies + scaling_galaxies + [host_halo_galaxy] + source_galaxies +) +n_mass_profiles = len(main_lens_galaxies) + len(scaling_galaxies) + 1 +print( + f"Tracer: {len(tracer.planes)} planes, {n_mass_profiles} mass components " + f"(2 main dPIE + {len(scaling_galaxies)} scaling dPIE + 1 NFW host)." +) + +positions_list = [np.atleast_2d(np.asarray(d.positions)) for d in dataset_list] +noise_list = [np.asarray(d.positions_noise_map) for d in dataset_list] +plane_indices = [ + tracer.plane_index_via_redshift_from(redshift=float(d.redshift)) for d in dataset_list +] + + +# =================================================================== +# PART B — Per-step JIT profiling +# =================================================================== + +# --------------------------------------------------------------------------- +# Step 1 — multi-plane ray-tracing of the observed positions, per system. +# The recursion walks every plane up to the source's, applying the scaled +# deflections of all 13 mass profiles; this is where the cluster's many- +# profile cost lives. +# --------------------------------------------------------------------------- +traced_per_system = [] +for i, (dataset, positions, plane_index) in enumerate( + zip(dataset_list, positions_list, plane_indices) +): + + def trace_positions(positions_arr, _plane_index=plane_index): + grid = al.Grid2DIrregular(values=positions_arr, xp=jnp) + traced = tracer.traced_grid_2d_list_from(grid=grid, xp=jnp)[_plane_index] + return traced.array if hasattr(traced, "array") else traced + + _, traced = jit_profile( + trace_positions, + f"step1_trace_{dataset.name}", + jnp.array(positions), + ) + traced_per_system.append(traced) + likelihood_steps.append( + (f"1.{i} ray-trace {dataset.name} ({len(positions)} img)", timer.records[-1][1] / 10) + ) + +# --------------------------------------------------------------------------- +# Step 2 — magnification at the observed positions via the tracer Hessian. +# The production fit weights each source-plane residual by |mu| so the +# image-plane positional noise maps into the source plane correctly. +# --------------------------------------------------------------------------- +import autogalaxy as ag # noqa: E402 + +magnifications_per_system = [] +for i, (dataset, positions, plane_index) in enumerate( + zip(dataset_list, positions_list, plane_indices) +): + lens_calc = ag.LensCalc.from_tracer( + tracer=tracer, use_multi_plane=True, plane_j=plane_index + ) + + def magnifications_at(positions_arr, _lens_calc=lens_calc): + # The raw traced array goes straight into the hessian path: wrapping it in + # Grid2DIrregular here would trip __array__ on the tracer (the hessian + # slices grid[:, 0] directly, which is fine on a bare jax.Array). + mags = _lens_calc.magnification_2d_via_hessian_from(grid=positions_arr, xp=jnp) + mags = mags.array if hasattr(mags, "array") else mags + return jnp.abs(mags) + + _, mags = jit_profile( + magnifications_at, + f"step2_magnification_{dataset.name}", + jnp.array(positions), + ) + magnifications_per_system.append(mags) + likelihood_steps.append( + (f"2.{i} magnification (hessian) {dataset.name}", timer.records[-1][1] / 10) + ) + +# --------------------------------------------------------------------------- +# Step 3 — centroid + magnification-weighted chi-squared per system +# (pure jnp math; tiny next to steps 1-2, but the production formula). +# --------------------------------------------------------------------------- +chi_squared_per_system = [] +for i, (dataset, traced, mags, noise, centre) in enumerate( + zip(dataset_list, traced_per_system, magnifications_per_system, noise_list, TRUTH_SOURCE_CENTRES) +): + + def weighted_chi_squared(traced_arr, mags_arr, noise_arr, centre_arr): + distances_sq = jnp.sum((traced_arr - centre_arr) ** 2, axis=1) + return jnp.sum(distances_sq * mags_arr**2 / noise_arr**2) + + _, chi_sq = jit_profile( + weighted_chi_squared, + f"step3_chi2_{dataset.name}", + jnp.array(traced), + jnp.array(mags), + jnp.array(noise), + jnp.array(centre), + ) + chi_squared_per_system.append(chi_sq) + likelihood_steps.append((f"3.{i} weighted chi2 {dataset.name}", timer.records[-1][1] / 10)) + +# --------------------------------------------------------------------------- +# Step 4 — total log-likelihood assembly: -0.5 * (sum chi2 + noise norm). +# --------------------------------------------------------------------------- +noise_norm_terms = jnp.array( + [ + float(np.sum(np.log(2.0 * np.pi * (np.asarray(noise) / np.asarray(mags)) ** 2))) + for noise, mags in zip(noise_list, magnifications_per_system) + ] +) + + +def log_likelihood_total(chi_squareds, noise_norms): + return -0.5 * (jnp.sum(chi_squareds) + jnp.sum(noise_norms)) + + +_, log_likelihood = jit_profile( + log_likelihood_total, + "step4_log_likelihood", + jnp.array(chi_squared_per_system), + noise_norm_terms, +) +likelihood_steps.append(("4 log-likelihood assembly", timer.records[-1][1] / 10)) + + +# =================================================================== +# PART C — Eager reference check (FitPositionsSource, production path) +# =================================================================== +with timer.section("reference_fit_positions_source"): + reference_log_likelihood = sum( + float( + al.FitPositionsSource( + name=dataset.name, + data=dataset.positions, + noise_map=dataset.positions_noise_map, + tracer=tracer, + solver=None, + ).log_likelihood + ) + for dataset in dataset_list + ) + +print(f"\n step-by-step log likelihood: {float(log_likelihood):.8e}") +print(f" FitPositionsSource reference: {reference_log_likelihood:.8e}") +assert np.isclose(float(log_likelihood), reference_log_likelihood, rtol=1e-4), ( + "per-step decomposition does not match the production FitPositionsSource value" +) +print(" MATCH (rtol=1e-4)") + + +# =================================================================== +# PART D — Summary + artifacts +# =================================================================== +import json + +import matplotlib + +matplotlib.use("Agg") +import matplotlib.pyplot as plt + +al_version = al.__version__ + +timer.summary() + +print("\n" + "=" * 70) +print(f"PER-STEP BREAKDOWN SUMMARY — CLUSTER SOURCE-PLANE — v{al_version}") +print("=" * 70) +max_label = max(len(label) for label, _ in likelihood_steps) +step_total = 0.0 +for i, (label, per_call) in enumerate(likelihood_steps, 1): + print(f" {i:>2}. {label:<{max_label}} {per_call:>12.6f} s") + step_total += per_call +print("-" * 70) +print(f" {'TOTAL (step-by-step)':<{max_label}} {step_total:>12.6f} s") +print("=" * 70) + +breakdown_summary = { + "autolens_version": al_version, + "device": device_info_dict(), + "configuration": { + "n_systems": len(dataset_list), + "n_images_total": int(sum(len(p) for p in positions_list)), + "n_planes": len(tracer.planes), + "n_mass_profiles": n_mass_profiles, + "likelihood": "source_plane (FitPositionsSource)", + }, + "steps": {label: per_call for label, per_call in likelihood_steps}, + "total_step_by_step": step_total, + "reference_log_likelihood": reference_log_likelihood, +} + +dict_path, chart_path = resolve_output_paths( + _cli, + default_dir=_workspace_root / "results" / "breakdown" / "cluster", + default_basename=f"source_plane_breakdown_v{al_version}", +) +dict_path.write_text(json.dumps(breakdown_summary, indent=2)) +print(f"\n Results dict saved to: {dict_path}") + +labels = [label for label, _ in likelihood_steps] +times = [per_call for _, per_call in likelihood_steps] +fig, ax = plt.subplots(figsize=(10, 5)) +y_pos = range(len(labels)) +bars = ax.barh(y_pos, times, color="#4C72B0", edgecolor="white", height=0.6) +for bar, t in zip(bars, times): + ax.text( + bar.get_width() + max(times) * 0.01, + bar.get_y() + bar.get_height() / 2, + f"{t:.6f} s", + va="center", + fontsize=9, + ) +ax.set_yticks(y_pos) +ax.set_yticklabels(labels, fontsize=10) +ax.invert_yaxis() +ax.set_xlabel("Time per call (s)", fontsize=11) +fig.suptitle(f"Cluster source-plane likelihood breakdown — v{al_version}", fontsize=12) +fig.tight_layout() +fig.savefig(chart_path, dpi=150) +print(f" Bar chart saved to: {chart_path}") diff --git a/results/breakdown/cluster/image_plane_breakdown_v2026.7.6.649.json b/results/breakdown/cluster/image_plane_breakdown_v2026.7.6.649.json new file mode 100644 index 0000000..b2803d8 --- /dev/null +++ b/results/breakdown/cluster/image_plane_breakdown_v2026.7.6.649.json @@ -0,0 +1,25 @@ +{ + "autolens_version": "2026.7.6.649", + "device": { + "backend": "cpu", + "device": "TFRT_CPU_0" + }, + "configuration": { + "n_systems": 2, + "n_images_total": 6, + "n_planes": 3, + "n_mass_profiles": 13, + "likelihood": "image_plane (FitPositionsImagePairRepeat)", + "solver_grid": "200x200 @ 0.7 arcsec", + "solver_pixel_scale_precision": 0.01 + }, + "steps": { + "1 source centres (back-trace)": 0.008795200000349723, + "2.point_0 PointSolver solve (z=1.0)": 0.41861359999984415, + "2.point_1 PointSolver solve (z=2.0)": 0.3188671666666778, + "3.point_0 FitPositionsImagePairRepeat (fit total)": 2.271588399999928, + "3.point_1 FitPositionsImagePairRepeat (fit total)": 1.9715207999997801 + }, + "total_step_by_step": 4.98938516666658, + "log_likelihood": -31265964.625419706 +} \ No newline at end of file diff --git a/results/breakdown/cluster/image_plane_breakdown_v2026.7.6.649.png b/results/breakdown/cluster/image_plane_breakdown_v2026.7.6.649.png new file mode 100644 index 0000000000000000000000000000000000000000..9ef186054c075347ad19a5ba927c623f71c056d4 GIT binary patch literal 70725 zcmeFZ2V0a`*EL9Mt8Jv)&?bU51qdoA5(EU=#z09@f&>YzAV@}n!~#Rx7*M2;ETDoQ zS#m5uQ4j%9LLpg2Kq#OTC~}x}@Oi(PA22iTd(AgokNtoaRrh`FbM{_)t+n^flN!g@ zuG+SWi;HV5Rpp2l7uT|OF0LiRzbwb!WbbHH!~e;;9MyNxcCc`9JL`0wOZ}{iqpgFB zt<||5m(DvmTRGSt5R(;?+_U3?i;JVPoVd8%|9XL#gOjB=-@VQYc$1ZmDhAG6T$|UE zKR;Q<)N675#KlEDa#+Xx!C;4*`$paF@$X(i_xQBFN=f$Dd+mR;i=nb%*_vOtcf7cE z4faTi< zvhwm(ozCO_wOh=7#)mI{4c|QODf3@HTt5EO75V@A!T!&W>;Cio4WQu>SQt9Mf;z@-$Y0yTQ@#^B-81x>^sNN^OQMo z)OUU=Vfor^alZ*1i*wWF;wn?NU@=oY7v?5((@hk5-UO@S7gw!XrBy{2lL}N zHFOmsrR}t4#)pFC-R!3(CwCpc%i}rSpO9l-MW^KLuedPOnzL=+-{&{7|$i#%+g$qw_Z5B_v%PT*S*X5(? zs&Hw1dr0D(L5a6V#6;i+O{KXwX6l*U4xPm#9FA_hTDVT3iB4-`M0&xUI}KmgU0(} ze67EIe7=gCySZAt^g(AW^;BoEhi;t8Z|AW`8IemUyAK}JKYDB9sWhVkJZKTmu+~){ zpMUQTP)efBjIXP{dhMF))W~_et`g(6Jcs6|r((yZ`eKsLN)egC|Z_ihdmE|}@*2aJQ__uMf`zbt&`grxoF;26o&FtiN z>(*>5`b5uyql<1<$iGA z3tle1i_X0@r_9acF0ngP)xssLUfK~=(=4{vr1&5slK$8)F_nvtXXVP3xQ|oVoKg;* zhsgTu-@m^Q3-J41!#KL2s;Hu(iFnE6WBm9f^KOn!bCTD@aN))7eI~9_U*~onl^oJ zqr@h#A~-%$SoQN&^rNxI?$l3>_HEj*A(qvg&YJw*y-mrd*t$6_s(0Rl)1>D*@}-L6 zyN+Km<>A8})V%cavuDp*bsje|dN9CDO{H%v@sgLmrZoWor z8J!aEDamG<(!j!an?sIEzm{(D>AkNqg*6_WY=~EP9UnA6=+L~qS)7UgCzn_oDU*Ee z)h#)Xk+^M=7as1`OKWfX{u3A9I)BF%mydslR`6;pp?SS}^(xW*`{xKH-x8<3w?ii@ z8XB}WiRzrZzG~B0t4(_U_01+K3CtxpH%j=xCY-V01C|+6i}0rx_*UL;Al| z1x@40>*m=TC&*26SP79b4g)xh&5eoL!8?_gQ?+n{C7r&g@E&qMIoem(%t|j!3)y?- zO+!ONYp%y=??6XU-e1bfyaQvSquMxtI=Qw6!MjfV)tqMBkPzdO#4ee6Yqdbuw@zsx z<=wlJsRmicaFLlzgw&qbf#p^kON(kEq*U=#f+(*2^*w0=TX2M=Z9hC*vTW7Yi7sEg zkUa(|uF=uaILUf=Uv}Z0;gp5ffdT`~=`k-}ypZ&sbkt2Vl5H7@@tID18>1x7&COl= zKvw&Fbw~~~SVa4nbKl!0vjBy7?3xQ7o}Kk%rREI}@A!#}`_QrcrDX!PWtV@tb>~iS zdV0D=ZA8z;+%Azld(^Tl>rOj5IwlQh)|Ri-_I%e~=*ntLGnVhEi!sH)TJ_5>C*9ri z|M=sNvEd^2z}NS&rwwq_5ecaDb-Z$4BtxGjr#r;RIv-oQe9g(0%=4Rgc=ni@nr_;4 z@=qLZ=J-&Xc2h5T*v3Vd-bBggNtnOB7w@-UXyRStOYX@c90U^X@sO&zx=dxAdv*NQ z@w$90`zd)Ak%lwPN>4_F9Kot1=rlc1-5e$7`lhF3!}|4ONG8dMwn--+U3L2M`fP2R zDKdn5ge0{h%)HI_>${yeyDbs1(r&};I5t7!!yU=jR&X26xqSP0IJB*@vXX_Td^*)I z=f1471)}M0ukk@^W=gov9H&`lB6j!98Fu{>RnP7_GCByRQ&UqSh!P~E;B>j^x$+-$ z{8QO)oh~ASZocE$Wk3JCYu~<;uWoN9VK}ASk6XCF?sIedme}{P$CI6U-nV&jIXUbqp zR<%V|q6x#Z(0eMg+|!L;)v&eD{rfp7>qZrWO!GiI&|8~!$0I(lu(w6{8c3S`_RVo> zdRkOcQl}|Nx8cTb0vk7P4js%D){JhnNoT~b7d)|R$BsXL`spXpQ;+|_uZ4b@X&Odu z_8iJ-)_L~#Ve-pJqt+dTIS6!NpEKfL{kwL1W0LM}Y-eTc3{jn@_e{Koq+Y#znZL)^ zGDh6EPzTRh?=Fw*m;U}lWKOyJr7rz+#o2Glx~Yb`h$SQtMj!HM%(ZJX@6(va@=IQL zx1%Y|_zYsp{g{{-5?%pHtg%xkT!xVeXEIxCN5;k)aSWoEYy?{bT(T2VyEZXAIVZkL zWg%t7n0S9bsxbb+>~v9e@a_b+PLJam85tTqmNj8Ju~+vPWabzD-khvgS6ET#S@GuH zPGvwIoh%D=zn;;V(9P@r{PXna?ceEf z$W!vEU8TNc(+KvDUvTvL5dC4hL-9_kocp(jr&IJlJxfFO&^YUL4pCMQJB!}FfFWV1qvDZD^6~KZ*R2<|E;OMsuE@u{uys9t3zrH*`Ge0 z#j5vy8%0QzZ!C5E^cT+8xh4`BHvq!Swc*R3S6;eBS~Etm0|)rIip16f7LwQnRebCy z1P6c00eo75>!(kjj?uU7KlhKv?Dxt$lx`NwW_ETqWv&k)kmsOd*%#aO*hD@cvOsiv2x9t?12b5*QA`` zvMWn9+V~H-zq`Nd)C*CwtQIv#$7kj9fPv8iC2C0v*rXP>Hj12M#NVvji3mA5H_;_r zMEmSq^LD3A-)cAj{$y{rkv>lN{jQ%n&8O?(4fp z>t>2ZrRo9&{93ZDv?FG0Yr^&)qp#%V)@&&J(#cxASuFc)5CUA}G#L^ zw?@`l04XEwU(D~saj9<4zgT`=Y3+9Dnn$*{R9D`6<|l$h&)?-&8g^tsbs(k5i=ghycmpq{=BMDDb8UN=Mdu1EGnvg-=e>Xf$f1wIZyo*;3CpQpjRqCe@AINoCF;;-29kp7uqz{=((%_!~)!*7b2zCjS_c zCxhiVtoPBU=glU+d-m*32D7j_R6G(-F09$atF|UmrtWOfm#euibL~59p<^N4mASE1FB1}*X&yj~l%cC(FV&)4 ziOS7k%iw)}Ua=zb>(>j(?STTv)q;f7QzCy#d;5f7Cb@}D-vyfU=a(zZYKDHbL>MGb z?ijraNTC3MEMmH*H-5frR?wXL??3-+A!oZ{yF(aCaa>@5`}fBl zGedc)qs*q-FyIJ%R-}}T#W=gm0e2`S_SS#9%-ceHfW%snce37-&on+dDUUS{h3&h!* zn%60TwLC@-m$C`bmXGnB_t?P8YX>}KzW4U++XnzJC4xnDCFp7ePCZ6^vB?u-SXcGx zkiDtSKuVi5+IVH1UKa9&i0ZycIg|Hxi?jUG1?+8d^m(V}HMYyxXWPHlNjK@R?I>(& zokxk7oAv}b)c`k!T@Ms#a_TecYiCLjsA_R!hm-E& zDm$l(cI@2wd=0;1`+X7ZipiOoNK_))D7r_Vuiy{+@Zp0?>H@&L(4IXtlhf0NkK7HH zOrTT{GMLzG>V3AUd!Uz}>*ISuwFErC3UY_8j+wO;D2*&2kcMp-%m%uy*PGtBedR>rwkO`ysgCqTXLvhnA@ zXLy)ShQ6EuU6SdxQsd8-|4X%xX4~zs)_)9cDCa8uah{p2UAOZ<_fFA4MzDnzyThgoVA7-}(&gI+JUg$&qyEY*&#W)n>!I60oPu0?@@J z!>(MrGXhmQPftESG+J}ubj!Vazxp{OnFIgWet5Q1eMaLgkeWK`=R1^!{EOX1X$c6% z%&Ga88#K4{kIR^#`b(X-;W88HH69t&f2wp&$oR9v=Qtt9yoLE2{{Cv2!wAj>9Pg=~ zP%Fh_TxI1~WZQrG_}h8kr@<~>_Twwm!CAz$IeQD+C(HAo%0%%V7#bS-BP}W{%#PCI z05bcLz{RSI$6IaIaUUw;H_Wx|cj9Auas~_*x^isv&cC@YQY8T{p#gP&eRkKeJKGG} zfT-)wc4S*MP^fi>M*XXE!TT6s?a$F&+xk3cJ;8cLZ!hld@NqW+@3;%!~De2tf{V6ty7#yp;*n&PPw_RnRu}!7O7Glv{EqcO-L>5AxZLyMxOk)0|GSZ z>;*&(s?+d7>X|%iWH7qD($exKuTpA|P?Am}onl2&v6GoU%1cq|0CsDpW!-SL9imzj z!^@3YkCV^KY*~nEoEl`a(|zWq3l2qRlY-?-UteE#F&;qD>C}koaY2ii*lCUCbkk;J z4nb;q>AWYstu38_{Xyl-ex+~RvgPTG8^2JiN+&4&2+~OgS@9v_rfH9l-nPc65jDt+ z)0V|$sD=O0KhEm4j_w6flY}rPHnCyD2D7N5bjEnZ?A%<`oBLRZh|Pz-%L-H#9!t^B zc=2iC9S(*d6@1xgu$6>rQIC|CO-(nKDMT)M+($bAxa; zsyV6_Dqk&Q_Haj0>V)N;ZBh@SRd;mwNME6ZraPY-=ZudeW>`0gGVrA6ah5SOW)DyQ zW-+6C6uZ`JDuBZK19gXDQIPiI?2J77?n$*_J}B$&=Sx^EfGVy~3(a@`YK_4}TuSWwZOI}c;CGT%K? z<{-igZS_vLKBxQ^J3yz{{o?t$=#HKM1xbce&k6b?M9C(0fr3bepPSp8kiC(d1tb`? z4F6<5UXwx>D!=b+25JqIMW<1&pW%L>%Cm*ybI{J)yO{H*fmeRd2`%mbg-e5BNTihh z@fD+S(@H2|ndMSLJ?vvn-1b@NMXsz6W&Pl72tPWNcX@TQFPvJoe7W4AhZC^@iu5lZ z9Nd!dXy~j#?jd>K`Qmb?nSvr9L(0rvkOQ85QErruGo>AO{`u!;a%4%7M)nd2qW*%u zXlDayM!=IJH`lLPv&N-BEOEXIDL<}FW(i$>BF1}!>Niq9v|^~0MX1$VZPD^>Z$CYH zJzl8gtk{*@I4JNvL$J56F9B3Rfl=PY?qjU8*$8qv^mLD#>jhKnj2Od&;2}>LC=bPZ z*(Zi&X<}fzmjl=$vhfjOM0YeCej8X~3JJpdWxaGXEMy9@1}XS?JPzXzwP|{Lt_ETzqYcLDmC%Y0U=* zPsuoR>L9rV(bU(=6YfsRIt~G$rzTt*Fo5n?sWfrQ1J`2>!~^4m^uxDgM->=E|wD`@1}uYx$o!acPxN!uef-+)Sh(L))fjr$(86tQFUR z;e<4!Q;=H?QHq@ejo(!2>kED+85A?QD{%8#JV$%qeDAIl?3gbLZhar5mu})((B5?6 zxZCPgtDFiBeP6+7yieu%tde(})s(1RxigGN3P=E)opqf`H<#W9#dtkXRespWZF;OQd@ z75w!JZv$(>4+zUz6iWC>1!@m!#4nu@LgMF|Bs&qt=}Vs0>r&@B8K|_a_;? zGR>XXxrszHh%I9j7xQ#_0Yf(eng-F>YkB2#>W8+|SO308Wu)S^i(7gd!`8REVr`U? zZ)c&wHXfc7!t4Oy8)ll{1d@!yh3yg()4<*fL9ze~o$A&_(?ec71rX#i)G9Rx-h@u) zZfEyyyH5ws9smnu)hZ-KFDwy$f@C>>l8YDj}^Sl7h#e=Y_?oL_I@9#nD?xBKuIpO?El>X;&VJXjIJas~`rrd+l6f<8rzy?RG5u=#e$?y`E z-SUSluzNk8Drc-glQq`gz?8`!EM_o3vzsQO`lg#-ALY7yoI6hkC?VMW=TFG|4H<&e z-NuF4D1n}UUwMj`kzAB!TojMnO*|gJCu*4e6vsTI*K_FX#a!DKb9<$9%BvXfsgZ&d zmXD^evy$sTBNZ>yC49VHt0aQGhF+S{`~HRmu=`YKT{WUM{Es|@BWpu?=Y-}%Uc8Nx z*KS(4Sz72j&?pkBG#s&BNRUt)FUI*4JTJ86+TFT+y8(O_`SmD3jaB>T19?T~*+rJo z9zwcvm%ygx4J!!-D9z^sF@YCzIShcJnmKsQXHUL-mGOoRr4#AKMIlMe3g2bUmn_VC z5snr-wbb}gAlwFcsY zWNFjcWRGD5cA+LCoAB1}dn3#}X4JpFELAejNY}J_R!(*Xgo~(y7ym+?%|t2>D(>GS z+u10BOiAw&q`LtR+lN!lE=2Byv>E4u|oW2yI))7)ftz#DKz(-Z7; z@CWjZLN2-h-K90xE)vl=7KODa$b4kG zQ#v|25pCxeo_PZ4N!HoSKRxL5<%ZOH4`3_2U2ucZyxZG0`^~@qZgJiE=JAwHk;Jl{ z7xf)w_{W1*^*)Y`ZD_nJ-~42}ZPj=|GOH;$A-!b!1X6;_s;xl-MP7LBzMe^8jjL9# zZU89KiC5c-TJ*?ozx_r8v+7Ll>5TkyO2?tPCFkeoQ>t4^rRb9nPRuS;sk_nLqmqZT zy%f7{Hx72&mvlI%vuQJ4>8hb(+YY%uTeV5_i{w=qDK-Q31$cM^BLDrfazo=IWj~7Y z#LG$#8Cndpxud$ey5G>2|A{?!J$p?%2u+<-Ln)$vfquwhLcSEJvNUfOhc2bYxigqO zOL3)X-c>khiU-b_{%|}m6iNv;t9xc!j3Ny&y{R50e(Ey@z;BhkneVzXa#T>+g`NjT zlZdB9b>f+I6!!YyGdp>au*`;qE{R}U0te@ZWDaScE8XcTBU8&ZkI@kNh9_=@) zc&d}A#dI;=Dq*hTRQM;VhyY+IzEjXuv{C&Fc0|`nCZ4PbZoJ!?YBu#%Zc zj8yIrysN4cKQ$FQHHNd(1$!y+!Vn`v>CnCcSCGoo@$#raTBwePnSZ&_n_+V$H;^Mw zk-^(TY3<2GD*gWXm8f3Y1JM2PFc8dvZPn=E``4^M8|oLOBYNCyYNUr6l2z)q-cJxw zB=4%u%+l>aZPGxjOc#lp6H)C`gK48;QtYi>UiFW`ZZI3g-9|e#`x$QdO`Qb|s}Ii} z`AqiyejFN7vzH6^z1Eszvm1gCM6M7ajRzOz^rpLb*i>1-UmT8}eVGacjz|TPhNW}k zk<}8(dg-}*r>6lM3if1qP1qkjc5DFkf~ZmcGw^32Nr?;V*rKsuEAZ|) zW|ixx6N-h#PJ;n)t^EA_4m2;()S=QYPEk2_GnV9cksUie@^>k5eT+Fwh>B+*GBvMU zxl(v(D1vCypTE9F{Cx^)IC0+E4fLI02j8+G(Vs~K<9th#7nJeTDV%fMUG!3b2bg?U z6=&&RLqtTfiMR@?@W88X4}Jb^p${O(vlfO-(=`VX#+cX2jWRUb_MLyTF|^^|2gnLg z3Dult7H0dD==K5rs#Ygry@nPL{0i1A5J(7gg?#>gVCT-AiAi;xZfVo%^ka8<66a4aw1bE1l3pY;LJxK5*a?fx~-dW?kEYPfq{V+BB#flial1qbCZTs#yWe$?d_0FmvrLj6qa-v z5taS<=>ytGm9SW8cs6)J*4e!A@wlUZ{&|`6YX<_vz_(B3RUxILjF@^aHarVCS8E!d z>ZM2ffc-#?YXt$&x-B=g;Xw~PEhv}*U1k_V0|gu8FAcs!ZZ;kkfF%V-F^EEga3R(= z-U&wA0{T(alxt{QS=pbg-dcHfaV(g%U4Q)X;*(p9g3$t85~;ssE{vCTl$R?*m-E{nTx;e*6#k0UTTRHFkwQ7zvt~u7lQKY@705f2EYJ9zF_CopNe~ zYFwwdFzbvUrLNUVLXO+uhy5)MXDL3fIbr+F%>AjO>{K9$uc*8T$U;tviMN9yymcv; zdmPYpwY!(scB&AB&0f&_lEB^>%r4MUwyoJ!#T@1tAqwTCiUi8cXH4jOjVcmpKIdWP zX@L5$of@wa_=g4L&t6Dpy?`$k*sJmS8RrN)*Fz+yc!XCAL`sXU656_@N6W!E%fL%m;U-!XWPEq zl}-J>$W7xV+YeZ%p|)?!z@`Xgaq}GfJ6P87)LT#pdkImhTC&^HP9nq!aqjYoAS zgwR7}!pY$AgRk5us`Gl!ncNx#h3YM4HPAxU5pThnKdq*1H>-J~8d?J$-JTMT12qaS zOc<`ukR=Yz-Dj$2bHgL$723t_-zfn~vg7ls*R7L=&}jkBix7xRydB_`I`#&%u>O84 zX1Zz2mvOi81t48Z-e&A5GXPlIoGFA&89<`bT}O``IoK50ZeuUw__2(V7jXA(?s(V3 z!%Ig&M@Ax;Ll!7a!>-+jg7T&a(BM`jAMXJ<)&ds7KhPYAq9I!>alGQ?%P?T1XRlU4o(?oe`Dg)I;?uJsAc_>$ z1yr6j15L@PuF0oUC4SI~|BEJv#6^~qIgNyQhQt1lQ4Xz9-&NR6U8Q#a3Q+zyx{=tL z1~bvpb`h=&F{BBONv3LA-3ED|*?hus2AVtd)>xq;vxK80m6M3nZpjKfH8E$iKcTWkKs*s6OwuLYXJdv=y+IsOH-yHHu{1_DqcMgWc! z4CWEdCCQXN_4&3q4-;&^erW?G99cY}`Sq|#`eE*%()sD?fgpeu{pN@`(Alj-r&5uC zX+Z{$M`ctIiOBAdf&%D7$XG0fH;hE1csHRLnKxjpQ$`=*^zXpGarmSvzHe(Qa&y2lh1|0r zhvopnI??Tp(Qks344n?5PqI_L%-e65yl^jE!7I1C>kw!r39Re0v<>{;-wsENujO)| zgdwr4vqu(k{PY+7`@}?^ zV$C5SA`9eYvAjG#nQ`Ph{vZ);A;0l2HQ^0|?F9{1F{nr`{=$o$sSYE_Rz>gphKrV< zeMD`zPt48E@{G^zT0UISKL4)2r>Eyz>j&k8%a^$TQ68JKh(MuSMl{7ac?2T0NantcZ(kGtVo{TIlZX zUes|0ep$OV=WQ)vPM?3A`=$NP{$4mPGL{6tWCy%tOHnOe{IfD~Ftu&?_zm9e+il2! z0ENRrt@Sy?jGA87vBiw=-;j89NpSqMh0k~PqBFv7Xqy;<$S0mPzx=Wfwu*JGsh|UU za#0H%@EG}W@#}6cV^j*gi0dc5N8F1r!zRdWT7c440V|4OsEmUNOGx=#;@b8*1+;4q zVR|_o1pr23=_7thH~@>Bts9(P+MulbhCq*}G(Sc)E+i@{TJ>yifz1G*UCJEL*#{99 zkRoZyNC7D=z=~-HRg5UAVcII2p}C~`)ocTfs3L_x5JQ@q1EiqNL7C0vW-G#;bJ%b9V36ewyvgM|2+maALMKz-j5i1{DEnmO= z%6N&RmIU@P5f?9t+MBo`zkfcuY}qn!ohLjeI^1$-GnY2)HEgtML!e6rCqUre`t|Ew zU@_vAb9vpL%)qBKqjcm{3CDcBDI9&0_!G~aBODt5Eg?*%;jEB4_wq)zOP_KqKFu)W z+;u{oL51kZzo-lb<8*>XR5n;Y@I}HcLpHF*q8x^YP2&yXBtr5dyp-|n#cE`hAW*9p zf?cJIRRPyYJxmH}uzb3(-oX5*3%}xS(-Lo><(tR+w>$!e+TL*S-+%udK-ohGtzhgm z80(1p3%~iE#P@zXt=-E1t}%S}_m$=Ac%FhnCO=A4JjEJJ~HoAe4Qz-D+SerG;5-K+szweRbky{@yei{7$=x{SGVQTKyfhvl?>XDHJ+AEY@x_ zf4nXoOwRxqo#H-^JGbGS!n-3Eobnt-4z=YGQdm^~*~8DDKYzj7f_1w9S1T(>@V}-;cHs$zP7fuw`Md?pnfKfTHLcb3bkguvQU#2N4 z23T{5q_U|5dC>+gAVdI1xx9_!moBeZN=*Kai8$4A&b|Jq3*(6j1LhA-vugzPV-@Rb(ieQF+Tnv{P zX)?fL z$ByZ@N7)Lz8iLHbasB$o@Ks+xim^(wL~cVdcppy8`wCu{;66W!O6!urI0~#@VGv)BN+r~&FSEDNPBcGWo3jc{u&Td`udsOSm01>BB-?4|nz^UfxvPG>gC^RQ<|RNM<&u9Z7?b=frR-04GSuvxY^NQW4#SV9ZP& zB;0qY56#2FBN3n&{+UqF8L>dvHjvs3OS}uP;1uerl`G%Fuxgxp5uFv&NGPNO!LLWb zbL<_KCRkXL4<2;`WTuGyX8)2_C?sA~+J+jgxPFpbFBzJkAk*P&CTsXnaUWNE+M-jn zfqR~Tii&^0`ER7{it_UEMbAhzAwVeMH*VY*v(jG=rP7}QJ8->M8tbsaF}Dk?*@-CH z_X9o^^%bJM$)5Z%9FH->pP+#uK#xU!rnI!QCC4T-#~UxK=<4da55uS~hj@D2-QC0R z(Ax2^Ul}T18q^o40((~ZXcnvPPZEn$J&mbNlrK z32REzYXEqH&TYrjvPTs|+`9#60?6?OKm=I>M&stqn;9YeFu475{dzd5$f36T75=Cn z-EYm12yprS2c^2_3SnBy^SL3UB;|E_ssaaQX*@W%lb=6k%znM2Ci4CcI9V9e1Ihgz z8}r}8s7@+x@h0KcCM{Nrd!4|pd?fyLFq{2gM6?m^8SNCEmdgA$NA(q7=44CVotI0k(n^mB7=-B@THfZ~n6 z|1N|}xbEl23b%}Y4?c-qJ-@geP96Wau6+gEErp#PeY{du^+&)yXtH~`CcwD~5C{rr zZK*DJ?YJ`D2k31lX@7!hrWq=oVpO2D=qgWe9ksy+Hd9#zmf_1AWq`c^}rK^e<00Ug>cbn zxBO^mL`%;*tEjo>zHZB@|LI&rGb7oMQugiou-l@Su>lrLt6u&?5SQH#envgl2#<)wD->1wcH2R; zfcfgt8AqXmP&J1REf3NJrl_bWdh+3A&#|wMVDA(z2moXBwRB-FoumOgZ=#x@_92p- z^1+Dvuyy9xcNhW$?={SJbWb(f3MPrvTK$(khEH->@Vn~1o%aNZ!HRP0JOweGJS4EM z=y>q=LEk26sR0W9TVdlUO5=CHS3&Kib5gz_^U<^XJ$&nSp;n)D{4xwtD^Y-ndr5-ogDV1SyeQA8?Bnvdh`86lj zNg&X(giDNe|GW~6&F>%v1&;aeTWk>_CQ>U1A&F=5(yGvYyK>#SOHbMGB*#N|gzXx@ znCNX*?;c*kKS|To>Y^1I8Z9Thy69?P?+_jDkj4NcacTU?&9y@BpzbB)3Gh&Fe*XDq z5YG5!y1y+iy@B-(H$WIf>;NlrK}mY)u$vR5V3ALxtDzMZETtr*rfg)+fIxF3%`f|e z$MDu_$m(|}aMxNiAe*CwaJx2SUP1*D|4l~>*oJ-d8m#aGW=mZlelHBp`bcmjgl&a^ z)2zF%&ysgED%zuWYj;o2d1Poy6y)~g5Aonr!g*w!^4pv76xG1i1e%k-gnQO*n~c3J zSY2~UI9TX2=Z$MW`SjNdY9nt8R274NSvPt~_&j!GJkB*13<6I%O9mk#`2hv#jjsV* zJ?WX*CT)9xydC%wdl0&ODiSaXOM>%=s$|DJjw1@bR2b{$;E~e&hIlxBnqseKZP~tny@fa zx^RGA18l<+0=Ip~MlqugpIUg(l_mkll4b^thz^0~owNy@(#u? z?N@xu7(Wkd9{LWn5U&|CoIOl{aQJZ|VXrt-4dT!0Is;rlvU6YlH_gE|pFtvN zphxvt2peL^s(&EQv!1D+;8xEmT?bmx0?}TBr8NCj0DV-)j>!!kKqG+*x(Zb!NY>5q zMicrmdZK>D;{x2DvN2Q$$?ej%Dw%t48W*}$xqEs>JdkxRG;&ZnKKQ(wbjrA*xmSwp z1bPiDbv(Ie;7X8%jjlWs%%mZA${-pQ%L{?4!_l?2h1v_0EDgtwA$>^DAMnja&>Ig)Hg&E511G z&%?tS4A)*c(~zT+F;Un7sso9Tf++@iF0jeT@N>+rS z5W-S|#8S(^nRdv%`bl0{2R$udQUlG2(sIstp|ND>(*OWoRBr!be*^GD_p?JeS7ubj z8DFx+pyk2R-+~Bt@OmROD6p(SD5W-R+h)yMiJ}GI7m}24L0zLhKm?>Em2tq6ge(==h8=6iljgsEB>pB}h-CgoRo>8%5PCSJ^hJ}LekFhd zg^GvlCL5YbGvO%BPYS#$oUfu;Vw3`cualt(T6L-Quv}}km+mGEv0*OAS%ND-8*5_+ zKVZ&GO(mjy#bk!7QgzN)t1q8E5pT|gv9Ip|e%p<6D(ClAzI*r1yc$@kADq97p?%B* z4KP)sZ@9p@Ptu}h3n8xIy*mw)aZ`rbaX8ipww8mZSoac^jUESV_9Sr*g8M1h4&Z?l zqrnabQ0p6!s|jT!9=Z$Vj0G;rlg*eIgK$W+fB~Q_5V00HP4+NS-nx176eM?D5W5>E z?36-bc>Ux=E<;eHYT^`hT1r0<1GYm45*md{YKsQB840iO`vd5$qF0;cXGP<*Ad#sP zz~Q0J$eM-M&;?AGZjufa0dU=UcoqJu|vvecg<&u(-H5huvi=?>4N1 zjfukR5z=^LL^%TyzKUmV0msFF?t(17u^J8!&e!+KP@x-;Y9ui>VUxIt5pJO2i~}P$ zX>Ji7@pwFOTgpXYU*lGMhkzn!`IZO0g~tJklTO9{OGFx!31>dlVSP99^QYs+cEbXF z-Wb8H0aXLIf&F>ed!hJiRHH;nfOQi3#-3OAPEU6&{i(})RGr{9YKSwZta+^64aIs- ze}8}Wp|cluZFFRy>2 zrtznQKY)Gu2V;1uF9Pk>qtwoQgm4}OqOT;)~>M_kE-^dMuRL+I>f596| zb(%q$Xs{5&?9Pc1a8vXj)u1kW0Zs2d1v*SzembOtA|sQ>M{aJ+bA5t#3-ay&)+tZ{ zcoArUaG%7oUVaLkJGIgs60|XYn|TZ?-ts&3N{PTar6m%dcoe z#5J7Ss5i6l{4js{^0IzgzVL*PJ0uRwm{||g1`%tBR~M89k^P8!7!CUqF2&={aWGX; zI~{|*j7&aR=+Fl`DPT#rr$W&cMKmE3INV6%}%JD4e=% zfTpI=?%Mt9LztZPP#8NVIe;CEP^1;&k&#X*!2@oTaqCD5V zLrdH~?)(TE4Y4f(kVJ)GYiHr<6@qlH{<~6fl{8QW zQ)1?Znx4R&p;+67KfsxQWF&56G}Z*2yBvynKh(SgSJWF05fc*+2WNaT^N4rAYTXsI zD97RvB!XEWj14jMdy~+p(8%-x_!M+tCP$8}i5Rc6fA{b(=9!#K zVij*krAkLT0r8+EoRmuJ4mQ%v`g{ToC=QZ%vhTt?Q&Pw3BEke!3!G1V@eqSpUg126 z#koxcgdko=3YC|Q(6CViYQ7G%cS#7Cm>pt(W8Z}6$N`&`jE6>AtaO zW!Z3M&%wGrGBQ%X=tY|xlyOGwMIZ7bCmQ}|lm&G3<}=fblOc&D0a^fWhbgxpLJxrH zIgLhHghVn#0H>0$L3*(3RovxeIXdqYAtwqIHqyEvVYXlxjDQ~kOWp)(dSl+AUUJZE z9rn#eKE5&v$ZM&>FxocDYDyr#IOua+YZ}uyA8>#Uw;OIKDJlSViy`+ zYof4oacmMOvP3+;r+6*e5ga0NOGBIAk}(@(8c6kT?}%f<@H7%Eyp$JkD~X;y&lwM@ z(fTO|ixeD7kx7YR!+y9{8^j-ifZ)&uZ*`D7O^{|9O)7RpAc0PT#JLYBMvx+S8kJM0 zP8l*hbE?fEVeKL<)@1MyiH1NAjR~6kdyVqnS$T$$)-ST|L~TduL_;S7s?T7ukFd3q zvEwy3F-pEB2p_s=@ryb}?@9#!Ozal84i3z4WIPc+Z7dKQ_%T7=nFK}=$s6K5Xc1O& zdPzNEEg??8)yux3wXEGLaRh8DUYAVbGTCFqcY#Lud!N@5RLJ$``udr~)UwhmpwbH3 z@_<~+Yk=4ugrGcYQ;`4!%?ZK&0mj5ulZGsj6;fGI5dm%obo5YL^P_0&=S~#~e8d4n zkc<#gs~(zLz;-NXe_Jw-@GI5~lf(?u zCU7z*M;_>YD?&Agjc^x+jTwO=MDBhY28j?h9t02%x-xo7hIL?>6{zBY>CvhK*XU2d z@B?%~KTz;uo`n^vM}l7Czx6;$&-iFI2)bTG-gT8H(Laz}@{)ED_A4X2)$nKdKP<0O<-EtbVJP9a4XE+OPEQpHxS@q4BSur0bI({A| z!6KePw5^SvV&>fmb?Ov@3Vxl!wrkz80h-I z8wFm8E_fTMs)X=s9cY6Ds$2!Tc{ZTQohDNeW+z+}y)0H1gHQc~tbKqg_LwO^O2J34%iciXDaLt{5W&+#C z=wMb|1j6}t%x3@=;Sasyh30iD@b{dEX7s`xniP4<6pMu$g z`_N+k099r#xuZpr% z;|&`(n&YO_0B>t|rx$;AdYM6sL^37B0GUTa7JG5%1Zw!u9%OH8!Yq?Y9LWrDe! zL8$0(nw2uxMJwAeoTTRRPfOLn1*oIIe=wjT;+QvsrZF`H%9L(029fZx{qV1}z?`aU z58}>(45dLz6+%l7nUnJcUG*RkDiO8Ht^RR$B1Ta-kknB{MKJ{xj{~`=;aOM8&%mH?aYIL2x%Y z5JhPN{Exw^qK+~ZVVa6lF9#OxPqz&dt{AkN5Gq#;V`~uEp(#RMfS5_fLxh2ZBeR1* zklUatvmmo;BphXW$M1w-0LUns>BHcnh8NQe(aRDLvU}tMYR9v1@K}-u0}t;VFrOkY z2@&@5=H0u}FugjplIaA*rM}1;(gHXBa89@%1b+~U`I}k_3v1vY>c^TgQD(cM#6oAW z0wZ#%i~&?z0_$NvvI5kc(9wgZnL>RP(V1pBeXnAoU6G`mvN_9zLwSonj;h!ze(_7V zv=--`A=Hp2UyMz3j3sFn=bxz@wpg&1F?Pb%5%&}`CeasIPhcDNdxD$u$K{CcOl*!6 zGT0ItMt=tn`3x?;m5Tun#mO1ZaQ_(i~C?@G(M%B}Shl5+S~=jR@n! zEDBhcDqcFP1(l_^kM;p`HLF9}o!e(_c)Xi=f>PxTW=6rnQlG;M`mPBjb~?z+Bs2h` zgoVbh?cy?~(6k+1A5^{~;6aGG46PF^KzHUK=n^7+^D25zMvt#Nw1yZFPzs5FA4JTz zh8~J3f!@s==sHvkxx-k(#eTABgnSk%Lp>O+kWa-h?GwHL!4^3faUP=5W@S|J1))er zC6|n1&ITqIs(lt*RA8Ajpab1ULdIazRPt{q|JL=8fgIp-o&q6Z^yWQS6JX`grWKP} zUmTeixFanFaSDEOIP&rCjQ!`AH_6yp4#bVu7>!D*YVg0Vuu!e#Id~F;Oe6TbhNAF^ zCLmHwJtVYcUZadz#Tsx{U!ekO!{ttlOhYYM$5AwTqCK6R^cI{SaZlkdkUB$1Q#+>2 zJq5E%T2;@q($cjW0@%f)cS%DvWGzt)7)CYC)YeoG#3GWRq{Lc<`(G$H)_r9^2H)<* zbjU?F4eU8^Y2j@fG0gK0pMoKVvb+Z}W*59gv1|ZpwH`C*o`4-of|ecGz<9Kh|WS++#^hb zx`1i|)QI*i&d`SpWt2lq4EiC~3gW^c$|Jgj(osNs1>fP+YJrVTI$KegJ_I~Th9C+7 zJDRXSc5S(`_vetsCC|P51wW`0-%UdXWcWWFN~YprfUeK}@sN5j)VVBH9L^Ck>C?n# z>O7uFjiC>kSO}F#fC6@23aZ<9v)xf(%T>WJ+(%P8j?Qz?T$~rH#lK>65Pujd1x%VG zovJX3k@ie1xyI;?5sY9u_;U+}6r2JW%mJH9EKi{3rj2tZVg@VmDs11w#EeWv!r;y1 zQLFj47Jk$dqYewn{rk2mKFynPOH$za5tT!KBOpZ zI)KvvmZ4o&VZmGpa9z7%OO91Tg@|ov9I9{@#zPRQneBDv+usJDaL}NZgh>m>K)M4* zl0mAdSc9<*$nfYl<=ve=yeQGtNUQGnvyPG&VENtPWXPD&hD)HbLiY=)YpZf`2Z4AX z<9i3*J-UV~)52%KbR-XIPDEY1+6Wz_2yJAo$h-<+1N1W4LU=irn{642d>X&{x2u$UbNwWGd&va|tGa{|}_D~M(o;HuV;TR#-( zgT0s=UtERh2+^2_QyV2OQ|n659{1`cZgI(wM^x#E;Pg4`OXqGTY?4LuyxgTh5_gCP zm7I=Ce4~(}o`M1*BNi}Dg9P2hQ9RHJquvNfO}PJTVz^szcis2NZXs!vB**c8GdY-Umh*%ia{ESSG$ADhq z%7QDyO>|)&N7bnW^K+>6m>I*$9)4@NrG092M;%qXV;xuM9)mxsIIho22H#HHckvQU zgjLfT)w+Fw1s8V&mhS`|&C%W2X%HmWo!9CHbIXL&X$y=8f1& zW zfFdA}EE7#)2L-z^fQpC(1OyaJNL0iM2qHy|SU`$}q9Aa77s=Y?%?bq7wu49a&5Vm;^rmX?r==c$9s(z;&ikHM4J$d1 z;12HQe2pZg$T|)jZUomkkzb|U^N%@bfM%{i*(2rYCQ=hb*zLuSiCtM{R=m&$mv#gJ zkE8CpHn&DdKdK%NPtSpa=9D78@C1mIFNcQKhM0{$=N9oLMFi^u5%cz|y>E?Du%@IAb|l^b+6w@w%P~Rjd5f7xQ`3T(1s3$XX-8`-_2qq(HL! zxoKzIp5yN{t`kXXK~lw1E@o_484vIW>A$S<)sY`{#Nk~7j!XzEM!jG41iA_3?c%w9Z>%1F-|U_+p_oFKws8%kvJzVCGo}u z+{o$3J{H{Q3qF13*~PBnVZ?`^RXnh`PPYcUTsdLC)@j4mH|za{cU9SSf~oA@`dw!z zg6$*k>;wEhSTLZ;x(yp{z^`^lwmrUZHge#%LCzlSeZ#%_`NJU915L#+21koKDv+92g$iGqP^hn6aRURC7l-77nq*N*sfOb&_d6XGMf0^_>XUB&EgLVeeHq z@8)Wm3Q=)`1yl~`^ax145M7T7ApWaDbV&)1D=e{1f+<}`GgJDqdAFm{<1VjWz;*QX z+K(q*{4^JzUr#+qF<57+OXBVG^2m9Zz3S(C#||7c$5CQ)q`0jd+Q;t75vd4JTQ$xm!@yGKPTpycazZvt zzYT?xoWwqphDRD~qmo1rF27)M^scixLB@)Y*lOU4atu@{Q9rt#Dgcn`FENT=FvaY- z`?d9&q~kVKx3`+n%(=&X=EwXA!d>&KDwA@0x<_m(8av3>)kPjvXfAvF6^g~u+FV;s z8E9V{>$)J(EbG_@$=}UOwrN^)wciW)$B9viWYC{_l@;SWyTy#gg9Z(Gapw(@Y$_W| z3lGc~tqCC<#}|0$oHt6mJV^wL{G^oJH_%guM{w}@xmC}wfc?VzyWyjcJ_?osoa2rW zF{$t|;e-&yFHWI8zXAOg<$OCYuE5)b-qHw(4eL4#A_Qf^*uzdvIyVf=s6*DV*Q^a5 zSBnsc%}M*24zkA^{i<7C{^8+*s5;+2#`o;)_38EikD2Y;x8Kty;SszxE2!&dpWWSG z9p}bwI$|0I^?R7e)M2b*z(FgXNr%C$YNnCmUJQY*@)0ge(;P667^z%a^?U=Z$-Q2g zr_Y2_lTE0{i6b{%7<;+5@;oqneaV^i zvJ+b(^p?Bl@lCslrH9d{a>9A;tHh7DvPwpm_7Hp@% zI!c{-nA)Bm=9r8;3NzL9iBG3AR4?hyun~7Q`sSb{Qs1g0MDAbMYwxM$3Pqpkv@iND zxe5pe>N**RtoDA%U$r_@7kt3^__)laG3`_Q{8w%*Vkz4MK&t&X+{`Krpgm(z4i%8} z71wByumm}d`Tg1PvLL{8Jst1omrax$!3`F~wip2>p|6Zs-G1BhhrK;ku6%?B{{{ta zKO%M8kcgL+VNi8Q78kh8a7)=*ijX@hTHMS{#7JdMvpMpGJmP`JU95 zinr*OSebOI=h2%ZCmnb&_^F2JaKeizB{0}`_K1kMT{Ur=(~XCXu8o^xU^pKsWK^QW zKd+VPO z`=H$>C^20bfn0Lfk(YNi>1)%Rr<+tr?)5A*5+|sRAKigp-WWeO zch^4gEj+vuZLu_Ciy@HqXEJ{aU4r*`r%$soG4$gqYf4<&)4jJUf2x>|&`N%EG`85m z7pf9HI_u2N!yfi&o|Zg{Otds=tyxvG{AP~Z)vm^Q`q!K&!KOzni(9>PFQh7$$Bom$ z0ZW>i%rypWj{0}=aq4!NR_ATn6tS)!`m4e<|mvq7&VT|IGqzK3Z?eJwS#&>h<5Sc4doKb zJvlaoMR9~Q@k5l;!dqy+y{0;z9JePReax5DF4Zx=;A+>lQJsYV#C7NNOG6@ZeH=%H zsZ@Xq9-A^1+=$y)m;d{X8;?yJRKy9PGm*}<{T_nOWcTKJ;&6|SU)-Ko@#NF?OV1A# zi>#_#`D6SrX&ftYyzp6*dt61q6?Lh$&fIZ++X=e@ULH@gKyIiilM^c0Xz4i2uwXSE zC@XQ(-7K#5xmkU^_VWv%8XD^a59u`Y04G2w6p7YYly9BScf=5Y^Gu*8+x_6zs7)m( z_F`!XyiC@*O_guvKbGv^->4c@zRvr%N31UYZjsKnhal-3&HCI4@f~4uq$p@m+B~3+ z%I-^hf)~=Dt0)P)n~mtf&?tFr=h++^@1R0zah)&u%bcy5OFZiea z>L1UjDp^G1_!?8@;09^#O|dw3xq1r3ZWFlwZH|r$M~4_j`Kqi*1$jSNT0j9`h}?b( zM_p^5hwjCu?mLFt`3k>_?Ym;A9HrCk^Pn z5AS<$cF_FdqM%H~r1=p?>&4x!Ce>>%1GVJ1+NjGl9K%Ep`&^M`G`BpG%A+Gc@APn3 z>B#w(5!tA{G7q0`<8v!}AX$>R1V7pDiZ|_8{e3apYB41aX0lBDeC>PoJnyxe%@Aw| zZD$>NG&}e7>C+nEq_RT6F|($Y|H;&WTeDjUOg@_gjLxr)1n4-?-&tEz;>rwDVNd9XEj880RpN|5phS z|4t!Q255Erc>)i1QO&3r=c25-8g7(ujHwA$0zS>5!7{SK;iE ze68{GPn>g3P0+ui=hCnn2MIW*}AdM%@z)2X zUNl$%h2EX)I6#zfXKcGp5*Mk207)F&UIwN2)QCD3k5Zxs<{pV9p-+^)pjxb6D@+}K zTm1*0P6?do8is<|6Un_Rj7#^+VIHBSh`;S4ew zIB+^m&O|mNzy)b0{Omrx;CxRNj~NDYL2g{;OzF-ic_rmw)L8R=EWcD zL^4D>-#!YOW)FQYjUNNkWGjp*RgT5V@x4MCmc&DCq_zmvQHEGL$u`#P;ea7@eCoi+ z(fif*r9@zG1Pag)BrZi4x6uUpBCM`=detpLUgz`b=|~wt0c+Ag_rs_!=xA+jo%V$`Q1Ra~vDN19_NqHdjD9KOi7v#wUCsV`;DQ)Il;#QWH z>t}h~|M;sBBk}_8t-MzKl1u}1est5&vb6?nGoTw3rNa3*3zfyF2 z%AKuKgMgny$W}W8e5+0nPD&eah=Ts`?8MqLEA}Dg{}~j#GY?6vG=DdkmAeR*3X8); zz>g!lT5Ou0*l)?r@nqG(F72UEaOysrH~8Snp03!dC~~gce^ms-kKMJA*edPIg&JrdSYT--!UsM+66-AjnPYS692(67Fn{&2t*9444A-Os>*2-+fEZSv`r%j(B0 z44p(FFcMrdlP>g_B)GI!7k8URVh}i{p&8HP@_G_1c};V|=(-lOZ5b_Ww$U|ewSituM5(g7 z%^FFr960Ig9S$5X_FO0wFH?B?Wx(5JTYa}y-5*-_a+B1QXuQ{+ z%^hN+0TAK#E+q&~eP+L23D{xUT_QbZ$n-QSHaORsu~rn$LE<0@=#<=&qcRNddDrA# zN*xk@LnpEPw$s*n3BwcTd426$`@9jX+^kU6z4D{eMs;ma=fpp_K}Vx~g2F%8-L=iT z+OpvDZJ$c;?+89+_bw%?$?qR^7 z7Tc3rH+XXF2}p&+)0bMms#ET!4m+fgrKW$T&NPT&*inPpkCEtV@fAQA;@g<%Y0@e8 z&*biR!t1q{4Jzj}cK@_Bu!;rO+1$eyGY(A{4yqM<56**LA zWoh)!vD5$iL?r)Q?f+HeH90c*s_XvusX3u}KHMg(^RSDv)5l za81D^Jz{KW$2biIa82XAclVV+LxqdDzjKuIi%zg4~e&3!UIWj>0 zJ4w!%|GXrJjyMt3Q}eo8HNDS9?6E@c_=KGa9EWbe_l$ww^k<=KQi(mp6abxp7Wx(~S*` z$24g&)82IHg2ppP?bz8hj?Js^9MWb`n-%9OSCz&-ob`uy!o%m2`NmOr!~Jg$!|Woh>ZRHN0|s2U zb!$5QU+aPO;Y)iPPO;}tZ0>u5awTU07`O3LY`$7g7Qzj*Gs_vc5gQw8Pc2A`wWvpB zdOC9s)W1UUPlMhzxDhb-BqMguF!AQact_O#azqv^FNd-I=1(6k9nl=y*mXR|}iDc6S^0gT$4tHapK2t89%Q&jKXCslv+*sFP0Mp&GWx$>+c#`*RXYSL|+H~&P-cNl!YFZk4{0gyime4H#9=q(o)Y0BpAi)R?|1I$U{*`J0Eq05!nsBsf51vC;*3{_v22 z5>U^qRlh_TTTsy*vPXV2D)wEkdhEv3qbzm>$BU0z_7W|K460HI$cY(MUUxnw_`reD ze#w1Y#iK~TghYFKqL251Y?U4cDNibAju^M9omaEF8%OqlTaw9DoE{^fLls^wb~-Q-Cn%upg?7WXc0hhN4n9d7o5py^JoJgZ2}6a+4Ui=Zsfd1nwgR0) z8e!M|_g1uh=+SR|iz}pkXy6vVOAR*|RuBSqp>>KfC2VYEzV|Qw4|#=CvEhF7;fI^E zZ6;`?gFR|tA>FIOiCGRd@koe0IGvs_>}R(ajZOm8vf*)OAS%#*BB>J0nE!?i8$`>& zweKpL$YdgLGYiT2>5jU;djIKcHN<ntd=NqyV6w zQ)nCXe!kl;aZyp_ZzQcKD7pMrLCKh>N5nKv=JgP4GKx1fnOmt`6VACCtetdipG^X< zZO<6vo=Vo#_>kmhFldi(Sos<1DY7oFY$&l6Pw3+6IuXpw1u0OMDMt>;jmqJ47+b}% z;3FYYB=Fe++}sx|b#Zaoc*|q=!)5%w(H0gH^`6;8Nf4>p+EUYV}O6Ixa`teH1sBY`0&iw zh-DtcFO?A{TL@^-vHd?90rhPS2si)+JLI>nua}VY29YJ4F%H^f#}fZ0>;?a_y6YyU z$exVBJ9^vvpj2w}K1Saxbaa%gzY94cx&CGkqBs5U!*v=eNt!xz>hzc$CR|r3N!}70q|-z09T(N8u()X>e_Bmx?Ruqc{gWE7?`VJZq2=CJPhkw zod95`Oqrq{U(-z>1Hw?IxwyGaqFL(O+MKlLFjh+#^S>e@Bc-cM2cASwIv_W?`HeOv zmP`8s`7lApiiJFpWu5=%(IIUPsHBeBvbIh0HSXN`LhuyNv5$`q?Xf1+7)@Ef=D$=1 z?>!GoJ2EwQ*IQW#9*qz$jH7|v#sm*tblf)!Vjnz_z>_nR@P+P4j_?>gx_0e)8MnxS zmm;OOzvxgcu3Wj|vSP&)F3Sz=Tb0@!^7pB(aMaFa#rX5{vUWABj3+z`EW0NLp4d~T zE@Wj{Q~0E_%oaC{EGc&$*mH+9F~No!VpNbZc+s!Fp11bTyLfSQNlA%cFt#@{i)zCT z9qcKe{1!wv+%Pw*W}lI{p0Ju{>ErlXm+WI+GgtOrhuky0R}D?-lhoh(1hQBOLPh4n zGvRqPk;@T?p>}xrbEHiZG0@zgxmTC~%!UVFmV$HaDLDB3cG$C$fx_ zd7I2Q8kr}n>#`ZclUq4BIK;-slK^wY6Kk_@24x&WmZrW@-IRnVj$4s3yw^*q4m!pJ zltEnZD2JmAlx^cDU?dSOSp({`TiXOUI=MHfb6j)&S9y-1V{9F6v$h0OiJ%520D%o= zi!za7mS&fweV3&hi2vKVb!#vutW?f;wWgzM(y_=I2d(Iwa-Oo|lrRP{MF6q`k!}7J zTPrFET6D7^1Tu5KT?JpU)jQ)+AXtI$USC?|i+u4tIJ#)T7<5 ze!z5r*8~)T%^zkop^W-!-9e$=Z`A09z9h~#jY`7mY*b~Oo$8P5>#*Ep9s7_PrfHG5Z zb9F>tIl0Nm$VhT6t|_CbQ>TJ?rTp^CFkHaW8t&e`n;NcXP1se75mS!M>OOMhNT|}D zxp5R=J8~a_mr$bjY5ra9fMy9zp}6*j6dQ2o2so!4mW4kxoZ(Z^hCBAGzrh-1D`c>n zm1D`b&;QJGV_h6a)o4Ew&GtF%nQOhGV|X6q41Uo0ub4OQ-~eEa`YV5Uc_dhrWUkb# z<>(;G{zyIE0MlpvG;pgj@jy$Rw#!%S4 z_0cnnKV+%$pP~bsuOAxaQ{$;0%KmO)w&F-dNv=aq|K7bPAXuAfW#z|t8p6AfPFrmY z`Zh@!sl2<-Xg_H6KmMU@RKt(aR4hT&5QSZgjVFU4^>u2BR)=8_qvKk(XjvG{XzPXc zU%EK;S^s@^+{hG7Wxwq^&pS@Jetm+JL|ky`NG-ZgJN`MpYU1c0Uz)c{OHEBblCK~^8H&>K`<*WA}z|Dvr)sS{(_V>AaV96>+8YYvh+F|YgxLmVf`QMc+D8c-S z6)O-Q*#=bf-WuAgX|#o(zrVi%pE*Nz#UDuk6&(g1BCmnNUV%{Hdbu zY-D5(@sY}wTA$sb<5y8JF`3-0{H5+H&Xly&`^dh5%NMWljz>c&r#||O9XZo{HnY1Y z`__~P=H%uY15Wdq1}zJzVy%5$_x|hd`8zp+@Q9D6RFN_@@=Rh>R1~UDqfVVV-HYHp zU3};4H>1alxdGz1A;p*ROd|8}Z(c)bHRe`xf&iqrM6SYw2E&x|Fx;o5e)Uhjs#(g& z1BJQQ6%KV{icVV&vQb2FY&MjrB-P)yP1i|>ej@X1TMwJ*uon~2hsi{%ki?@$k75A$ zJnriOT*n&FNSUKV8UHOm@<6t7zUbM&5kC0lJcFG5-Q53(t8N~UJHzu+C~4}(!zAAk zJTT8Cjohwz#KG+~v~3p5Bv$1ac+N>|*sz1Uatxf_w8Qa^JiPTi-@08_Q)(Kvk1yTx zTkpQ~?po+&lo*Ao=%|>+WS~Fqnmx2~Q<2F-no)ZDK)1^0lSpCdR$fW%?I*3;!c!aW zdZo_1FF5tbI_3w)Vb*&NK|V*{FSPsqM4?|LYm-V+Akpvux+je?GoR zTN;}g+RPGnaf3)$q8XpOzK@CeB|Jpbv9S}1;bW>y_}A)#Ax#Wv{D+oF zkG)uWse?mOIkdB~vsqOl6 zL{@O#p9Ao+b||} zUrda9Tyj%KM@My+(nI0sx#TjZ!tfC$AojSwlLu|)`t~VxjUJxRwTCv8!#|w5M`V`j zP)VYtq=oVm>i_gs@6!kP_`CLe9nFypLt!1zvC0eAYdLYVi{KcfAzt=d1rR^as~yk8 z|Gg(DQ+t{NnHb03oipcK+Oa8zl_=2 z)V0UVQ=ghc#LWqaZc7}dq=#_b{w|-qP48p9xRV(tm`*&MMk427l@~vqzu>p=S5lS^ zfBQlxyU^TkBQs38*)EuK>a+PbJ9g4o0#$<&3vet(yxNg4Rl!Po2Ziz%55zxxl%F4r z?7uV0S1xUr<;(xswTolyXws&GWEL8uoP7B(?|oDs-}%3Q0&t`E^&0-`*>#d);=4HeIPqy zP2DE{k0IqI!Bw5)&@eS)RrgZ-{Mn$Scijg~fm78OS|x75ZazY+e5tsHxz)xmj9uG1 z*Ih=~&HY=tcJV#)!JFu$uR$J$0uRvqtx!NIGR-aa?=@asl+Y2YmfG#1c=%6rjEjvh zO09FK@$~SpH9KV*XLnrU%6m!@65h=&#RaBa=Wo zUq_+&yJt`Y`4=~Y=+@Y6R>iJ8+l{+YTN>Hf+3D8h%E-&hJ4f9Uo`$KR3#ZlmYWAm= zngm{yIV~)DnR6~achh*Vm(#dS4(Td>S&(8)B`O(NJhPnQ`7RNZ7(~|w(EQBNf4TdLYC4MFzenQ6O*|B1(RiMrHudn)E2;+}E|O z^ADxL1QvvHtpqRdeG48qe~-)v{HT3FookCChDtS?86O+l+#<+yz<@_IhH0{Wahajd zKTP|j3TevGnMN~a%owwGP}a>Asu31k_)u;!K9n-~G?!ZairOaLv0a~EVhp{xF8DZ% zlueWilQY_$3RZF0(gj#O&%MJV6-;x#sA%`xPxtMh>^h9*fq%Of$zB*YtY(YEc~?g> zAu6D_f_2a!KPS!j%ckS%I}+_cpgj#eA zusj#hvFJ0*@+vmYy0tU!9#I~#hW6Y8)=t@}OB@~V1AS1z6@q1*yPBTnHmjlQm#v1Z zx>;1k1sIC9T0<_V>&7IQT{5?@NU7Kqn>q-mQ6?6LgK+JOz%Q)#rkDF{+_>@FE^|JD zYg{=c@3!EE4z(>u&n8Fo!J`*v&+u%+>9;P@=y5Ab)?JP!OTJRJT#8joBtg+UyQ6@2 z3eDG;A(h9%Fe&Utxrfh6^szy1g_OI`*jt(lc`t(3w{r>k>T?*b^@W-_PI;0l7r<@k zfKxN*v$vt3d&$H&CQ^atHNK}c-b{#uTMVhCH=7&btq?7|z|0yG*DbjNG7q#My|DZ3 zXuT&9O_7jBx{-@d3U*#vPk{)!D=iQj*C#C{zYhqq7CjZFYULWM#f?evnv+ zzEqln%0x`sw-Q|w2nz`;L6?q>qin`&qoTW#o)@_y2yyX#+1^j+7fW{{6^2~i|&@PD5Bn2TD|Z-V37zt$-8CrOrx zG-*B5XC_kr6XuIFmRJa(s>;gBt1d(1mp|@EDIk$g^MEm1f;m}cQ5sF1G-)g2pBAlX zcZOJygCDGOS&ZOFvgZ>E*8PI$CWIO&`QpWk1L9uU59~>wA*-UI*h&_TS-ki#tLgxd zuHGQP@a1QZJ({sDZg2zX1STxg)~IL*Gjeirax6zrZ+4m;=qEe)j-2n&bFam)>%hpL zPm?kiZeJD6KQ~?3;d4)D3~@LVf6Ga10r%*bYj`*{H}+H7Da#Qt7P62k?M^N(MX>w% z`3c6RZrtI0_}sOzBZgMS^fc!sr?FPVrsc-EjwI+&Qza&GHo0X_x3&&tCKZdPem>If z-AAModiuxj=gh525!UvWGtd{^yVLE2aJ*ZKfSQ^II4#bNi{djVI4kmT+hE_iT19Rt zcwC9>TvHkB_6;VzgeMLfvUTe(?M=`;-5WI-l!GGdY|)C!%mEuY*>Fc~XcC-zjC<)8 zdJ`eG%)g!hS$G|p;5I%Fc+7YO<1CxOg{LfYNwc_I4$>E^nAC`F9IyFBMMv)3xzj51 zcc0D3lakqalmb&gsWllb>*mcv>~4JPj?vjvWM`h9Zq_koCRkqYue(k7`M37XjcbDU zoktktz@<@z`$d{##s4>M+*o3F5efPE3nb#9qV5}Q58SBRm^UPga1^Ty+gc&-fk){V z9v=QlkC}&ns29ZU)2R+*N6LABX}($Hlh`|#ovP_t1ZgOQj45^R@ZTS%jFlTp`BCh? z(JCrfg>5U!WGzu^M)bhXRKn7miAs^1i6hAZbh%Gn`pR2ZQdkW~Nc$?NxCe&30D1 zc0n!9H#cHxoNjRhg!X*gIG9_VeuSg#Y;;-LJNDOPS=I;|I3kpTR##z%WW{X1=hE0( zeV%wrjoOa1+r(w6-X_2E(%U#_;%?p2lzNUZL!-2+G=svP>ie-5aoma5e%sP1%=ojVU6-lB~eBHWrDEPo14|NM1c4{iXv?NLQ68l>m$qHtCw(+pT`YM&$7LlI6eElxaDTvxxTNe zZ)RsLDtM6*o7+h5dDHg0rLoYz4_wCWZJdtg;#H?r=z67#rrLFl?>g>VAf`fu0^9cO zyFGkuJ)YO#P7eZ%&iek!LhVM&uF8Y6bBdFDr_3?idkss?{b5S|D*D=Xd{XNRUjYqE zZyIqjoJpt@_-&SL`ubotXM=0}2jkZ3q_h0=&)kwWZN4$9U5+oh{G{dJr6}K+V`%H) z_0K_5cajOv&j0yf!GroAk0xpM$VUG%gsR)W8AA2JznNL}`oGSsI^N))KdM24|GIzu z_~l~6XI~#&yL!(UC->Jr`PHj_I9C?)Qux>p;(Ld?#DAc-*C4;e=zmERn)BMf2H{L= zprLMm{`utJ1i`%ZucOfZ`>!|n|Lc>v`CtVo$=S4|Qh(z(53>$2l4CV!5PR{LDSiT>Zs|dWsOsJxq>A;aL>=#}D zDlajDP)+aZGCHp?I22|t9&gpEmE$R|>$0(ERUY@qTHUGVwgO)pf)+8B9F8u{)RJDUZTZMq(n}R;bT0!q( zZEX$9XBHDbZwgg*eG&{zKNY!dWPU~Vk{JK2@0?$l!qjfOx^`}&m*#Tj7Zx4{f9wp1 zp6%_^Oz1^s*?WM~4fsMnL&@ZjWWU$Lex{AD!>j^G#e3m z8f|q%&Pa<0?^f@;qF&=4KQ;8ac{Llajm*)!wJ_dO$H)3o zpABDg2zW&~R;&iZE&=vlFk@+erxD(f_mEG>HlYC@CqBHLn%J{X8lEAQDhm6el8+wg zDX6Q#=jWupqHQi8oRjZv)=0L_Xp=(mLmL?!SMD<%XcjZGL_~6JnrwQhtI9 z`D2eDjka)k^vIvzdGpQSmNhGTHflnd43!{(_cO`1%w3#PThE`w&x2v zd6=RgRG*!4<7lr&`3ca(_qY9s*Uide`+JB@c+^z&6Qp5$>U&79uED0MJmt$h+A;-l z$g3yAdDaU<_pn$F%vgxNN9_i!SBjOH64lt}lX&QECJp#0TS9#Df5V5ljkh7B_1j{< zGLBJ)lAPF%wzdsdzd%tjuVHpb{OVUCF)7fucOO3gic;BVQZ$MB8eO$AphQjujodT^ zuqL8rdK(M#9Xe1x$nIcI1nOaC>u5yW&6_vRU*Fa(1>G3n!QNAI7NP}F3q>zu*D$+7 zJ(o9N+0TZ01D^~n2^!EAzB_xn( z4=1~5=Gfei^+dmJ9vvNRFnCnfW;@%EJ(9biZ{P@gIK1`qSx9}9_s>kDqsUVuv$uAc zJer3%6;}@k_>zbokUM^sZ#SD7YV{TJ3fZ>692{rvrO5>P(&+L6r)JyxlHZ2v#ptuo zhJk4jH@{i74h|=HgrU_vr;Ixr9J7(3XDV8v;}p^i4ir}xwiu19Ni!!f<%yKPo8Y1Dc!wi53}*Us-Nfh zkCbYM6D{+`nGYl)D%s&wUDU!!NrTNYZ=A_=W^?K?0C(U{n@6C2l!+!qKbt0B6yDW_O%(gyHSV&0sokpn?fRh|+wg zMK!0Z*5FAHdU03COYb8Xq`o*%J+I#=3k!*rk$HZGW<~xeNhJ}y^a($<2jwVNbtr8p zGNY}0H-#C2rVV})b-T3Ip#(%4AK(F9hRU6SFH+GX-xZhVcE|QX2`xId1e#3)_mh{E zUvx1ot*?c5-yEaMg&(%P#Sx`7 z<36x0H)|J`*i#}OUteDyhK7&_0>Mzkh(ZL)m|;C|)7x;P0d&Er#3c-|bC|77cQ#0f zEU6O4xlMAiY%f?urjA840JG7(#VLa}gQjs&B&=!Nx(o6srG-gImE2$A21#KEX%fl> z#*ogi5E%33L+vpy1&zHurr}>g0d&DjaH|H_28ZkR z6DbSBC3ud*Y%xk;v0~`nRaS_aEqV^G;XsN6noobO8@dbzwjSVavs-zlmM1D{n*b@< zMMDB-rScHPJ1EYIAb^Dy>lWnKI`qK)K*>3UHb(hD`pB9<&&4WXm$X#0Le@^R{Z!mY zEkhx#3)8aXRw$o#rXO%!zWnmZwwzcBIitd!1Oo5Bb7`f|RlA4vXM_^uf`biZUf|^m zE2hj0F&OgVa}<@SJTxjHfBU-9`^ClK421yL?4O-EQ0K&*>jQ{VfFU(RYA@NVsgoTC zi_m9oz+eF2!D(7sLA;E^;A&lPK5pD(e+|*8xJ7yio%BSK95(mwr~yind&7Us?^BpS zKB$}s!WOwuS_Z~AWL{ZfeMb=jv@aUNM5{G-W=U!3zHpap?%aafjnPq2;H?(@XB7{w zez53RD`oaHZZqi6Z@+yhm>k>vB+MzyC)pjo^z*pt&R_8A1hcb!%>9&MCkdzW$SCj*f`7A%hY=IJpJS!$xodb$;M<0 zO*@hzM$+MXaY+66I%B9BQrRSvnQ&m9%I-^t&#&PF6jbe^4Pb+-E8R&2it^g&)oI1- zDYb|vui%LJUOTw1`@S8$#^ET1k2q!cI_HRD&a`x9E@+d|8jW>-{%Kzd?!I|*FCT_! zA!dcXWz3_eSIkN^9Y#)(G7KawufF6MQGl*Kg3hsJe{A;B#v|@RGm8y#z1sy-=jlw= z*WepmK2;1c!&2%-%0KjT%hi-R&JNVr5{gOh+9&x02PfOdu2r$)aagUF)zuF4T>2rw zYpYK;uVRf4+1Ab4O4&}yM%w|SbE&Uo|1dC^ilHOAih&C<(qs8* zmK{5LMPmDis_H+0bfyp{VCl3)1IMenEqa=6+wVKXK*@-b@46@lJsq z#Ia##^t@Lm>?nLkKZ;Qwgopl#?JvLg{`-ExmJdBHH6BjyVYkmaW5Bq1qywqVr5I|N zsn`mYdb;01CSVyqM}LTt@M{%GFwnai-lXNO)Sx867CgIcDq zR4GtdiQHp1@_Sq$#5Wi=B}{USjt0&CL($~lLY&W(2Pg&M(W6J*HZ8imkYO^yM_$8gD1c-F$|6sHPPRvZ%i+qoT%44fLf~ zJa;d*dR;q|E-IU{u4gG$3n!RTU%7rW7wnP>gO(0uzhe6OdgpSLOW#5NEw7m5i-~2Z zW%l9DDGAuyoJq)N#1?m(=r@_yIV&Kkf_~a5b|AQTON8C;Nal?kmqeuUUWoPl0iZ)RrpT>`j^RlZWScyp+ z`_NK#G0)oDB`rMQ7Hpn7LYA{*300$2H*>nmx_TIueTyNhRz{~p zw-}W1w-RigTMh4ZzV%l;wF0)wq|yuPE@kL`i@%hih_RXlHm}X40gZH|la(_Q`_F}? zyQ(=)4#ua=1%2S!ko5{CabEO4uH|Haqea@zaj~j6*J}8g2i0n4k$-}?UMCMiT`CgQ z-(GzCr|?9X5PU`wBX_Hv2fnUnc`mntGzX$q-QWb3_0 zIp9G;idwLqSi?-aJl1Mlz}(J%a{U@#9c54Wv4Lj5-Z7L5tPX z%*^85#x-r$@%LUiGh?R$@MtC=fW*#j*s#tR+P?V8x%2NQ82TCc__B>F(i};glQ(>~ zb?Zku^EsF^sUbGZKC~wD$xod+lw@*MT4vgndGxBZX~sM>)-;l>)S^9)^r|Q=wQ1;? zQyoFH1Kp~LcC{fFizu?|x?!lLC9_2~s_fh3%RSzZj{?7uS<^O85#Iwl*P+zR(!;B zNv(4(sb@o6&Qnn+0!qq2;)jx_yqD{xWD4X0Vuuxj$qE{>bRQ+5AX-Y?=8emuK1w?D zociZp1h;IL4jsM{W*k#PR4grdC;xBet?_7i+0l7gz_xE}v1927SJ#nPS35)1pWr(J z_|Q6Nn`U{~`?-X!@nW8x+B%K4=d9JZL8<3RyD~{pj8aCC%kWVirTNZleC;O9I(z&T zeYN!vpAj8wSc9F+O%vYm+u>y~o%q?L;EITE?tWoh);AT0@60hF+>$er2UV|t)crb*kF=Zug#R@m{Jp8S!Mg~Vb58Q zD~|3{?|}+Pax|I>pbzy!ilXJOxkrz_2yk?<$OTaiuDI((o=MBy>x>8Uy*IQnO>K5` z$oHQezk2BHX&_#yZgekw^$Rz+lKthDG2f9_^a2yCLVFb!`aV;l zlAHCJ|6*5l-pk8vJ|6z@cV2xz7#{VZYx8kb!<>$D`@ArXEN+w%G2@d1C`$^j2d!mq z2NTlWrC-0Y+f7cjq%0bF>`cW@Db$(jyX38sfU=*KCbx3E-?L4W@RQ$v|4LdMQnMyg zow#N1#v*EU?z0(A$>wJkx?Van71V4hHEooV@xbp}%kiv-?6( z+{G*9nzSWt7@ajntI1F;l6$CU2I3#%Xe z<5b=A&D5+6<SJU-f8*VP^;8@( z%}E=G8v6*EaOJWKzk(i;@CyoJ$-cz(IWyvG?Kk`19xPKY1;@`^G7iX06*4H{j{M#z z57Cict$5l0)ws!QoQT}Edf8`_EX>Wf(0VG5R*foty9;jB9CmO(mPnn9o0nB`jU6KF zQKb!np|$S}`NmlgA_dtPj^$ocnyl1>Rk4C5Px??PidBM0)8LDH&*=P6S>8GBTUXoB z^cr>I0gP(?*NbFap-2i*7&Ud%xz~b1Lqnx$>ae42jZY#yONiI&cK~kAC7y6?H}wto zg1TYWE85x$&OeY+x@Y{=C#CBvdap0Kw5Y7q|2GnAX~@zb8Pnb>;Vjj?av#i*9y8y{ zz_nypY1)~`CBDa$)4+Ko2P!k)H_D<)A-9OPC&0M9(XgijjzRu(z4xtuYHn%^3Rn>w z^+CBfv<PSZPy>ThdiH<{Fzt`?{g|OR0>iE}XUj>9KrMS?WvA?=jiuW`tG^@$ zQSf`B#})=!)Fp0gbUt~}>*HOC0C!_RBJiy_hrD@AUh2bRP)vR$wW+lxD?hsZw>4Mu zKy*dDY(J7x@G^n(z)8C0zZ43CrD1NVE zPYqhlbubE8;~L4MO>Tm>nML_}+^YV? znVWZIO2xTh_D=55_}{aAKOFwK-O+wm*l0^ud>cMD{bcNW?Jy%82EY!P;k2?S`NKZb zZ;=bO6^lD4d+-O@ptNnXmR&v(6=giOwzqec+dac%Zh3s+*XiscW+ptG^}tE9CKYu| zNqx?v1&vTwDk<ZyL~PsKO7S`BjUG=j49aou2dxKNG_RY^7;<(UoneJQjh4Y-8lYm#n&1fjg$q7)#d6y&!2i zo|Ev|i9^ocU*5*!P8%>u`uP?qA2-9TrB+c!VE6wH z+pX9~r(_;Cqk3@v{u!qR;bjDM8(Z0Cw3P(9495@R{TI?f~9ocCA+L*for}4m&AC|Ko zgr2N1dDrEchkr>%!ZG*&QUP{_$2~OgODpY-#P>dB1z%+1=+UF&%1vKxTseMr!-uQD zmO7ef-Y$mo;3eg^&-N-ww`dVl2rmZ>{31FV6~=beW}w?r_9)p$Tr&C&)fy;-)p{(eM&OFq zZLS2aPpkfCIkHjDty^f_6nhTs8ckyATUb^UDSK}7?cL{>+h|S!KVd5Ol`<}HeUoT0 zR;$Bz}j5z;k?IMMbB@e=~e8@f+OF8jM{ zyLMuBrO=_(8q@LQ@u;X9Sh?hI+dSiC<`3e=bAIO;~Zlnvif4^iWZ9_PX zyeo*>11v`OuQ0u=U1reNo_MZrfPs=SAmxfWc45ebw(neGMj9xyM})L1@I-PBw%%jv zN0DjRs_ydz7=S=gXR%V)xDri6t$u%z+oVmK9xP0b)v=HfmYD~4ugYtvFassJ(pFt{ zYnNNZ?+b^3RHcr@WaQYfW2r%mhja}5n=FcCLjgxo50B@e+S=J2q_>fB$FyqW%4?KEiQp%6DZc(sFg&UW#+U=&?phQJ}x_!%06E^Qi@b-@>g=0bl&0qA6-f6L$k z1M4;wnu2C~(~;flhk<}1<(6+u0^}R~xW3(Do_tC*ozAM%LQr6m{AAn^#5x@UNSSf! z;SP$AYy74gz(fKB_?F~dUV3_APRo`p>k(&wL%5Eg1RK#kX9_Ltg#wmB6}Z2mgEq7_>!0+jd1~(UVo8Dc_3QU#OFYLTG&eUt z7hO7;yfbRMarimYNUaWn!;>vWOtzMmuq_s(sZV#&#c-0^9_Tb2311eP!Z6y{WtFFp zK24$Ay-u-RMmp;#KW=J8aEUYqmCK|$5t*fn7tO?VPS`%XjlDqFCH;_XliCS|;%Gox zkz~vMZuJIDnkH^2fnNRsZcYoJEvkpDY^6N!N}Kun8d5fdisRDH1T)Y)8ua#G0rNE< z`|FN0csB6*6l!?xBk6(I3yrb+E&35BPE7TZTp8ST8)ZpFT zBNtRu{|pEwyjH3BoZEWWaiqau%z4~u!%|I+V?K~{K6V8U4ArtVxUhTj&e(Y=8Fk2&R?4h5e*7Mrym0?5O|>x${Y!cOLw#cCi=HQ9BCn@D4R?)iX+7_SR|!CSY>xlI;YY{qeE&}3 zJv3S!pZ6H$ZuhH?(yTDU)2DtIeeWC1qDW6qZ?$dQFLfOVr{QgI$Xx#yJ^s;=v&bZE zs8dUl9bWGQ<^J&lsCuQdp|`xoKH8gY^IPKQY)GY$$be34fyTeN##_{lrX-5e#*MyG zKU28Dh32nU&cw1>dDi@8LoNRgKYa4N*PDZ;!|h#T_2?CHv{?8}!UvDwOpRYbVayxN zDKDK1F0yC3$&ySjhfhjZ@HePRVX^>fY_6R7JRgzjAWF zH&nwfVsqcB|1Z9-+wE&}r?#KRPNz2Y|9~#rx3xd>jsN`ff2D|h&aP~&mT?B}nC;3b zssF0^18e(Nm9|qR<|of{w@>-!^Kog^;a~Ds|IhF?{GaU0_&@ox|BI*Ob|(k7=PO1# zxvOS>k?DFo^1A!{>GxNdG+59?rjg^@cg0L}TleRz`X_C_GM9J1{?C71!_5Dd7xVS` zzn>aM#mH$mo?i6+AAht%l_4n(?Rz>bX`7KvBZ@i9s4xl9a+mTJOjl!&M3{2b2GXlR z%}GYxDk>AbI-Rg>l`BYUt9=GZK9#k|MlamBF&QR){HRf*HdgJK$l>|FNI~B$v2CN< zGfcg2*A|0VNoWrKx2xMeWOt$use*F~nrR)Z+XalkNB+#j#6%qjrGOIAR+woNm#$_w zofM>tlnEJB$`o1QZrK6MxlEg>>1+R?sUh%EL>SlI_9b3qJE@!yf2T~aciwp?HZJZk zKS;9hEG1DKp`60Nd;yq+KiEf8Doo#KxTNj*VM^&iha=ZEGN>bl1zfT9xnzKo03)IN zlubchW80CX0K`L;7>GKf?cs2QA<7sCD7ZOTVpIx=9X1cq4}lx+vXMScVHM2FN$yvM z;9c2mhUP${3c}FX3J|zQ3X})HdwT8I-MQ1iG{Bd~t@>$WQ31ci&?KI|zcJ13s zW-kx@^u&_7L9Iwx5#CBoOO0H6?RJxKacgT%%kqtV9D4E;F$RkxoDiLh;S`U~U%i-| zY>uOQM>N>JDZEs>Y!kDMZHFGE!O+aXPd<3s{bltZ!zg1U#Qy@eV(gl_doq&Uxor!k z?-vZRM@H9Is7tP_Xo*Kp{!h@k4$3J7M!fNtWQs|E8dsQ+QP(!f%aks-G-Q@Rh~ueQqud?9l^6T78@>DPD3hwEvp~5FmJh+|koMikHOHA` z{6itxdQTT#3MvCIQtS#acl!J+gV@Kl4o=u)rIFH{6Ljx`&zn@qJOk&b!Q7^|Zs$Cl z3lgm$U*#`<_~EBwTBB-aKViD^MT%KH_PFIdqs@l27n7jBds|l?FU?LnhpLs*i0(h= zB*nK%$(VR?Mt43F&Bw>5m)izyLW8%nxIg00`Xp88tPI9<&Yd}g(arocb5@9y$;lND zn$@1`)o@MUl^XT}Z7Ey<#0~*dvP)u{vM+sA5VmS1P+>>@ddhBL({CHJIYQ#%7*vtx zmTM@$u3eHWXzO>SIJ2mEtga^L5oi(+3aPcyxjF-a#H%FDia} zt1pDM=8UA{vQW}hy-fYQ_eT$dke|q&1jkAbV1HsoUr_qyWcAuspT6%lbda@L1~tJ| zzP)xe(J&7_#8=K2q*!B>_yx0Nt&ij$ybQZ>lEv7w^bhQ)_(Q+Q_K4&OFW%=xeoyi+Th;rJd&tqw<4y$uc?N9C2JPF4g7x{W>}eENIz2u z#ss!W`>!fjzZYa9TgBqVi{tvYZ`ZCYV}`Q=0nl=8<>3iXW@Ko?w$>K^iE z&Z4Wet7^m99|m<(ue<-#3#jDK|AmtE2~G4cQEGHBM<{HZRatxRyNIgRTW;KLiijcr zM;%PZ0kOqgD}V(e4=-m-ykv>KNV9F|YQGicqDJxRQ|oC@x(vCu0XBfZCPlf+ujbD9Y}@2azVw7*H7s z734HkY$>|Rlc;aH&rX<0avlxygn&)Hfa#i?CeaFjqjWdLjA#N6m9MCNM!k~j)ZRMf z4rKh-^pj$af#4WApd9~Ig0v{WL?@VpbI2kRw9z(W*rJw=jLOXPwIdGQ(K1se%lQ|Pt zk?tqJ>rmh=5%5ZrQ;Hskv5caK=pu6x3`J*&xIzndguf_EEvqoQrhSaRpI^OYjyET1 zGm_Pw)RGePbFB-K)Hoym7M^eOXcd~3kKkG?sHF59l$u(t*e&+;Imd|;Cn|V|G)vCT z`myY?nnYCrLkEE!aU{2>6gDM!j3hBEQ#1lomn=D=f}a)KrCqyUU*rubdN{`KX~&eB z*UoTGNNf$nTgbjsvHP^DD>A&SXa&xr)wXBvAq42>ap~!>_FoJdJXoT0O{^?w1YS##vfUf(KDP2m6ZIafQvJn|$<@YAxw-(~pNyiL4=GG7E*7+l<52${{Ke}-B>NwFsPp_2FOZ`uR@b!JaNA#eH zWcs4WE^Yt*lg1gSkhk3EOFS;-sA=#DO3bx<(DZxKpCEuH9UA``d;7+V4>X)n?qdWi zfo?Tph@YmfalDjePMw-7Wc!qSf9;lV2$S$K5PnVgWiWI`=h0$17BY( zpPqlKYD!2Hi|4NAy^Ubok6TW4G(W_`^VHQ{`%A%aC&G(QhDY~b&KXIVrb=!(Hu)&e zz6nat&B+n5zz%28E({y0zf@K>31;HNo@(35dOwG9pU~j`n(zAur|1FJf;}XzlGY;2 zhelCjk>VOWq&|@2$?XTkVDgYS4Zfh>?w8z&S75j5^;#qr&7)6%sJ3Q6Cy#0}o4;+` zIMjmysM_hO4*sS5kjFwtibjh-dhOUa9W-?tUroD$<9cNOwZVJ#*u;`4s!7*HU z_I*aDul5b`w!GMM(8UN7HOZ1hBY*)S4 zMXt@+xxy=@-Q%~gAjb0AiyS6eXFQis`Kee$$@(~CxZ+L96mGF>6O@B5KGQ9}H;YPY zy96lAYIKsr=P~*X7Aafk$Pw^$g?S|=dXmKC87C><@Msgg3fxG9t>Z3kTdrV)6-Rrf zLkZ)|5r$Csw!mR~;=znbziwgbrLVJ3*Pf>$Uo*j@;^Fyt5iX*b z!m>OK(Su9UC@eySI{>3m)y3Up{rVaY&+>m~+-v=}{e^NDl6veup7p5TbG?#N;J{a2XyWOb?^oZ&4qLPrc=X<-LX>V2$FD5-sIpv=lP)%yvP*dI7QY{NTugwx zW|wrBq;p4<{v4|QX65$?XJV4eb0xM_sC3KTx|}%r)%DA0?<6$0Q)0dKXBw|bux^3n z!S<#&T#C^d-R<|=!v_zJ`=(r-vn<=yz08(Z4yKF{yYw@gDTYhi8wLG_WpwMyoyXxeSu>)Dm=RJKA{r8bJ{ zzVLXegQalJnDkLqk0_oXMR&5u;6$|xWmblf!aW2o=)I;LCj?#ZIZiWpOj<6tl6_A zIS{GB9+%XGK4HrWo(Di$LI!nAR@HL~kj1{OZN{yOuT={%)R<#!CL0*Vu6AZP{5?RXW7~nZ8h^uYfge_ zh#d=Mhu9>FPD4-%*J>@`qL|bv5_;sZwilK~8GTm3RbT-|g6O zgUSWwniSE(A^?V%yf|o>!}!W1#;c=kFRk8q`DjR1Ye7Agg6tu-yU_GSz*Xa88JWcB zy`x?Ach{q3@QvDLPi^?1EMR}py?giM%7{}V781W`BpQ(y#E-N>V_3k$=L=sSX>$9Y z;9z@SD}SnJ81B~~cDAf|xkCZCr&Dw58Q&`(d$x?*KfS>Z-QoCD!^uNKBw`sppmNSO zHW~nJj4S-pmfVF(K?Ru)6SxPwiZJ_qOoO$lUM`3Fq#&hYJI@~43^VH)rYQ#&{^d74 z=H9Nu$Sird2E!ttK6)8EaDYX`l0)P5WciTnKq7hLEa0f^njG2nJM(AuZ~p9&d*gqd zVtvU@Xo3HpVmz^$$P@8H$a zCGpJ3nrabOr_Xud+LMdP;SXMu+RHto$n~J$#xw^V08tu9ETRyA)P z;9~z7mYRjFg6GwioJPqhWNN0`*|jyQ(}U^$>>!%QvJ?`;?YP-Cp--yR};V+VxwzP1~NlWHGQu zO-ge~yl}r^D+;RxlG-tJgE0_jgvgKCMC0@sa|~})^6jz=9!Gj4pG&8wL7;d-SPn2R z^QNf}namo9(F)lxoZH%a)_=}$oW=59klh52gzgl@RT^9TbeIfReh*p$`EZW} zI4OjgYzQCI?bn6ZCf0&kaI4N1zu_{}^M3o6j&5z6G(k=CShp$JJHP+_HacZ0Y0W*V z*7~(3p`jS=mEW=jc&j)tJ* z%mNpdTcBvO(;eJGf$qaDr!t^_6d~d3bl_ouCRxL@+C6l+x;2bGBp7){qtsCriB1)s zTSeVBkbY(J^*p+6a+_09N9h!-l#clM^OVP)d0cnfhsG+K;75_P!4xYJf&--6->|cBpooi8nq9Qyfp% z9*jOp%OE;1m`7*TRaI=|V zO!m!N-m}+V5}~!S?AZ&sRX_S(dHbZhV9ek$*1UyA1zoiM=+tD5N-7EQ9K-q|FLDnP z%0I(bMOea%7G5qS;sS&6qE`2xi?uP*;C@5kUlnChpZ@#rs?D!h?lC>(Kx4m9l>ApO zR8as6+Yl$IKScxt7d9HvMix*xxRe+@&g}A9G$LRHp*WL^yV4dK%=G=w1Jtkmp}8Fh zw_ngeRn-v{E>#W9Id+Z|An`ovalk{_ZL+6OtYBA!{2L{NtAV$PKCc}ZHDn>RWaK)ta- zbOY@ghP%tyX<{MW>1rr^7(~vB@G*eaCoKTGyFOtZ z^5<}>#umTk;`)oR5;b{NqHWVJ#VjIVCo{?=bC<@dcd z@i6%&bC0+iFvA+LxK)45%t?HNQnf1CDE~+1Y3!@1T7~icwxJX?*{UUu{fhRrTOa|d zh-Bd}QYjWue{vV@vfpd}V?WRq?uF0tiQ$xYs?BGCa22`%jr=D zDnLTaWS|2a((6R(!Fd3yd-44c7kUb1+1ZMi!IB~KT@b6a$py>@OTEX=%u2=rLyU8g z=L`&Tws)b2n2$}aTppMPvQ-oh8d*)qRP67CRaDtC<=O*q%I;NR)rxZpEJuKkVW{cF z7y3dgFg|-U$B3TQYfCHP^C3HBiE-j;8y?a(YdRl&x1(Xhs1<~5uJR|uSCJq*8G_2yY1LlKFVa$OlyOJ62f8uo^(*-1XE5Z&tBzt*hD zw1yZN%VxC{U@uuziFb*70m@iq`~Fs*o&u02JkRJY0!E=l+ydri&5`r8-S zdVdX9GoHU0cWAo)WQoI2<>kt8)q=ql7?bZAGD>$P>|u^PibE@&aiM~<oCpLKR&QTn<+JhqE?tc4FKy>x&{u8Q z)s|#t{Oe_~09l16n;T)rub0J|;*uk7iqvlH*b~9KY9nyl2^h0NLXg1`9|osIAs!y@ z9;_kj>Dm!zyzdX8j}+f`!ne$)7%Q8c*`V76MyotzhyCBhGPboAN^xS*uiIbH12gLr zQPm#LQ#5*ZOB@r%XB>ONZ3lOf)nB4+KpH{V|EV{Av2d&#sTJ5$5>N@DiF~W2O_FKUk^a)NRYUW8yBf>U^g8=q zX9$~Oy$2IX?7szZ?r(lvF|j%D`iq9I3CZF(BcVnLBB6H+qlrp+V*kf}3>-<}75w&A zZni?IHkBVI#-BU!Xs*xHZ#x=wL^3{qrdp^(^k8S9Oe#H@>Mdn!&r%~#`(;RLJYcPi z4C?<@AAJ2Xu*Y#49EVAVI}ch5cT5gLA3U7+y^+;o#)Us>%y*vrWwJ}O&S~NNec}6} zYVA3X&6P#fUEX!>;hzH?c=c`U+Do|RfaMP)<4RinPBD2!a^8h6Gt zi*cvnlR=$=tYQ6lpcoK<5420Eu}^22ZO2x^uTq+-rkJus?SRMYr@=}EE_!NNxoR|mFjl;<2EZ$s*Uwr(7*oT}07|6Zk~yruHJhUm;Z zk5?VPzzn(ar}6E6iSmp8(`MuU5qGk%sG6_l`e)`y&DWWv}>u^EKM< z{vRcQpU7j={`24YC~Wm0`_uzM$p%PPmd;^pCv_>~4*S%Tgr_x78pW-G9SHM*okULt z^qsUhW826x`Fgf+B!yi2_EY2x-`jTj@w9ZnyL7J1A&Atohoax9jDt^n)hq^^+m>$* zD^<8-Y%4o@+MH|N9do`?V-T3;(p&LW%ZI_=51pEOGiT>V)+Tf3e`T8V^8{UM6X!!K z{Q4B@SQcBg8vHP@qT+{ZvuEi4@bl|qUoP&GHg)PxefIwC%fSo%dgu?{FdODpE?mY{dm7$+=#?Eu+7oS0a6b^~y`SCQX(Z zmh)6E-ij@YS@W)`AniF;$NMx`v0*JdXj|I|nTEoYh-a`S1Ae$9S$%@|=%MDGnmiUx zp;EHI<&jTCu{Z>48-=VHLZd&E&oZ0cNy8VMpd71U$|dGMU^p6m!@8FE%w+!+X+NJT z0B%l-R!Z+99;OLy+V{pfDdDQdb0nTK1dEqjoiJYG&gzE*L9=x zoOEHpgl9kd=+wOD22Ojk65Mw#3Vc{57U0-=KxqpJ3)5V%pg=b$I<#|O#vo48)n_EG ztn9i`epV_fpGGOZ`qC;J69w0urjZ)bjVbFhH4ht3xF=o^PoAs<=`Y-3rz6DRrk6qf zC!k>fsw_>{=oPX(*jepu!m+^4Q?ftp-(RcZ%d;)uO+iKx+?zp*WsAfCVv9odftnvm z4#ccxKyPO%va%mO==b||y?2SAEwTzlcC#~h(PJSQ%g*aFl^?{Zda79raGL0}opY%0 zNvxXb{bs3r12Z&9D)+(Z6-uZ&@~Y8MQIp1hzC0vuQ5Y~mQnL?WgQ&(RCKv1+xo!Wp zNrBNHpI1Bo3+02hLIh+74iwsTT#it3%+;tPN2VxorL}y%nJP&`fn2cX9zNioo{f7C zw|pgqJ-xda6%ZL#GsV?CkS&&%+;GR4Pp0S{2`pXn5|}5((!h;Oizf(^tKbYFxx*f-Td}_+Wt~k1U zc`9nyuwkK-)(@;(_szBjK2Nlx6kd z65M}w)A1~mwU9%HPV$sK$nG>h^SYjGDC6nYKf0R8G;QDBz38(GG;gZK7`C4s$NBYU zCLM?8)fsNWAzngy0B{u<)Nsj9<@b-2(=$*`PdWe;^V?93Rzg)$RmE@xV`s^=49eCO ze7^+Rn%rLfM_$)Phthr12+X&!iGi9K8xwPVfGxl zI|N|Hq_x7r;k3m@akq^`?*N>eMsr`D`Aq z{E=yGtu+`e8B0q5Bp|IQ5V9v|5hu!u;qd9n#@gEE=>2s(*XJ>!(S~jb?qUrUNn8`f zKc8Mr&;$afn&-l;dn}z>i2Op{ll76DZyXwATFW3oOG_)ayUwK}tUxUc4(l>qDSNQM zVDDeSt~*4-sG-O`>9k49<6Z)qYH)2ekKLPiUQO?gxEhji&6N;}fg~d51~FOM$$t#B zys>Tnx9!hlDT#`1+?mEmmUt0SWWzl}2Gj1JkK}gyU$hg4MLwIDdGXh;dBqzA1qI%F+ub5ReTUHzquZ?=&Op=FNP5 zHDkAlVQ6^x!UUUqw|pzplkOa$!Ift_Ydq**bDS@JTCeEFR8G$>qoQ_4FRuL<72l3! zCj5E1O8;wft=D)P7dl|NP(l&n<$PpNG#JhA7x-lUB@BVWnl- zi=V-Zbe&~aM()jwB#Bv1+6X-p6bA8s*^G=tn~}mr5xZ?x9?Zz-q;e$cXve2LzdO@D zF8{FRnjha&%4#cNIg${!{2X=p^|Zr`8N|LcedvcOQ}o+onxn(4ZLRj)F3wmGfzdk*xV+Qta1USYqsULRK%(R0->oVN~5$A8#hH zf7Ed~=iJyV{GN2N4Wk8BDBrznNHaO(J<+?)o^_TNweqfQ$_L*QQ8b-9n31uYA>WpQ zS9}H*v4al2nf;Vd6%{L;q>zp~7X)oaTS2cGvSKXkZ!z{Izs4md-cG#0zw6ua*0rB` z=TDp0OU+<;!M}r{0D;2I zT91e#FV46sm zF&oBrJo+2|;xk~zWDbg&m7RT;lzSJ+8A31FCofzi!5X<^u@^4b_%>9}XWoy{qp|l( z4z@5=KrMuEfx&}x-u4p?oM*kSIH?n`VyzNB-}N=rpfiFP;ET8bOlg6i-xc|Oysj*{ z4Jh9m9v&-1@-iKNp{;NwHT#CuRo!1SXU-9jLd@UhGKvWm!S}RjkU%3PvcL@6IIEsP zt?1x|i|OK$0ImayXfDKj&c*Yhi$Y3x2ZcRx-9QND!6A|z>-%%Fd0V6$!9RnBEYU9Qv zF^N|+-96S6AYv9UrH}%Axf>)6_bM>Rk&Z~{F0*#=&l*xsFlVWKC zvYWN92I1AYO*OXsW3iwl!`>F!49pr~x{2!qyJV`~GWHh_0N7+REG!DBWyCUGEK`IU z$~lqX{!!ZcKC-|?(QDB4#rwH?l}uEGF)5DcBDN=lH_nHRe9*~t14-ixmh$hh3GUn!-PoFt!mfrBiDk^ck zIu_AwJ;Y56>sQG$Syh7poY&LMJg~GY4g)Zt50lCiGAaF1QhveNYJWdSf*+N0M+ZVF zIsKa#l#AE9mbFY()7li?0yE)4HFx- z`0KeMg=jZ)pwXHCc(c~vapUGGaX%@YTfX?*>c1-lwJlEb_qMTfba0?{GyGCwY+Btq z-S+3*OAE+79+KzKboDEhlMDq1E7Fm-b=ndP}Ij^i$zg! zvH2l&+Dh4veF%dhnkHFY!6c#&jVzaoX;x$K>62*#U6I{^=L_>RT}()NPL-~L^!=*# z-Q!;4!e=@RdR5zUZPSRha+9`T4F`Ms`$j#^apH?&r^hK@3}|i3q1?#b9(6vr(eSyE z&%sNV3>8|hJMS?I#~JrYX=xu!kEN269*jdq!#7OfQ?_q`>VZ%(>*BHF<#r>nuQKtLU*3{z5B08518?+jCz2T@SBbguHUfWeA-)C*d z-n1Cq_O^iHQZD`*i?2C?uY%oC{rsrG7MYS2jUm7LX!?5`09j*f9OTD0TVM11p` zef#vOV0;zu?Co%Agd^7{|2|?DZHJJ0N6d>7POS(qG)7FAkd$9~a;)~5Q${K(dVM;M z#FTwI*{4d-WucTgm+NNjTiR!7CCqo1mz9YHi!ze<&nF0NU#A40adEY8JWAlO0v&)mGcs&w}a8>DMgz#+8R`HDA?=u6C_jXC0^?5c8go7ZYBdC-r{ zXr-06vbGKtq@U93Iume`_!*m#63&U=Lls2Zc-I#Kff+uq4EtmNGr{cEpAW|J)9aMK=6SSG`sIUuS$VIK-B11}tzMaq+K5K>)M!=Qa(@{ zNhJm^;7CfIx6{oCqs1iL_VFJK3`5HkyLa~xG6aJ^GQV=~rw#AFr{ZMtPG6=uDk^1l zsU@wm8P`kI@tt}^Q`@_ia+69P1|IZo*&9`^ZtC(^*RyrQn)``IMXwGsguAHy#TQ5B zx{dsN*Oi9LHEYnNLbx7dVE&J6rZUF`4KX;(=AZjffijlS8$N_uzo*}-js>K=f9KlU yU{f7GJ+4aI-SP9k-&66v|AQUdKl|!$)i00H%AI2S)L*WH;_KO8B}`rZ&A$M}Zu5o! literal 0 HcmV?d00001 diff --git a/results/breakdown/cluster/source_plane_breakdown_v2026.7.6.649.json b/results/breakdown/cluster/source_plane_breakdown_v2026.7.6.649.json new file mode 100644 index 0000000..afd6b7f --- /dev/null +++ b/results/breakdown/cluster/source_plane_breakdown_v2026.7.6.649.json @@ -0,0 +1,25 @@ +{ + "autolens_version": "2026.7.6.649", + "device": { + "backend": "cpu", + "device": "TFRT_CPU_0" + }, + "configuration": { + "n_systems": 2, + "n_images_total": 6, + "n_planes": 3, + "n_mass_profiles": 13, + "likelihood": "source_plane (FitPositionsSource)" + }, + "steps": { + "1.0 ray-trace point_0 (3 img)": 0.0008368400000108523, + "1.1 ray-trace point_1 (3 img)": 0.0007585400000607479, + "2.0 magnification (hessian) point_0": 0.0007032299999991665, + "2.1 magnification (hessian) point_1": 0.0007097899999280344, + "3.0 weighted chi2 point_0": 2.73399999969115e-05, + "3.1 weighted chi2 point_1": 3.465999998297775e-05, + "4 log-likelihood assembly": 2.303000001120381e-05 + }, + "total_step_by_step": 0.0030934299999898942, + "reference_log_likelihood": -40135921.91112596 +} \ No newline at end of file diff --git a/results/breakdown/cluster/source_plane_breakdown_v2026.7.6.649.png b/results/breakdown/cluster/source_plane_breakdown_v2026.7.6.649.png new file mode 100644 index 0000000000000000000000000000000000000000..46e5648d1918ecad151b26077a34bfd075b5631e GIT binary patch literal 83048 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

c6WXWS}YzdM* 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 Date: Thu, 9 Jul 2026 14:47:49 +0100 Subject: [PATCH 2/2] style: ruff format the cluster breakdown scripts Co-Authored-By: Claude Fable 5 --- likelihood_breakdown/cluster/image_plane.py | 10 +++++----- likelihood_breakdown/cluster/source_plane.py | 8 ++++---- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/likelihood_breakdown/cluster/image_plane.py b/likelihood_breakdown/cluster/image_plane.py index 366b8e5..249d0dd 100644 --- a/likelihood_breakdown/cluster/image_plane.py +++ b/likelihood_breakdown/cluster/image_plane.py @@ -276,13 +276,13 @@ def solve(source_plane_coordinate, _z=float(dataset.redshift)): plane_redshift=_z, ) - _, predicted = jit_profile( - solve, f"step2_solve_{dataset.name}", jnp.array(centre), n_repeats=3 - ) + _, predicted = jit_profile(solve, f"step2_solve_{dataset.name}", jnp.array(centre), n_repeats=3) predicted_per_system.append(predicted) likelihood_steps.append( - (f"2.{dataset.name} PointSolver solve (z={float(dataset.redshift):.1f})", - timer.records[-1][1] / 3) + ( + f"2.{dataset.name} PointSolver solve (z={float(dataset.redshift):.1f})", + timer.records[-1][1] / 3, + ) ) # --------------------------------------------------------------------------- diff --git a/likelihood_breakdown/cluster/source_plane.py b/likelihood_breakdown/cluster/source_plane.py index 5cdf0ef..c0e142f 100644 --- a/likelihood_breakdown/cluster/source_plane.py +++ b/likelihood_breakdown/cluster/source_plane.py @@ -285,9 +285,7 @@ def trace_positions(positions_arr, _plane_index=plane_index): for i, (dataset, positions, plane_index) in enumerate( zip(dataset_list, positions_list, plane_indices) ): - lens_calc = ag.LensCalc.from_tracer( - tracer=tracer, use_multi_plane=True, plane_j=plane_index - ) + lens_calc = ag.LensCalc.from_tracer(tracer=tracer, use_multi_plane=True, plane_j=plane_index) def magnifications_at(positions_arr, _lens_calc=lens_calc): # The raw traced array goes straight into the hessian path: wrapping it in @@ -313,7 +311,9 @@ def magnifications_at(positions_arr, _lens_calc=lens_calc): # --------------------------------------------------------------------------- chi_squared_per_system = [] for i, (dataset, traced, mags, noise, centre) in enumerate( - zip(dataset_list, traced_per_system, magnifications_per_system, noise_list, TRUTH_SOURCE_CENTRES) + zip( + dataset_list, traced_per_system, magnifications_per_system, noise_list, TRUTH_SOURCE_CENTRES + ) ): def weighted_chi_squared(traced_arr, mags_arr, noise_arr, centre_arr):