From bb36fc65ee0b161229169505f4840c436c5ca2b9 Mon Sep 17 00:00:00 2001 From: Clear1nsight <22630354+Clear1nsight@users.noreply.github.com> Date: Wed, 11 Nov 2026 14:22:27 +1100 Subject: [PATCH 1/3] Reuse #7147 selected replay navigation for onboarding This is the exact documentation prerequisite retained by #7156. It points the onboarding check to the selected #7000/#7001 review. Credit to Rohan Arun and the source authors. --- docs/ci-verification.md | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/docs/ci-verification.md b/docs/ci-verification.md index 63ba3e9aa8..52b62d0481 100644 --- a/docs/ci-verification.md +++ b/docs/ci-verification.md @@ -1,8 +1,25 @@ # CI verification -## Current selected-family replay: #6030 +## Current selected-family replay: #7000 with #7001 The [selected record](../certificates/selected-result.json) binds conditional +κ = 0.00363005817 to the [application review](research/pr-intake-evidence/pr7000-application/PROOF-REVIEW.md), +[validation receipts](research/pr-intake-evidence/pr7000-application/VALIDATION.json), +and [explicit source closure](../certificates/frontier7000-source.json). +`make frontier7000-verify` follows that exact-source selected replay. The review +reuses eleven authenticated preceding executions and records seven fresh serial +application, scalar and complete native-catalogue executions. The earlier +monolithic timeout is retained separately and is not completed coverage. +Consult the receipts for exact commands, source heads and limits. + +The five inherited framework assumptions remain. No complete uniform word, +literal multiplier execution, independent human proof or formal-kernel proof +is asserted. Routine research submissions do not need to rerun this +selected-family replay. The sections below preserve historical checkpoints. + +## Historical selected-family replay: #6030 + +The [historical checkpoint](../certificates/checkpoints/frontier6030.json) binds conditional κ = 0.003125804 to the [proof review](research/pr-intake-evidence/pr6030-audit/PROOF-REVIEW.md), [validation receipts](research/pr-intake-evidence/pr6030-audit/VALIDATION.json), and [explicit source closure](../certificates/frontier6030-source.json). From d2e54af81f9dda6487636b79d4964a2385d89b2b Mon Sep 17 00:00:00 2001 From: Clear1nsight <22630354+Clear1nsight@users.noreply.github.com> Date: Wed, 11 Nov 2026 21:53:51 +1100 Subject: [PATCH 2/3] Replay the historical selected check at its inspected commit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The PR #6292 rejection census and package plan are statements about 2485805. Load its exact sources and planner in a private sparse checkout, keeping all source hashes, 19 expected rejections, nine package selections and the empty-plan control. Subsequent edits to the live Makefile and CI guide no longer invalidate this historical check. The original audit is by unpaidmoon, building on Dennis’s historical replay gate. The pinned repository view follows the precedent of Matarener’s PR #5434. Repair prepared with substantial OpenAI Codex assistance. --- .../historical-selected-replay-gap/README.md | 6 +- .../SOURCES.json | 60 +++++++++--------- .../VERIFY.json | 31 +-------- .../historical-selected-replay-gap/verify.py | 63 ++++++++++++++----- 4 files changed, 82 insertions(+), 78 deletions(-) diff --git a/research/historical-selected-replay-gap/README.md b/research/historical-selected-replay-gap/README.md index 55d8cc3b49..36d9a873ca 100644 --- a/research/historical-selected-replay-gap/README.md +++ b/research/historical-selected-replay-gap/README.md @@ -69,7 +69,11 @@ python3 -B scripts/research_package.py --package research/historical-selected-re The direct command prints `PASS_HISTORICAL_SELECTED_REPLAY_GAP`. A registered replay prints `PASS_REGISTERED_RESEARCH_PACKAGE`. Both require Git history -containing the two inspected commits. +containing the two inspected commits and the source and manifest objects at +`2485805a6d47f36ea83ddde6327d453ac82d44dc`. The verifier uses a temporary +sparse checkout of that commit, checks the declared source digests there, and +uses its planner and manifest inventory. The recorded rejections and selection +therefore remain reproducible after later changes to the live Makefile or CI guide. ## Open next questions diff --git a/research/historical-selected-replay-gap/SOURCES.json b/research/historical-selected-replay-gap/SOURCES.json index c1010eec95..62bb8b3950 100644 --- a/research/historical-selected-replay-gap/SOURCES.json +++ b/research/historical-selected-replay-gap/SOURCES.json @@ -4,13 +4,13 @@ "files": [ { "path": "Makefile", - "usage": "input", + "usage": "provenance", "git_blob": "0d683a06b9e7ee162496108ce9a7c5d2ee94fccf", "sha256": "4f2d4f2dcd15139ec82658a975f85ed300897385f85799218539f4c8d60567da" }, { "path": "certificates/partial-swap-network.json", - "usage": "input", + "usage": "provenance", "git_blob": "eccafa830c16170c36faf93045ddf1f638f7bcd4", "sha256": "4c0b9d37e1034b2076e30a70f8e514416298c462d9ee98bc87fe6556b14df786" }, @@ -22,7 +22,7 @@ }, { "path": "docs/ci-verification.md", - "usage": "input", + "usage": "provenance", "git_blob": "63ba3e9aa8bdc5e942b56e34244b92b16f854085", "sha256": "c7d3027e9ad8bcbff68f07aa9576b30fb2f3c76c44d876d40c7fdbf4a3e2228a" }, @@ -34,163 +34,163 @@ }, { "path": "research/clifford-state-performance/SOURCE.json", - "usage": "input", + "usage": "provenance", "git_blob": "6f98a0061a5104dfab82c9e806f819b41811f684", "sha256": "396d0f08df24952248140d5c65c51b8c902ef1c580892ff7ea182890530f67ee" }, { "path": "research/community-batch1047-audit/CONTENT-COVERAGE.json", - "usage": "input", + "usage": "provenance", "git_blob": "5e0f92af463ec12c5e1dcc3effd44081a88af647", "sha256": "07a9daeaf2bda308a92e9a4684f13d5fc766c7772d74801fceb7f4599fdab226" }, { "path": "research/community-batch1099-audit/CONTENT-COVERAGE.json", - "usage": "input", + "usage": "provenance", "git_blob": "9e13266bf85e627f1b7dc225e9530ea69fd2c7f0", "sha256": "421e1211fb1897c45621dc6801c276e53f2e6f335583c9c9049e535f87c0a3b1" }, { "path": "research/community-batch932-audit/CONTENT-COVERAGE.json", - "usage": "input", + "usage": "provenance", "git_blob": "cc4d03eb59b9ab3f952735f7e88ff18c2d15d7af", "sha256": "184629cac91a5cfaca50330a88596008b824221433867dcf8117539c913c284a" }, { "path": "research/community-batch970-audit/CONTENT-COVERAGE.json", - "usage": "input", + "usage": "provenance", "git_blob": "8b9f4111badf7de5d97684799560b55110e9da79", "sha256": "23188ed920e38a54006cb883e181585620821c63bf7e8b5e05d32719417cc37e" }, { "path": "research/community-frontier741-audit/CONTENT-COVERAGE.json", - "usage": "input", + "usage": "provenance", "git_blob": "a5300d4e7a5381a3f443fc54c768ca6f0f236d68", "sha256": "3c820fb30e1b4d9bcfc6a7ab524375e5b2abd66b940af2c509146104f0bcd79c" }, { "path": "research/community-frontier890-audit/CONTENT-COVERAGE.json", - "usage": "input", + "usage": "provenance", "git_blob": "d7ff6d777b01d69b6ce84caf25d3b7e4a4d2f211", "sha256": "6b185a9902652f893f3ebd8ada92d2f11b6de6533a9a4d11718a8a4496101128" }, { "path": "research/community-hyperplane599-audit/SOURCE.json", - "usage": "input", + "usage": "provenance", "git_blob": "546f37d326d10a99910ae8f908e71ef768524d98", "sha256": "65099d764bfcc39bda5e4d9966783611b094c3522dbdd1435cd498d657a8ef8e" }, { "path": "research/community-k492-audit/SOURCE.json", - "usage": "input", + "usage": "provenance", "git_blob": "e538481e4cb16ed936d3195f2dfb5b5a9ca0a76b", "sha256": "2c0f4fa5bc150d05658af2e7c54c4d2c337dd52b7efd3d69530ae73bcbdf452a" }, { "path": "research/community-reconciliation92-audit/MANIFEST.json", - "usage": "input", + "usage": "provenance", "git_blob": "2a2e93685173d5f13cbb5abe740f5d90352e0228", "sha256": "5f501f3c118131e7d069f30ad77186eb2ad6961f9680a0ef105f4514ed41808a" }, { "path": "research/partial-swap-digest/baseline.py", - "usage": "input", + "usage": "provenance", "git_blob": "a2f0190704db83bd8ef48e46e723c49b925804fe", "sha256": "81e9af92cdf38243a540cdcff2062778e449467848d444da37a9553c12ca4c34" }, { "path": "research/r420-two-sided-basis/SOURCES.json", - "usage": "input", + "usage": "provenance", "git_blob": "5d718e11e62f4bcadecf1e02d6b61f87dbe190b0", "sha256": "d9810b0d139c5a1211fd2c1f0d142187cc1fca30026e1e7bc4f9ecfacf1596d1" }, { "path": "research/skip-clones/SOURCE.json", - "usage": "input", + "usage": "provenance", "git_blob": "8d1bb3b9c8189e35e5d8bfdfa632d7473e8be0d5", "sha256": "0b68e63e35a97ce6b0cdb6e291b88ebaa8f2dd4afb70b2498f10ee89428258dc" }, { "path": "research/split-skip/SOURCE.json", - "usage": "input", + "usage": "provenance", "git_blob": "2ab610b6ea2edd2865fda793ef2168b0c76afb4f", "sha256": "7c2b4646a3ecfef6f881da5c43e4bd0fa9a4d1b00548b8ab458d897e16735134" }, { "path": "scripts/historical-ci-inputs/Makefile", - "usage": "input", + "usage": "provenance", "git_blob": "aff68409021c9d401a6f8013b9dfd7dbcc30f2a8", "sha256": "ea8830dd79da493e2d75baf753d733ff7efbcf2b4794afe41fae0ac8f3055646" }, { "path": "scripts/historical-ci-inputs/ledger-batch932-run_isolated_tests.py", - "usage": "input", + "usage": "provenance", "git_blob": "65db599ab0b1dea0312c4ca048e0bd0f44c3736f", "sha256": "96ea543e6c707424afe247e77bd86c82152f90fc76a0773c4232145da5cdf8d1" }, { "path": "scripts/historical-ci-inputs/ledger-batch932-test_isolated_test_runner.py", - "usage": "input", + "usage": "provenance", "git_blob": "34820a8f24678f918f4d0e7a35380d8013fc3495", "sha256": "628391b6abfbc8674ceec1751867a4392f2cc0b5b66886243e139af86cf355ac" }, { "path": "scripts/historical-ci-inputs/ledger-batch970-verify_selected_result.py", - "usage": "input", + "usage": "provenance", "git_blob": "c755b76e0d44ba4917aa94440ebe54daefce5b2a", "sha256": "d7fd929726b326aeeaf0a3996475adec88eee9aac09ae0bebeeaa0bc1fc8f199" }, { "path": "scripts/historical-ci-inputs/ledger-frontier741-ci-verification.md", - "usage": "input", + "usage": "provenance", "git_blob": "7f3c012504187917a728b9fe87043f0fc8cd006a", "sha256": "a854022e0e1d5d4db4d60e586be3ea56005013ef14a1fc06d02bc06e8529c4b0" }, { "path": "scripts/historical-ci-inputs/partial-swap-context.json", - "usage": "input", + "usage": "provenance", "git_blob": "ad65114886bf34a4fd27e79f3be502389e689faa", "sha256": "833a9642f33aeab2ffea17ec9c6b82e0a953f90192b2c82e10bef21538dccba9" }, { "path": "scripts/historical-ci-inputs/partial-swap-network.json", - "usage": "input", + "usage": "provenance", "git_blob": "52075f2463f60af5e16571347f24274fce73a1ea", "sha256": "f3c4be597b2f2136da4ae2cc80c7454f63c90aa01f84e5b8131cee4dd55de815" }, { "path": "scripts/partial_swap/shared.py", - "usage": "input", + "usage": "provenance", "git_blob": "44a0e454c70f9c4b98e258b8443612e6a119904b", "sha256": "5a0646a50b9f3e8ea55168620a78e8853b0ab810517cefc8cfb8696aedee278a" }, { "path": "scripts/replay_historical_check.py", - "usage": "input", + "usage": "provenance", "git_blob": "1e92fff2782970ef71378f594f2350d245a4db26", "sha256": "5467619c78183d3adc82b0cb55af28e5c1a01fca2b0588677816244b53e2bafd" }, { "path": "scripts/research_package.py", - "usage": "input", + "usage": "provenance", "git_blob": "091b4c8f58bac9a9580d76025b887dc5c873d05f", "sha256": "e1256016e7f51827d04fa2179255989f639ae1d97afaa9c16265f85a0c6abd70" }, { "path": "scripts/run_isolated_tests.py", - "usage": "input", + "usage": "provenance", "git_blob": "a96ab35b315ce492e7fbbfd6c5ae211aa066b541", "sha256": "49eb56dd0fc0d8d8ffdb209970a7adf2176223580646f575d5c22e59543b381c" }, { "path": "scripts/verify_selected_result.py", - "usage": "input", + "usage": "provenance", "git_blob": "6882a4700e410dec569b51ae2eaf1a19cc019195", "sha256": "d6b305eac5b9bdb8172c469ad30a1655a60fa0aceac8b1bf610e1b73f51babd8" }, { "path": "tests/test_isolated_test_runner.py", - "usage": "input", + "usage": "provenance", "git_blob": "343b24abf6719b81805eba5a84c74e57634c8288", "sha256": "3a5470d0b139828b90e19bf9583ddeafcd69f8e34f2824664eb3a2958a52e34d" } diff --git a/research/historical-selected-replay-gap/VERIFY.json b/research/historical-selected-replay-gap/VERIFY.json index 98553e72ed..ab7efa3471 100644 --- a/research/historical-selected-replay-gap/VERIFY.json +++ b/research/historical-selected-replay-gap/VERIFY.json @@ -4,36 +4,7 @@ "python": "3.12", "requirements": [], "inputs": [ - "Makefile", - "certificates/partial-swap-network.json", - "docs/ci-verification.md", - "research/clifford-state-performance/SOURCE.json", - "research/community-batch1047-audit/CONTENT-COVERAGE.json", - "research/community-batch1099-audit/CONTENT-COVERAGE.json", - "research/community-batch932-audit/CONTENT-COVERAGE.json", - "research/community-batch970-audit/CONTENT-COVERAGE.json", - "research/community-frontier741-audit/CONTENT-COVERAGE.json", - "research/community-frontier890-audit/CONTENT-COVERAGE.json", - "research/community-hyperplane599-audit/SOURCE.json", - "research/community-k492-audit/SOURCE.json", - "research/community-reconciliation92-audit/MANIFEST.json", - "research/partial-swap-digest/baseline.py", - "research/r420-two-sided-basis/SOURCES.json", - "research/skip-clones/SOURCE.json", - "research/split-skip/SOURCE.json", - "scripts/historical-ci-inputs/Makefile", - "scripts/historical-ci-inputs/ledger-batch932-run_isolated_tests.py", - "scripts/historical-ci-inputs/ledger-batch932-test_isolated_test_runner.py", - "scripts/historical-ci-inputs/ledger-batch970-verify_selected_result.py", - "scripts/historical-ci-inputs/ledger-frontier741-ci-verification.md", - "scripts/historical-ci-inputs/partial-swap-context.json", - "scripts/historical-ci-inputs/partial-swap-network.json", - "scripts/partial_swap/shared.py", - "scripts/replay_historical_check.py", - "scripts/research_package.py", - "scripts/run_isolated_tests.py", - "scripts/verify_selected_result.py", - "tests/test_isolated_test_runner.py" + "scripts/research_package.py" ], "commands": [ { diff --git a/research/historical-selected-replay-gap/verify.py b/research/historical-selected-replay-gap/verify.py index 83b995941a..9d266c5a4e 100644 --- a/research/historical-selected-replay-gap/verify.py +++ b/research/historical-selected-replay-gap/verify.py @@ -6,8 +6,10 @@ """ import hashlib import importlib.util +import json import subprocess import sys +import tempfile from pathlib import Path ROOT = Path(__file__).resolve().parents[2] @@ -61,31 +63,47 @@ def require(ok, message): raise SystemExit(message) -def load_checker(): - path = ROOT / "scripts/replay_historical_check.py" - spec = importlib.util.spec_from_file_location("historical_selected_replay_gap_checker", path) +def load_module(path): + spec = importlib.util.spec_from_file_location(path.stem, path) module = importlib.util.module_from_spec(spec) spec.loader.exec_module(module) return module +def checkout_snapshot(snapshot, sources, runner, env): + paths = [runner.canonical_relative_path(row["path"]) for row in sources["files"]] + git = ["git", "-c", "maintenance.auto=false", "-c", "gc.auto=0", + "-c", "core.autocrlf=false"] + subprocess.run([*git, "clone", "--quiet", "--shared", "--no-tags", "--no-checkout", + "--", str(ROOT), str(snapshot)], cwd=ROOT, env=env, check=True) + subprocess.run([*git, "update-ref", "--no-deref", "HEAD", INSPECTED], + cwd=snapshot, env=env, check=True) + # The pinned planner reads omitted manifests from the sparse HEAD/index. + patterns = "".join(f"/{path.as_posix()}\n" for path in paths) + subprocess.run([*git, "sparse-checkout", "set", "--no-cone", "--stdin"], + cwd=snapshot, env=env, input=patterns.encode("utf-8"), check=True) + subprocess.run([*git, "read-tree", "-mu", "HEAD"], cwd=snapshot, env=env, check=True) + for path, row in zip(paths, sources["files"], strict=True): + require(hashlib.sha256((snapshot / path).read_bytes()).hexdigest() == row["sha256"], + "historical checkout source digest changed: " + path.as_posix()) + + def entries(checker): for name, config in checker.CONFIG.items(): for entry in [config, *config.get("additional_inputs", [])]: yield name, entry -def reject(checker, entry): +def reject(root, checker, entry): try: - checker.authenticated_input(ROOT, entry) + checker.authenticated_input(root, entry) except ValueError as exc: return str(exc) raise SystemExit("historical input was admitted: " + entry["path"]) -def main(): - require(not sys.flags.optimize, "assertions must stay enabled") - checker = load_checker() +def check_snapshot(root, env): + checker = load_module(root / "scripts/replay_historical_check.py") selected = [entry for name, entry in entries(checker) if name == "tooling-ledger" and entry["path"] == SELECTED_PATH] require(len(selected) == 1, "selected-result checker overlay is not unique") @@ -94,7 +112,7 @@ def main(): require(entry["accepted_live_sha256"] == [SELECTED_ACCEPTED], "accepted selected-checker successors changed") frozen = (checker.INPUTS / entry["input"]).read_bytes() - live = (ROOT / SELECTED_PATH).read_bytes() + live = (root / SELECTED_PATH).read_bytes() require(hashlib.sha256(frozen).hexdigest() == SELECTED_PIN, "frozen selected checker bytes changed") require(hashlib.sha256(live).hexdigest() == SELECTED_LIVE, "live selected checker digest changed") require(SELECTED_LIVE not in (SELECTED_PIN, SELECTED_ACCEPTED), "live checker was already admitted") @@ -102,7 +120,7 @@ def main(): # live successor, not a broken comparison. require(SELECTED_PIN in (SELECTED_PIN, *entry["accepted_live_sha256"]), "pin membership control failed") - require(reject(checker, entry) == REJECTIONS[SELECTED_PATH][1], + require(reject(root, checker, entry) == REJECTIONS[SELECTED_PATH][1], "selected checker rejection text changed") counts = {path: 0 for path in REJECTIONS} @@ -110,7 +128,7 @@ def main(): for _name, item in entries(checker): if item["path"] not in REJECTIONS: continue - message = reject(checker, item) + message = reject(root, checker, item) counts[item["path"]] += 1 messages.setdefault(item["path"], message) for path, (count, message) in REJECTIONS.items(): @@ -118,20 +136,31 @@ def main(): require(messages[path] == message, "rejection text changed for " + path) require(sum(counts.values()) == 19, "rejection total changed") ci = [item for _name, item in entries(checker) if item["path"] == CI_PATH] - require(len(ci) == 1 and hashlib.sha256((ROOT / CI_PATH).read_bytes()).hexdigest() == CI_LIVE, + require(len(ci) == 1 and hashlib.sha256((root / CI_PATH).read_bytes()).hexdigest() == CI_LIVE, "selected CI note digest changed") diff = subprocess.check_output( - ["git", "diff", "--name-only", PARENT, INSPECTED], cwd=ROOT, text=True) + ["git", "diff", "--name-only", PARENT, INSPECTED], cwd=root, env=env, text=True) changed = sorted(name for name in diff.splitlines() if name) require(changed == CHANGED, "inspected commit diff changed") - sys.path.insert(0, str(ROOT / "scripts")) - from research_package import plan_details - details = plan_details(ROOT, set(changed)) + planner = load_module(root / "scripts/research_package.py") + details = planner.plan_details(root, set(changed)) require([row["package"] for row in details] == PLAN_PACKAGES, "helper plan selection changed") matched = {name for row in details for names in row["causes"].values() for name in names} require(sorted(set(changed) - matched) == UNMATCHED, "unmatched plan paths changed") - require(plan_details(ROOT, set()) == [], "empty change set selected a package") + require(planner.plan_details(root, set()) == [], "empty change set selected a package") + + +def main(): + require(not sys.flags.optimize, "assertions must stay enabled") + sources = json.loads(Path(__file__).with_name("SOURCES.json").read_bytes()) + require(sources["base_commit"] == INSPECTED, "historical checkout base changed") + runner = load_module(ROOT / "scripts/research_package.py") + env = runner.git_source_env() + with tempfile.TemporaryDirectory(prefix="historical-selected-replay-") as temporary: + snapshot = Path(temporary) / "snapshot" + checkout_snapshot(snapshot, sources, runner, env) + check_snapshot(snapshot, env) print("PASS_HISTORICAL_SELECTED_REPLAY_GAP") print("selected_checker_live=" + SELECTED_LIVE) print("rejections=19 distinct_paths=7 plan_packages=9") From 42e05dc17ddf5d2697792df26e2ff29de3011e03 Mon Sep 17 00:00:00 2001 From: ToikY <27568617+ToikY@users.noreply.github.com> Date: Wed, 11 Nov 2026 22:28:04 -0800 Subject: [PATCH 3/3] Bound stationary chart-242 temporal corrections --- .../LOCAL-PINS.json | 27 +++ .../NOTICE | 12 ++ .../PROOF.md | 141 ++++++++++++ .../PROVENANCE.json | 79 +++++++ .../README.md | 84 ++++++++ .../SOURCES.json | 18 ++ .../TASK.json | 117 ++++++++++ .../VERIFICATION.md | 7 + .../VERIFY.json | 19 ++ .../engines/r125/freeze.py | 112 ++++++++++ .../engines/r125/history.py | 178 +++++++++++++++ .../engines/r125/maximal.py | 191 ++++++++++++++++ .../engines/r126/agreement.py | 98 +++++++++ .../engines/r126/contacts.py | 127 +++++++++++ .../engines/r126/freeze.py | 60 ++++++ .../engines/r126/topology.py | 204 ++++++++++++++++++ .../engines/r127/dual_transfer.py | 68 ++++++ .../engines/r127/freeze.py | 83 +++++++ .../inputs/7334-WORD.json.gz | Bin 0 -> 393282 bytes .../inputs/PR7362-SHA256.json | 11 + .../inputs/PR7363-SHA256.json | 19 ++ .../inputs/R92-PRICE.json.gz | Bin 0 -> 11680 bytes .../inputs/R96-GEOMETRY.json.gz | Bin 0 -> 1784 bytes .../inputs/R96-PRICE.json.gz | Bin 0 -> 1104 bytes .../inputs/R97-EXACT.json.gz | Bin 0 -> 3530 bytes .../inputs/R97-MODULAR.json.gz | Bin 0 -> 6035 bytes .../inputs/READBACK.json | 188 ++++++++++++++++ .../inputs/donor_span.py | 169 +++++++++++++++ .../inputs/pricing.py | 82 +++++++ .../receipts/AGREEMENT.json | 35 +++ .../receipts/FUNDED-TRANSFER.json | 75 +++++++ .../receipts/SHA256.json | 11 + .../replay.py | 200 +++++++++++++++++ 33 files changed, 2415 insertions(+) create mode 100644 research/p104-stationary-chart242-history-bound/LOCAL-PINS.json create mode 100644 research/p104-stationary-chart242-history-bound/NOTICE create mode 100644 research/p104-stationary-chart242-history-bound/PROOF.md create mode 100644 research/p104-stationary-chart242-history-bound/PROVENANCE.json create mode 100644 research/p104-stationary-chart242-history-bound/README.md create mode 100644 research/p104-stationary-chart242-history-bound/SOURCES.json create mode 100644 research/p104-stationary-chart242-history-bound/TASK.json create mode 100644 research/p104-stationary-chart242-history-bound/VERIFICATION.md create mode 100644 research/p104-stationary-chart242-history-bound/VERIFY.json create mode 100644 research/p104-stationary-chart242-history-bound/engines/r125/freeze.py create mode 100644 research/p104-stationary-chart242-history-bound/engines/r125/history.py create mode 100644 research/p104-stationary-chart242-history-bound/engines/r125/maximal.py create mode 100644 research/p104-stationary-chart242-history-bound/engines/r126/agreement.py create mode 100644 research/p104-stationary-chart242-history-bound/engines/r126/contacts.py create mode 100644 research/p104-stationary-chart242-history-bound/engines/r126/freeze.py create mode 100644 research/p104-stationary-chart242-history-bound/engines/r126/topology.py create mode 100644 research/p104-stationary-chart242-history-bound/engines/r127/dual_transfer.py create mode 100644 research/p104-stationary-chart242-history-bound/engines/r127/freeze.py create mode 100644 research/p104-stationary-chart242-history-bound/inputs/7334-WORD.json.gz create mode 100644 research/p104-stationary-chart242-history-bound/inputs/PR7362-SHA256.json create mode 100644 research/p104-stationary-chart242-history-bound/inputs/PR7363-SHA256.json create mode 100644 research/p104-stationary-chart242-history-bound/inputs/R92-PRICE.json.gz create mode 100644 research/p104-stationary-chart242-history-bound/inputs/R96-GEOMETRY.json.gz create mode 100644 research/p104-stationary-chart242-history-bound/inputs/R96-PRICE.json.gz create mode 100644 research/p104-stationary-chart242-history-bound/inputs/R97-EXACT.json.gz create mode 100644 research/p104-stationary-chart242-history-bound/inputs/R97-MODULAR.json.gz create mode 100644 research/p104-stationary-chart242-history-bound/inputs/READBACK.json create mode 100644 research/p104-stationary-chart242-history-bound/inputs/donor_span.py create mode 100644 research/p104-stationary-chart242-history-bound/inputs/pricing.py create mode 100644 research/p104-stationary-chart242-history-bound/receipts/AGREEMENT.json create mode 100644 research/p104-stationary-chart242-history-bound/receipts/FUNDED-TRANSFER.json create mode 100644 research/p104-stationary-chart242-history-bound/receipts/SHA256.json create mode 100644 research/p104-stationary-chart242-history-bound/replay.py diff --git a/research/p104-stationary-chart242-history-bound/LOCAL-PINS.json b/research/p104-stationary-chart242-history-bound/LOCAL-PINS.json new file mode 100644 index 0000000000..ff48fe4cc6 --- /dev/null +++ b/research/p104-stationary-chart242-history-bound/LOCAL-PINS.json @@ -0,0 +1,27 @@ +{ + "PROVENANCE.json": "79b5dbad8c891b2623ee34455c0f32deb2f2cf5e68cc6fdc6df89b01fb9def79", + "engines/r125/freeze.py": "56743a32f3620e592a76a329b86d4094dd733228079f9d37134a0ed9242ff6e0", + "engines/r125/history.py": "7bd2ac685c2ffbe158de7d57128e2b6c05408a53627a8ed6e5d4c9cdd7b8a887", + "engines/r125/maximal.py": "8fc4bac1218b894a70cd7a172fba7176ef16b962852f75d776d34789817a5849", + "engines/r126/agreement.py": "55aaed8a0b06301f6127fb9bcdaf29b3d750dac6e5595f0f05522358dcec024c", + "engines/r126/contacts.py": "4050400fad72494567b3c8dfa46b08195320713d6258bfae54a160b60ebc1941", + "engines/r126/freeze.py": "213b54dbe28a449f6a2875af9823d13f13c6c5cac1ca1c632208445dc1b8b380", + "engines/r126/topology.py": "f3045db482361a6bb54280ec40e6d4f342330958e262fe0ee118cfa3bb65daa6", + "engines/r127/dual_transfer.py": "86a3d96b1eb334bab1011e137270370bc0494f75df659a7246562e36dd5cf744", + "engines/r127/freeze.py": "734feec1f5f3f2972f076a553d9241cccd41fc0c00c4d5e0f663e85ebb1d6273", + "inputs/7334-WORD.json.gz": "4b9fd1187b34ed97c3ac0c760d73531735a5d0ebc5b4d4ab4377160b20d9bb2a", + "inputs/PR7362-SHA256.json": "2c90ca39b0f075cc4b3ec9e90c66fde473465e7bb50cf1db9a820d3a29556c0b", + "inputs/PR7363-SHA256.json": "91aa157df8168be25cfda9acdeea45e097e17d4047e7b37c935061e5a2a44f47", + "inputs/R92-PRICE.json.gz": "2274f514fb12f9ced0c24abe0c02a76c16cfee4c61f909e37a5ad89b07852371", + "inputs/R96-GEOMETRY.json.gz": "3f824cdfa8f2eb5411e73b81916ef70e1e81fe86ea9e347a73ab9a76ddcb395e", + "inputs/R96-PRICE.json.gz": "088ec2baba4bef02f3a3394690017f205aba8fca4c742e4f5b69782b6d211ede", + "inputs/R97-EXACT.json.gz": "5edca42a911e1132f71f000c94d00e0f331c5537e632a1a991856314052eda48", + "inputs/R97-MODULAR.json.gz": "34309d5bf7162c20897213e89e25dda559372cdadeb45ce078daa44504879854", + "inputs/READBACK.json": "337668788fb39ec9575887f9c5faf438a880471f78d936357dabf7deeac5de82", + "inputs/donor_span.py": "4d5306e2c0b7e91c79d22c82e8e760aed2c311979298c558e631975d4d1ae5b1", + "inputs/pricing.py": "f4d0b6c9314b838d882d6d06020f24881c19a3fda97a7c00df87b1e920785182", + "receipts/AGREEMENT.json": "01e5064c748550bb47ceeee761b33a0eba86a9b2bc4b2ea6d5014bdd543d7f17", + "receipts/FUNDED-TRANSFER.json": "809cdd1eb6f2eb1356222f4e1bbd79b66e779eda487ce63ae77eda796ee14f3d", + "receipts/SHA256.json": "d0309e26a5f36ee56234b730a6e5ec0d92e9daafb91db96bec0c7dbc938ffb9f", + "replay.py": "09b475134099ab5f173315f9c3102e401c79eb02b04830df886244cce08981ff" +} diff --git a/research/p104-stationary-chart242-history-bound/NOTICE b/research/p104-stationary-chart242-history-bound/NOTICE new file mode 100644 index 0000000000..13a23de58b --- /dev/null +++ b/research/p104-stationary-chart242-history-bound/NOTICE @@ -0,0 +1,12 @@ +Apache-2.0. + +#7334 and #7113 supply the native word and signed caller. +#7338 and #7298 supply the signed readback and tariff. +#7363 and #7374 supply the exact earlier static bank evidence. +#7156, #7148 and #7244 supply temporal construction precedents. +#7355 supplies the reused rational row walk. OpenAI Codex +and subagents materially assisted. + +#7161 supplies the constructive paid-exit precedent on a different +helper and chart. #7362 supplies the exact larger cohort and full +rank stock used by the funded extension. diff --git a/research/p104-stationary-chart242-history-bound/PROOF.md b/research/p104-stationary-chart242-history-bound/PROOF.md new file mode 100644 index 0000000000..6676f7c0d2 --- /dev/null +++ b/research/p104-stationary-chart242-history-bound/PROOF.md @@ -0,0 +1,141 @@ +# Guarded suffix and the continuous chart-242 interval + +## Required correction + +The pinned #7334 word has 76,466 events. Pre-event cut t follows +exactly t events. Chart 242 is a rank-four strict intermediate +of the rank-eight 3→245 productive cohort. Fix retirement of role +p = 1123 at cut 41740. Both the inherited Round 97 exact receipt +and a fresh rational prefix replay identify the pivot's complete +normalized prefix as e_p. This includes its arbitrary dirty input. + +For a stationary owned difference buffer B holding z−x, let +S(t,r) denote the full normalized response to a unit injection +into public role r at cut t. Use the old word with subsequent +logical contacts to p routed to a fresh public successor. +The response retains all final public and final-owned coordinates +and one separate pre-write zero guard for each literal COPY. +The COPY overwrites its destination and propagates the source +perturbation. A pre-write destination perturbation remains visible +on its separate guard. + +A valid timed correction d must be supported on the 15 original +productive cohort axes with d_p = 1 and zero final-owned and +guard coordinates. Indeed the boundary basis requires +Gd = e_p with the pivot row e_p. Project each column onto the +exterior public axes, final-owned and guard axes, and the retained +pivot axis. A necessary condition is membership of e_p in the +span of the projected columns. This relaxes coefficient legality, +number of injections and all ancillary costs. + +## Exact obstruction on the maximal bank + +The first replay constructs all 354 guarded columns for 19 frozen +banks and rejects membership over the rationals. The independent +replay seeds 20 separate forward unit perturbations at pre-event +cut 45472. This is the latest cut among the frozen maximal banks. +It derives rank 19 in the projected response and a separating +covector + +```text +x1123 + x843 + (x29 + x59)/2 + (x30 + x60)/8. +``` + +The covector evaluates to zero on every maximal-bank response +and to one on the required direction. Every original COPY is +guarded by the replay. The sole COPY in the exact word is at +clock 33805 in chart 115 with destination 1525 immediately +initialized at 33804. It precedes retirement. + +## Span containment across all cuts + +Before cut 45472, the chart-242 corridor from retirement contains +four paid public ingresses and internal invertible ADD or +nonzero SCALE contacts only. No original owned role is resident +during that corridor. There is no egress before the maximal cut. +An earlier injected perturbation remains supported on the +current public bank and hence reaches cut 45472 in its span. +Each earlier suffix column factors through the maximal-bank +columns, including every pre-event cut between contacts. The +signed native contract provides identity in normalized row +coordinates for every retained MOVE. + +From cut 45472 to final cut 76466, both literal chronology +walks find precisely twelve chart-242 contacts. Every one is a +public egress. There are no scalar contacts, public ingresses or +owned contacts on chart 242 in this tail. If r is publicly +resident at any later cut, it has been present since the maximal +cut and has had no intervening contact. Its full normalized +guarded suffix column therefore equals the column for r at +cut 45472. Later egress only removes columns. The chronology +tracks both operands at each ADD or COPY and audits the exact +fresh owned-COPY rule. + +Counting resident public roles at every pre-event cut yields +60,355 pairs strictly before cut 45472 and 267,978 at or after +it, including the final cut. All 328,333 pairs lie in the +separating span. The 354 original observations are a subset of +this continuous domain. No candidate construction, new signed +phase proof or suffix interface change was needed to conclude +this exclusion. + +## Signed price + +On the unchanged 17-copy caller, one rank-eight productive +target split into two rank-four targets changes T4 by +34 +and T8 by −17. The 110,519 paid positions are fixed. The +productive count would rise from 22,461 to 22,478, signed +rank surplus remains 1,424 and empty credit remains zero. + +The complete margin improvement before ancillary changes is +17(2H4−H8) with H_r = r^(1−κ). Its directed upper is about +0.3415972937126856 raw at the incumbent crossing upper. +The complete probe lower at that crossing upper plus 10⁻⁹ is +about 0.34120981169577774. Adding even one raw paid rank-one +position gives an incumbent complete upper of about +−0.6584027062873143. At the fixed target κ = 0.0040075385047236 +the complete upper is about −139.3917577808413. This optimistic +price does not certify changed ownership, physical maps, ordinary +setup and routing, precision or tape. The exact span exclusion +prevents a construction within the tested stationary scope. + +## One funded rank-one exit + +Consider the same retirement and stationary chart-242 support while +granting one paid terminal exit from chart 245 to 127 on the +successor carrying logical pivot 1123 after the fixed old suffix. +The proposed replacement splits the rank-eight target into ranks four +and five. Its allowable correction axes are the 615 original +chart-3→127 roles and role 1123. The pivot is absent from the original +615-role group. The funded stage authenticates that exact larger cohort. + +The old dual has coefficients 1 at 1123 and 843, 1/2 at 29 and 59, +and 1/8 at 30 and 60. Its support meets each of the original 15-role +cohort and the funded 616-role cohort only at 1123. The replay evaluates +it on all 20 authenticated maximal columns and obtains zero each time. +It evaluates to one on the retained pivot direction. The old projection +drops old cohort coordinates outside the pivot. The dual already +vanishes on all those coordinates, so these evaluations also hold on +the full guarded columns. + +Grant a terminal exit whose normalized action multiplies coordinate +1123 by a nonzero scalar λ and preserves all other guarded coordinates. +Transport the dual by dividing its pivot coefficient by λ. The +transported dual annihilates the transformed response span and is +nonzero on every funded-cohort-pure response with a nonzero pivot +component. R126 containment makes this statement apply to all 328,333 +original injection positions. The grant supplies no new chart-242 +generator. The proof does not require materializing the physical exit +and does not cover new generators, changed guard constraints or other +changed routes. As a control the verifier admits one exterior dual +coordinate to the funded cohort and rejects the transfer implication. + +Across all 17 copies the funded quote changes P1 by +17 and the +productive targets by T4 +17, T5 +17 and T8 −17. Paid positions would +rise to 110,536, productive positions to 22,478 and signed rank surplus +would stay 1,424. The one-edit upper, rounded upward, is 0.18708348264968764 raw at the +old crossing. The higher probe lower is approximately +0.18669595842376904. The fixed-target complete upper is approximately +−139.56149847079874. One more paid rank-one call defeats the quote. +This price grants ancillary work free and the exact separator prevents +a supported construction in the tested funded variant. diff --git a/research/p104-stationary-chart242-history-bound/PROVENANCE.json b/research/p104-stationary-chart242-history-bound/PROVENANCE.json new file mode 100644 index 0000000000..d19dd1490b --- /dev/null +++ b/research/p104-stationary-chart242-history-bound/PROVENANCE.json @@ -0,0 +1,79 @@ +{ + "caller": { + "commit": "07a76c5e2738882c0cb322278e56f6cae3c9885d", + "scope": "Retained signed caller and invoice. No caller replay in this package.", + "source": "https://github.com/CrocSwap/integer-mult-bounds/pull/7113" + }, + "derived_payloads": { + "R96-GEOMETRY.json": "input/lead/GEOMETRY.json", + "R96-PRICE.json": "input/price/PRICE.json", + "R97-EXACT.json": "independent/RESULT.json", + "R97-MODULAR.json": "modular/RESULT.json" + }, + "files": { + "inputs/7334-WORD.json.gz": { + "commit": "aaeec8c0acf01e99a5f331ef363a698d9c084ace", + "git_blob": "73f43007192eb5a38eb5abb591b871df3e52c7cd", + "path": "research/p104-helper-319-fused-return/WORD.json.gz", + "sha256": "4b9fd1187b34ed97c3ac0c760d73531735a5d0ebc5b4d4ab4377160b20d9bb2a", + "source": "https://github.com/Clear1nsight/integer-mult-bounds/blob/aaeec8c0acf01e99a5f331ef363a698d9c084ace/research/p104-helper-319-fused-return/WORD.json.gz", + "uncompress": false + }, + "inputs/PR7362-SHA256.json": { + "commit": "5eec7ed633dcf9b9bbc95552aa653da296f863fb", + "git_blob": "b1486e0b5cfe4535f381ed26f7bce4aee21d8a43", + "path": "research/p104-rank-two-virtual-cut-bound/receipts/SHA256.json", + "sha256": "2c90ca39b0f075cc4b3ec9e90c66fde473465e7bb50cf1db9a820d3a29556c0b", + "source": "https://github.com/CrocSwap/integer-mult-bounds/blob/5eec7ed633dcf9b9bbc95552aa653da296f863fb/research/p104-rank-two-virtual-cut-bound/receipts/SHA256.json" + }, + "inputs/PR7363-SHA256.json": { + "commit": "a0502b0b30a4a4a0e9a37c08e83febbd515c5955", + "git_blob": "1db37e45efca74affe00b10d03ab924bee899ad8", + "path": "research/p104-rank-eight-fixed-paid-bank-bound/receipts/SHA256.json", + "sha256": "91aa157df8168be25cfda9acdeea45e097e17d4047e7b37c935061e5a2a44f47", + "source": "https://github.com/CrocSwap/integer-mult-bounds/blob/a0502b0b30a4a4a0e9a37c08e83febbd515c5955/research/p104-rank-eight-fixed-paid-bank-bound/receipts/SHA256.json" + }, + "inputs/READBACK.json": { + "commit": "349996445176e934ffb3c76813adcd230ca8f783", + "git_blob": "625b508eead24b4428253bd257620b7e775800c1", + "path": "research/p104-compensated-fusion-readout-bound/price/READBACK.json", + "sha256": "337668788fb39ec9575887f9c5faf438a880471f78d936357dabf7deeac5de82", + "source": "https://github.com/CrocSwap/integer-mult-bounds/blob/349996445176e934ffb3c76813adcd230ca8f783/research/p104-compensated-fusion-readout-bound/price/READBACK.json", + "uncompress": false + }, + "inputs/donor_span.py": { + "commit": "403e0d388c35e83b15eab5bba67be563b33d5a8a", + "git_blob": "46e4621b69bba513f327de53153298e7f4ca0645", + "path": "research/p104-owned-add-source-span-bound/engines/forward.py", + "sha256": "4d5306e2c0b7e91c79d22c82e8e760aed2c311979298c558e631975d4d1ae5b1", + "source": "https://github.com/CrocSwap/integer-mult-bounds/blob/403e0d388c35e83b15eab5bba67be563b33d5a8a/research/p104-owned-add-source-span-bound/engines/forward.py" + }, + "inputs/pricing.py": { + "commit": "c522451caf287bb3c16eaece72be4c263315dca4", + "git_blob": "40ec194017bda1d524bba4f07b188c53281419d0", + "path": "research/adjacent-owned-add-exchange-bound/pricing.py", + "sha256": "f4d0b6c9314b838d882d6d06020f24881c19a3fda97a7c00df87b1e920785182", + "source": "https://github.com/CrocSwap/integer-mult-bounds/blob/c522451caf287bb3c16eaece72be4c263315dca4/research/adjacent-owned-add-exchange-bound/pricing.py", + "uncompress": false + } + }, + "funded_cohort_payload": { + "file": "inputs/R92-PRICE.json.gz", + "key": "R92-PRICE.json", + "manifest": "inputs/PR7362-SHA256.json" + }, + "prior_funded_exit": { + "commit": "e3f8d39c43b07063dfc5b800f71c5d21015259e6", + "scope": "Funded exit of a different helper and chart with exact temporal split.", + "source": "https://github.com/CrocSwap/integer-mult-bounds/pull/7161" + }, + "prior_static_closure": { + "commit": "5711e39fa7dc7e8dc2357c9df81246817a649a94", + "source": "https://github.com/CrocSwap/integer-mult-bounds/pull/7374" + }, + "prior_temporal": { + "commit": "b44944c3058d522cbff17836e16240d40d77a927", + "source": "https://github.com/CrocSwap/integer-mult-bounds/pull/7156" + }, + "schema_version": 1 +} diff --git a/research/p104-stationary-chart242-history-bound/README.md b/research/p104-stationary-chart242-history-bound/README.md new file mode 100644 index 0000000000..f958e86e27 --- /dev/null +++ b/research/p104-stationary-chart242-history-bound/README.md @@ -0,0 +1,84 @@ +# Stationary chart-242 temporal corrections + +**NO VERIFIED GAIN.** Conditional κ remains `0.00364665195644`, +with exact Δκ = 0 relative to independently reproduced +[#7334](https://github.com/CrocSwap/integer-mult-bounds/pull/7334) +`aaeec8c0acf01e99a5f331ef363a698d9c084ace` and its signed +[#7113 caller](https://github.com/CrocSwap/integer-mult-bounds/pull/7113) +`07a76c5e2738882c0cb322278e56f6cae3c9885d`. + +Fix the retirement of role 1123 at pre-event cut 41740 on chart 242. +A stationary owned difference buffer may inject into every original +public field cocharted with it, at any cut through the end of the word. +The projected guarded response has rank 19 and lacks the required pivot +direction. Independent forward and reverse chronology reduce all +**328,333** public cut-role pairs to the same maximal bank. No pair +remains unresolved within this exact retirement and fixed paid itinerary. +[Agreement](receipts/AGREEMENT.json) · [Proof and complete price](PROOF.md). + +The same dual also excludes the variant that charges one rank-one exit +245→127 on the successor carrying logical role 1123 and permits +correction within the 616-role +endpoint cohort. Only the pivot lies in both the enlarged cohort and +the dual support. The proof grants a nonzero normalized exit on that +role with all other coordinates and guards preserved. The funded +variant has a directed one-edit upper, rounded upward, of +0.18708348264968764 raw before support. It changes the productive split from 4+4 to 4+5 and leaves no +supported construction. [Funded transfer](receipts/FUNDED-TRANSFER.json). + +## Replay + +From a clean checkout on POSIX, use CPython 3.12 with assertions. + +```sh +python3.12 -I -B research/p104-stationary-chart242-history-bound/replay.py +``` + +The standard-library replay authenticates the #7334 word, the signed +invoice and #7363 and #7362 predecessor receipts. It recomputes both +prices, guarded separation, both full chronology walks and the funded +dual transfer, then tests four changed inputs. Use `--out fresh-directory` for all nine regenerated +receipts. No Git metadata, network, external roots or prior temporary +state is needed. +[Provenance](PROVENANCE.json) · [Path-keyed pins](LOCAL-PINS.json) · +[Receipt hashes](receipts/SHA256.json). + +## Open next questions + +Can one fixed-paid stationary buffer on a different chart obtain a +genuinely new guarded suffix direction? Start with a pinned pure prefix +and a documented later public arrival or a public-to-owned contact. +Price its complete target and paid delta, then test those new response +directions against the exact guard space. This contribution fixes +one retirement on chart 242, one buffer, the original public injection +targets and scalar chronology. The funded variant grants only the +specified terminal exit and its enlarged correction cohort. + +## Credit + +[#7334](https://github.com/CrocSwap/integer-mult-bounds/pull/7334) +and [#7113](https://github.com/CrocSwap/integer-mult-bounds/pull/7113) +supply the exact native word and signed caller. +[#7338](https://github.com/CrocSwap/integer-mult-bounds/pull/7338) +and [#7298](https://github.com/CrocSwap/integer-mult-bounds/pull/7298) +supply the signed invoice readback and directed tariff. +[#7363](https://github.com/CrocSwap/integer-mult-bounds/pull/7363) +at `a0502b0b30a4a4a0e9a37c08e83febbd515c5955` supplies the +original chart-245 bank geometry and Round 97 exact pure prefix. +[#7374](https://github.com/CrocSwap/integer-mult-bounds/pull/7374) +at `5711e39fa7dc7e8dc2357c9df81246817a649a94` closes the +remaining static banks and records the reversible bank transfers. +[#7156](https://github.com/CrocSwap/integer-mult-bounds/pull/7156) +at `b44944c3058d522cbff17836e16240d40d77a927` supplies +the constructive temporal identity and guard-aware suffix proof. +[#7148](https://github.com/CrocSwap/integer-mult-bounds/pull/7148) +and [#7244](https://github.com/CrocSwap/integer-mult-bounds/pull/7244) +supply related timed and chart-245 predecessors. +[#7355](https://github.com/CrocSwap/integer-mult-bounds/pull/7355) +supplies the reused rational row walk. +[#7161](https://github.com/CrocSwap/integer-mult-bounds/pull/7161) +supplies a constructive paid-exit precedent on another helper and chart. +[#7362](https://github.com/CrocSwap/integer-mult-bounds/pull/7362) +supplies the exact 615-role endpoint cohort and rank stock for the funded quote. +OpenAI Codex and subagents materially assisted proof, +implementation, independent verification and packaging. diff --git a/research/p104-stationary-chart242-history-bound/SOURCES.json b/research/p104-stationary-chart242-history-bound/SOURCES.json new file mode 100644 index 0000000000..e8c2f265cd --- /dev/null +++ b/research/p104-stationary-chart242-history-bound/SOURCES.json @@ -0,0 +1,18 @@ +{ + "base_commit": "e54523517d0f03e58352e647c403a5af3e525a57", + "files": [ + { + "git_blob": "75d77b328ea02ded535e7f23aee5b1e55d0bb1a8", + "path": "certificates/selected-result.json", + "sha256": "154c3d30455d778fd3343b6b4851f0fa4665f0f7625b0adb3675e2bafbbf6bf1", + "usage": "provenance" + }, + { + "git_blob": "3404fbdd5e7529a0674eef26114b5071e4586cec", + "path": "docs/research/agent-task-catalog.json", + "sha256": "ead6cdc9d0af6d58e8a49744d8ec8c7c15e13d2ba93c276c434bcf9b51b93a81", + "usage": "provenance" + } + ], + "schema_version": 1 +} diff --git a/research/p104-stationary-chart242-history-bound/TASK.json b/research/p104-stationary-chart242-history-bound/TASK.json new file mode 100644 index 0000000000..2a036d4908 --- /dev/null +++ b/research/p104-stationary-chart242-history-bound/TASK.json @@ -0,0 +1,117 @@ +{ + "actual_scope": "Exact #7334 at one retirement, cut 41740 on chart 242 and pivot 1123. Grant arbitrary rational timed injections from one stationary owned difference buffer into every original cocharted public role through the final cut. Keep all paid routes and original chronology fixed. Also grant one paid terminal 245-to-127 exit for role 1123, acting as a nonzero normalized scalar, and the exact 616-role correction cohort while retaining the same response generators.", + "ai_assistance": "OpenAI Codex and subagents materially assisted proof, implementation, independent verification and packaging.", + "author": "P104 stationary chart-242 temporal split research", + "base_commit": "e54523517d0f03e58352e647c403a5af3e525a57", + "bottleneck_link": "A productive split may improve the binding complex bill only if an intermediate public bank supplies a pure cohort prefix and suffix with exact unit pairing.", + "budget_minutes": 8, + "evidence": "Two exact guarded methods find rank 19 and a separating covector. Two opposite chronology walks close all 328,333 continuous cut-role pairs by span containment. The authenticated dual remains exterior to the funded cohort except for the pivot and annihilates all twenty transferred maximal responses.", + "open_questions": [ + { + "blocked_by": "The original chart-242 history adds no guarded response directions, and one normalized funded exit preserves the separating dual.", + "first_step": "Freeze one exact pure prefix on a different chart with a documented later public arrival. Price the same complete target/paid delta, then test only new guarded response generators.", + "question": "Can a stationary buffer on another exact chart reach a new late public response after the old bank closes?", + "why_it_matters": "One new guarded suffix direction could support a fixed-paid productive split and improve the binding complex recurrence." + } + ], + "original_card": { + "acceptance_gate": "An exact arbitrary-input identity, source/target frame availability and restoration at the chosen cut, plus the complete channel+correction+idle/hosting bill or an explicit favorable bound. The native channel alone is not a supplier. A scoped local result may be retained without a complete supplier. Expanding it into further construction rounds requires the family-level budget and obligation gate in research-family-status.md; an optimistic passing relaxation alone is not acceptance.", + "allowed_variations": [ + "One exact source head, helper/cut region or quantified proposition and changed hypothesis; check live handoffs first. Different seeds are not different scopes." + ], + "bottleneck_link": "Judge the actual current supplier contract and complete signed target/paid bill; frozen-profile ceilings require an applicability proof.", + "existing_checks": [ + { + "evidence": "research/p104-literal-slot-defect/README.md", + "remaining": "Independently validate the stated scope or change its producer/consumer premise and pay the complete boundary.", + "scope": "PR #4133: literal-slot defect", + "selected_record_sha256": "bb2eaa58647b353f88d0aec2eafb9d30df1be53589231b23e12ceef3e4bad129", + "source_commit": "88666f1dee93fbd85b31fd5d6f91a219e111b5f4", + "status": "author-checked" + }, + { + "evidence": "research/p104-uniform-commutation-gap/README.md", + "remaining": "Independently validate the stated scope or change its producer/consumer premise and pay the complete boundary.", + "scope": "PR #4136: uniform commutation gap", + "selected_record_sha256": "bb2eaa58647b353f88d0aec2eafb9d30df1be53589231b23e12ceef3e4bad129", + "source_commit": "281ce601a8be9db470de630759179c23e1dfaa88", + "status": "author-checked" + }, + { + "evidence": "research/p104-uniform-encoding-gap/README.md", + "remaining": "Independently validate the stated scope or change its producer/consumer premise and pay the complete boundary.", + "scope": "PR #4140: uniform encoding gap", + "selected_record_sha256": "bb2eaa58647b353f88d0aec2eafb9d30df1be53589231b23e12ceef3e4bad129", + "source_commit": "de25c6525aa866962309df5d107b32d55e6e5628", + "status": "author-checked" + }, + { + "evidence": "research/p104-source-chart-shortcut/README.md", + "remaining": "Independently validate the stated scope or change its producer/consumer premise and pay the complete boundary.", + "scope": "PR #4153: source-chart shortcut exhausts its optimistic allowance", + "selected_record_sha256": "bb2eaa58647b353f88d0aec2eafb9d30df1be53589231b23e12ceef3e4bad129", + "source_commit": "9123241fea53df77e51ffe30d9aca1625d4bf3a8", + "status": "author-checked" + }, + { + "evidence": "research/p104-fiber-tag-seam/README.md", + "remaining": "Independently validate the stated scope or change its producer/consumer premise and pay the complete boundary.", + "scope": "PR #4154: fiber-tag seam mismatch", + "selected_record_sha256": "bb2eaa58647b353f88d0aec2eafb9d30df1be53589231b23e12ceef3e4bad129", + "source_commit": "4ffcdaee5d6255a9cea1fe53a5424435068089d0", + "status": "author-checked" + }, + { + "evidence": "docs/research/pr-intake-evidence/pr5599-completion/PROOF-REVIEW.md", + "remaining": "The next experiment must identify uncovered source-specific work. Successor archive intake does not transfer this admission.", + "scope": "Selected PR5599: complete helper-subspace construction and independent caller replay; five framework assumptions remain.", + "selected_record_sha256": "2a0220e866417774606e0f991e41b9c1d26b1f43b97857238cf478dbc7d330b5", + "source_commit": "09dd0965711ca7eeb169057a420abab1c9052137", + "status": "reviewed" + } + ], + "first_experiment": "Start with the selected #5599 emitted word and review pending #5718 distinct input/output bases plus #5717/#5719 coverage before claiming work. Pick one uncovered source word, helper group and cut region. Prove the arbitrary-input relation and legal entry/exit corrections, then compare full target and paid profiles. Reject if completion, owned lifetimes or consumer costs repay the gain. A static pairing rank alone is not a physical split.", + "first_step": { + "command": [ + "python3", + "-B", + "scripts/research_selected_baseline.py" + ], + "expected": "PASS_RESEARCH_BASELINE_BINDINGS_ONLY", + "inspect": "Read revision 8, the selected review and live exact-source handoffs. Then follow this card's bounded first_experiment.", + "scope": "Source-bound orientation only, not a supplier replay or theorem proof." + }, + "id": "p104-side-correction", + "methods": [ + "Construct and independently check one source-bound instance of the stated first experiment.", + "Seek an exact counterexample or target-specific complete-budget obstruction to that same proposed change." + ], + "overlap_terms": [ + "P104", + "helper basis", + "helper split", + "5718", + "dyadic capacity" + ], + "question": "Can joint helper bases and a legal causal split improve the complete P104 productive/paid invoice?", + "scope_change_triggers": [ + "Changing source head, helper/cut domain, operation alphabet or caller boundary without recording the new scope.", + "Treating an archived proposal or local numerical pass as complete supplier admission." + ], + "starting_points": [ + "docs/research/current-priorities.md", + "docs/research/research-family-status.md", + "certificates/selected-result.json", + "docs/research/pr-intake-evidence/pr5599-completion/PROOF-REVIEW.md", + "research/p104-helper-subspace-splits/README.md", + "research/dyadic-helper-channel-capacity/README.md" + ] + }, + "outcome": "negative-result", + "priority_revision": 8, + "schema_version": 1, + "scope_change_reason": "Tests a stationary owned temporal buffer beyond the prior same-cut public bank scope of #7363 and #7374.", + "scope_status": "changed", + "stop_rule": "One retirement, 354 frozen guarded observations and 35 seconds; then two opposite 76,466-event topology walks at 20 seconds per pass. No prototype after exact separation.", + "task_id": "p104-side-correction" +} diff --git a/research/p104-stationary-chart242-history-bound/VERIFICATION.md b/research/p104-stationary-chart242-history-bound/VERIFICATION.md new file mode 100644 index 0000000000..c67c457d48 --- /dev/null +++ b/research/p104-stationary-chart242-history-bound/VERIFICATION.md @@ -0,0 +1,7 @@ +# Verification + +The direct CPython 3.12.14 replay exited zero in 5.90 seconds. A relocated Git-free copy with an empty inherited environment exited zero in 5.80 seconds. Both produced all nine receipts byte for byte. Four altered-input controls each reject, covering the original exact predecessor, tail price, funded cohort and transferred chronology agreement. + +The replay regenerates the original 354-key guarded rank and the independent 20-column separator. Both topology walks exhaust 76,466 events and match all 12 later egresses. The funded stage then authenticates the exact 615-role source cohort, recomputes the 17-copy price, and tests the same dual on all 20 maximal columns. The funded stage needs only these authenticated earlier receipts and no additional native word. The same separator applies after a granted normalized terminal exit. A new physical exit and full caller replay were not required for the obstruction. + +[Replay command](README.md) · [Provenance](PROVENANCE.json) · [Receipt digests](receipts/SHA256.json) diff --git a/research/p104-stationary-chart242-history-bound/VERIFY.json b/research/p104-stationary-chart242-history-bound/VERIFY.json new file mode 100644 index 0000000000..5a2d9f77fd --- /dev/null +++ b/research/p104-stationary-chart242-history-bound/VERIFY.json @@ -0,0 +1,19 @@ +{ + "commands": [ + { + "argv": [ + "{python}", + "-I", + "-B", + "{package}/replay.py" + ], + "checks": "Authenticate exact quote and caller inputs, reconstruct rational guarded separation and full interval containment through independent chronology, then regenerate the funded exit quote and transfer with altered dependency controls.", + "timeout_seconds": 150 + } + ], + "inputs": [], + "python": "3.12", + "requirements": [], + "schema_version": 1, + "status": "ready" +} diff --git a/research/p104-stationary-chart242-history-bound/engines/r125/freeze.py b/research/p104-stationary-chart242-history-bound/engines/r125/freeze.py new file mode 100644 index 0000000000..a9594daf2c --- /dev/null +++ b/research/p104-stationary-chart242-history-bound/engines/r125/freeze.py @@ -0,0 +1,112 @@ +"""Freeze and preprice one temporal correction at chart 242 without word access.""" +from collections import Counter +from fractions import Fraction +from hashlib import sha256 +import json +from pathlib import Path +from runpy import run_path + +ROOT = Path(__file__).resolve().parent +HEAD = "aaeec8c0acf01e99a5f331ef363a698d9c084ace" +CALLER = "07a76c5e2738882c0cb322278e56f6cae3c9885d" +PIVOT, CUT, CHART = 1123, 41740, 242 +PINS = { + "inputs/R96-PRICE.json": "a78be64c3e3ae8a0e532237c4dd3541aa9ad3fcbbc3c25d79c8a03fb7e07c525", + "inputs/R96-GEOMETRY.json": "c6f9f018df8b58fcdf4f44356bd59bcac6d411b7845104ff4ad372ed4a95cfbd", + "inputs/R97-EXACT.json": "95d34e468683aa64e19d3e4d62745b9fc1d4305b00d25054b34bb5a668639b4b", + "inputs/R97-MODULAR.json": "6710e8711907a0c8412660696cf821e69fdc42bebf7fc24689fc3385fe7aabf3", + "inputs/READBACK.json": "337668788fb39ec9575887f9c5faf438a880471f78d936357dabf7deeac5de82", + "inputs/pricing.py": "f4d0b6c9314b838d882d6d06020f24881c19a3fda97a7c00df87b1e920785182", +} +PROTECTED = {319, 863, 1355, 1568} + + +def unique(items): + result = dict(items) + if len(result) != len(items): + raise ValueError("duplicate JSON key") + return result + + +def interval(bounds): + return list(map(str, bounds)) + + +def main(): + docs = {} + for name, digest in PINS.items(): + raw = (ROOT / name).read_bytes() + if sha256(raw).hexdigest() != digest: + raise ValueError(f"changed dependency {name}") + if name.endswith(".json"): + docs[name] = json.loads(raw, object_pairs_hook=unique) + price, geometry, exact, modular, readback = docs.values() + assert {doc["head"] for doc in docs.values()} == {HEAD} + assert price["caller"] == readback["caller_head"] == modular["caller"] == CALLER + assert geometry["price_sha256"] == PINS["inputs/R96-PRICE.json"] + cohort = price["cohort"] + assert len(cohort) == 15 and PIVOT in cohort + key = CUT, CHART + row, = (r for r in exact["results"] if tuple(r["key"]) == key) + axis = {str(PIVOT): "1"} + assert row["prefix_pure_basis"] == [{"a": axis, "c": axis}] + assert row["suffix_pure_basis"] == [{"b": {"30": "1"}, "d": {"361": "-1/2"}}] + assert row["cut_pairing_matrix"] == row["endpoint_pairing_matrix"] == [["0"]] + records = {} + entries = [(r["key"], r) for r in geometry["selected"]] + entries.extend((r["key"], r["prefix"]["bank"]) for r in modular["results"]) + for raw_key, bank in entries: + bank_key = tuple(raw_key) + if bank_key in records: + raise ValueError(f"duplicate bank key {bank_key}") + records[bank_key] = bank + assert len(records) == 326 and set(records) == set(map(tuple, geometry["all_representative_keys"])) + assert records[key]["public"] == row["public"] and not records[key]["owned"] + banks = [] + for (t, c), bank in sorted(records.items()): + if c == CHART and t >= CUT: + assert not bank["owned"] + targets = [role for role in bank["public"] if role not in PROTECTED] + banks.append({"cut": t, "public": bank["public"], "injection_targets": targets}) + pairs = sum(len(r["injection_targets"]) for r in banks) + assert len(banks) == 19 and pairs == 354 + + paid, productive = (Counter({int(k): v for k, v in readback[name].items()}) + for name in ("paid", "targets")) + assert readback["copies"] == 17 and readback["empty_root_credits"] == 0 + assert (sum(paid.values()), sum(productive.values())) == (110519, 22461) + old = productive.copy() + old.subtract(paid) + delta = {4: 34, 8: -17} + assert price["paid_delta"] == {} and price["productive_delta"] == {str(k): v for k, v in delta.items()} + new = old.copy() + new.update(delta) + assert sum(r*n for r,n in old.items()) == sum(r*n for r,n in new.items()) == 1424 + at, probe, moon = map(Fraction, (price["incumbent"], price["probe"], price["moonshot"])) + cost = run_path(str(ROOT / "inputs/pricing.py"))["cost"] + gain = cost(delta, at) + assert interval(gain) == price["at_incumbent"]["gross_one"] + complete = cost(new, probe) + extra = cost(new, at)[1] - 1 + moon_upper = cost(new, moon)[1] + assert complete[0] > 0 > extra and moon_upper < 0 + print(json.dumps({ + "head": HEAD, "caller": CALLER, "word_sha256": price["word_sha256"], "pins": PINS, + "retirement": {"cut": CUT, "chart": CHART, "pivot": PIVOT, "prefix": axis}, + "cohort": cohort, "old_suffix": row["suffix_pure_basis"], + "injection_banks": banks, "injection_keys": pairs, "protected": sorted(PROTECTED), + "native_calls": 17, "paid": 110519, "productive_old": 22461, "productive_new": 22478, + "paid_delta": {}, "productive_delta": delta, "rank_surplus": 1424, "empty_root_credits": 0, + "crossing_upper": str(at), "probe": str(probe), "target": str(moon), + "one_gross": interval(gain), "complete_probe": interval(complete), + "extra_rank_one_complete_upper": str(extra), "fixed_target_complete_upper": str(moon_upper), + "old_ordinary_headroom": readback["ordinary_headroom"], "old_precision_headroom": readback["context_headroom"], + "old_owned_peak": readback["owned_peak"], "old_native_grid": readback["native_grid"], + "limits": {"banks": 19, "injection_keys": pairs, "runner_seconds": 35, "events_per_pass": 76466, + "physical_prototypes": 1, "physical_seconds": 120, "max_literal_injections": 16}, + }, indent=2, sort_keys=True)) + + +if __name__ == "__main__": + assert __debug__ + main() diff --git a/research/p104-stationary-chart242-history-bound/engines/r125/history.py b/research/p104-stationary-chart242-history-bound/engines/r125/history.py new file mode 100644 index 0000000000..fdbd1fe27e --- /dev/null +++ b/research/p104-stationary-chart242-history-bound/engines/r125/history.py @@ -0,0 +1,178 @@ +"""Check one chart-242 split by exact guarded suffix span.""" +from collections import defaultdict +from fractions import Fraction +from gzip import decompress +from hashlib import sha256 +from json import dumps, loads +from pathlib import Path +from runpy import run_path +from signal import SIGALRM, alarm, signal +from time import monotonic + +ROOT = Path(__file__).resolve().parents[1] +PINS = { + "price/PRICE-STOCK.json": "ac4207f548684468b9d09369f3a7866192ae9ffa5e3c3adb284b41bb3f61166d", + "inputs/7334-WORD.json.gz": "4b9fd1187b34ed97c3ac0c760d73531735a5d0ebc5b4d4ab4377160b20d9bb2a", + "inputs/donor_span.py": "4d5306e2c0b7e91c79d22c82e8e760aed2c311979298c558e631975d4d1ae5b1", +} +PAYLOAD = "9aa8d6b054ba7eb2289d052c1079b16be518d2f0fbfb244569fa18e3733acdac" + + +def unique(items): + result = dict(items) + if len(result) != len(items): + raise ValueError("duplicate JSON key") + return result + + +def checked(rel): + raw = (ROOT / rel).read_bytes() + if sha256(raw).hexdigest() != PINS[rel]: + raise ValueError(f"changed dependency {rel}") + return raw + + +def span(frame): + out = {0} + for axis in frame: + assert axis not in out + out |= {x ^ axis for x in out} + return out + + +def reverse(word, requests, chart, engine, deadline): + n, owned, tape = (word[k] for k in ("public", "owned_fields", "program")) + size = n + owned + active = word["final"] + [None] * owned + cols = [{r: Fraction(1)} for r in range(size)] + first = min(requests) + snapshots = {} + for t in range(len(tape), first - 1, -1): + if (t % 128 == 0 or t in requests) and monotonic() >= deadline: + raise TimeoutError("guarded suffix cap") + if t in requests: + bank = requests[t] + assert [i for i, value in enumerate(active) if value == chart] == bank["public"] + for role in bank["injection_targets"]: + snapshots[t, role] = cols[role].copy() + if t == first: + break + op, dest, *args = tape[t - 1] + if op == "MOVE": + before, after, owned_flag = args + assert owned_flag == (dest >= n) and active[dest] == after + active[dest] = before + elif op == "CLEAR": + assert dest >= n and active[dest] is None + active[dest] = args[0] + cols[dest] = {} + elif op == "INIT": + assert dest >= n and active[dest] == args[0] + active[dest] = None + cols[dest] = {} + elif op == "SCALE": + q, c = args + assert active[dest] == c and Fraction(q) + cols[dest] = {i: Fraction(q) * a for i, a in cols[dest].items()} + else: + assert op in ("ADD", "COPY") + source, q, c = args + assert source != dest and active[dest] == active[source] == c + engine["axpy"](cols[source], cols[dest], Fraction(q)) + if op == "COPY": + assert dest >= n + cols[dest] = {size + t - 1: Fraction(1)} + return snapshots, len(tape) - first + + +def controls(engine): + toy = { + "public": 1, "owned_fields": 1, "final": [0], + "program": [["INIT", 1, 0], ["COPY", 1, 0, "1", 0], ["CLEAR", 1, 0]], + } + req = {1: {"public": [0, 1], "injection_targets": [0, 1]}} + response, _ = reverse(toy, req, 0, engine, monotonic() + 1) + assert response[1, 0] == {0: Fraction(1)} and response[1, 1] == {3: Fraction(1)} + return engine["controls"]() + ["output-invisible perturbation retains a pre-COPY guard"] + + +def legal(value): + return (value != 0 and (1125 * 2**25) % value.denominator == 0 + and abs(value.numerator).bit_length() <= 24 and abs(value) + 1 < 2**16) + + +def stop(*_): + raise TimeoutError("35-second exact support cap") + + +def main(): + assert __debug__ + price = loads(checked("price/PRICE-STOCK.json"), object_pairs_hook=unique) + checked("inputs/donor_span.py") + engine = run_path(str(ROOT / "inputs/donor_span.py")) + tests = controls(engine) + signal(SIGALRM, stop) + alarm(35) + deadline = monotonic() + 32 + outcome, reason = {}, None + try: + payload = decompress(checked("inputs/7334-WORD.json.gz")) + assert sha256(payload).hexdigest() == PAYLOAD + word = loads(payload, object_pairs_hook=unique) + n = word["public"] + limits = price["limits"] + assert len(word["program"]) == limits["events_per_pass"] == 76466 + cut, chart, pivot = (price["retirement"][k] for k in ("cut", "chart", "pivot")) + cohort = set(price["cohort"]) + assert (cut, chart, pivot) == (41740, 242, 1123) and pivot in cohort and len(cohort) == 15 + low, mid, high = (span(word["frames"][f]) for f in (3, chart, 245)) + assert low < mid < high and (len(low), len(mid), len(high)) == (1, 16, 256) + assert all([word["initial"][r], word["final"][r]] == [3, 245] for r in cohort) + banks = {b["cut"]: b for b in price["injection_banks"]} + assert len(banks) == limits["banks"] == 19 and min(banks) == cut + assert all(r < n and r not in price["protected"] for b in banks.values() for r in b["injection_targets"]) + _, prefix = engine["snapshot"](word, defaultdict(set), {cut: {pivot}}, deadline) + if (cut, pivot) not in prefix: + raise TimeoutError("retirement prefix cap") + assert prefix[cut, pivot] == {pivot: Fraction(1)} + responses, suffix_events = reverse(word, banks, chart, engine, deadline) + keys = sorted(responses) + assert len(keys) == limits["injection_keys"] == 354 + exterior = {i: {k: q for k, q in responses[key].items() if k not in cohort or k == pivot} + for i, key in enumerate(keys)} + certificate = engine["solve"]({pivot: Fraction(1)}, exterior, deadline) + if certificate is None: + raise TimeoutError("exact projected span cap") + match = certificate["matching_coefficients"] + status, correction, injections = "no guarded temporal span", {}, [] + if match is not None: + for i, coefficient in sorted((int(i), Fraction(q)) for i, q in match.items()): + t, role = keys[i] + engine["axpy"](correction, responses[t, role], coefficient) + injections.append([t, role, str(coefficient)]) + assert set(correction) <= cohort and correction[pivot] == 1 + scalars = [Fraction(q) for _, _, q in injections] + scalars += [q for r, q in correction.items() if r != pivot] + status = ("exact coefficient survivor" if len(injections) <= limits["max_literal_injections"] + and all(legal(q) for q in scalars) else "coefficient gate unresolved") + outcome = { + "status": status, "key": [cut, chart, pivot], "banks": len(banks), "injection_keys": len(keys), + "prefix_events": cut, "suffix_events": suffix_events, "prefix": {str(pivot): "1"}, + "full_projection": certificate, "injections": injections, + "correction": {i: str(q) for i, q in correction.items()}, + "copy_guards": len({k for v in responses.values() for k in v if k >= n + word["owned_fields"]}), + } + except TimeoutError as error: + reason = str(error) + finally: + alarm(0) + print(dumps({ + "pins": PINS, "head": price["head"], "caller": price["caller"], "controls": tests, + "timeout": reason, "unresolved_frozen_form": not outcome or outcome["status"] == "coefficient gate unresolved", + **outcome, + }, indent=2, sort_keys=True)) + return 124 if reason else 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/research/p104-stationary-chart242-history-bound/engines/r125/maximal.py b/research/p104-stationary-chart242-history-bound/engines/r125/maximal.py new file mode 100644 index 0000000000..f05bc41023 --- /dev/null +++ b/research/p104-stationary-chart242-history-bound/engines/r125/maximal.py @@ -0,0 +1,191 @@ +"""Independent forward-impulse certificate for the chart-242 temporal span.""" +from fractions import Fraction as Q +from gzip import decompress +from hashlib import sha256 +from json import dumps, loads +from pathlib import Path +from signal import SIGALRM, alarm, signal +from time import monotonic + +ROOT = Path(__file__).resolve().parents[1] +PINS = { + "price/PRICE-STOCK.json": "ac4207f548684468b9d09369f3a7866192ae9ffa5e3c3adb284b41bb3f61166d", + "inputs/7334-WORD.json.gz": "4b9fd1187b34ed97c3ac0c760d73531735a5d0ebc5b4d4ab4377160b20d9bb2a", +} +PAYLOAD = "9aa8d6b054ba7eb2289d052c1079b16be518d2f0fbfb244569fa18e3733acdac" + + +def unique(items): + result = dict(items) + if len(result) != len(items): + raise ValueError("duplicate JSON key") + return result + + +def checked(relative, zipped=False): + data = (ROOT / relative).read_bytes() + if sha256(data).hexdigest() != PINS[relative]: + raise ValueError(f"changed dependency {relative}") + if zipped: + data = decompress(data) + assert sha256(data).hexdigest() == PAYLOAD + return loads(data, object_pairs_hook=unique) + + +def add(row, other, scalar): + for axis, value in other.items(): + updated = row.get(axis, 0) + scalar * value + if updated: + row[axis] = updated + else: + row.pop(axis, None) + + +def dot(row, other): + return sum(value * other.get(axis, 0) for axis, value in row.items()) + + +def separation(columns, target): + basis = {} + for vector in columns: + work = vector.copy() + for axis, row in sorted(basis.items()): + add(work, row, -work.get(axis, 0)) + if work: + axis = min(work) + basis[axis] = {j: value / work[axis] for j, value in work.items()} + residual = target.copy() + for axis, row in sorted(basis.items()): + add(residual, row, -residual.get(axis, 0)) + if not residual: + return len(basis), None + dual = {min(residual): Q(1)} + for axis, row in reversed(sorted(basis.items())): + correction = dot(dual, row) + if correction: + add(dual, {axis: Q(1)}, -correction) + assert all(dot(dual, vector) == 0 for vector in columns) + assert dot(dual, target) != 0 + return len(basis), dual + + +def controls(): + rank, dual = separation([{1: Q(2), 9: Q(1)}, {9: Q(1)}], {1: Q(1)}) + assert rank == 2 and dual is None + rank, dual = separation([{1: Q(2), 9: Q(1)}], {1: Q(1)}) + assert rank == 1 and dual == {9: Q(1), 1: Q(-1, 2)} + return ["guarded combination passes", "nonzero COPY guard separates"] + + +def abort(*_): + raise TimeoutError("hard runner limit") + + +def walk(word, price, deadline): + tape = word["program"] + public, owned = word["public"], word["owned_fields"] + state = word["initial"][:] + [None] * owned + width = len(state) + wanted = {r["cut"]: r["injection_targets"] for r in price["injection_banks"]} + begin, end = min(wanted), max(wanted) + chart = price["retirement"]["chart"] + pivot = price["retirement"]["pivot"] + maximum = max(wanted, key=lambda t: (len(wanted[t]), t)) + assert (begin, maximum, end) == (41740, 45472, 45592) + assert (public, owned, len(tape)) == (1501, 68, 76466) + assert all(r["injection_targets"] == r["public"] for r in price["injection_banks"]) + maximal_bank = wanted[maximum] + assert len(maximal_bank) == 20 and pivot in maximal_bank + effects, guards, contacts, snapshots = None, {}, [], [] + for t in range(len(tape) + 1): + if t % 128 == 0 and monotonic() >= deadline: + raise TimeoutError(f"cooperative stop before cut {t}") + if t in wanted: + roles = [r for r, frame in enumerate(state) if frame == chart] + assert roles == wanted[t] and all(r < public for r in roles) + snapshots.append(t) + if t == maximum: + effects = [{} for _ in state] + for role in maximal_bank: + effects[role][role] = Q(1) + if t == len(tape): + break + op, dst, *args = tape[t] + old = state[dst] + if op == "MOVE": + assert args[0] == old and args[2] == (dst >= public) + new = args[1] + elif op == "INIT": + assert old is None and dst >= public + new = args[0] + elif op == "CLEAR": + assert old == args[0] and dst >= public + new = None + else: + assert old == args[-1] and op in ("ADD", "COPY", "SCALE") + if op in ("ADD", "COPY"): + assert state[args[0]] == old and dst != args[0] + new = old + if begin <= t < end and chart in (old, new): + assert dst < public + if op == "MOVE": + assert old != new + assert (new == chart) if t < maximum else (old == chart) + else: + assert op in ("ADD", "SCALE") and Q(args[-2]) + assert op == "SCALE" or args[0] < public + contacts.append({"clock": t, "event": tape[t]}) + state[dst] = new + if effects is None: + continue + if op in ("INIT", "CLEAR"): + effects[dst] = {} + elif op == "ADD": + add(effects[dst], effects[args[0]], Q(args[-2])) + elif op == "SCALE": + factor = Q(args[-2]) + assert factor + effects[dst] = {j: factor * v for j, v in effects[dst].items()} + elif op == "COPY": + guards[width + t] = effects[dst].copy() + effects[dst] = {j: Q(args[-2]) * v for j, v in effects[args[0]].items()} + assert state == word["final"] + [None] * owned + assert snapshots == sorted(wanted) + assert [r["clock"] + 1 for r in contacts] == snapshots[1:] + assert sum(map(len, wanted.values())) == 354 + cohort = set(price["cohort"]) + axes = {axis: value for axis, value in enumerate(effects) if axis not in cohort or axis == pivot} + axes.update(guards) + columns = [{axis: row[role] for axis, row in axes.items() if role in row} for role in maximal_bank] + return maximum, maximal_bank, columns, contacts, snapshots, sorted(guards) + + +def formatted(vector): + return {axis: str(value) for axis, value in sorted(vector.items())} + + +def main(): + assert __debug__ + started = monotonic() + signal(SIGALRM, abort) + alarm(35) + controls_result = controls() + price = checked("price/PRICE-STOCK.json") + word = checked("inputs/7334-WORD.json.gz", zipped=True) + maximum, bank, columns, contacts, cuts, guards = walk(word, price, started + 32) + target = {price["retirement"]["pivot"]: Q(1)} + rank, dual = separation(columns, target) + if monotonic() >= started + 32: + raise TimeoutError("cooperative stop after exact elimination") + alarm(0) + print(dumps(dict(head=price["head"], caller=price["caller"], pins=PINS, controls=controls_result, + maximal_cut=maximum, maximal_bank=bank, cuts=cuts, chronology=contacts, + excluded_injection_keys=354 if dual is not None else 0, support_rank=rank, + target=formatted(target), dual=None if dual is None else formatted(dual), + dual_on_target=None if dual is None else str(dot(dual,target)), + guarded_post_maximal_coordinates=guards, projected_columns=list(map(formatted, columns)), + status="separated" if dual is not None else "rational solution possible"), indent=2, sort_keys=True)) + + +if __name__ == "__main__": + main() diff --git a/research/p104-stationary-chart242-history-bound/engines/r126/agreement.py b/research/p104-stationary-chart242-history-bound/engines/r126/agreement.py new file mode 100644 index 0000000000..857a4fc29b --- /dev/null +++ b/research/p104-stationary-chart242-history-bound/engines/r126/agreement.py @@ -0,0 +1,98 @@ +"""Bind forward/reverse closure and count every continuous public injection key.""" +from fractions import Fraction as Q +from hashlib import sha256 +from json import dumps, loads +from pathlib import Path + +ROOT = Path(__file__).resolve().parents[1] +PINS = { + "plan/PRICE.json": "9a3ce52bda81c4046dc2751dddcf490360500dec976c692f84eb6814cbe85402", + "inputs/R125-INDEPENDENT.json": "b258d523358a047ea0e3d817f4eec3a30bf93739268b013fc1f7c5ee095dfc91", + "inputs/R125-PRICE.json": "ac4207f548684468b9d09369f3a7866192ae9ffa5e3c3adb284b41bb3f61166d", + "lead/RESULT.json": "3cd954cc83cb77bdc4851922868dd5964a39bbada1ad10e802e3e74ae3613797", + "independent/RESULT.json": "e9593dcbb3211343388d0e6bc0b45777dbdb6640ffe7e1bac2c7dafca62fb645", +} + + +def unique(items): + result = dict(items) + if len(result) != len(items): + raise ValueError("duplicate JSON key") + return result + + +def read(path): + raw = (ROOT / path).read_bytes() + if sha256(raw).hexdigest() != PINS[path]: + raise ValueError(f"changed dependency {path}") + return loads(raw, object_pairs_hook=unique) + + +def main(): + assert __debug__ + price, prior, old_price, forward, reverse = map(read, PINS) + assert len({r["head"] for r in (price, prior, old_price, forward, reverse)}) == 1 + assert len({r["caller"] for r in (price, prior, old_price, forward, reverse)}) == 1 + assert forward["events"] == reverse["full_reverse_events"] == 76466 + assert forward["maximal_bank"] == reverse["maximal_inventory"]["public"] == prior["maximal_bank"] == price["maximal_bank"] + assert forward["final_bank"] == reverse["final_inventory"]["public"] + assert not reverse["maximal_inventory"]["owned"] and not reverse["final_inventory"]["owned"] + assert forward["closed_without_new_columns"] and not forward["new_generator_keys"] and not reverse["generators"] + assert forward["unresolved_tail_from"] is None and forward["timeout"] is None + assert forward["counts"] == {"public exit": 12} + assert forward["chart_contacts"] == [[r["clock"], r["event"], "public exit"] for r in reverse["contacts"]] + assert all(r["kind"] == "public egress" for r in reverse["contacts"]) + assert reverse["copy_audit"] == [{"clock": 33805, "destination": 1525, "source": 770, "chart": 115, "preceding_write": 33804}] + assert len(reverse["copy_audit"]) == forward["copy_owned_destinations"] + maximum, end = price["maximal_cut"], reverse["final_cut"] + assert maximum == forward["maximal_cut"] == reverse["maximal_cut"] == prior["maximal_cut"] + assert (maximum, end) == (45472, 76466) + assert prior["support_rank"] == price["prior_guarded_rank"] == 19 + assert prior["dual"] == price["dual"] and Q(prior["dual_on_target"]) == 1 + assert all(sum(Q(v)*Q(prior["dual"].get(axis, 0)) for axis, v in row.items()) == 0 + for row in prior["projected_columns"]) + + banks = {r["cut"]: r["public"] for r in old_price["injection_banks"]} + assert sorted(banks) == prior["cuts"] and len(banks) == 19 + assert sum(map(len, banks.values())) == 354 + start = old_price["retirement"]["cut"] + cursor = start + live = set(banks[start]) + early = 0 + for contact in prior["chronology"]: + clock, event = contact["clock"], contact["event"] + if clock >= maximum: + break + early += (clock + 1 - cursor) * len(live) + cursor = clock + 1 + if event[0] == "MOVE": + assert event[3] == 242 and not event[4] + live.add(event[1]) + elif event[0] == "ADD": + assert {event[1], event[2]} <= live and Q(event[-2]) + else: + assert event[0] == "SCALE" and event[1] in live and Q(event[-2]) + assert sorted(live) == banks[cursor] + assert cursor == maximum and sorted(live) == price["maximal_bank"] + tail = 0 + for contact in reverse["contacts"]: + clock, event = contact["clock"], contact["event"] + assert sorted(live) == contact["public_before"] + tail += (clock + 1 - cursor) * len(live) + cursor = clock + 1 + live.remove(event[1]) + assert sorted(live) == contact["public_after"] + tail += (end + 1 - cursor) * len(live) + assert tail == reverse["public_cut_role_pairs"] and sorted(live) == forward["final_bank"] + print(dumps({ + "head": price["head"], "caller": price["caller"], "pins": PINS, + "interval_inclusive": [start, end], "maximal_cut": maximum, + "all_public_cut_role_pairs": early + tail, "before_maximal_cut_pairs": early, + "at_and_after_maximal_cut_pairs": tail, "public_egress_agreement": 12, + "final_public": sorted(live), "frozen_banks": 19, "frozen_observations": 354, + "guarded_rank": 19, "dual_on_target": prior["dual_on_target"], "unresolved": 0, + }, sort_keys=True, indent=2)) + + +if __name__ == "__main__": + main() diff --git a/research/p104-stationary-chart242-history-bound/engines/r126/contacts.py b/research/p104-stationary-chart242-history-bound/engines/r126/contacts.py new file mode 100644 index 0000000000..ac275969a0 --- /dev/null +++ b/research/p104-stationary-chart242-history-bound/engines/r126/contacts.py @@ -0,0 +1,127 @@ +"""Forward exact public-span generator census for the chart-242 tail.""" +from collections import Counter +from gzip import decompress +from hashlib import sha256 +from json import dumps, loads +from pathlib import Path +from signal import SIGALRM, alarm, signal +from time import monotonic + +ROOT = Path(__file__).resolve().parents[1] +PINS = { + "plan/PRICE.json": "9a3ce52bda81c4046dc2751dddcf490360500dec976c692f84eb6814cbe85402", + "inputs/7334-WORD.json.gz": "4b9fd1187b34ed97c3ac0c760d73531735a5d0ebc5b4d4ab4377160b20d9bb2a", +} +PAYLOAD = "9aa8d6b054ba7eb2289d052c1079b16be518d2f0fbfb244569fa18e3733acdac" + + +def checked(path): + data = (ROOT / path).read_bytes() + if sha256(data).hexdigest() != PINS[path]: + raise ValueError(f"changed dependency {path}") + return data + + +def unique(items): + doc = dict(items) + if len(doc) != len(items): + raise ValueError("duplicate JSON key") + return doc + + +def classify(event, n, chart): + op, r, *args = event + if op == "MOVE": + before, after, _ = args + if before == chart: + return ("owned exit" if r >= n else "public exit"), None + if after == chart: + return ("owned entrance", None) if r >= n else ("public entrance", r) + return None, None + if args[-1] != chart: + return None, None + if op in ("ADD", "COPY") and r >= n and args[0] < n: + return "public source to owned destination", args[0] + return op, None + + +def controls(): + assert classify(["ADD", 12, 2, "1", 242], 10, 242) == ("public source to owned destination", 2) + assert classify(["COPY", 12, 2, "-1", 242], 10, 242)[1] == 2 + assert classify(["ADD", 2, 12, "1", 242], 10, 242)[1] is None + assert classify(["MOVE", 2, 1, 242, False], 10, 242)[1] == 2 + assert classify(["MOVE", 2, 242, 1, False], 10, 242)[1] is None + return ["public source to owned ADD and COPY", "owned source to public ADD", "ingress versus exit"] + + +def stop(*_): + raise TimeoutError("20-second hard cap") + + +def main(): + assert __debug__ + signal(SIGALRM, stop) + alarm(20) + deadline = monotonic() + 18 + price = loads(checked("plan/PRICE.json"), object_pairs_hook=unique) + touches, gens, seen, terminal, reason = [], [], 0, None, None + copy_destinations = 0 + try: + data = decompress(checked("inputs/7334-WORD.json.gz")) + assert sha256(data).hexdigest() == PAYLOAD + word = loads(data, object_pairs_hook=unique) + n = word["public"] + chart, start = price["retirement"]["chart"], price["maximal_cut"] + assert chart == 242 and start == 45472 + tape = word["program"] + assert len(tape) == 76466 + active = word["initial"] + [None] * word["owned_fields"] + for t, event in enumerate(tape): + if t % 128 == 0 and monotonic() >= deadline: + raise TimeoutError("literal event walk cap") + if t == start: + assert [i for i, c in enumerate(active) if c == chart] == price["maximal_bank"] + op, r, *args = event + if op == "MOVE": + before, after, owned = args + assert active[r] == before and owned == (r >= n) + active[r] = after + elif op == "INIT": + assert active[r] is None and r >= n + active[r] = args[0] + elif op == "CLEAR": + assert active[r] == args[0] and r >= n + active[r] = None + else: + assert op in ("ADD", "COPY", "SCALE") and active[r] == args[-1] + if op in ("ADD", "COPY"): + assert active[args[0]] == args[-1] and args[0] != r + if op == "COPY": + assert r >= n + copy_destinations += 1 + if t >= start: + category, generator = classify(event, n, chart) + if category: + touches.append([t, event, category]) + if generator is not None: + gens.append([t + 1, generator]) + seen += 1 + assert active == word["final"] + [None] * word["owned_fields"] + terminal = [r for r, c in enumerate(active) if c == chart] + except TimeoutError as error: + reason = str(error) + finally: + alarm(0) + print(dumps({ + "head": price["head"], "caller": price["caller"], "pins": PINS, "controls": controls(), + "events": seen, "maximal_cut": price["maximal_cut"], "maximal_bank": price["maximal_bank"], + "chart_contacts": touches, "counts": Counter(row[2] for row in touches), + "new_generator_keys": gens, "copy_owned_destinations": copy_destinations, + "final_bank": terminal, "closed_without_new_columns": not reason and not gens, + "unresolved_tail_from": seen if reason else None, "timeout": reason, + }, sort_keys=True, indent=2)) + return 124 if reason else 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/research/p104-stationary-chart242-history-bound/engines/r126/freeze.py b/research/p104-stationary-chart242-history-bound/engines/r126/freeze.py new file mode 100644 index 0000000000..9600ba10f8 --- /dev/null +++ b/research/p104-stationary-chart242-history-bound/engines/r126/freeze.py @@ -0,0 +1,60 @@ +"""Bind the same priced split and freeze the post-maximal-chart span test.""" +from fractions import Fraction +from hashlib import sha256 +from json import dumps, loads +from pathlib import Path + +ROOT = Path(__file__).resolve().parents[1] +PINS = { + "inputs/R125-PRICE.json": "ac4207f548684468b9d09369f3a7866192ae9ffa5e3c3adb284b41bb3f61166d", + "inputs/R125-LEAD.json": "344f2b6011fe464931de8883e64ed64420fa41728e744600b72a7b1e3b929656", + "inputs/R125-INDEPENDENT.json": "b258d523358a047ea0e3d817f4eec3a30bf93739268b013fc1f7c5ee095dfc91", +} + + +def unique(items): + out = dict(items) + if len(out) != len(items): + raise ValueError("duplicate JSON key") + return out + + +def read(path): + raw = (ROOT / path).read_bytes() + if sha256(raw).hexdigest() != PINS[path]: + raise ValueError(f"changed dependency {path}") + return loads(raw, object_pairs_hook=unique) + + +def main(): + price, lead, exact = map(read, PINS) + assert len({doc["head"] for doc in (price, lead, exact)}) == 1 + assert len({doc["caller"] for doc in (price, lead, exact)}) == 1 + assert lead["status"] == "no guarded temporal span" and not lead["unresolved_frozen_form"] + assert lead["injection_keys"] == exact["excluded_injection_keys"] == 354 + assert exact["status"] == "separated" and exact["support_rank"] == 19 + assert exact["maximal_cut"] == 45472 and len(exact["maximal_bank"]) == 20 + assert Fraction(exact["dual_on_target"]) == 1 and Fraction(exact["dual"]["1123"]) == 1 + assert lead["full_projection"]["residual"] == {"1123": "1"} + for vector in exact["projected_columns"]: + assert not sum(Fraction(exact["dual"].get(k, "0")) * Fraction(v) for k, v in vector.items()) + assert price["paid_delta"] == {} and price["productive_delta"] == {"4": 34, "8": -17} + assert Fraction(price["complete_probe"][0]) > 0 > Fraction(price["extra_rank_one_complete_upper"]) + print(dumps({ + "head": price["head"], "caller": price["caller"], "word_sha256": price["word_sha256"], "pins": PINS, + "retirement": price["retirement"], "maximal_cut": exact["maximal_cut"], + "maximal_bank": exact["maximal_bank"], "prior_guarded_rank": exact["support_rank"], + "dual": exact["dual"], "target": exact["target"], "cohort": price["cohort"], + "in_scope_edits": 1, "paid": price["paid"], "productive_delta": price["productive_delta"], + "paid_delta": price["paid_delta"], "one_gross": price["one_gross"], "complete_probe": price["complete_probe"], + "fixed_target_complete_upper": price["fixed_target_complete_upper"], + "extra_rank_one_complete_upper": price["extra_rank_one_complete_upper"], + "limits": {"literal_events": 76466, "topology_seconds": 20, "new_generator_cap": 64, + "support_seconds": 35, "prototype_seconds": 120}, + "scope": "Same stationary difference buffer and fixed paid itinerary, grant all public injections from the certified maximal bank through final cut.", + }, sort_keys=True, indent=2)) + + +if __name__ == "__main__": + assert __debug__ + main() diff --git a/research/p104-stationary-chart242-history-bound/engines/r126/topology.py b/research/p104-stationary-chart242-history-bound/engines/r126/topology.py new file mode 100644 index 0000000000..8dd977ea7d --- /dev/null +++ b/research/p104-stationary-chart242-history-bound/engines/r126/topology.py @@ -0,0 +1,204 @@ +"""Reverse literal public-bank census after the chart-242 maximal cut.""" +from argparse import ArgumentParser +from fractions import Fraction +from functools import cache +from gzip import decompress +from hashlib import sha256 +from json import dumps, loads +from pathlib import Path +from signal import SIGALRM, alarm, signal +from time import monotonic + +ROOT = Path(__file__).resolve().parents[1] +WORD = "4b9fd1187b34ed97c3ac0c760d73531735a5d0ebc5b4d4ab4377160b20d9bb2a" +PAYLOAD = "9aa8d6b054ba7eb2289d052c1079b16be518d2f0fbfb244569fa18e3733acdac" +HEAD = "aaeec8c0acf01e99a5f331ef363a698d9c084ace" +CALLER = "07a76c5e2738882c0cb322278e56f6cae3c9885d" +PRICE = "plan/PRICE.json" +NATIVE = "inputs/7334-WORD.json.gz" + + +def unique(items): + result = dict(items) + if len(result) != len(items): + raise ValueError("duplicate JSON key") + return result + + +def authenticate(root, path, digest, zipped=False): + raw = (root / path).read_bytes() + if sha256(raw).hexdigest() != digest: + raise ValueError(f"changed dependency {path}") + if zipped: + raw = decompress(raw) + assert sha256(raw).hexdigest() == PAYLOAD + return loads(raw, object_pairs_hook=unique) + + +def abort(*_): + raise TimeoutError("hard topology cap") + + +def census(word, chart, maximum, deadline): + tape = word["program"] + n, owned = word["public"], word["owned_fields"] + state = word["final"][:] + [None] * owned + residents = {r for r, c in enumerate(state) if c == chart} + public_bank = {r for r in residents if r < n} + final_public, final_owned = sorted(public_bank), sorted(residents - public_bank) + waiting, copy_audit = {}, [] + contacts, generators, gates = [], [], {} + typed_cuts = len(public_bank) + suffix_events = len(tape) - maximum + + @cache + def span(frame): + result = {0} + for value in word["frames"][frame]: + assert value not in result + result |= {value ^ x for x in result} + return result + + for t in range(len(tape) - 1, -1, -1): + if t % 128 == 0 and monotonic() >= deadline: + raise TimeoutError(f"reverse cap before event {t}") + op, dst, *args = tape[t] + after = state[dst] + if dst in waiting: + assert op == "INIT" and after == waiting[dst]["chart"], ("nonfresh owned COPY", waiting[dst], t) + row = waiting.pop(dst) + copy_audit.append(row | {"preceding_write": t}) + if op == "MOVE": + before, new, flag = args + assert after == new and flag == (dst >= n) + elif op == "INIT": + assert dst >= n and after == args[0] + before = None + elif op == "CLEAR": + assert dst >= n and after is None + before, = args + else: + before = after + assert after == args[-1] and after is not None + assert op in ("ADD", "COPY", "SCALE") + if op in ("ADD", "COPY"): + src = args[0] + assert dst != src and state[src] == after + if op == "COPY": + assert dst >= n + waiting[dst] = {"clock": t, "destination": dst, "source": src, "chart": after} + if t >= maximum and chart in (before, after): + after_bank = sorted(public_bank) + kind, generator = None, None + if op == "MOVE": + lo, hi = span(before), span(after) + assert lo < hi or dst >= n and hi < lo + if dst < n: + if after == chart: + kind, generator = "public ingress", (t+1, dst) + else: + kind = "public egress" + else: + kind = "owned move" + elif op in ("INIT", "CLEAR"): + kind = "owned lifetime" + else: + assert Fraction(args[-2]) + if op in ("ADD", "COPY") and src < n <= dst: + kind, generator = f"public to owned {op}", (t+1, src) + elif dst < n and (op == "SCALE" or src < n): + kind = "invertible public scalar" + elif dst < n: + assert op == "ADD" + kind = "owned to public ADD" + else: + kind = "owned scalar" + if generator is not None: + assert generator[1] in public_bank + generators.append({"key": list(generator), "reason": kind}) + else: + kind = None + if before != after: + if after == chart: + residents.remove(dst) + public_bank.discard(dst) + if before == chart: + residents.add(dst) + if dst < n: + public_bank.add(dst) + state[dst] = before + if kind is not None: + contacts.append({"clock": t, "event": tape[t], "kind": kind, + "public_before": sorted(public_bank), "public_after": after_bank}) + if t >= maximum: + typed_cuts += len(public_bank) + if t == maximum: + gates = {"public": sorted(public_bank), "owned": sorted(residents-public_bank)} + + assert not waiting and state == word["initial"] + [None] * owned + return {"maximal_cut": maximum, "maximal_inventory": gates, "tail_events": suffix_events, + "final_cut": len(tape), "final_inventory": {"public": final_public, "owned": final_owned}, + "public_cut_role_pairs": typed_cuts, "contacts": contacts[::-1], + "generators": generators[::-1], "copy_audit": copy_audit[::-1], + "full_reverse_events": len(tape)} + + +def controls(): + stop = monotonic() + 5 + toy = {"frames": [[1], [1, 2], [1, 2, 4]], "public": 2, "owned_fields": 1, + "initial": [1, 1], "final": [2, 1], + "program": [["ADD", 1, 0, "1/2", 1], ["MOVE", 0, 1, 2, False]]} + out = census(toy, 1, 0, stop) + assert out["generators"] == [] and out["final_inventory"]["public"] == [1] + toy = toy | {"initial": [0, 1], "final": [1, 1], "program": [ + ["MOVE", 0, 0, 1, False], ["INIT", 2, 1], ["COPY", 2, 0, "1", 1], + ["ADD", 1, 2, "-1", 1], ["CLEAR", 2, 1]]} + out = census(toy, 1, 0, stop) + assert [row["key"] for row in out["generators"]] == [[1, 0], [3, 0]] + assert out["copy_audit"] == [{"clock": 2, "destination": 2, "source": 0, "chart": 1, "preceding_write": 1}] + bad = toy | {"program": toy["program"][:2] + [["ADD", 2, 1, "1", 1]] + toy["program"][2:]} + try: + census(bad, 1, 0, stop) + except AssertionError as exc: + assert exc.args[0][0] == "nonfresh owned COPY" + else: + raise AssertionError("dirty COPY accepted") + return ["internal scalar and public egress preserve containment", + "public ingress and fresh public-to-owned COPY create candidate generators", + "reject an intervening write before COPY"] + + +def main(): + assert __debug__ + parser = ArgumentParser(description=__doc__) + parser.add_argument("--root", type=Path, default=ROOT) + parser.add_argument("--price-sha256") + parser.add_argument("--controls-only", action="store_true") + args = parser.parse_args() + tested = controls() + if args.controls_only: + print(dumps(tested)) + return + if not args.price_sha256 or len(args.price_sha256) != 64: + parser.error("provide the frozen price SHA-256") + started = monotonic() + signal(SIGALRM, abort) + alarm(20) + price = authenticate(args.root, PRICE, args.price_sha256) + assert (price["head"], price["caller"], price["word_sha256"]) == (HEAD, CALLER, WORD) + assert price["limits"]["topology_seconds"] == 20 and price["limits"]["literal_events"] == 76466 + assert (price["maximal_cut"], price["retirement"]["chart"]) == (45472, 242) + word = authenticate(args.root, NATIVE, WORD, zipped=True) + assert (len(word["program"]), word["public"], word["owned_fields"]) == (76466, 1501, 68) + result = census(word, 242, 45472, started + 18) + assert result["maximal_inventory"] == {"public": price["maximal_bank"], "owned": []} + alarm(0) + print(dumps(result | { + "head": HEAD, "caller": CALLER, "pins": {PRICE: args.price_sha256, NATIVE: WORD}, "controls": tested, + "status": "new generators pending" if result["generators"] else "full suffix contained", + "retirement_cut": price["retirement"]["cut"], "chart": 242, + }, indent=2, sort_keys=True)) + + +if __name__ == "__main__": + main() diff --git a/research/p104-stationary-chart242-history-bound/engines/r127/dual_transfer.py b/research/p104-stationary-chart242-history-bound/engines/r127/dual_transfer.py new file mode 100644 index 0000000000..074b8f603f --- /dev/null +++ b/research/p104-stationary-chart242-history-bound/engines/r127/dual_transfer.py @@ -0,0 +1,68 @@ +"""Transfer the exact chart-242 separator across a granted normalized exit.""" +from fractions import Fraction +from hashlib import sha256 +from json import dumps, loads +from pathlib import Path + +ROOT = Path(__file__).resolve().parents[1] +PINS = { + "plan/PRICE.json": "87be0ba80c11d6dcb7f9d62117db8bccea6a47234a77590ebd2e05968ea19a2d", + "inputs/R125-INDEPENDENT.json": "b258d523358a047ea0e3d817f4eec3a30bf93739268b013fc1f7c5ee095dfc91", + "inputs/R126-PRICE.json": "9a3ce52bda81c4046dc2751dddcf490360500dec976c692f84eb6814cbe85402", + "inputs/R126-AGREEMENT.json": "01e5064c748550bb47ceeee761b33a0eba86a9b2bc4b2ea6d5014bdd543d7f17", +} + + +def unique(items): + obj = dict(items) + if len(obj) != len(items): + raise ValueError("duplicate JSON key") + return obj + + +def read(rel): + data = (ROOT / rel).read_bytes() + if sha256(data).hexdigest() != PINS[rel]: + raise ValueError(f"changed dependency {rel}") + return loads(data, object_pairs_hook=unique) + + +def support(dual, cohort, pivot): + return set(dual).intersection(cohort) == {pivot} + + +def main(): + assert __debug__ + new, old, geometry, agreement = map(read, PINS) + assert len({new["head"], old["head"], geometry["head"]}) == 1 + assert old["maximal_bank"] == new["maximal_bank"] == geometry["maximal_bank"] + assert old["maximal_cut"] == new["maximal_cut"] == geometry["maximal_cut"] == 45472 + assert old["dual"] == geometry["dual"] and Fraction(old["dual_on_target"]) == 1 + assert new["funded_exit"] == [1123, 245, 127, 1] + assert new["paid_delta"] == {"1": 17} and new["target_delta"] == {"4": 17, "5": 17, "8": -17} + assert Fraction(new["probe_complete_margin"][0]) > 0 + pivot = 1123 + dual = {int(i): Fraction(q) for i, q in old["dual"].items()} + prior = set(geometry["cohort"]) + later = set(new["new_cohort"]) + assert len(prior) == 15 and len(later) == 616 and dual[pivot] == 1 + assert support(dual, prior, pivot) and support(dual, later, pivot) + forbidden = next(i for i in dual if i != pivot) + assert not support(dual, later | {forbidden}, pivot) + dots = [sum(dual.get(int(i), 0) * Fraction(q) for i, q in v.items()) + for v in old["projected_columns"]] + assert len(dots) == len(new["maximal_bank"]) == 20 and not any(dots) + print(dumps({ + "head": new["head"], "caller": new["caller"], "pins": PINS, + "status": "funded exit still separated", "funded_exit": new["funded_exit"], + "dual": old["dual"], "dual_on_pivot": "1", "dual_on_maximal_columns": list(map(str, dots)), + "old_cohort_intersection": sorted(set(dual) & prior), + "funded_cohort_intersection": sorted(set(dual) & later), + "topology_agreement_fields": sorted(agreement), + "controls": ["new cohort admitting a dual exterior coordinate invalidates transfer"], + "scope": "Grant a legal normalized rank-one exit preserving every guarded coordinate; chart-242 history and all other paid paths remain fixed.", + }, sort_keys=True, indent=2)) + + +if __name__ == "__main__": + main() diff --git a/research/p104-stationary-chart242-history-bound/engines/r127/freeze.py b/research/p104-stationary-chart242-history-bound/engines/r127/freeze.py new file mode 100644 index 0000000000..e2b4d028b7 --- /dev/null +++ b/research/p104-stationary-chart242-history-bound/engines/r127/freeze.py @@ -0,0 +1,83 @@ +"""Complete quote for a funded rank-eight exit on the exact chart-242 pivot.""" +from collections import Counter +from fractions import Fraction +from hashlib import sha256 +from json import dumps, loads +from pathlib import Path +from runpy import run_path + +ROOT = Path(__file__).resolve().parents[1] +PINS = { + "inputs/R126-PRICE.json": "9a3ce52bda81c4046dc2751dddcf490360500dec976c692f84eb6814cbe85402", + "inputs/R126-LEAD.json": "3cd954cc83cb77bdc4851922868dd5964a39bbada1ad10e802e3e74ae3613797", + "inputs/R97-EXACT.json": "95d34e468683aa64e19d3e4d62745b9fc1d4305b00d25054b34bb5a668639b4b", + "inputs/R92-PRICE.json": "05d7a5ebdd2eeedd6c8f534e8e2eeac22484daf9f387f4a6b88cc9eed22a6b8f", + "inputs/pricing.py": "f4d0b6c9314b838d882d6d06020f24881c19a3fda97a7c00df87b1e920785182", +} + + +def unique(items): + doc = dict(items) + if len(doc) != len(items): + raise ValueError("duplicate JSON key") + return doc + + +def read(rel): + raw = (ROOT / rel).read_bytes() + if sha256(raw).hexdigest() != PINS[rel]: + raise ValueError(f"changed dependency {rel}") + return loads(raw, object_pairs_hook=unique) if rel.endswith(".json") else None + + +def hist(rows): + return Counter({int(k): v for k, v in rows.items()}) + + +def main(): + a, topology, exact, prior, _ = map(read, PINS) + assert len({x["head"] for x in (a, topology, exact, prior)}) == 1 + assert topology["closed_without_new_columns"] and topology["counts"] == {"public exit": 12} + assert a["maximal_bank"] == topology["maximal_bank"] + row, = [r for r in exact["results"] if r["key"] == [41740, 242]] + assert row["prefix_pure_basis"] == [{"a": {"1123": "1"}, "c": {"1123": "1"}}] + assert not row["owned"] and row["endpoint_pairing_matrix"] == [["0"]] + eligible = set(prior["endpoint_cohort"]) + assert len(eligible) == 615 and 1123 not in eligible + paid, target = hist(prior["old_paid"]), hist(prior["old_targets"]) + old = target.copy() + old.subtract(paid) + paid.update({1: 17}) + target.update({4: 17, 5: 17, 8: -17}) + new = target.copy() + new.subtract(paid) + delta = new.copy() + delta.subtract(old) + assert sum(r * v for r, v in delta.items()) == 0 + assert sum(paid.values()) == 110536 and sum(target.values()) == 22478 + assert sum(r * n for r, n in new.items()) == 1424 + at, probe, fixed = map(Fraction, (prior["old_crossing_upper"], prior["probe"], prior["moonshot"])) + assert at < probe < Fraction(prior["retained_bit_premise"]) + cost = run_path(str(ROOT / "inputs/pricing.py"))["cost"] + credit, margin = cost(delta, at), cost(new, probe) + assert margin[0] > 0 > cost(new, at)[1] - 1 + print(dumps({ + "head": a["head"], "caller": a["caller"], "pins": PINS, "word_sha256": a["word_sha256"], + "retirement": a["retirement"], "funded_exit": [1123, 245, 127, 1], + "new_cohort": sorted(eligible | {1123}), "static_bank": row["public"], + "maximal_cut": a["maximal_cut"], "maximal_bank": a["maximal_bank"], + "paid_delta": {1: 17}, "target_delta": {4: 17, 5: 17, 8: -17}, + "paid": sum(paid.values()), "productive": sum(target.values()), "rank_surplus": 1424, + "one_compatible_edit": 1, "credit_at_old_upper": list(map(str, credit)), + "probe_complete_margin": list(map(str, margin)), + "extra_rank_one_upper": str(cost(new, at)[1] - 1), + "fixed_target_complete_upper": str(cost(new, fixed)[1]), + "limits": {"metadata_bank_seconds": 5, "native_bank_seconds": 35, "native_keys": 20, + "max_injections": 16, "prototype_seconds": 120}, + "scope": "One #7161-style funded exit for pivot1123, exact chart242 stationary support, no change to any other paid path.", + }, sort_keys=True, indent=2)) + + +if __name__ == "__main__": + assert __debug__ + main() diff --git a/research/p104-stationary-chart242-history-bound/inputs/7334-WORD.json.gz b/research/p104-stationary-chart242-history-bound/inputs/7334-WORD.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..73f43007192eb5a38eb5abb591b871df3e52c7cd GIT binary patch literal 393282 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%0D>(h9A<5KmxPj0RM7Ow%Cdd&-_N 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 )p`f7wfFJ;xD;q5C(yNi0mCa{0f9A&w$ z)_77vng;f}X;e`!-BeKz78U#}0l-ty*rp3EtnM#-aX6e<_B$cn*$6(17MAY3XPM|S zOBA)0qX30haEkV>8zrwhaaSpb<7={_fE0f24%2(9Zq0L|twsA-TC}gnmJKH^nkH;| zZf6Yxy$z=-05xK(o3)~=J&*D9nd+~ZD$kUE&6Ihj^lPTXGL2rUIOgznmqAggxep&_ z+GRs#kTsqZ(!FLeo@Twha{%cV@BH5F=AOjfcG%@{$YsbdD`*sAd0>Cf;BF_Js!VC7 z_@m2`Y;TfzkoLt+@S~w3sPBJaUZaq zeTxZl0C#GyIIQLx46EtPMUYJwjR2y~5@$#&D>C>ZDO9PFd_(5SROI3X&FR63DJE%~ zJM0~dc_j81|M#dymQwGC#JM2pp{TLISOz2cF;&!Eiij!{>%J>(z`B#dbj#TKAyEW0 zbizVlKGwKGHam>jy+{vDJEx(Hz03RCmtTP&qdLx0*ZTeipgLx})z8rw@B6c+fxPeG zQnj>&%I_QZB7Z}c_lWSF{j5ok0oS^1pJ_Irbke2$46D55OJ(jsZ0E5DG(`Y!1UNR< z&rBm!!#!E+f3-AW2atW%zFI#g{+=&(Hc+&>doDmS!-a15xn%uVq?rX!blWPdvO(AC zFE+A_GGdPuG72LsL}5qa+G&3h9oAmhc_af@`JvZG2mwwRxjLb(I4eN0NE41AF&q6R zd?{^&Gy=kKNAV3%QldT5;E?rm;mzojIIK!ZWGYtVPCtE0VEe2tnqLpHQocyDb+EkB zAdn?&Wx-Jh>6Sq*^9rWDwHB5vS9o1g#$ER$j4(tpPNF^p)Diu-L5RtAThU&v5Cw*+ zVN)L7C0;(Vm%1Y)3}2a^_0%Aev_#~xWEZkbcYNA{4=rDrz`T((y-(q9KhK&8yRv~Z z4ezCcusjJahG^W&_49^6Y^QJ0O)z^~zkXhisYo)!PzASuX$GjE;tfX-Xxv)lhaYwxnF$qKWL-Aj*G zYZqr2M!z!4D3=l?_n&%fploc`-k%b+RuAfV4aS(W4=Q*vdi9LZEPC~f>MS&2XT^}# zUHIDfSUaG=0<#gE8>NWL(O6c&*Noi8Y+mR>;N(E4R--IrPWmE&e+$d3&>NCV!e>1_SKSeMRtGPWdQUCnT>d~hr z0JV^hiCg`3tB{Z~{tqeGIMhNANAT)T89q^{Al2lCXM$0SdEkg(y@sQl3RI-()>k}k z$5}8(o90d^MfS|Zpx`Db^)4`*NY--t+%4`0gJ)=JQPmmFdh@quZygDX7qU-oO91X^5?s9=lk?HkyV&TitNhQzP?*H=doWV4$jQQ0qzL z#d+=D`mRc&q3MRUCSi^Y1NB&894oc$M}&SSM47r8>fJNBiTx2LtP86 zVzuqC;@%5ka{5PfomZAslcTg#f!18BEq&qXplu85A{gaxBLFVtJiakMX5zxvbzP@KteLSA_!XcQ{0M zk@wk@{_*`}-?<8bd<@bg={J((lH}h=vLe~6W|LcJXi=u{%4S6#)St(SCHpZk=zxf5 zt%oB=P5krq&M&s4qg0os)kv78*-xP76fpOQ^O$BHH}G;0HNai`tjyal_I>4KMJvIM zcvUWfoaz?il{agPm-mRKwzyA`pBnS|GM?wlxKz)}?nJY3 z+-K&GVLnYCNSX|v*CB||;`rdu{iqY7kc3k~%7{M6`@L=R`bi>?Z5CNn zEv@EbmYoxD{#h?G=l8R$k1ud#M+lJ1q{j)+9TNI}&Ye6D&1vBHPL4kGtf17VW@gIF zoj{Jc^ILvdNxXDoy#D5WRrBdPUE<{94u{*;iaV!+DFsc%T5P?TCcuyF$(J(AbiEz? znsPbj^9cQHUo=^{U7PUuy^-bH6%DT}C)r-BE{UnSv&FSP_w!H5EP%Gox+Hc0oRz~v zE^OlSIIju5HMsU0#Pg;D%tRk2O+ZYyGz|_7+r2E{#ih z_}ZdfZTY)%2t@?Ey)|}_e5sz`8`oil<}+&^1D=6ST58aMzs~w(}a>1{IzO8CDJecSiPdAdl0vd_Lo+9 zCSYmu6y(YNMEVu+`m@pm8rmIldb%Pq+O52PkvtdYBmKg7q{!Mk0)ZUg;WkdFmx9Y$ zAW3*gydczhby_-`4w_#5rk1H+>7vd6(?5R4?sxzfsp|RBOt&6*>k#U}8#iK{GzX-q zGR(w-9v0n+YJ%Bgh6WHRV)NvJMSg6;>q#NBE{8OnIb98kPdRYDl{Q+>{hlfsYhgyAGrRItUVJy-z zQV{#4NG?!b2w6YxRc<-woIK-w`2wnRa4d&>>KJZWt+rpv+7zp- z#lZNLfw9#`-?sW)*OXrAUd87+>K$5B(TTL$Jj83$2T^f1sM_)xD{(s22+@H?G0KRa zk8a$-VvGdwU{qrya9IvP9nD#+$8VikhbI!M#2E@R_R@I_noYJhkrXw8fN&1y{QGdu zdm56WeJTs(yxB}CU5ZP%=U=^{6&9tPMC;Y(ivgg9OPk1?JymJ>B4z;XsozYlwK6jp z+{XG^&WO`*NW+B^oEFmz>-Go`zegtGNPQx8?t2x}y-vu8aAAHI_j>QgUT^)_tL;Y# z`I9qW7di5y4w;bCA*pWARe~E>$Er||*l$l$T@|P>$}A>RK*dYuGRBb8Po&gp!K47K zG+mC_$093drC_CF-cQI>qwm*zDXTKb9V`kf2x}O>V8E)d>J~--GjNtx;eCH&tz1}Z z4BiT>QUG&RN=9UB9!T@7u74gbRR<=R9js~Mg(fmh5hT06YWl*D94)DPn5YD+udFUa z)L(Z@Mz}kmdV%n@rs?Kkf#_&jS{*%{vR1d9%%z?uc7xs$&jJamd(UPO+Wb_fv4pRY zcnawkFi+5vZn|NllnmMKztY6Thod!NVp0dcImRvT-9uFqf9VhX~ zi`9t#&<0=T3#rMHO{T{rEdQiv$ntX`gEb$K#q!UnmM+}r!sgSf@Wq->Nyy^V)<{vr zZiIc+S^lZ{qg?PHDg235%1wY2Aj-#xD=2fk;&fY5ZI@67-#8wt|Ib2mT+m-1<7jG5 zQznXK+~XE7we+vkR07F0$QM%QpZxLV+a~%~cig8CgdY0vsTtEoj~L3kik8GXNZZ81 zI7=qB*2uGU#&1*eZ$xXk%157kqjFuhpUsZryGk+goM69q<6j3Q21%K(tp5#u7qO=P z(tSSUt7$?s>x-Ha#yw+-B#bz5A(p)lrG0F$<)w`QRhF`97j zZy?gR)YC`L#4d!Yq`wh~^GilD)`p>6jd#q;Tz(p zK&6x39jVpnlSy=C!6kwiOLR6JEM{At$&;p$C~R09HV$zxditzqp`nq8E8@Qm>=#U>RPq-%{pRh;3*$uJN_}#K+84 zu+po>T4p>yF_=s3fH3pX{1^cyqP$l5xQKQZEX6BhJeRL^SsBR*pwDH^hPSGH2kny< zk+pY2!4iIf+QqI+QH^k+dVwlm_as$7G=7(ikZWy$vVmRbhDSGB&{#;p0jS15;R0b4 zG|NW1wVJ5XieF*Ko?E97HrM_~iJp-)pdKaQ8%AyV1sn@BP+Eol^$62cwhP9hOjl6O zR0d69Z*WvF%rLPF6vYH*!7e7w1FgN^S{e8kciHuA{$YjQgIg?j*A47GeL$ztEM5dAv0Lm1e#bG+`WJ-fi2rtuYS?tsT!$UpI)U zT)(4Y%}YnLn+jXfU^eoVlGOAw04NHnVe@KL6Ic2@1rfqRzf3G0zQ<8(RxK1^l5N=AX zaxbZnZdtt>6Z>li)Rft&c%M|FE9f$t7hE74DX%6xONH)ea&_fd`qdoedst>>9$R|! ztXDuQv1dKS8hJhQZS|1HBWJkn)@f5mCwkD0@?^IZDpD4==;gY>?_YgM(pxT*H)1m0 zc=*0*_~#><&5ImV7Hv?aQDRU^plQ7OK-0srqm!i}A`GYhbO5U6Z`KGgm-%J(<88k> zoB+|3*nUbKa?z#l@hLwooU1(q3<`aaO?ePvdZYi0b9d2@+J^H;=lXz)Db1 zJoH3r;&M?Q@nz1Vf8X!F@8b7dF+_2&x`Z^AkWOLHjke8riSIqmDs;xj@C^BxtH$Bs z0H)d_M<9GlorIfj6RJkO!gl+T%-4jk#1?C+Og@FylbfWI{1{KA8uP9cIxuJos^r_6wEx$TzVkQEDr>xdCtDa?s7Qs)849(LUhkO&XT=TJ`M1h7O%z_Uhllo9aXkG-xKN6*o{qhA>4rAm@(9Xn(~ za;nDfOa0~d|C|jBlrDLcn^?jVlvu>PaW4@vOJ0e%iU^P9T#lwuFOuG?m|hRa7%YxPa*{(>@EeY+U+ue!sN!)^W3bkG0D< zp1p8u>P-&m>?Fm5uk!uUOaDW`oi+IiaT}DI_5WE9eroYskKCq!f74sPx@R0c^L3e? zLl2F1xG*b-8dE;Sl{GO2vRBh}I_ygceK{R-i!IUCHnt9AziHlL`fqdpZGQEow0hSt z@T(l0!K1g;X72yjWyv7*K0-c?aH&o%b__P;K$14OFm&Q`OFwKu$c(et)Eb2XRjhF2 zv$P%2Ew3%{t}&ipC}hjWZ+zPyw@J$*cE5DuwdY7|I`iyhd5ENs=NU3l{Bm=az~_1G z*wn9^a~#B1UQVkjpar&4Z{qXI!_thST=(Sk{`Ndl?J8$E^3;T;r|%g+9-4-GX2RFB zwOBCv0>u7tkmB50<{U+z^M3S{$0!m+^$t;R*)Zp;Ej;p5IZsfi<2)pZo;i4ny++$7I4Uwbv{Z#Z6^NH3!(bSW`FMST?;T~pw`R&=B1gm%V6az#{ z;2SDcPpGSB!sYmqD3gOd*parnM;9Po+lb<U*Guouip|dAj^=k!T8i%+FQ&qJfWy|B_bwyCWyp?b9uLa{ z(@56SgI+IyXxy!+?A5*vF#gNTfj1UsJ=*Q_F3f(JXPkPy`FXX#oA`=7QGlEN>!RRI zC&NASfBo#q+gajKRIk2F>yC*hA`QbJ!}0h`)HA7TH+$zLQ%_G{EehLB*-I%M1wv_o_S9dNh7A}g`~|W!ipsJckh&LjKyi9 zIZ4)m>M7?DE5!Aid1iY*#Nx2HeoAZi5w#c>_*FYa(~bLr1K>ttj=Z}SR4-vVhII&x{`tF>xoFvJdt;~J)<|pJ|j#l1!BJ|kZ+>fcQ=a?tebB~f^YM8B@TX$X$ zrn)W_|9a5YRtJd})_w`QZy@8-k2VO&(xT*_VDKZp0$^`ci0^GY-zfDf3KL zBIFoaZ{#ACWR-C`7b4 zuK2|755#_q`tcZ#ONvu5hXIY>5)HZtv-}HkYU!Y8OWpVEWB_`ND5qylx z*2f^ZJ(9UKssaOs1jx}IQGcrQ4aBfbh~HQylGr!uf^80F^H=vos?n{)SRPHj#s(Yj zX9s-N6y2ksUvm|#*_!5^1radiu}S|x0=0UaQ8{LbtlRM@5hNGoCVbrvOZ6T&r@Skr zVZWq@Ktdt@};8(~JQfG9kT|Brb!zKF^ zf;BH5P>exAd-46Af>d1*QT#>LLU(YM{ztZS(NfK zmZ|FZ_1%1rxeXIvF|4hW>2omto4x&%$95G$>-5tMH6jZ3_O?eZ{<#ms`?ub2%HnV zdp66h_lELGM-FEtx=ju#Uic>xg8!VHyj49DvRsl0bAC=P=Mwxjq2*IYB6;ZcVfC^V zJYqU&zLD3VI0OL%(FDij+z3Y9;6-c$9=!8ZDJIzD;5pn0LYaQ{HciLNbQpo&2b*#H z9hTcGPLAbH4Kg)8I2oVgk{p_g8EWl$CF1#aMcA)e4iSmUtFuu_XM%F%O!%_yh}qy( z*3t!w>*J2Xhl#oj|NPL;@muhCTAQ%*n3^<5ZO*}7`KuYZFVp3_D9}qt&CQMu zxO6iM5xS~N@_^BH4wC+?J8g)2eRB;*&0h7mZ#RCfaC#?yks9GFQY zJm|B>Mmi{DzLRY^4>@71n@>^gyA0dbBML+4c1nW-kXiRJ&Out*w3g^sy|k*#|VF5 zdmGKZgI3I7We^^`A3VWGfyRF@!H|$BuM}tM!beUzdM@m_FkqdoA4UzyLng9zRB~vN z$9#Vh1pzec;Gmp)-Q*8_r?s(W{2t`*={mz?HGO3_#=6arx$~Zf&ei5r{UC?r+-<3d zXV02{zbj_^@c6zgA)Ws2CE8 zFcLC`U9H8RM*~}?t?ldOA;b|0T-VD(mi5xS^_WDl<6XiZ4Q$blzHX$;cZ-aVt?f#R z&;ck1lE&GHR-LA=Xo6D_#kP}>@vO#xP3ljy=Uu2D)pBmCK(ci+7NyMZULExt>qqD& zq+iaC2Z>Nz*^`;T)&6p5T|;Tcv~G;X&2bby5jrbsqM|l+Y1X9mJ5Ya`hr;ppKQ+}@ z&4OfXbL`SZMQaqziX;?CtP4qcz@V+wsuaoefc7Z(gj$vA%+kzdHFOQ?sh~aB_Eho0 zqO=-G+STzBgh^sKFfI-ute(#~v}pa|7CG9;N~$2CK})x*6kT6UG6Mwy=i<(x0-{g5 zs~9RhLKARt?>v<}C@*V_n@jH@&n~cP@j*V}88)#rDy#LtwgCHjdjYQM>iex~ghLc0 zc(*v3f#OHB?O>v=MSuS%p7np6No=uz%Y*06LU;J?QzJbhG}_NJ=?RL8iFPe!-ahS%nZ;w&z?>--N;%fe)mK(dUy3; z$hc9asNmK9@#PA7tnm4o<-i*10k>}Zg$Gbs4c=`Uzjcn&qOm&E@-WhGz2LXiAz7?l z^=3BIYtD}PZzXzT?4pI=YV0VK+dKVVB;)taRc5{4`rtQdl7iet^B={jdAq8VM-!}0 zZ4Sb%bFNy`W4n#r8`I%F;Qw_TxZ`T>u(LO~`*4~>bLhF4e4TnOW^#JDjBLL_{Vr-> z+m{G@wf41*=BY#B^+atKKRPOsBgJXmkmfOxE(E?EAuTRl&&Io`3 zBwGVlZ2=)huOTqF__4b>yg>k?(yHFA<8s!9rl7sR^5B%=C*H5)7mDFgkU^h~NUyncEC1Q9KMe``=d+SkBd^|Pz zS=P|J8el+rSEsri7Zo|h`xx`#;br*Q9UMH z1&RLI#~gVKCkgz-=7fTH3KeHO-`N~egdT$M zuzf#zhrz*>*?S@o?I9hT3>)*dsqeHnvtbJwOu8^dmU;Y6B^!#x%4%Ulj$o32o;PPg zsA3Lze;}cKz0Z8;;Xha&*2oyMF7=BuhYv9+zdz8^JK?Lcu1aj&GH3j}lM{wkGf&F% zIb&=5IJyk|g|{tFRuGiJRL?A7bv^fF8pW}ju|k~<-Hzral*ojFcfA<#NRHiH7?83; zy`!<7oEOSl#ijjZgTW*0A*}~5W&p0t+`hgDj3xEwgM1iT4IhR!sR#m*%jt1*+ni@}?J(IpC#MLrxG z^u z*glpt$r%ITq1f$alA-T?`Gs}8bzZ5ByVyF@y`BcPp(tvoW*W#`x|wvfm3dBg9<~I=i5YUzR_B|Avtbv@Zx|!Ml>E;v&_%;qnjf8FGlO@ zbzggAygCM@j83>hc&wgM!_Avn~2E zNqXdv#BL1s*N@qHV-Ry)X71~Ah;wn$2cc$Cf%G`X$HZe&VR8vsCP|Mn97tt49!f!g z1Mp=vqfs#Ba_t_sxL%npTO6_G7x%<8A?d#HG4V`)9m@kDWb^sRct~B?d>U1(%QevG z13KIpAv6!yY&4EK58tzCPx;pU19`5Jo6%Db1dzxdX5K=a8dYf8UJf%XXweHPS zY7b!)-lgH8;PJK)f4!iDwbsf7#;nh}c@#-P+Itr5+rlF~VzF%{Z{|MMcbka>h=Zuzjq38{3y{2)L6Tdq7C3S=2gyubPK(AfJr%7 zlBs%fLc~?VmQlFMdJwxyLqP633vQC}y@7>{&NUe7V(70^+mqYRi>2V)^knQ{G_;!B z7@pFQ1AvY$pQW`-=#cwEEj!mkT)F^T(kMzA&7~oLh?X>p#@;5^Esdh;V(70^8x2vo zhX-d%2Y-1Cx?neTtO8peYEuX4;w>pUCmRHF!5dJtSCXkn<&Nq~GNZ$a_8iz4hKlD^ zKxBl^BIP~?T7X%@q$U7zW+wQCEHm%yeW<+Z^cxS_ZFDZBj~R$1<>}(!jxoc6r?tI1 zlgdpT(&5M+z);s)mV!2eZJRcxs4C()MSu4Q)()p7^?7$YBoi-{6U;X_USa=4TU;Rx zx)xU?&wIZz+|o!BXlHHCrf7d|Hy+S$;X+36A1enMZNp=nCz!|f0(~Vm&TjBXmgttg zo%Qn=vh~m5my63lF+#nv_FZ|nMeSOy6hhRCrW(CE8M}~iH#l6>$%Q5AQyo42>aBO2 zL9!}&eC7~VbJ`}DCRx4znCp9?`A<3`q~I}r>+mgwi^!+{&?z8a7w316e8%zq$yj6`n|P~yC)X}L|NQ+qv%b9}4LKIC)guOqqN%cC|Wm+?dK)kyaB z_ZN-xdyjVot}1@5{e_4hCY(7)>*T*pTm3gRzOJ5J+(E+gww`13dV3Z%SGDf;t6ib4 z3*LG5@x`{n>$s)arhKOkhh?YVrd)uuvu{3`8Q#b!df#uSq_*_95X7B)b`DcWD~>0G zY;VoT>SzbL&eFo;-R6~dt|jq-%9jWyN_L zYgScP*(FdsFTXH?d9=ttGHpDzj$L`U{QRG2D~}YK`dWE(InESz(Gqe0l)UBy$-@+j z;Q=ZF#qmq)AskdwPv1&TL2vdrFsD~wVAzO`S~@wmP-QkumpY~G#s-%)49XlF)~KHe zcNpL?X*uwT_OxAo{cc6NtGUSgREMuXN8y)5>!r9QZcCPDlPpdB7YS9bIEUzC-0i&i z-LGHsyeU4@Ku2o7%KIju><@Cm#zj-(f0V+16J5!E!~U(nv&}b|tGd2yAHGWXLOchX zlD*ro-)P$Qvi*0le~rqn!UTUYScUyIn%p5Xd9wmq{eBy0H^GKgpVv_rl@1pX?IrFu z71#;vTV($G{B>Co=F;OWmUiV4dy`9N2X`RNN?d+#t5L&?xUav z!f>DL9W}6PpzCFG0Z*1&ZNFSNl5&_OmuO?H4Bz}`?ZUOKWn;5%dv)2c4c>O#+VK1M zK6l6Mf=E4e_75*}h_;l?1!S-N2RqYjJ+=#hbJHh$vuh`CZm6@gh9veLiluG$mz66r z52-{{SLli?ugGg<`OK>1jU~l}q~NG#<2imP&4#hyg8|nLK$PXv&8s*RY2LZZep^eW znf@ka`vfE{HXxxdF?-g!fQU&ysW?0OMrxI8hS7(zm@eH)MX4j63Q(Y9Qx2tnG&BoD zM4M0VrNcN4APB=cdB0?V>#}y<^rEnp*+UXH5CU!JJX=9 znl-e0W>14JtSahZ-A+p5kG(3mpLzZ(XK%nH->sadpR@9hD^p&7@D}*W$9kSOJkH{2 zz<8d6s4YkKRMnWPP=?{L$Ft+Ixz(-xjXU_ByQTH#CLeqCRW!z`A?f)-{YE z{*CBUAg{E`IJ!xvetO_EDqQ3}`ED}@iIs%bhhK{OHb>!??;dBzG@|-pxHR>*YPL(z zf0e+!om)2l!vcddlD}>`=hK_yWJRuGp`O-U?&_X79c+j#&_#(|y>n-}^?RqVy1)xG z{$-HO6W`HS++=@1-9=5Q*^pm^vFcpi>a97)1vh_E~-exbJzWs{K3S&0ruJrCx zfBj{tIIF>Dzp3AfaNROEn}dICj9py@Z`PgT%sT26Yx6_VwAT20e_(lVr|63wT-5a2 zw|Jes10l)H9_(1LL$q77`2667-}(*1No1S+RZ%+(Kc9UFR360-+@kF<4_2qk%TFBg z@U3r~$E==b23ey2B+tJUAy^&_O_>qZiv5s;e=AuqdiIc0H4icGn!v#;H_!JH?;qH^ zInI|OGCtX$L*Oz*r=4gsm0$yC4jK3{;jA6fwh>7YU&gEpXU91b`zhnW37WowJtgVC z*4u{>OjZI6-M`lWgu;b`w}(aV{fYFJ0|DukGGCz z3M;mD&KHMj|H86W?pgW&usS{Hpb^ln@lhHdUEe3l7^>3 zzx3bI|Nq{9`1!Rr&W=5G_?KbkLOgM~ycI`Nz}rP3sGdV^$0%~gD>wC@bGXdqST8(k z{`zgU@h3wnExBaZW$BmMb;`~TbUQidY5(M4u1LvDy95ve|6#d2mVVPrX4z5SDIBjc zbNMe$dAwunuJ&AaC1>yOC??0epJ4CN$(?bTg9W)MdXFWv?=&Z{j;G$L5pD|164&!% z>hd{>=8&-;W~4WF!&}7rbDI|CZF4`!%79Fy+|%d>%D2_(%wdtb$aQc8mQo z_Jdaj~)=fw7_^<-Ph)6f{Fu8rR)d47wV~IWI21*~d zys?xMTUhSHMLM)T23Vb(f8M&YbzKF+Z!5C#Tm=b0K21u$)eiH7{(iF-X*vDW1DRsU z1kS=#2D%3g&(;T)#7L}}cP47*5^{cIEP+II&7-cYC?HitDep)70EO%b)FLx(Kt%AY zs!63O+&Qx@8N!?bImNiKruaZypr7oxmmzxzSTycsL`3j>cn=avjL*uHgBi4eQtmp# z0p2KGL!a7(9os*vd|_xcdL%neT4*+8n5~x<$b=lFC)Qh2e#u_#3{KCyLgXTyuE|r# zT%?@SUTw|~nr+{%-yUQB?c;U$23row?+`-={bKJYkU%1bM`QCkW-vSplmR9lwCeqH z{ICN09Kw6WTE+HRPqbFCa3J1cm2*@T^|%tLo8G4^#a>}NCgUdB zGw5*YSe1v%&;N;X@z1O0E3@te%x46Kt=?D6HwD#Xgifz&sQMgc8;qA37nW$T|-7j|Vj~bLsWQX>49>T&9gHclnoz<64Wu7}L0mk(toGeZ-|TSI(w- z*s|hQ#S7-mOBc?jBHF?5wbO0|g45Ny8kfS=oVgk|r`x{$gSS(-FcRbI2w#d}6F=MrVfA8!hUyi#*X0O2) za<}LGfhzAkalIRvgH1z2d!CYW@ z4!J_8*)e7g1*{j1eWE3N7OC!AAih_&*5U%4!Ijx)y5&>*tS*-7tCR0^ksY&MWL?d< zYiw#oWq1}SkM0Tm4jEdb-awsIH8vT{49^1l!69ret%oPog-2rR;R%D4w3nQ$D(cIQ zM1FS&b|0eKlUECIo%iPX>?S0Ca*6u#!#yfOOXHEU*1427|yw>Q@sLOfT_i&E`RO>X@}CAum>X;!Mw;IIw;R{!AD6X~L4uW=!s?B(GxUhTA?EAn`A zm7kGYgW6I%cZ^Npc|2Tb<{aolOGY=rUi$Zc){FnrA6r>|tH{*}J>Q&T<5rW;+tIcE z-i6<+avy`20kxkZ&neEdXg zJAtzrm8Aq3=5Z+K&Pfd+C5wh;S3!{g&#H#(#lk1Kbu1i8mv1|(7FjozC3QckoN4Qe zd&gry9Y7Ia`^UT-HW)#Lr4uTGV}wDxqFAaIS3cMv+KG>CnmLK@RKY>8F2b-1{X{Eh zU&-A1IMpIoHL{R)m=7I;wmcojTl+*>! zcl{DH=H6J8_RX zWAo-vQACe|zW4o3AGL->`B~Nwof-n=Wxuo|Ec3Rr9oeNJpf7*eN%QfQ)psc^2cf$A z_Ip-DNa@x0tRMs8(~ucI<#DcdpnXY0VjM61E04O_8Fcq)v>Yj8!j4I=2S)gXBDfUY zqoD77TRZ8E&*<{Atib|QEfqAc5yhB*DM)s#{w4M*W7{UhS|cMx>VUKy%N}S_*3dUFKjkPg{y4t!5S+Cs ztjr~DVp=4TMPlz1v1pO}jX4mAzBR3AldH}nw>-}NfkI|z=o8jAvfdvYlN$-k#v-S- zK?#aYLm7BwUy2Z(V_aZR6wfehuof4`GHg6jleP8N7?TrkY_wUVGdScVRHXeEMmwbC z1T2TjK~sx~SWXkjUWSScN>0->$?S?cg*<4fiId_tM$C9A=_=pHH z6;YeAR}s20tve_sDQa;lyO)(y<})q~^qJDk6tx#9MR7G*E0N5Smr1ZnN>ezIy;Lm@ zewV#8mJes$%htA+BJHg$MQ+-Fd-<*jyYIDgU@s_JAiFgk1%B3PFynH#c&=RZFjL^L z5Ol(a#IeVVHL~P{E>%PG;F`*pcA^B=UC*|dKs4DYkxb{^5-ADDm3?GxO_*G~OiRz? z{}StExz`qH)JbPNT<<$%bP08m&G`TeP+HCu$l|oIigW|1uO#XU$rG_OFA_(0iz`>6 z7s+v4iJr&fp*l5vuT2nzqiyM`q601kH}m1K-{R!zF%Uw>iyQSW>7yOb(UXKybvu63 zZ|?we+@lAlY4H7)$1;ykDlIQ1Y1kQ3hrIAfbUVGKmT7*m^aSp8%jh7>F)#+Qj3TX> zonr75R$gA3@r@khueavVrhH*=G>u=j&~#{*-{*1mxvLGNLar9)Wxu5LghYh$ijx*0 zbN-yB!8z)mDhe$+$4I9GzhnH3yrTy)_jOMA% zt*r7%VI(M+oA2`>a0*A}`y6;D`H99XXuO;PnYA?!U<_OZsae{Rr0wx&nArgsh|V6;XuLRijZ9QNc8uvU`AY6XV-mOtWsQ!?%R{?lUGz@dom~0C$u!XZ{1@* z+{hR05vfo7=gzTQNwS>nN1-&@ZieTvELmrU=ee9_0@qY4MgNrB^c)GCg~`D}v8OLr zwxjJ^aY+(MCEUm3vAtmB6Y=1fSgry8*g>&`nLb}7$LG5YS8*~@$l|?2Or>qGG3bT6KHFpu~}vo`wRTwm`>2_ zVj}}$h!h&KHoh*V)NcfpLp93EJ!P1DXrH06#bp0B8~B0T27<|u5zY=waXpl9+g$CdsQ%y?0@s_q$9=w%bc`J&yEf2A54pkjQg?;v&cLG5EJ3&dfok?-kkq;=xrl6%^%(1x?2F-Xp5^4<-YbmEq-Fcq$N*e_h^VC*VO(&a=TUq^D7JKIz zU`s}~CH&HQfM;3ww#MW?2Zna^b=9e>;q`Brm8@X;&U+$}+x+w!N$PVVQHEW~A2k>- zeLeIPxuNYN{z5XMLoz7&_Jw5h;E)8Q=ql(=>mZ5z5QOvV+w_p!Mm(P9B)egzymRmz zL}~5)6cK*UkfG??Mp7lWK(e~>9{-|EE{`{d#8H6g&9FqxKvw0gmS&G=g6~nFu8Xfn z-C(?vz=DKbs$R-_NrTZwe#yl?2`l`}mNy3dNg_-9jw8p>6({M^1v$O?b! zIP!W{=_gX=%ZUN%ywLoBQgC%qS6juwW6YkiCZx3yI!VNi>OJ8ZWNjF0`K365z4D$3 z{k0g#a_Tp$@wGi44@zMOIKI<05M4saTOd}xNRMD)YGoBb_!U^jAqt@v zz&ZVDW3a$65URDQ!}bGvhH6aeINZXDMOvjv-KgVo0gh{z?O>s=T?SnZ8-vB(9>OMx zv{xL7E>xZOBOEc)x=~fnN2%T{Mhbz-O>(t{@44N4SflQHZe{-wZ&%}uK;?qF_Gjr* z&8r%tCq135T`=FLdwJbP*!Su3N|_8A>_aSqF7)qlCaL@Ma*OppwzH11SIo4=ttT(J zTSC|m+GS<4^ueS1-LO>~;jZ^c`{`=jRJg8vr(c7*az-CSv&U*J61E&4)GKwnK8lWg z+E&k)xCO;^X0>tj#w#*n+e|rhb-G;{s|urs6Y4wnRU07&#|;TLlIEcX z)o5lb2o~a2&~9&Qo4b6n0I}MX89mO{ngK?UZMNRUa>^(|CCtS=I-U75GXtokPSmqi z__Mcxxlj2S%TCgR1^(=fWp1;p%w2k}JO)^Rs~#bdTG0y{{O*&-_G?r2GbjypR2x1B zyn*9t!UvIO?|QMQSzSydUg!QE%N*^rQY&f?wz$sjLo;FojnC>wMF}N8K{tk0AW+50 zT1$4m*`Fo?l^5{Z<|NmGB|J|caGqDC8gzPXw$Zs^3g36i&n^WJ`t9ww5~!?0)^3U< z;5kW00+loDdhv}n^N2>Ea-N?0fr9{o?E3M__NHEjB*WO`6XkI{oLhHiyN!1}TH=Q@ zcp~q%%`F{>`tn$;+VZI0%!nF++;7T?DAb!kGl6qYC*>K(?FIcI(0js$`xP9v>abHK zUYn_3pWc}Vvlr=m45@Q}A`kKWlzLR8$crco&tsJt~z z#4hy<2fUotlVKE&&4F%@)}cJgs?d9Jdqv32^eDW_+wFWJ%!{&*3=ptCsMb*j@3^!% zaqbL8;Ah@>l2o$}xOi9FW{(K;)`v&6X3hviHs1m<4rRLa;)&VcU$rBUj zK94!Na(d|Q?48){5rcMI*oZZA##pIJrWBis^?=j?ubk|m;AH}x(i|`R%HS+bMY?&& z!p9+^6pvNWY~WHFIWcjQoFtQh`L=@rZ>;Mbr)l$eTpmAr;*v2+ado_GSyNZ>Y~aqb zjZC{T$)Rf;%R{HT(RGHEJn&RYBiP*LOMgi2W=keLB?G>tiGg zd3kTeahNELcHzz5YjOmfwJbJyuNg8~H@ifQQA>m?Ok8X>8&?#^D;&C-6IZlz>TX>DG+hM^{Ax{~$+2G9zz zy-<#T0f9(bbKC$5Td^rj6iJqiq!UfqB2om{!j3m~W#s$MW{&klM)(xFZW~!c*!Kns zI1$%DRQd4JXOO@P=NySJp?P~)LF>IJea3??E>|OH`_6b;g{vdI_;%-A_a(wCva)3* zxp^&Y#%{vUQV80z&Dd2KT3m2E@LY4uG9%xJHyfCM=a98U2--S}UL}V0_$SLSUfkF& zL#q2@FEiw}ay!teUFtg}HFDgo_SOwCbScQRiHA*e+i@2^IOKkLxX+h|dookqd6J9B z8pv*ReeEEnuUt*ly!eX!0qqXja4w4zy^=L+k_NKGP_jepc zdx_ry!7-c#hT@o6jIS+i6!dT@!%r+@vbCMWWrVllp0ABn&!a%9NVUmAQ8o zyli{nugi|1>jwt@`+XN%)OHD`U2JgfTMXZCquDNz(N{hPL-Vi)NVHE^&$OZE9?&U7 zmYLY}fi+2Fiq1L5P8?3+Z(0YvEZKcs3s@~=s18pFcm9iVdQO*gNO^hM?~D#AI&1U7 z5blsYemYwYzZ17EU2?&!&qqd%fBAgGko_%yEvIO>#pve@4gZ~l6B4*_kH?tSxjKf> z^YiG3KK_g;r8qBucy*Wz3HSK+Lu-Pug&S17^D&E;b{&|N`#V%@ za)wApHH|P!G>c8OD@}YKKl9Fs4NICV>{b2a^=cvSPSknUigOr;#TEuA$ zmTb8_#!sTbusfgL5crgw_6^z%Y|{(bj6qh*@W!^*B=Gq|1`qS3MK0!hkE<^3Gr5a< zzTGgN%-dgFId{KbYtbenYs2@>363oZnm?yc5swz@(WhF)VG_|8ab-cyTtR;)N1Ihl(*Cg+blPBWowa{p z`ej2OK9uK|stDg15h47at*8=#UsU`e+D)(N)rv0!i_EmwGVey`DOFC_c-9QsSZ}St zKXBtI?oLi>Xm-M-Zg?A3x6mcPg z3N!a|AW1VLpt4XTlW;_gwwH2nq@Cx)v#>%S7bbDSq;nt9;p`dEC6wQN&IvMHoNAKX}LCm+yA)1i&qPGZ*>@Nr4L(YpnsA6|h3a z3WIm@T%q!D3`pc{8gyWSRnI$8gA=jV_DVLD`MMf3+0S|M!OOxdN9-)|QnPhZK9#0- z);*JbFQl0a;VcT=JXao@GExY>rMjm?l>$7~WYT;uq?p{`vp9~F!PQ8KFK>Ch$xrJF zUruAlyXNINg#Mfv5V=-7PtNFxDx^rF=ZIu4G!SgmO*u#u^H3@M1|s4?Ki)p{U~4twN_@I>mMnQK7J6B+F?GKBpGd;$pI^Oii!}S(rOI+_AcSn@se= zr_<^UDZ6@uaKcfl&DWhJev7u?6qZt_{3jA@r}5_E83g`0x&_~+;g#tXOtWVin1v*h zJ7yLa2;^$MgAB%H8bT~GIZVs@gi`ENnQgZ)1jfMOuaMA z+SFw%)1Db$cAo0VzD>a60Lr92vx&%ivRGLs_vMn8DOl4(Nc6CboI zjW!=ZrfS@L0Qu(@RlkjGG@!%hkH}awK%PVg0^KCQ7L{it{&?0tQ|P!9fIO}^g^wwU zb;0BZSjiB0sH7>b}9x7J-5OhKj#8x7&%o?5cS8Dwlg~j3OPQin+*Zx9ey^1 z&bcz2g$Ro4E=0sJ6WN{1J;ZH@WGrN-5uUVS&E7l`DHgsvQ&dLfOd-aDoBcwhe=};w zxtPvzzvmG);E35SzF`VJn!7YMG7CE`P*hiE)#Nr?1v&}Q=5g~U%rF!(=~;q1*(J#< zt~K^rCynhQN3J#xnsF!TlBvKl-)-k_J&Ck=T?fqXJ3KAlBGUReccP}c_2V(4!eq4^ zaeTFheoE7&$7sqs18kn-&Y%05a9{nYf?>YJP_>&npMRWtQ7eU>%4V^K~?R5 zSiLB|=3=j@N7x-Xpvp4}62_mIp%&79Og<@=Cv0BkJH5;bm1nm5rS~!e2$Ia7iJuly zOtz?5Tq2OGk&hsG-DJz5g;0VkW%YMJjqh;kE6&n-QsAzHN%eQhSrti4E7FdnfF;_F zzht1&PH3MTqke(j)v%-gSr{?EaRVi`~F{gR>oiP^b2_hWMr8-L0awEj| zy4{@|h&0RynIJEp404iCUXSP!aoC=}q5b1AGSkW+E0ylf-C0RZ|to+>?w;fEj$(4;pKG@wg$; z@%{215ZJfbCV9jW*?Ip#{JIw9_qBhbC!TlOx5lR+LJh?jpAuDHfj&wMM}eTQHh=`Z z|7E$n?XyqZ22t{wI9E4bI=)|CYD0~_-#flLFR8gAKE<@t81jN6ttTbg;fah(1-1qA zyrI%9WxR;KZMV6HfSA-n0$HZU6In4|;aDUqfM<}&=fus!Z{zgcRWupleiCvEIrkL- zVOf&Km@TBO-ie-yGO4CHi*qd5^GR6Ao&??OvnP^SAm87}%u#6$Wq*tvD+c0D^I7;sS{dBS94 zAA#@t`ArbBho6I_PsZH`9fjJlFi!^-VoSGyK&o8IjNrEM1}O zYuR|>;Cl{p>T3GxwYn7eHG%V}e$r&JM>NgFEiJXyz9oPP@Vu-Qo^P~1RK0Snt7e=& zp^47r9daik1EC2911f^25=jA3crKd|72k7Sw;U=}a3gS@C89101+`&q340+g&2e4_ zgJ#F{YD3yI6drHGdLs?8UwSmO2g@#QC|{%+Zvz4ljW9bN$oqzl4$ehT-BUIKdR%;Ix0T5Wsvv6PqbP? zn|3BTIjD0QJ~^OyVsAnxvQEZ%U1djQoF6~?K)D7JUyP*#;v*-Y4s$nLhsCwMVZjFK z%*MDym+KN~)!(OgjmpAEhZe5J9>4Qi@QTtrj4q4wG|g4k z>hPDd6GUyd%wmIoPaAX<1q?>J2*z3+hvJut@`{-VFQ6iryG@070dL8%CSh}zyzHTs zH3`&~yC68?eAb!1NY_Q~H(a+lL~D#}nq%~Y`pXqh!^vLJLCe5KaX)f7^Z`QLyh(sx(MyW^4ojbWH z2rK#ZhOnc@iaY3$=l6Wt$X5oYF}!%XOW71P&x{!Cl$!duU8rF*Buff8*U#_Ztb@># z1Z*+z*Dy8~&DWIO^UJkORRTHHZS*2vVcxHJnXn->(~OF0jtE4OwkxzgB2Wr5OEW0i z_uL88R#jmW5T(u0AM@n;tY-{%*s1m;f|^i&H8U>z2Yr0^lj!|(Oqk#ug@9_thzUev zMLDR_Tq!&-{d(T*yJyZoG5M>;=CFXtdR&(_O}#_Hvj`4H)!J?o_x*s@B9mmBrM))A zi9igAZk^GH6EN6~KN^t{&SiG#m4>{pNUdBPN8a#!$%2b=Nkw8^rm~Advl)j19oP!mE^n}gDf4`tPG(6MBd$M z$SU&d8eN2~GL}pe@RO)^;$xYb7a#i=7Qn}`^ZQO@`EG`NjVMVd@2^|STR(EUt;CBe z*%+Yr3-!!-vjK~;&^7cG2zc!rr1c-n8kU7xmPu&{dcVB9S%Wg@G&EOXUx|b-VMv9C z*TO*5RNKXfghL8%ue%V7<*8*4WHBp~&*$fe)xM@7ZiVoAkkRm9OR_Qxhzzv^c&Tfd z;z)eFFHzly;rQP6)2vRT99%oL$T2yMDFePAwhZe!IJ#kbDK?C z65;n_rI6D!P+-cw?!MPO+gVu~UK z6Bi~f2&f2VF4QJ2+=c*Y=3W=%r9M1|-#Mq-S2GHMN1bn9%|c?Bd62IJq`4#s>*Vxg zf~O>8vRHVaAykDE#|{#r6~Oo(9zlFAo17U`yJ1bIT7H;f*rXwYUP+M9!}bWsHjhK44SDOK0-dxRjZ-cR z^XdYk(dL9O1JZWcO5=w35mMR+<4IU zXU#sU+mf3^1>d#%>=IG;eSxtSY7f@+O6z$0&ZpICeS~?rgTwLe(jxtC@tl*Fd!cp^ z286N@8TA~@6q%rF=qqr)R23Q6d%*h}ZgqwTzaLMy(BStrD>@RQ3mTF753|$0BUb6s zJ6(JQr!*jLX#||5ty`s-KbcCP?*{@^J;gUVpX1g|n0>^Xmn&r{rh26#4R?FsdvY|= zgcABa0EE5mP7;p&Z|_zRu0Xr8P6A52X@el)yAFdi+xPR`(5MMBHUFw2nHWfGs0KGV z3cera|Ep=71;vshmd_VJu918q+g!jdK$uBM6oK;{(T=J&aOo90O{ zXQH1bZkg1ZkFyV*T;Vu)?q1jX#$I#OW;0XPPD_CAYwN5C5IqWc46Tb1MGt{Rk8v>q zO;~M|fg9+=^5_%GJkJ&0H`}07op&n5+8}~t?pBICtHaa@cD;rIzn-H{5fsWzU%U`Z z9P!5NN{C`rEn^j7^U>0kqDYe63e6KA$M9%W_F|$RzyrB2c`_lWlzq%l2}f>X0YZe5 zXd`}U_*&Y0urmwPL;bI@-P-Y`uvQ^{@x;yH?w$9G%+)nBpoomQpW*JGqfF2Y>uU}+ zh{NGHo70QZx+WM;I#}T%odD2$iXA3k6j6;8XlBTuQ3DpP?>^cR;rC-1xDN3mLI=WJ z>uC~%?}>O}%7f1P)!{ewcG_|kD2wGW5k+J>ryn87WeDJ(`zcIBuZjj-HI{ib>z2TrtI&GSM_^4pxPpo!f!! zBWJ1mmQNm%5dFjyxWzZxcRP8e>p+jLVH zYVTG;sV=x~vbTTVPR`yM?pvz7Qe5hL!CvW-isF}_Qi88^O9!@Zu}avx^RDJfSjI}G z>5loKtJrLf?Z-6G)8M|G7Hl7fQU7QUBos&B=pRzcOGV%CP!+{guKW=wZro)!0vtEK z2X4j5xLqWGU>{M6&~dCx)AdO?3LuD2IhX1|NsO!kl7pcFK;X^ZTVoM*Qy(RhkU<-l)xavxR{o*#Iu3PlMuE?Q>z@!{S%s|#Lcsjr|JVN`1_xYT%8XdABESp^E?vmCt-5TbFtTx$yK$8jlXgong9W9@N=auaFG6<+P18eVWok8BWj_@nL^2ua0< zNIOZNj3^N}-1Q%aprzpuASJ+xkbeAr?O}@w__;DX>dz}XhKl6~8^=o&P#ACK9~I4W z+wQ|QL)`apT22mUCN8t_v86A}iw;Y=Og|(A4ASR`e4ods5ZbK6;U*oAwlGBvh0HYK z5rvqrNX}?o>np__BA69c_&rnplINLYUM@&))&7g}dswM`yXlJ55|hSz944BoY3BYN zq3YPO^w^}ofL{-)FxNnWX77YF39)BcBm3m&kW9nn3s5}92&oRbgAZ( z^M&XT^co~3CXa;rCOP#Wy5LP{k1regd0S61ddaHf{+YWwKa=hGvM_1&zpx$2T79wI z9kv~thng-_)Db7+vnGTtYOAqcMYf(rW9s>(^CnfdHNm*zRui?TJ2jQKXQ*THvhkE> zuXf4`K8upi)0HeND3RAWN(a*jlGPX>(IQ+;)YZ&phF_6%MY78@?JnPMW~*8$;F?Cb zG}@r8BZRbItmJ51d?J|6g`lXW5JDu_LlPr@9Vp+S@*5SE>eW^5P`yLctjDX2u9=F+ zfHN0M_?*e>1v!kk^`dZop|7G7D_0tTf~TFY*2DL}Ss>op5`ry0bA>QeF80;Rm2`F+JM1ECw! z400t8376Cs$VQ9!qw6hPZrUiFZtnk-vx=}%?S_9wwe>UjH+yJaq(g#JMr6$uOx#s` zpH%-O)83W$_iy>9<`ZnI72%&S4pJoee&@(!7LLlnz094)`~9B8i5|$E1hbt=Dki^d z?muIl<)m5t;8-%|=M;zD{+{A(RfutkyRUg{Vbh3q+-d^K7rmB_y#(LP6{$LV-<;V|Hc2_T_B zw{pNFv{f*j6@82qj)Z-bhp&4ytBP{Z6ZvbPni&7{*Az$$PS9|VhA}3geUoK~=423y zJG1oKr?}0`0?14t6N1{Gv(7HB?_eErx&VUTJBec}Ic%<+!eZa|{ygtYm8vj27MTfV zJ$NK%UfKnYuw1+N`eDF1-=0WuNocDe$j3~^! zD`({DZ3knfS8@E8jp-2)&KFW^d-PI@+ffmKoazdxMvwc+2oEd8KM{QwNhew+sq;pa z*t&rDbh5ucO3La9xZVkYeNXtx^`7tVqWK;~XwL=hvL=`hhjbJS=Do^y zL)OVi%2=*&^3`E8&w^^Sb$v59$LyYm&Oon);`>@-IkGt+sm4Qe?ddKBzB5HI)^&(p zC{J%BVfS_)Nb24h8c!AHtI!@~eZ@yU2pI7uk6uk_-(;QEgVg>6+v=f>N1n2NwfgH~ zcNiN9M@aG;jCDQ*#`;Ksg|fa(O%7%KdjEDkqLNvbld)nJLYRI-#>Hz1%eGM_Vh`;s zY*Mr<#kf$68%2D43VJBi6rcEu`GiOXRV#NU^9=PV*-tsIXXx)&W4)z+HR9NGjGea1 zT8m8fI~>;qJR=#S)ix${&PaJwx3EmlhnnJ>-8hedncXM`8fLh2E}uk=ON;tGILx`+ zo0r43YgNZxnh<&H8Q|MbN&wQ2-Pz)03I;dth9tt(f3X+G+0eO|tcLEvmEy6|adFtI zm!yvTpCUwE0d1xuqUShiMJfW@DrB#hV_y%vxKNC;&H^4&X}?G4^Da5+%)Cc3Iyjkv z=qY*vcJBU^IGInB?@+5cQl<#2?LY_485vgHIgzV~3HgTaN6M3R+-IA`VvTw!@nY8q z%M&!qn_tE}XzXTtzWBuM^Mt4@W2>Izs=qrbQ}>$GpKLkiLs*OqPjfJ7zmqANjHRL9 zb0}R)L{(9)4%dc^?$^x$n47h&$ixYlOvQ3{0Bjs~jH8LH)6^FcPm&PJd7UzBTfug* z$>0&}m&5uvS9#-$1ze!ypGztGJ_W{3{u%bAe5Ju@V} zm?`E)R53SpQQ=Dot^?9!+I(8GP1yVKbYtu`+qQCaB8@ji8t!wqzG$7@$a=b~r zqp`lDv~v!kYn-)#y)|(RiLhWIzWG?d7wYOv7 zn`e0(|53%1LD=-#$+pB;o6@a!(bz1q#h)(;aaE4OV4pd$#2o9BIPEJe|JZ^9J7u#-Qts6z{I7XM2M( zba~_!IP+5BAN;w@f_cJ!{Yf-^u(e(36Lh9-?nR>XOijp2g<#J}WwHF%GjG`pYl|7t z%d@q%Q~GX=Hq`mz_!C2B8QLT3v?0P3W!OiMRLV)yoUx6`fDqHPGAWLUg59aB&4B?w z=4R|X2c@5|fvf^H+x&Zx4sLBh6NjT|_NW~KlAWYSV_%VkPaDX76bTaR_&mvG;D@ME z5A$c^(L;?*?|IAd$J)}N?TQR7n0NcBkI-H>ucnp4k&x+S7J-_HWkAYN&V^s98rwWSW%Ftx0% zr6mF32E-eXEfCU^2>oM$;sR_J`5BXbszJ%-)0f~;rWK}uN@rlBSy6j_YJ8Sv))NU9 zsi84ozQ4S!;G#k0H>Y?v)^r`;zYG}Cay>r9jb2ILZxQ<_J4N!|5r4w76UU?=4{T(j zo@}Q1_j{Z^P)Vhkr-VN?3@1L%7enRBn4PZ)<~OK5=AI%ZCCa>8(z!5D9-lcP)A8#SY80P$h?2aN zdQG-@xc1Kc(^ZBVAynr$*P{AcK~U79su8toN0bR+=d`VPK~EpB)a>|p7kdOs<2l)&%=?~t4(JC z0>0ugPZ6LRE2edo(H$G^JixaNa6wckteOB9pdxq{I1Cl%_coVMjnA)k0|KhP7Og5b z8bmbB%uRXIciukOj7I1zPByqV&IHxWMIs0&J9aY$4}BKL$F(LNSl%t#u1Es-ICfsG ziEKNzy$nrY-;(EfJ7$9hm$a0HugBCqHtymmv8}biB=J=ZeMOSYXNmG5@?~NygMSsq zfo(`^3_}FgB?7uKS7DH!=ubI`TDnD~mv?#yZtj+#Sm@&pyg7A&V2!|I&^E5lB8U!= z9%sKo&=!xwU3YgZ@mHjLso*W>O|}W|i!SHH#D#ODjhZ2%^uFowxnsbop8&TKLgutB z+A|j*fN%desg)4NXwR&@#FOjb^brB++E8bKKoTi;6H0(n6a((GP7}Vj(`D;1PiW!R zGqlz9+K7I>0L2BkcHNiD4EcF?Pnk04n*01G&5kkN1C*#{&Gs*TXxgo-8Kolaic|~Z zvrP5MT++pnGtJ!<%}UylGfhWM8wD%C2Nn?)tdS>Y57@4RK^F*u=p=GNZc40DM+GAR2X%L zP+%jQH~TtGb%o^}tiqav^%69{e-wSqR1(2QLjU}C5}3?02?y#^fp{qogS|(>_sMW7 z%H*y2f#>l(?5Rk_o{wa^Xe){L3&T3i57bS<-lzHgcklOgCKleuh_KTl>s8({c33bJ zm1U#A%fumS`F-ODhp14dceM#8sj!l*9#@+?*{XD4 zV2U(vc0A}&&^9Q*tm5R!gBRVNIFhpEp~=g{#fIt4Gw(J(RcR|O5hofG57F;uJVx_+ zq!hK|_9oh`|NDJ!H={Dtp@`5<<~b~`rzi3jzMp{rYwlM|mDjx#PUHw&@)^aLQ|uI1 z8uskFPttLjxv1m?Bl!Xt2sS@eVkmWYv)|$SH%;gScoc)yOH=WF|2#tU?S5=*Mr5Nv zB9|co{8(oN+eE+*SehH zy9E`OEmJR8BK&@=GlZhSRSI2~*hzlSm0Z)%zJK|Olk+vKXmGtzla2dKDax9Lcxr)_ z=(A-coG0+LukctBz(+%}t~VZ`A}UTO?yR#7JN{fzUw6x4mOeYTrfH*@vollxk z7N%<5=>BeRw+UCwMoq4_~=jXSV-cY4T{7DtE{T79suC?-ew!C4W2~=a<<5!uJsSS?!R_!(iL>%zcytIzV9v7$fU{55|i)xchfB`Dc#^V9i z$Dat0gO7dtamdIya2k0&e+U^kXO?7v_PwJjrlHjw#P8f76wU&@;>JdTFbNHn2 zZORvo#6qA(;@8<{A_j=^JTy;b`NT2swk-~wd2*-t&ptd5bcH!7GG;oqqkmWfsWnv2d(iiL0=(d$cxX|O)q{L+v6YB(pgfM1N~ z*(7aRrmM`uBe>Z2W%&2}UMIERA8en&D4s)n6Q1XL=ApPK&HQN+UrAUImh1pnrVHzs z=`J3VED4Znynuku`wfTlDEc3yj`x8Ud+L;!H#P@AjoD^eV4-w=gKoL)kt94JoKp}C zD_EDu=dZAeN6bZ-B=R(p)@oOqcJYWeZD`ZtcL07vUUX8` z0%^Aim+BvfziZE=Dal^Krz}gG)_ix~3uM&wCrBL-?l%q>b#y5DdBmGKxgf5|9WZR_ zIX{DN4l>8zUF0D|acRUY2?r*G7RKyS(V8dcv;m7eY-F{w(tTbDQLPr0GTo%5Kk1N{ z{#7uaUCr6W%Sdz2dhWdzq`p>$oWxor0Tf>_M-G($u6nRd$Vs ztmRPy&lkRyuOsDi9Vvg*0SW%!BF-cnpgdv(oJlAduW56@wEd$A{j&*On{dEeB$;rF zfrmepb!2HSI;s~fEOJ~Wkn4KM`T{QjZ_CN|!AvmNio3+z9pd7lB5vkpgW|R3mLnoy z7Sme}-#Pu&%zR*pHUhX z4hif&*pm5@EyhRvRLr=rM&*8MFUN@NE-h;@l?<75eSU(? zInS=Xqbn7?N?*(&hJ;eFQC+@msJuna>_=eqAXbj`usaLE{n#)hAYc~d)rAD!%xl;$aiOWnHfrR9?} z0{kDsKl?2(T>yf^{u_x(Gco&{7wLhN@NvtA^K1n|qn#3DhHw$Z3naA0y>K_|F%mo& zp@r+MCQF8EgtYu2hfuKE{Z}~-#Iwj_w9Lgh&QOwkY77J8&@CLgfaS6K?Bp*tHF64Spg5+(w)1f)1AMHbQ+Fb{O z3Y2Wm-oAAP!Q;JFp!y)0HnsYO3s{w^AMjuDweU;S>g!)+nVIAc4=@7)4ETWV_Q+f2 z0PiMRvkf_I6Iy0d_~scjpol(?QAC*QFaKuqVMOg~BoqG7yw}*LhES!2>4{t9?M3g@ zSkMeVxot&>O>|8+0YPO7r%u{7sA8XqqNiS42Njlv9^ zo%h6f`@T`zhvoZHVcC1vwy;>Pm&(;ROl^UcVKLE-Q7fa0r|rrIQ69YXYP-5d^zG~Q zrBk}P$=VMI^;)9A6VHczq#tI&7tVPw%z0Glb!?&*uUPc8b)AJ-QnY5s>$* z;fe9$Bzeo4diA)V@SI5l5OmmtoX1Hgji!OFF^38?j7Tkw#`;7~(iu?jIDFk^x}aU1fD|G8Im`CN{ileIC{@VY}ru<{~u2}=GWDC@xWD#Bg2aWXIY1_Aco+i=>>RVOp~0!3s877mL;vGpL< zY}OZ`fh$I^{60m7OFYf6htRmV`9n*na?Ixc_QSoP`d$GZ29<@oIgSSjczpsUpo-uX z+@S{(~35mpS6h}=@5v<05-nwA%nWhXpL5@740V<-6idcmoF;e|6}sbG;eLw zIe`N}xYXP%%ZcWO*s zJqI1KBW*fw_vEy08ZHvRgugw0hy0q#i|i>*%lqTLM-1Wnd=AZ@Lt#aP#?MNK!_!cJ zBq_wQSE=P|w^%ryX5|<6z@7i@BzW&(_q=F9G85F=266te^FWd`$JcK>W5f~qF6v=i zuO2YIVmn5~_&6~iT=+2<0{2Dp-Oa;NyIyr|=gpnMVUo^=D`5Vc6;>oaZmk&SyTk8! zQHPhmIFOSTaTog)svID2-VYGA>UZS}8~pk<=Jw)uam06!Svj6f04#Cm!z_i8vYYw| zM_`eY-Gh^7%$$(-YvOj4mDTaK(C0!Xe5NKIOjttzbUd*G$Z@Lm;Y{g6P(?$qDtKug z9<;~^;h4=DrLs_331P>oSW)i4asssmh@%s*`J)UdVI)G0a=8)R4s?BJb^lKFJ>#>? zXGp=eOdT(b)5sx`6VEl^#Kv(x`O^LiVU)jWA!T+!bFMIk7amZnf6vF8Wnvw1!jBs( z!Sj4iCJsxCLXMDec#(%PX_b8u<#oE2qIv`tE!HLs=Va zyM0M0=Q(9BAb+zIFI)9UqA@PEF6^Nl(-!%7VOkdVDi4zi_eoHgrJ}FmOg-sv+Ox;7 zaXbhPADZJRUVpo5>TUtowE*5R?f!0w_h<>5ZL`w?pHVlRY_DA95qPa|287j5qkryX z&VUy#?bE)0JC02hh3KdQ!%(??E&iRLdq~fN7R9m%jp-F7_&In-5ox9~c55^IV7jb74qM~*_pE-I+j{Tn!62lyz?86?kysi+ zDm5|tF~9=YH?#7vKNcYXMoU781#=iCz2g2o&YL?Vw=L{iTq4(`xJ+-=1Ckka0JWh3 zm=3KBWHZbfO<`2rFnB$;7wOP1lr9f=-}?UaG8bTej^B%-GQ(zft?S%tBDp4Dj{D9K z{SW1#upAw2QlJ_cv*)(t_+vZ+5u{#OG0|khD)2fxHUh3i5SQ0q(x8kB?abShx9Z zt}wtIAci^?R)6QC#aDK{#o_5lmzT_&R$Ar)t5TTUd?IOpM0zyF;(~gqBrjUU34=3U zr<&*KvznyU#BCM4r`b#1(&lPsX=y6qB+?a)3&gaoyG#}eY!MTh)0z+p5l!!qWWnc` zF6cJR0=OAK)Ocb91K=@G{}W;usHB&S$A&NnG;9vRvv{6#qM5*19{&8PNyhkZn^|x_ z?l|>Z)XK*JjG||Tl-lAbk@EKA8J?o3Cnka?xNUAPS*@l}&PVq3;Yq-{A0s%>We*qq zNT1yVy@Z|V0QEo-dDNk(O!T>v)^8PvBWl2Lgncp^>Y+7OuK<-yTOmJbz3-hQw;Yymv&DLP1TT0t&<01txF=r6Bg z_HB^zqFcO}uG4N13B1U?ddaedt^=#H>?M9k1ALG-f?Z zS+r#0#A$}`?d~hrIRp^T_kg~+!CjQ<26y|iP|_3p>j+Gu4#t}Gu2=4_hZTa`Nz*wV8%jiH_a6N)2ksqXCe+^0ynEj+umu;U6JIz+p&mhR zx4V#?I%=S#VgElb^7r56(~n%`C}*TYMyPB&;{b*=8P;W1C*Ne>gw zM@dSrbNnuRekc1~bbT5(g*wr#nGzzD^c)z1x^7`Hoda5<4h2F7O@^?}v(`a9{MADd>1hxqr$SE3I0 zNBK?*1Nfd#=6{i|JF@+zMpBm{!jbBZyc!h*|AP+83?h^yN+$u^W>j7b;2g&w$4xL~ zK|*8JpWQS@gW5X`+g=(V_5y131!uzAAKb7&d7^b#?PU-;(c6l5?Ed~>&L+Q=NR!^O zi^$qGdzC)oywmXpuGiRYalxrd>Zoj9x&I8QsgYg;~VXLKifOyd=ci_i(Ex z$@rVM)ZNV`C2j98C@kW5I6$x*WM#+VzlE6^W`RbJ7f_|Cc9MK^r)!y z(JckIZT$A4-zbSmyBBC^6igA(C&>){-w8|)EVuQK*Ccy+*oab}Xm*dG8Exv(`x9I( zNXzKI-7bQEHN|+{`x9a0Qh|f_g5z?J2ho$tHDVNrZePX4$k|Yln&l?ASC8i!d;b{d zF(4e*yqH+*8`jKXXcF5;4Lo;9+HtZ~;CS(}uV!Pz0DwpfLd?#F9*grrDf6e-7aa2S zI6NA}d0h;(ihA@8wBZ%i(*kfFHLKba+QV?c5d%K212M-uHa{e}cp|DC9-*)&z{)}C zx#zZRmwP5jM+H9D?NSxy85mHyb$=5)I=%@GnezYeCX|Ktu2p2j*L;hlT+bS&b$D8* zSK7TO8~zO+D<6jk-ct5)f~14%5P*Z|g^MF1cwV4r=mc#94lPu94OzQjNQp?cin}l1 z<%HX9-w#=0UnSb@P}+|IDV!o3SBa{hm;c@Xxrvj!wJ zPb1j9*M2ijCRQ@)?1ABu*q)(E$90j5*ob*-&yaOd!d2~_^!x8E*Rgm6EuhlCnfD5@ z2221g*S*HA4LE4x%S|UmDz)~;ecIuKO%;3XIOJ(UkL8URnZwPvO#Jm>tuCVWn$(B; z0>bumhfS{X)~{w@zr!^yY{7qq=S5faVaaPjmp)^#Z%g|?6|is|V*d+Be}EMoJi^eT zSk4{RCyd;K-??cVw5ZW0z<_G0goyWQ;j)o4<#)um!3%zHievxHzr~_Qr#SHH%B7on z_o#kwzoy?OPBDJ6c9Dx(+K>^7cyYGpw?uIL_e$n{rc7bqM0hIY{f5JQG#?Z;HqpIQ5*+?ufEJ zMJa-_%Q*oiGexM^jqu&}@0V}4cw<^&Q6t3w+FN$`5eL9JNQg1b^3jOb_&ET73Rdb9 z?r+acxKy^<5gaCUH7~)s^h+@#`poIUfOBKS1Ph`K<;ia`91RzMr4j2HwV=>@Uj_lI zRrD;G5BF8*p|~6&OUv}MVDodY4D#{!JGpnRMc+Bbuh!0s#E8yvXpI@sIBeizB~e)% zM10JSx9bEmX*b` z32`BV4I^$v;C8&%LT25*!fc8VlSp1vu1VS&YXg`J5G%&P_lD}wiV-n6i9vJCBhe_& z)=0>w3EW+`i{`2<#yY6j~I^D|HtMdee-B*?Pe5#{uY`u@Bv0w?F-ZVG&Q$eYJ1VblgPA z<0QH?;p3NnXHZ@z3uDvj$D!O^qh1cf!^$<>?ADBO6DhF%3KUK!gGx$ zDVD}00qJwz3W{AA@e~F1e%N8@`mJ8JDoSP9Asu(jjSncNrI;xIi{hR0L9Z5K(1sW` zKG!RKu`z7GC9ac2q1YHUJT1Je#rtmlwcyUx%T`4cYulXlE_aQ=jgIRq@6?^%JRDX; z@M$EOnNtY&4K%t_^hEYuIW!>lO+mgKy>2aX(7?aTI%8N3NbvtBj^IHj>*GbMxN$F{ zU`Oagq?2|?#d~;Vn^CzIP69=tk`bcY$8XIV_dLiLdRM$m(tsHEJ_F%EO=7fn2*HaG zjhRO>E^itU-j}FE5qVnVY;V;%C~IIXy<(y-1`r%Vp@*QfhG}<+2?*I%cWTU-yhI+= zSRmu)4kwN#@rIGns*@#mZG72$s9zW93+MI1^FzJy04gw@w1CK+2<+WhH1r_vAxRQf z7}BQ&1Ifj(cQ1R39A)le_=hbNv;+(=J0NjFQ^?w`0LCdy--~P<|FGZYxt8@fY6@xC zb?SVq@{PbF(fd}msA`*I^hc8@;4 zbfruaU=L0|Xi=;OziLC%d;cFu4=E+-VZ30ZNdd|=$vG15Hmyf7sghw@ZCQ`J2e?vY zocMc@91gm_11Hs`q}S5L)~i5URa)-O;r$A~#^c4t;h+jOM=(8(c;b9nQCVHTx6ZuZ z>Wr+y`J;GX#cuSK$lt$%d>r%-@YWEsa~SjwrSpS2Vwz55s6)CSX-AH!u0I_^h-Je$ z3UdKsTtA;*GhWuMm3KR82q)*g0z91#vIG!L8W9knhQgi${sEBs78klhKai9vx(eg& z40;dQT%y6}rw6$%;nYOBa$4SfSKys!es;76FF=C(OJ+ZO1r z^Ej=nnLXSlPpn;8tI%--e>R>g-AXYI?Ue3Lp6xw3~;#f(Qc48;i`!8d0cX4eYkWlPR@uf2POXFTa!`7u{kgh zU^L_ig-E?+K*$aXkrkrM-v@{rF0OO>y(7&HU8DDkMKI7od@LO>zqjQ?1h*|SaBlT6t#+Sk6B2U z%B|>$G^W4PKZrn|0G(b*1Q8;}b&Vw*{ zBMG;M^I#zXY+9M4Zu7*-&&<)dO%sTE?NC;Ysnh!)c}G?uYsxzi#1u@Fg>+befg>y_ z1QE-wP%0?|_KXNl3>dc$qx6Dd>33Y{p>f12hj^Y6ZR;LkphL5_?V%iLb>+EyZS#pL zGAQM~eQ?LAwa^QtIP491o^bF7w_3Ng3B;*aiu~iGNg-p;uV|H_XT6hkBtk||v%CxT zWy7}b+1Pm|c+87nX_0wQEG~UPuBv8F-p-en$p|0vE%|(ABHMIJ*!1c=I@}(U3f{L{ z0+zxR941*Dkq$u8c%ihCtDU7gOWS(H07>u{@jem~|Di?kbS=1@IbG8?6SwqK_K4j2F%1^aC1(<04IvK};yCf(!_>c+9;e7Y^7sU$rZdE4~!r9)Aj&IzZ5r%>o2IT(`GUUzu$?|QA^>fYQt(TyK~e=41X zvR##7Zl~l4mKll6qwR=GmSn_?VhSPJ*=NMRy5IOag{A?2rV~Bn`ZWJ5J?} z-`-WrnF%nCX~T>ObBKPtXQHQ9gRB#_`CyDpSuBSE+)9ePX0X9{tT9r+8J5M@M(|Z( z{tZB4c&@REWxSU+SVHTh%q$kmhzbK6XEab;NXtejVDMo;i(*ZYa0UnvQ%Y(@OamHC z{&3KP3@Rgnc5>U7?K`4jphzAiWc#*$CL9*nO5MK8RvnY7Q}ia`5Ro_0Tia0d`J7xo zCdqq`XPpkH**U@O%_n#My~nt{L{>Wl0EL(!1auOZ(L+!gv?$g#SpGH=i$oL}Jg?IOYc3YZ6VfomEi@*52F);)tbOWiF*s{l zH;tN!w=!IMUd8V2=cq~bqG6EnJ8kK?2})L&maLpTOy zdf9($d{aGOHqQ?}BGR)S<)mS=IQKFFoEKD(46XT4)fzr?e}0SX?{#8A4*rjlo{&}p zrSgJkJvJYw5-ItKixhGSDk3}%YgDC_L(Z-=we#d2oR@fBWLQ<>3WbNMPWMfw9yHAUd9XzQ;=4Y)aMY?DiJJ{eRO|d&S z1A`VZ6sJw4am@9Y0&!On&vUbbUrBxTUbNVy`KhG$+~Pbq>Ox(==S8>dn%>>3JlBp7 zAtzbpuinaC6(o%5Hj;TuFEnWO$k0iRhg}p76L}V>-QbYOE~3D+gJT1&Ly0X|tSUnn zSHw^Ao(r7zfx{f#AyA>5{ko|!m5SdZIy|@|%YXZQo;FLGa8G*gZtf;gi}I2 z8#ecfB;CK>JtXo%i`h~kkr!GN>n1vU+o*In3L%`Ihq7pSAS^*zrf!?IGkE5GqUQy} z4} z>WC;{rAlKYrs?t@{-LWk?9^~71C`f_)~FDlJN;Ddo(??jqY_1Rc{z8bhiN=9FbuTC z-z~4Fco#^}mEGsQ-E@x~0XE(&76jV){uBDB|=I{YNScs_Htj2BEi znP_}ax~S;SM(RSq;j=xH$Ve-V-1$yv)vWs1uN9DCp2Bi!xUN7) z%c}0GQfNzx_cJ`#y}LdxHB{iVcIb|49Nz&(#xYSg+*?2r+ByeD9`OxVc@&Gu#J&nd zPyq7zNhv9ASFs+2Jou`yG(1IVOo<78woFuLFI)XK(sJG3e&&B^K~&d)$VIjlRiGy{ z*7aN~*1z0Nk_f+UMbpkfDu{k65vA1y18EARU^UP|SRixiVk>PzuI_Pc9#1en^Bvv( z)FXQ6B}T7^9!jlc-Wn!s5f8_7&N@LCxMT-7I(O{rjcd1;esEskZjmE;3X4N%d)Nt} z#1=44uG`WI^ODnn!}OA&l0s@*E81-IoHMUs_MPmDFeJ*-5-f?dF(y=XAS}x=xJED? zG4_4Aj*KM;568R(H~|RpR$#wM7S!|`IOfQoh{H>;Vc`(56NVcv%ambl@iC6oHls1fYmrrHq)hzG66^Y`~!C9sv?Lr?LgwaFIa@2Bxo}YJ8pc5xQ=foz1#bk6^lU-p>8e$@mDWfji-2? z+8kKeHRiD`=3&7qch70&^*|h-KHeZ_k!xsB+g=Q**Rjzvh*Aj(b@%E>GU-B^dYF*VO+93jJ=D1 zP@?*_$3j9;ky)z~lrDv05%C&rMabSJD&4{C1Jssl8N!_5M;e17Bm6gHALw(^r-U<& zAF>(J5|_4wkc1CJ?{*2Qw{Fkot#eKUm>z-e<|nA?Tz!VMOZ^_=?)i#lA$WUtcwDvjQ$@8HD z2_x!GD)@Ueg9uvh$#f#E?gUegO&j$!&bR`1yg9GP5FK`Ih?bj7d%yb}uy1DINi-RE)}CPGTV+7t~>6rHVA z0PH$OC_qxDV}7_Gj4s!{2y2L-hPsAu+5}e=;NKKjAjJ9gsu|mEeM;gU%U8T6p}d^D z=yj2;#$|`(aPxfn>$wA?GMpLMyCO_3wdPADiy?>u>>$BrxT`^OZUhc^XXLa6CM%1U zJ+&Zn@(km}WW~CaY)nWddBZUzq(oK}-Skt9Tq@cR<*&jd%ck#UO{Q_^w-$y$J|Swo zOs7p2Fxt6CyQ32@U%wO~OC^74=1M%W-;R0;Mb{#|bRP381TFqyXL9Syk8=n|AM%fr zrquZeSV-92VY^4}SKx-2ddpj4BhsHoTdLOfJG7Li?tX}bX*}7CO{xnIcj2~N36?03 zihRd;oG77E5Um}6B7mQA28tjL5BUw^NrMzUA14i7&F_QTKt(6NfxbH07_;0V3+&9g z6t?k^{W1RM?2mEE{umlI9)sl&9)Uohc!NTYho%cXeyoGd_NYTqow(Ir3&C;$d0Q8? z6JWO#h~yqS=PYHohO<2}z7`-MKs|Uud@YpnGa-pwhH3h=)g)t8bB31(J#oWp6~hMc zQn)JyxM3=3{7<(C#bBHOELKd^BsXnoryN%aecQ4-b(`ZNef!K#RziZ!|27G;L1kSp zL59jdWOz*7c^lnjMZ<4>f#Zs=WJD}5lt&Hz;ZJO%8^!f3NHJf{4QZN!@A5ELU=rr)H7y*Otj z3p=@HEQ7X0AB-54ObCX$%S@4wOU|E5$hkBTY3BS{NB&cF7Z2yFl5bLMK8KvFN~!GP z&KlppbSSDb0sisHT9pdDopLx8b~2D^iwCvLQ&o3Cov4gO#()swUlQdqM1)X{@;Rom z9iz|bysg4^A5Q8zc%Fqe?2ps^$nl{o*@+uOu4Gy8lUbU*=4RpKc*-GQYO;w3>khek z7p}2mO>7@JkkmX$#`D$!U@}B3QsC|0%N$}oQ}^`w8_9B`u9eImkdknDgqWi=G4e6Y zHE>-0n^sB!Fx`ORwy8g zBXH0m%>5Dhyr_AwAsSQ1Ns&tY$4N6YA`i_uQ0P(f;>0`LJ1|~NgRZ_+nOA_@6t31b zy$HrtNM8kY9*AQZP`cj4F~>sfem%KzL8Ee45kJ^_w|&nMoIg(E@4S)DMDC11WM6x7E7 z3kZNUfOig7=SpKmSY0qXw;Hr9jdq`4E%VU@=Nc_$1{&$g%nd5@Rk4p-QoK98y_^!kg01(zXxBUOq+sv>5rLYOvqYiyX9mlG+xw zzBAsbLb_t~F(Dmk9`I5%1w00m5`VCpjamXuSi(rYi#WqFRdLr|b_W|Lg;V31g%gsR z=JsVw{McD%rl?)X@K885BLYD-(0|4$a0<oMZ0!WBVScU4YQ5!p^@Q~gl2WHn*{*+hDy%#4{qGM38tj{AJOoPee4Aob`UiXg zC7Q72zzYDU6(F$Y?7kv$mYziVLh5zUSg8DiNek!>%F5vArikd4PFMqwRAW@B?o(Hp zSm7f;Qk1Zv8=4sKEvAxnq}e_BCQ?K{<+36ce9v;#!$zKy@)?X~*HtdPJLn zL=kZU+Dv9R(+Q0al3GnW+=1)Yu|?u>c5?@y*^`&(*MJXq88q)?1~4qAnnhsON}xU* zEk=;21u9sK3P=Rb%z_ZrZ2U!bCE@8DLq8biA*pwJYqM)fn|UE&ErD_SrM`CbKXBlO zSjV}uwHP8P-PAPTa(;Y!QGnBEw}idMzhFSq0*e^`{#hHDT7~Q1tVz}m&j9ShXGk7M zs;0I&U>y*{oR9R7R5gM512$OM&X8gh)fc71B1AM8Qfgi@HD*tXHTq61)&_qIIB+k= z&?aH%>7V2UN#SP}OZq0d-_R(Py$0rM8JO*=3%t%_5;!Eaj&~B8qt*@1?0FJ&xb#S~ z!Tuh>$t!YyzzQG1$-!qkw|<+wj$C_KJ$uBJ0s+=p1%aT^@Bc~H2RS{bpGgFylSRpzAlB#ez-3A{Z zvF6Nf07)(HJoZckKtDd?P*Yax#42)N(q!5^BbQQE+e~?X+~W1fVYGzKL-v@acmJfW zfjYP%R4+tT?c?3W&I5M)OgTkSRXSA1I0een0MIzs$S2}D>JC{1lX6Z!M-G8~=4kVx zh(@&CfFjyzc zCX(_HlQu6r7Cwq@aPpTObxL*8Q{}23$Vn8{`#l<(wjKnr8^ z(n}1z#F8Bdhmwto`fN`a+(E;-}N^;F0pKKt0M zIOCa(kH}`@S*&{AVpK=|`@sn&qANyQ)bR!}hQ4n{7z-`1|6Rl5aW{bU0s9O|H78zs zvIW|Y;L!%i7R=LmEO7jbzt?FCjnk*x!SVslxdSmQ`zJkK_LfMwrrcTBdGt_Pp2uMg zCrG4W+k@K(lDm%J&Pqs&S&2Db0{F9qMQB2%6R^{DtF8v}0?G7~QPugflDOtL9HLG2 z9umE~$ICFT>P*T4c#k^I3TCjv>?qd7kR=OJ<9Q}=hRVKRcb&x#ei*@b-j^{*rk%&! zUf~R;^XA_x(6tp~06c;bT7gDS*da&2N$BFs$Qu4(mR{;yCiW=Cwne3okFc z!%YyfTGs8utQv^WZ`GOxwf~3{aCGKD1k<6h8qUF5)Y9u8PsiVXuVfXZvQ5ILO+cjX zO~hDBa?jyqJn+wNzoTA9)v)}9D+^Cy{myj@rU`iNU)4-S@_c!S13YD`B1hx7%dYL1{t zWxLj?Z_$9#5MP>mHaZsdt^3E9s@1=)gWv@uvG%5;e`@v8K)Q!irf3#lsMN zhQ}S$9u4xHI@1dO%y<5;Z$g&G%37$ZX$z}O5Suk=_|DDaa(u6P)RLP1y-Ip;epFKa z+eFg#H&n>gHGoUgwwhkGF+cOx!246_ma5X$hQdgAjWc(vKLX*Rha2H9vP9k1zYT7p z-e}_sH|oJvwT9aibc$j{d#~F?K%j_QyXvlw3(Nm430L1=0gq0v0FT+YCeN00(j${Q zv{jEeb;VmoMt5^`bUk3qgiiZwHmLc=jtG%3GCuT)Cv}Ij&EzhP_vUS)#73m)3Ugbyg7k zIeSDJ5@h>oxRyNW#_f3}lJso_3j_8l$JLkuvDExV#+Kp$gL<84zSnJEseVYL4K?3R zGV@0C(Es}1 z|LgxycJHr`CuQ_g&$L@go6C~jtYFN!?{-k5=zmhH?LNsEY56)Zf{2Z@Y76|AeiYYo z#!H`@Kv`|4?=3R_&&)1irT6q81rLx+% zSE5)J(MSrD%j3$mtT1fOcexZxxzUZs&^Gg${o3B;e<)W!CR!5%))_tce%Fm!xz01| zfdZJSDAG%3d#n6owzqC|^1wdrv@ZCbL40JXIY4b^?!$sia$t>Z@{d_*v$9L$|7N9* z{*{R>bORp1ePny*z7*kosA~3ii{V4XT;3Z&f5HcsH;s7)>dWk#)C?u_*?K?Ch*@b5 z#Ui;O1|=ia6-Vq8Q{tgECOLE3_`veJ1g>Y?Q{Jw4epkM>LM7e!Oy@-$&$0AN?xRa8 z%Vz~phaVM2KP!xWR>*L?9Tf2Vs8B}O*7P=DE(7HQRl{%+1PVQ{ZL0n z)M~Bf{NtQn&dOP-ciNsti2I;#WN zP2^GSA&uC@fo++R z6WKD~Ro?2b#^ZJksEUx3CtY~Y8|)Z%flo=hP~WR>MWVPPqEPxk6sk{-Q|>*nhh;*p znUAiwVaioTM9Hx;2<8InCLErB&9^!sTy~8q`R`Q!qaeyr@VOL}>ol)>>7A8tou1}YoHqd-ycI)p(dY+ zMcSAJedl_Dg5ZnYGkdbxco4WnK)cmqBAUE&^CHi28TM+K}2AdeofdK1fO5pWj) zo2F&{Hb-Y%iwQW;B8OzmzrlS%-F~gw5Mk0=T)`Mln|kaq%+Rrjk6e%SeCU|D$KSCx zTqoV}HJ_TLjOp*YG%W&5TGmbf}Cp#9F>L-hyTwiwI+>oZk^`n$2roBprTrc_rBR;6=j&2x!~Eyu&qo-K5OudMTn%5*}DFAfuq~_Ri7uc_|^mfg8q6U z9|#CA8GfTJAE*MMwZ21kRDlSELey6pu|&{HVjB-k*Q&K_K915F&1W}75MwMFvINAC z@VNxZhd2B9AVu~#DB=HO;_Wz{lmI=0X%Ta_q!Eu7>9z)Lht-HOTupsCYpehd%~Dt# z#K`>~h%L%9n#=}-DF(@LigE6}Z)zGw_|J7NtgikShpyS&IBa+yUtw*Xp+_^>+D~5r zlB7{H{v#kcFkJ`|h$M^r3W!jNNd-__Um^LV0$RO^nig}mhkVm?i1xkj_wyx}JdoK& zpcq9p$Uf90cok{55mf}=1mE_EDN^JE2hf=H*@5Vs}Uvna5VxsM!h7UW*&x6*(K_2&4ohG%E)nC91JZZXiC_s^|t1!?Mvr6qsUEHq`i5+{L_w zq07nW)C`1pADcm-HlEO8U70)-hq|yM$uNl%jXWjEDCDFf$3o6km!MEqa0JtNDcCM(L6EcStNSf zUTzTHg^li{g>QV;0xp##|3$Dj_?UA)erF^=cB0uHPzX!r_aBGzTux>H4~sj^;Q{$1 zz<9PIQQXO52+@bd5XB9KNgZ4Aak9iJgnYVD4=FlHX3L1!M_jx(EtqOoD?icdl!z<&1mh7@bZN7OBS4#<{?6ysDQE}4 z<2_T99&fs8S?BkOqFQQs4q5aFR7>ez)4TZQQ7y*Jf$vX9@B+>;=E%$&e{75fp5p)L z?(Is9)bM99@?7Dy%0Y=DYU$L!_BV!FJnuj>Rv?Ro4rYNXv0V!^N;90sDxm>EXITx> zyD%9qKo$m9Rk@sxBE7s^?l4wp&;aq(!9y%VIEQnmYR%T=%VGM|FaHJhdyRH*-X&Ok zWnYi*jX)`?-HUW98^CJWYvx0Km^f5eyB}U63qgq z9ziQcfKsH|+au%dTO(6iAzc<}kwO%Aas=Jary~f(QSD&UP*JpL;D{OG_GUW{;eP8} znv}WI1@wul<2kv3N;-ImmKUTb41jaoATlS!QD|wv4BEplWOeKkIQVCeuRu7DylK1y zf!F5QL{i#Msc8P!)0}Cf)>xd3TinK%LosSWqeq)K(dvkLa4?DsZtDy-bZ|6xx-~{I z>OqBnIOstJl@YOL5_l&io-a->xtgwcJ{J$4w3QmqSGOWj+<~Z&qBBt;N~6|copnRoH=&noz`*6qH@+0xA%9DhEu^hlGN8W={EjHlXRYltkUZn z#r8PP@&q`X-!>GLMAYYyb6P-ZIi4dRsY+MljuAYS;5u-K^vosm($RyPLs(?iz0L)C z!WDE#?0D03-oX218LfKck0GU~gnzI#t@dFT68wMz%N$Piy!izj z-iJWT!m>tKVrC~Il%@SDZ|b-*mQFjy`##CLs$<}mF8nPmR@PO)os8keKO4#*nW=}) ze1etjd~k=PjEOj9aa|5M9q(B)WP-3Tf?G_C7-MAxjA<};>!*3%02w=+u(yW;)_XV% z=Q1@)=9L4`O*}%L!JRImY|evQ>=y@EziS!-s&!hLT^4aVA&OnDI)m~{&8Ts-t(6`#M~ft z#6}(w8gRGZI1R7|RJtYzz3c6}$Ku|bN}BgVuLVGR!LW+o7MIMDz1rM81-t$9)e8+x z`LJZa=pbgz*6j%anDrpI6(Gbe=WBcF@29ZqJOHX_u8z^ttO)n@5G^fQmj)gM93)z+ zBMuVVhw{!aNPH)zSf%Ytbu|SC4+3I{L27bf4dwUH77i0=k?aQ+q_1Zy62%?OTK&tc z#qy{YtvPaN7+&-?k_QdCupRj0`0%zsk`-jqyIRO^blUu1sGPX_*D>aj=(t_go%7!- zS+%RIdkLSiw7DcYZrZPD~GZd(E*fXUBm2P9aj!YTzEb5RKgfEzc3Z~#CGXgj8Xc0FQ@ z$X-hvTENqe0M_3LB%#jM(Jba0bne&j(fU>(3d<>4@YSfE1IdVJEkjARAiAgt1;%qS zC8uL@6Mp3bKp7;ro<+M&rD!xLAxJx=%KpRZz6lD&jaS(d;8+C%{y z_7d_|Lg)@8_nadxa%Tvhd@vs}PI$h%ogsoHoDXCejc~Wxjm=^BJrwF|`n~I6N#lTs zaV4Px84(ZTVl42C>KhggPBGaRIG`#XV#gG-Psdm3P1$ymWcLD2XRU*4Kfr%1mS^ZX{$h?eD|rO>rl zqoZH834CVpvT2)aluI93*XzSHyAKrzt;%X01?rHs(d23OsLA&{D2B0r z3wxI=-Dae~PS)OIr;B$0s6UJqkEGwioER3{8^h;EIN>vo7Y zf}fKGF{~{Rm21+1IJkvZD;m>(vNBOhHzV3TwGOtjo0Kr3WjpU_Qz>*FMcR3f;r#{m z)3ab5>=sKZ8q(q(An*Vi$|6IcY-gm)vUOgUx%i0M@ZBwAv4;cuZXHcJ18&*hJBq#1^dyfIsb-lh}dtUt|X%Ipcxc zkSk!>gm0Pr!|Y*GUrvgrw7S?v0$`ZRmi>5;lk`%7Se~FKOL4zwINh&80qubIM*?+H^1K3GF@8H1~X+=v0!ugil$PoN2anvLd** z(G3kz%{u3-6S}c~&Ro@ym6tQX8o0VLTt`A4h{~9N?|${UzJk6W611w#X4%LJCd~^Q zTqkt;V!?E3b*Y8pGGryK&E8I{-sWqCMT>01(?;rXR-Va*d_X>dY+?|6REIUr!dgY+f3(L)Hw!hq2T}n+?<; z7AKb-G{Ss?K8{?UpmG3nRyagMt4=fd@Ij8hqtC0qGJJ9s~RNf>U>y>R2F)$i4 zA)3Z(?~%PZ3qD{5iPpPlQY}pwW4J$11R*PHrrNEiA%vJz0%0RdgR2=Ec)P75&D)-P zobpRvt&&xc$~Fm~vNTyu9re^LyGpymxGP0iZd%}ugc79UO0uJ_DH-fIFunSWKbQ~I{Ubc~sn;hKiF2Z$M zVV;kOS>78Jnb<|XW>{|Mo{u41INm($*+8BvKo{mCT9)fn$?tp^mjwfzpge(&1Bfhk zpqogEUg+oe6C`*#>g^@dZBp;8uonaqxVN`|1QWQid*cGmHTmEJOQjr~disKh>ezjO zI+Kg|l3a-st~l4}vs?Gd82d0CfH7cV-Zv*$y$yXJbISd0fo@(AH=x$jl2{PR!EY6_ zr3a;}d)@62zV8n;usY@Op;vTmj;UZ^w5!J@FlW$27IN8d<0%7w^PR0O2>~GE9hfUI zLkfWZ#4tEOZ2rwJCdaS`v4%(x8cf51AMT@}`*gnjKnWh+xj@!AQvUc+fzZNdT&ISE zKp26Cq1_CAEIRQWq||T8QeJ|%WF@_CY(eFWVrz^#-$zR$;rxh6Mg>qyTE9DL{>I5j z{?qC1g>{=*LSYEO;nLa3zfqPCj;YlJLCf~0gV7SCJ zYg0kA?3=wgEW;hxK=tr8tj!k>0Y4Hy1|%t0wLjTUk;z4}n{eiyj~Jot5T;cjGLa{$ zm|c7SEsxoz4dD>Xev7lmO7L{t*-I8?Qr-$%{+i#S313)bkRG%SG%uR2oXb>|9v4)M z45{aktw?D7GE?+?f?=9be$md}{~Fl+EiDnrZE%+zS_sj(g^5-k;)90;_IFAww-@N; z;I}60XmwW?;yl77dkAmEwMJc@hJ&bQk*WF4W!JSz=kAD%*-%3zBSP&%>zN={!2LU*2%A1_)3uB6g*-&@mJ-XRVKqGKEkP9nG9O@@xnL$wbaV(cJRb>I*q{uetImATBQi?E>mq(*yp)`+xZ<51+d zRH~J%UivkIBr}IMuKOF$EiIEZ`>;1voK5R#Yl6-dw;5!4oi!jykK38nwwcO2j@W2Z z5Q<|_jyvt|?~KFWRS;$K)Fb9KE|!y-#Ad%^i7R~hn3)3q@9+{W3>cRBCJvvuX|!8h z=fM5g4=Y_JS1Fvb5myEF=;ujZB>UKPQMx9VyU5{<(rNaC@L39sca2V|w9n(f-g2Cc z`FRkP$y$3m(#X;$nWTT7U+Bwj^Z8hd2=85%ncpv|^$feR$$pq1V0s)eiW*3x#q^QK zTl`B>_s~99!l9s&NwOlm+MqqDfo!bsW`Z1)S~K&LyA}7@$Qf=nWeNq z(+j0^&H3e>?SDxSJ|f6KDL7bnFVc5yluB{V) zsiS!Y)iD8I0|Bt7hw%zg*06)I(Ie;i8O;d5 z@M!_KRb`m{6U8KhHG2EyPNJVa44T$p=rZZqwtsJN>vWq&v#Y+odu0NQSh#Kf-<0{R znAI%{r@NbX$xN78?~+}cW=9$jK?EzOp>Sc=Z~uFi-}74YVE{vKXHMhS7huhhPhxIu zpzV75Nkywovn2PJm>-11H(<4y2u0m)v@g|Ac7IJ|$#|@%XL*29GHo$IX1^mrd1hdS zx3(@Pyfvz>y$y@cEo6b#N(-MfPVrt#9Yjs_vd|rF*4=cfZ=Sr9s{T9a-gNUGE0y=S z^O~Ad)ksU3kU(CPRrK#HW1+_~ll;TKr|pBhzsTFIS!ofsZbh^aH`w@wXh(a-shtpM zb-S!F3ZUfe71r0tQr7_wmAkUXLwy6v=eV|k?&HHX2ly1+(4r%&%`NnBfdAX(4rq&H*Ciu6v~uF!-;;jh)2YyX9RM(#jKha0mjgLC)gg z-G`)?`Sb2e3?p4XTtHc&D^n`5H`$vqZ`)sE@SY{vOu2B|(B*INRlLh*mej{ADVY~9 z>@V-n({AkaJTH;Uuz)-I-}`uaA?u38-S;ZU?lOVETvD+_6Z8+OUg~qVatqsxs0ozI z5Y-uQXvst$gjsNNiib`NSe*O9Ee%TLUV|o?0G+H6BEhqo>4QpNCycw<6NdKOPXWDf zh}HbN!k5edK(0>OjfU&nJoDR_pjkTerVGT53r>}P+sCJGb2ilH10N8|W+%3YYo=S_ zEeY7pvZqT(V`bilx>m3@n`SXY04`GdSIA5|h0K5m`W$9M5fn9=>FqKEZ%pXAUR?UY zt(KGSIfpfY?!Q-}1=T6rBz)TL6|CpdXN2^;Gsbft6bKa7Tdt+?1SeyACSK3uVK=0t z5y^ZK)(nIRj|f>!md8BN4#qH*anZbU%rz_nERLkFz6_|Ma1|Alxvkc&TH&d4DWUfb%^NSuK<( zDYI{kaI>(e)Rj|d1wE>)7=Uza!SCWA>3iwGdWDKWN)TzRs8#1V%yK#wLCf&I z{r4y}KZMJUWTL}y(M^kg#;v(9*%>QSvU_EoC-z~Z2jMg*bFZ{neHZWTKC4tkm1_R_ zxZb4BN{VR~85W~U_V+AX2b`xUUnRN6O|M8bZ}*NFG^-bn)u4ISu>Q%`>P#~T;jLId zHJq&5)KUV@bi3K=>dlN(eK~9N6*HV))tBL8o?EQOGd{j6d~|6V`^><`T?_BNPFdyy zVor{-jqP>VSrgxy^zzx>iz~uozPD)?@_LFn^EsN7pxY$Q94#ZcF)2Qm;U;Y zSM`(R6|3pS?=z2*_T!FBi?VdCy~qpCjz4wlL@$5S8=9s#z3YxYCyCYItes!b5i3&W z{X}o{!z}4`1N)f(!Pb`FFn(kc4?V)6H3NJfmkO{lgx%wGzq3sxZ%HESUc#qM(u32c z#YOhnPqveAvgvy5JrfA`rxiGy6Mm9v9d&l;5=M?C>P{;qXVG2XYhG5I-56mnl2{(I zRgpZUx2tX^Ju~*Ntz~PKTBF!GU>=_N&-T0YOrL~Z*dEHfVSkBECO^UhR}WX#3%G8f z{_za5Y5sCp|5W&wy#^_jUXzh$h$1S?zxVO<2=otrCa z6wCP+9;Y>T9&Zzv1k84VW*jwUy=KpC3_yA7b*pt-W>*`#3^NU&aB4uU>lDtFqndLI z;W6H7n*SKH!8Z94Oe_js)aqqQN|dbzJ4BiC0YJN@?hzZpIH1EKwNGcfxtfwP>7CX_f>gwrrR9%yw*Wix#_CU9 z3`@MX1sH!9$xmkl;iCn%C7A(`?Qek(DTb|-)ESo1L)Z$H%r5C1DZe?;5GNBuZkqIF ziV-)^QKOZOsbS;-fowwKZl=>C?;y4=y*996oHBTJ8@t`@4uKf0WHt+*n?XO!*zExa zsK1%-#`Opyz-|VrM11gIKt>g;yPG0Tqm>$D+?;}w3y88KQLg=C`BK|8O_)IovR%svlId3qQp{^u9~O)73IUpa(8L#t}?LpJwgJge`CI@|DD_>UVIbR$ zou0nXx+dc_$FO*)RrO0|V>G9ZF~DYLwa+U-B$}ejnl~|whIZ=b+JstRpm^&6Yc21EAdnxb0b5i74IL4~0_c2OE08=|;~$u%%A>{7j7q#Nl2fb-fi#q z)`Vx-*t+iFD+>I}?~3zkxfSOwcjWzh->BU2japW4wlFXuxo6Icjg7(ircIU$e|Cfj zC5?EDC(i&N;6^;gLrn+|&=1wlDFnTw{NngkXI@i&oB!H^J9xeNmmHQY*fZ&JZZ&78 zQZ_Mx6n6Hrr%`>OETcQ0CR+h@u`vKuSFkw7Vz zW6TTRX|ce%M&PJ-*2>p+(*?fy)ILfS?$|Ytptd|lScF1{k*njx+N-ZB=d6PcWPe_T z`KGrB<~Xqz=Bo9yP>WzXCwn4spuQX@Y24fEpjjs+h4p=Pv;hUc}$Ik=WD+ zAj;iaO|RNm@Nd3>{r=MG-*u60_5Qj^8dHS7N&;V!yHh!IhJa7Xw{`ibMVFyduNVEc z_VD&Ar)k7&_cA<|dfK5D)Nq@qyo z%JM-ieD?KiwXXPa%kOIUFq9zT6Xf4X0oX7Bqo*)O@kKs$Wc3W$z|o_W!zA@>UO@qmpF7H#Qp?ddz3EKYXDSVHlm6>|Tny znJjNb;#9h` z`z~-`K3=5PzD}u}AS|5=FOc_#Db*O)oGG;l=t?>O;X;%rM4maSAOZGyJv}ZnousRk z;V9vV-}yE<#&G|XOo7?qQv7BM9J!-}2?YRBK$DJ;SCqcCqD zlRn%f`mYVmi}W;CD3yw=DWXfd|E%co6``b$et5NfKa?B~*sqm1oXe%aqNn_S@6mgH zCtzpYjC?!1t+X$I@F-cEm~q_A34;}1;$XhOF|>G*_Fbk_`mUS4Ym}|Nb3sT&LdiyG zHdIiF6X}9oY=LQ5#-iua85r(-z_^v+6=HLKN^M5hns9fLBbay^>y9H*(p?x9yH!Mh zo-({>Zcw(sRBcWly8`QF1mAleiszlhaX5TxLGt=Y*0#(sQ@k zkg=p$CnfEj+jR8SbHx<6b)B@_sev`*Q4rh5-;^i1uHufq5gdbK)IY`9=MBu@1^TNY@K1+0odXd6Um^+Km5^@4ePpRl5}~|OI?~7HBn-Ulpny_ zBZy!m;*gfA{nJMm-)bys3n%iOQA12ZHlhxH7YWXjK?+AVOUz}7OowRG!+H&HMiO;iB4^8ILy?@op4m)98-wwH-aS?O7{vItfW$jZ^cmZnZKZB;|>CShVZ+`ziIS3Z!Fqx?^D*jgil$ThUE=s@a&Vz z`*5$M5m(Ow_Gp`_>d>P7D!c|`3iQ%zWHg+s{dup4&rwOTNeP?L`VXY;G$1Tw zDT0MMyERs#^teT8nyt}BSLnEf%kHC0h$kM*@ZH4LM;c5_Fd*`!h=WQcC2q7hs10k7 zAWek~ji2b&K!)ymMPe2acCa3vfO)K3sv?j@jSOYr^Rl$6fDMiW5`-M z>Ol7ARhY}wErR*A49a`Hv>yFhTRo`bv|e2w>lFg1u$LdcR7=nK^P+mxbNsy0w(Sd| zDD9p2b@{ehS3k%;z92mfgnS7r?N3swX6fDbSlsRzMeiObV`b{bY0WA`c5fm+ZuiTw zWo4Y~*J-i?J6g`R{nT~KdR^T&n#Z=N1KFQfVRl*(!M{0vOk@cx%~DYg^$fNx=Yw}d z^D!G^akm#j!%j+ypZ)4+3&wiYP4q%*gZ$T3gjGtGlo)&Q$f}zo$|#hcp^5Of?^3in zZV8m!I#cYyoMJi zU33cPu(F2>M7Zt%e{UNCETDG7BjwF*upmdgxBa@JMgMzf9ewD8Vn4d&vx|83W7(=hai>>9OFmw$Qz=KV;(_=96sPawGdT*Njm4@M2tl(#fe(;dm>J5Dq@NJ zP~zfR=RVi`b}1?N_A*uCDltVPE-reRDwOKE(Ol?Yxz6vI+pa9PgwKU=w~-{=A~FY( zE(W)j$Q$@mngJ5|vO7d;aT$8wG%Q|vlWEfGe}|>vzTztM_D@*5bnskn|F~J)a{XGL z*ob;;1n3OH5;R3mT)FgHG)na&nXolr(B*XzbSo1gf6FmFOH$vMs1~t;Z;DNJ*4wy` zb&fss9C`@&yq$NmI9m}S$O~0O9tz^GysLGJFvE+{U4fDLK_vPN?{YAB zLiLkkObq$m;A9TgekiTRIUa9VrUJk1EUrgdTz%I^NOt92Elov{c)5@HqJeSQaBQL+ zF^?IhTuLfDqBC*ga;`%xe>=m}A5ZQ~j3NSTLl1Nkb zf{8DCno^d?E7`d`9%=c3fdT6V3>uLk>!(y+47}{1+{oE5JS*_qauyg-BEU;GTkZ&h z0Vfu?>UFRl81A(nK=?ho!5H_NqLT#%dpr&V_U}h(=Z{2CYnhiP*WOsxZpTb~&p{k@ zNC*8Y%!A!60<~5)Yk=*4CmQ!&55cz4xO6hb7xf|`Y^XllE1_veEyea;I_h~^u-{_6 zcET6;Tg=z4wx)fTqA_nIp*cyxm`A0galO`J2VNxnT+`oHjI_?Vp5e88X<<()7E-_k zG3BouAmaACmlNl!PbD5o-~B8cWpxM^*_-}_Vqh0_Ab7dQIT zd)@v0P&Q5N)}8Ozfoj2c+^8%fm>V~;=RK=$WV&~Z-;(3eup3K^~}73EM*W!q9acna@2J$T8U3|JHzc2ZJ^(pN`Y zP}i$&q8Ggsrc+lD=telr!*NEMkQL*@>R^^}QUo1JG>XZ;Pkp|s0s7Mfz}~7U(gk6Q zq$KH*YPUzC&B9Ig#H&4k&vN%7J;irQ<=|$)d)c(=nkENZz^lD+b`}aSE3ILUgc;C6 z?Kyz5L20!hJA|`x9pZ^*c{zq5>8JZ?F{FQbzEl;Oi*z|PBE$R6y1PMg- zvnCgUR2oPg@huLwN3^_qk)ELorP^?Nd(0Hhc2{2-O8RKrI5iGT2_MN=kSN%nOR6fs zF~X)8ljeZTk~fLI4!+!c8%qmE(R>*f7L~Zfxwx&j0jS~-(nWp^W3b5E2>OTwBjW0n zk9tGi=R8>FJNdDScrTfKheQ1RM&USnN@+TX4^cQ}ZYnOs{}#bqgH04pX)91|uZMAH zXk2;@ArVE*?A)*K?Um59qt-oxYLZWC+l6Jhr30A9V zkEf8kM9HO56D~msPWN*~Ex+yCYf87UoW`0UkzmQaDnuheCr8qupQKHU-t4o8k%wKx zS{{4-THf%-#dv0&o`+qwXg29%0nGrkrWYm|NoFr4Q3Wf?p`M#lPK>DO=$zY&q;p`@>e@L5fDzB~YXukeLtBF5s%pjh72IEHEw;d)mG7V$(pdDDylLoappM~i%+=GV4+a}hb9Gl5|YbL)W4 zR0w-=tC8G;OO-Drh+Y=g?1)=nh&!S^Aw>#f`212$iOwv1ej~QO$JL)k?eYaTHD=Rd z{W65V>c0;4Utjfu%OgY8_-biv@ljVDgW31{$KwG zW0%Hz->&=bO@CDkR=|NHUtToZbyKV#&6$fqE?U~Tz`-;Bp}3=Pst99&#!$Y48h0neGr z^&;=%H8gTNJ+xy1bTj~*`k46sLvX1H!cNy5&tz}P4aGPCZuer7eT zmt9Tucu`p3TCi++2z^3Q&4^jq{6N)=%(!!u7PsU_-&OGX z-ATJVUrG?Ai9heOGB)6)X;ZQ zi4*Bps!||7l5@~#-_^r7X)G-TI#MXTk;E?3@#4AUs6=AK#p7qSGE)8#4AsMA%7|@% z8K#E?2#&JJ$=MAF*Y8_Ba==V!X??^&^JtDK};6&H$Vz}ge0NAuQg4W3JSn9d=T7F*;Ez8#-MVK4_1oFr} zunwu`JZ+pXt_YZT%g$)>hml}QSuq8gmMh^v*(z%s7=!E(`|0Z%BwbG-Wt~cwMpIUc z>IKu$N~d=?h8LX)`9Nohw{6!viP(<7+&L=^eWRcPAJDPQkhID2lx#Y^7<9(hHExpF z=soWJ4l8%Bdw$*<;hOK``Ie7LV4~`~6m}k#*p_4shDSDramw_(rWtYAZ1x653T)8_ z9mxK?3UBLLTb4{K!{gO7R|}t_3e5g<)8ty?#x?-RV5}d9fnd6*EycZu%2p(Rj4(<* zN*raJ+5x(^vr@0xilFo8*oqbkbP{_am?)qmJ}pBAt7DWXM# zP;fFHy(K@(?l_L_;RWSt;|!1x#VzBY1KFQf;cY={Z-D;r$yHL%z16}dqiN>>q|sq5 z452O!J8Q9n!suCjcNkf#^Zu2C+CF~FAeo#Aqxzm><31Lk%Pl~wgSORlO|T)SmvQif z--2qz-nJfUxJ}uJgD1RdF6*#iPA80!2^y^A0p?JTw9O6qRnNlVO%AslWuajw zC9UYy(IyO)FaQl ze)|0o9SfkY5v_>`YQY*4z+Itr-)hyd`1VM{HtdfU7ZlN|h%*7HS8zUFti*}*R(?r= z+*cht7vcv1yBYEJkkxPsQ(mnIRQ+L6V*r0yjD5B~iKp3IJBgBtEX@(CE6F+v7 zGWMn7asg!UC$krV#k+7~6))1$MV12D3l3NLVJ{%J_|R;Ymcp(0r^IH{Fp!)Vx|1n# zj946C=3op8`xBHPm0mDTb&$dsbNtvULP=jAyvGlY;;3?dpOla9gCzk~9l+9v_Bq1E z2|9UxQ*(nYl&qI=*LAhWpPd+VI|L^Nl=6(qNY+(R*vsv67>vU(DAYI)_*@R-9VwbX zX8#}?cv09L*#P3@JA-BdKFaTK*QT?=AlczrvjAB>P7L&khteQnY5#VehMP6#Y0Ue; z$L4AksZI-}@=cAg8?;X5W^K*gc#e`HEiC{9+L7fEF&vydhp_Ih!!5Yc0c5A+eGD7d z-6>mb^Yp|p8{Gs!G`GHoNh)1`WN(vC#T)EHuvUbcfZdA;O;AC}HnJ`px9>@|m%hjK-Kxi&%omrmi|h&<cV!WJTaN8p!fVYyb#C8ACQe7OZJO~xzrBiN+a16p(C`t`bHz-p z#B>$7c(0gy0!98o+%}iJ&e6~Dn$V|IS3E8&piYXLBEShdIncv$2sL6CN_7TT;rFl@ zh^Nc0m4)d*Kx{g8N?9IPr;~_T{?j|84`bQsn@k&+DAoqr^x+|BrK^GVOo}}NA9RH7 zmjdCM4}f(fWqqbY@$GtmR#ojJ9|>M&?AjI}p6?fo%iNj@;T9;{1H|!Ez_AVi;y04b z$-j1;qMXtSJGz|b@>%2TfK2l!GUjF7uqdkOWxa30#>;vVo55aFlJ=c$md_ix6<&%> zJ84Np|6V0+LQ+ZjZxd zg$WdBa(N!KApB!gW}kMEtWjhcmLILF#hS9T?><~UU(B?0=k2A~w3C)nIloHUgh}#T z{@X+^%kxaqaZs0892Pye=phmuJtAuRCai07_bj$IzWMujHeje^niQQ>CV*npKF)vw zhk$GVCksj%@7HySoo%kX2V3^j=GWa?*q&y-t}$3+fuHU3HOZS@+~1C0YF_#M=jF<> z=^T2h?cZ^ARN0E`gf_UoO6(KS+P4FM8T)*Hdr)30tOd|&GkY-^cT{`Y$07lIY~89) zu!emd7B8Dy2?S)_TMxj7k7PGBC-?zB`QMzw?L+&5Ig!Cwfs+HfLL!r`wL(~@ zs{q-=llLHvq8DoS4v}m3T0hPh6u&*<8Hl7uO0-4EuGzgzH|a-;WNfS*9w37wnRT@A zRmAl6y2=w{vh3v+$F01wbAodh?i<_W~X~M z7KxfZzNPN{$+F$S#xe2OE=x66;57J_*rDcF=s2F3N*HeBxD2mgYja}2M3!A$7eHGQ~df+qg>~nT@QKJz}!1PZ*bgVWsBGwKQ)LYi_N-lVcUXz?M#5HF~Z4E z_oA5A-_dSMYaB2@#JK`IBV=Wfe7j@<_}OF(M*kqPY4~1&fD>x1Peh1h&Ynn)>DheX zaKJ?VM)<(!wl-Vn&VBV3cgm^HZ!IpOF+r=}bJDrkA0&}>j`>D6fr zxhyRP& zhru-8rR=OIai`3VcH8SWnV5P17C=&|BtGa?#k6sbK?oF+;)31$*}4_GtN0Cr%lrhLN~{NM@{ zl{M0%Sox1wTk2R%7LG+39mIi)OJ6p2-;ew+rn<5FC`B)Rb@U%#D#_{}`vj8o&b(IB zGfPkQ!I>Yc>2ZvndA_UCoAfO)+R&mtOu0X#yF;N4IEuXe-qBy6D6ds6=Au5CBq~lq zse;WQdX{RbH{((YSEZJ`b$M#G>EZQwwgTf2gRCO>Fl@~o)BF>H8>%x$N;#KDahs%b z9g&os7Qd?f6NRQqV#heFArbCOYf(HUU4bM!(_>LQoGEfz>AR|VQ=esjPKdf25SqhW zcWysQhelkp*vFS?UY@HANd9Lded~ZM^WXF9ieOr{@qO9OvH(SX26!GGlTiAKCHjrZ z3F|JP-_#%ABu_D1Put8~3Ze2~S$gaZt};K=W0vIj(|1*RlfH$vXyh$g6=X3uANO=V zZl9CDA6JEJ^Kln=3Vhs!p7Qf?zqI`eJ~mXu4VA*YeX-KQ0KQa{$q#bA=w>>Dg!(T^ z)`MjZE`>o^R+cBY|9Q-JO)JaqyXFWh7<3-F(6w$qO9w|>^HpD_IfyVR@t=(}2fy-| zo^Pr{a_PS>nwxDp^nOV933AT54Zi~~#bHs(dCRHw_haa9wMVv)#)-Wj^HOe=k9nn> zGe+jgl2s;G+lI}W$hvC<4(c#@6Io5dOCEkypq0k_Q~{nz5CVBGp<~f{BF9Ls_eA4# z6RxGd#2=@dssO6Z*%XAVmxC&8CJ8|p^Q}QYvJkSWO6f8B$BNMa-W7N9{l)ESYh_qF z>I1-7+QYOp-IOKB^$}xev69Dcl5_%#m3(pKrFQ*vmo9xw5h%P_sK2yzJB&#fa^_?8 z6|wpqSw9F!ezICrSvMwOVJuNqU-v$Lp@n_|unJ#r@~gk5OpeC;cuR z1pKb18i8Ugo1Z1WD5s4$e^yia_*wCxj0rU2@vWM8JkMbXnUJ8LXu)P<8Yw8z;KmA5 zT*&0{2^)KAWI6GiiflRe$CE{dHlV(7E$PVjwUiXqKX?$dcQEKL1g)U>Fq4pW2-G=On+={CteCj&p-jAEoX@0zAR<`4c zfw+bHPY~}TeQu$w;)*{kJ#^OojQUubgMxotXhyxjECc#X4_NF0xb~ z7Q>$_N7O`IhDvI%7UCsqH({{{g2easVh@C|6MA@dHubN#l6>a#tGTtG=4DL1-dyo0 z5=>p=MuZ(>&+#Y@a4_ z8FZDDYI%YN@;m!bQU)Hf#m}bdqxNXDf_~|vz-~11urQSyQZqg)WD3Gyc;q3>m)*ZN z(eD-0!4f%{xbP4=5Xs)@tsySjUx{!(j464OmkZ3_7_;^dU)kv1UlE&06H$?y3w z;Ohz?k`M63AJRHM2AtxGKz{~O%P5{BSfjqqWQjenqdrchK6zGG$4OmDsz;KpY?{h- zcr?AU_aO^Yig$NE15U@!#H{96ex9Ch$WrZEj=Np{NLoB@y&*sA7^m;a`LyYLT0W?w z>$lPK=@MOw9?ttIkhHwo8tzYR^K?U#JpCf+TEQ)6>PisuYXBa-Xln6b-pda2z6MYl zb(RJ|uHAgH@$!Onj!$Lu+LcWZ`eDq1V2;0j85828%vBOli91sFXE&tl^le(}Z{LsU z+6d`Bn{)bkN&0D?qrL7piI;$$B#Z$#lAuzGXlW`wq%$jZ@;p^$NvRN(koV{}5o6n< zXNJy_)S?imCOd$BD)q^;y6Pu%r4C+o3$wsG9KgGfT*WR_@%`e+r`MO;)cfnFKS#wF zD@aJL0%5BZEjmolD#B8_MOL}GDV@72R-RrKfuiJHB$75I?u0MLE*3Wh#E-v}dE-dR zqLiZz06bGQec^{RZX7*_S8avxgU7SKW*hTP(bjfjAK{>lK=jhp{`;41a^3qR%wJ2m zC6c*Xp?NI)Nu-NbXry~LbIECrnO0@mzq*>hmjx!h&&IdfP}zjzbJ~^J#FLk=F#J?^ zI5g%gI^SC}DIVW@YTyzW&T+574VKk#`>DnLNVF-;+ob=*U1<7>WW2Bx8g75-uNW$@ zI}%u6aV!N!EKmE~6I)S5b}6KDn6S*IH3h?6u}vO%Y~wNES%aqb8}C%|edGN|2$BX^ zwSdAt<5j7{-uA4GQ1v#}8eb2<$Ptxu!&!eBM3A}`$bwbP4?z8<#VGE(cy{+)RLAer zTJGvwF>uNo)BX_edeUlvcvzQ8(5rYBm3)}qL?td;`NsR@q9r~pr>X>qJr2H%!VTFk z^X)6#ZS$98_m^m})QYZbzq{;O>iH*CE0$rW$u`DNf{127kgdzGf{Zlk?>UQoL`RzN zxEZo2HFY?mH7!@ejA)&EV`b!+SaHo2(;bDGOe0rJoubb?G4-1rrx&I>ePH2%h24VY zm)14aY2;#mr?lFp`1?WBW4_QQpBa#C)E{^hs`&OH1O0&}iD%K82u`hssS(QRF{Ko= zT!C9k;qM32{JdxR++`MaqO{NVb>K6FAm;2I>ur{%84fF>^5H9#YGLJEwcFzF{G?xT zQZijN{nN>|U5M$A+oFjbsRlkOMWo<^QsbfAf+c0fOKlq?X)0--RmGp;xumU@XY;~F zyl>qf>HATmX6q&11@AY)1iGcSa!>m}mmtuVdG>9f%Y=8AqR_?txNmi{uY|AXbzAx{ zae|>YOL1g2m0e6i1zTY_o5M6ny*-88xr_uOK;mAU%(8XmKVk^Nh!&jU!;d>LPo;ok z;Er2_c@AI{&E_(bw|DKwB$+%GEk4UNCdEEJqVq8%edGd|nDi<&J!K~sv+zZW|H3_A z4?HI5Q0?TeZ~F@6m^CuWh86TJy}AcvoI?uulAb{!JA+0~Pyk06_@)PHKkYMq`=jVG3HQyG`?6+z!vOLd;6Z~kF zwtx5dU1@==H(TpC9rG|XZOuu`tNy3Qm!R}(nCf5}x{)+ifwx~5)7jL3Zx2VIOeX7l zhg}NZm9XHqGR0OHGe>PnU#&UJZpOAI3M-rI-JtB zQq1V=<7*ZEVm05srMn>d-pl;)BcybvJ(Aad@95%uAmO@|`(GZt7rdX|eodtJcWeH4 zYlF#rH>KqAbgX{~`ilZAoi>-wa~{4MTP8LCVXD79A)(EF{w>4YcV*im&#hd%pW@Kw zfwPgmzjF72KA8vtJgXBF4~?EZrb|s15AJp#uAr#un9-Fh#%dSIsX;5mqi~zTXBUXDoio+8Wm2ZF1ltc5SmpahyQb(P> zY>#=6fhME4og=>oU;X5jV7YZh?Xr9(EcownaQ%2SARZRruU)@UO>&1p_*1sy_S*aa z`AHI|?Q*i^LI3N)c7LLFC)fXuP}V7ZBBk6gFZ&v4hu!5;2}+H$@|I~TC$P}ouJ7)){S0>u)=tv*{AFJ+q?|LnMsfP{QeX@zO`pH% z@EnB*|AJv$q%mz~>;j~?V&!0Z&fmFyOzN3`f7Q1rT;8VQ4&s`XTIsy%o=HTw?g4HG zR&JX_&xI zB-9c{;vH_!>mGlaUE4V# z^rA7<3Wa%k8{yKHN73Lmo^{H~2Z-JS-nS<}CqlmDn*D zVfTKO1e8fEzvW5xSKTI{5`Kmy>-6mBwov9=m-jN;%`OgZSG$2ku~O9%Ji1U5OfkdoavM)*OtaFIJBCOW(abBeG zT7GYxtzAa)qT)#BDSsYl)xSq_h{@3cG>JjTCUkD5H!N@ZGXgPXZ^}m~ zJf?EUGFLIhj3LJ6WO>R=xJ-F4ZNrw%n*BBM_(INowqN4HfDg(Fk#o1_Yqmznk7}Gx z%GH|I0bZUiKSe3h6jzgBeNi5`GCz^e!xIR5RqI@O1p%cd@MW?cI z<&59*`t~(r4a}A%R3iPdtYl}hq81CFF3W@opf015X^3Uy|H4leKkmuii;F8C?25aH zlI@AVIx4t@GsL817-EsB!XaL2OHJr#6Q<@}iA`cRa1L`Q{$~kFra3%5rQiaNlHJ{T zM@ale_U2HlIPhnY$e+SLT7ni6h$wPRlp7i85d*6Uhc(}npM=q5Pu?kSq;bMptGL3o z;t8OnT=@6)?0v|tuA;)bp(_*wo?uGK&XFzk3i({_n&L(~<(y_-66NwZfbGhVa4+Zc zYb4mSsKCZ}dK*QNgmQz~SNITjd-ZV)ST2oHbS}OT!C0M}K=RO?6GBLOOgN10Hq-FW zyYRp-SI^#U5Y)oloO503*f?7zs0>_bTT8sDbBhRR)fKj{lj@<)T@e-kv0CZ5X_o7R zEOr}I#E;~uj)3B?f9od-sEHJfMfI0M5S_Va79U!gMjH&A5#w7Y-fjmy)ko^88& z0B}s&qtP<1ySqU?(s0jL+Y>M>10}iNvnH2T=l8``S8aEi4HgqEk$d$50A_eb9cm-Q zX22MxPyJ^MZ$Cz#MT#_zp8gHX`ZYPZ;S8b-&64JOhl-L@BfKgnmRo0Fhi8K5m7i5+`ljI6Ca#4kwey88-s#4{4eQ4){eQef$?PV(6H%MellRkHb&G z708P}A|rBgDDi;VX@akmhLk=-V6|O}iM4NCti9Hll7`9PK?#y8*w(G_AY}33|EAxK zx7QQfLmDai>J0xaxRMo09|S-J?vJ|?J4d{V73|Rf18=%uIDODWIShavY@_B7NU6s; zFt9=M6&2PIq@}=7x^3LQSEm^0GhOj2KgN6)VEyHjAZY=z!|BpwP+t8{5Y(R@6{LL^ zz{hUBD0*ty^HF~DE>^DY1}-j5$HI!XQmQ%waCY_QP;jL%_3(Q?-%`*;N{(JOkl0W_ zib}?5mz04Rd6fnQ+h*BUj=k{BSNrKys$R$4@xMOhF)E(I${*FiPY8t3+U13${aMxg zv~!=OyZ|aBDn=b3N4K*LfHF{1#SVbI2~%sCZd<`z>-*f!Z*q|u28JDyFq3#698sN( z_(5VEbaQMD6)VEKq^PE*(Sl(~Qr-e>p1Zc^KH&qXoR23>J|-uUajY(0F%gVqZ9nXsod`dfb_)SNUbNebK6aK8n-` zL5f)#+lcQVz5?l@Jc(Sf6sVznPhnlI=+%iigtNoL3sGypuXy-c7F z3g{7Ia(E1qgo0n;R2pzh$Vu;9qD0mx^N%(~S!}VRFmXC8+8LxSL_v)#-XRk^{(O;F zcWdD4t~>IjFvU)ui9@aGXhl1;)-@jVp;#^FUQvn6_vIWQ7a(28nG#6XuUhnh7LHKx zH7%X`2Qpwfo!3Zip|_wCU74CUA3BO55jw4K&MGHm4^1xvNRU?_` zpcf{g(zs8LNl6Y@lDe+UC8S#H+!ZYugmO@A_B6kb>{>}#N)iHx#-XZW2puC;@p3$# zTIr%W2i85!_Sr3I^mdjnjQX$iRvZELlBimOLqr-;flvZTyvSl!-RK4`Olk!DTF^#~6WK@y?*-Y22fSiVk>d_Mo{E?5mNAlmRRUUGkCt&A6fX;tVUF41@}FZ?M5^&7Nm1gs`)nR0uX;)dIkp1 zU)sPDGfCAoPzhJB2*UVVg{fDX(W+nZ;pQl@6T z^kRrU$%2+8f<4f>mdEo6u4~!#8u&z!Qbo%pv6!Z0+9+aa#sH*YcnfIukz!qJs+wG= z2_I5I5bXp?+MOhGdu7LaGC-Hu_S9ybDqxcIOJ>pluA_imb`G!E;jPdw7+=43QPW^` ztE?U~#SAjc6xrVKt4Nr7V)b_>a?#MsozG_8H2}c)UB!-LzAFqe`OXf{33`lloNHaA zJ3`@pRaX-uagE;vSG|U7@7C)3{wvnTI`z;x$aG;{zqUIb+|(u;+*o>XLKsC{UjKc? zT#dT7ag`xO8jTI%u`jLslc_mXUV{=}m-qQL2o%PLHGv-;}Moc9tN^w-ZCT%EAHoL!*!z2`q!n6(^MPoeZMwU1VHp5&K zq_uz1t~0_fFm!%G!;*|D9p(UzE=|**&<8CpNdpjd3;{&+5QZ>E^?*RYfJj#z?^UsC zWfSvsHPs4RBI+-|7}hpQu!3PGId(;5+N0=h>m3O6%Vgq3^$Jso)L-$Ilc>YsFqe28 z_7;gsgW*PP;L7oVUq(I_7>3TzIQz^OzFHlNz%d}=Jz3 z#5Jf{^9GLHdaIZvkrcd;j~wYOVbJ2hP4>AmTpK!u3fnBIu7?WjaVQlqorDMWnY71l zCi)yY_5N^~F-ov5MO#AwUMPm?mfB+Buc?sL$R)Oe=p-D((yVuS=}gU0l7%VO1`{n> zy61+~xIy$~h`F(4`UdiQ*_|f7)8M>FL~r)@9!iC;p+V112%1Ll@xV`|!sn1?A>)GR zaO#Rzw}am#o}Rx`Sx#W7@;ml$kJ+0Rro{jiiFIM%GY$8E@bV+Bj{_i!#hEkRK2BMv zqFi)X3T1jC_u(avAoDXEp7xHB3N&F)E}NHl>(Jv|C9`xFU8ea_qH8~8;k?k;&kmx3 z5*SxZn!O(@W`wc|NDgh}i+PcL6%;A9$7@|nZlh>>@r(l0`!{O?NP#*V8B+8)FQ$~e z*~%TH81aSg`sLcX-5v#F%;F|5@R|W-)f=pK32#ux>K?TxHlLd5%u`v>lNi!2GTesi z5v#dVvFTscoo5cU!sMUtfH$g*^J;f!BN2E?MI}=d5m{hQ0L~&rcidC`4(3? zRFab`t)`pPvndGG9$v)@Ws_J&q1s!i+X#bc=!%~$z;7O139dh41YYY?3$8w%B~Q7!+1DyNbv3T+x}RCklg`rtur+xWpnnCl#gE4U91jDb`b zbbItOLZebaG)jv6LA}XhL^p&m)xIZHP0~7j_p?N{O1Du((vEqQT9pmuU11ry#a5)e znzxwadG8xK_wqG}uW&J42eo3!~hfnVLN1LmO5kIJ;;l>RG9F)-q(qe_vC0 z7t0PtIarSoQ&eMIfkzy{P*g$TnDFMXhTDQTH%t=#jXA+WQ68(p$AN`pM<>W+7&+MF zQo~>|k<(g2MNgWu6CZf`i82e|+id^qoOMcoJj+M!pO5N3Na7wcd@Ds*hgZ(9e(yO@ zGW3^&6HQhmQVR1_l&M6NeVZJ@oOU9g^@M{s)#CVXu=r&nCRv zw;-##T|?b4IPSEOKhxMG)@uBI%GD1t=Jb+0r@f?MlR_cZQw|qW*L6R@94Y3mPQKgb z*~hMjn^eKs^JROJP!$%P8;|gu?=)OGBy5Ip!T=b=Iijs$$q8^N2g;OFsn*Kw>Ci$kr|ErSM*Hz} zQ*lUuVomG`Vrv6QGbhY8rJ5m2T}^5ijFv_N9(Wg6FKKkf*Z{qGp#)+g?hUV7DKgI3 zKbkJ8bhHOc;tZKAq!G2>a%oYWbyDf9R5;&)$oY(BACGD zfo8nO>d&KngtWpOoiF*iN~Rs6=j%?p54T{^zV2|F;}TprJYEsB3o2=2QGq#DV@))8 zm23m*dF0A#WspIkFW!XAU+o}KhC^~8@uz75rI5`Tq*L6;0niV?8=j(#^wtCalDIE@k6ONxr(h$M@8d-Zpj%jp?=YgB$;?IZ~mBT|tYYeCh>s*Bc zgBG-X7|aQmV}=cb1thr9as3W9CS_s-4$}so5yddVx+haFr4KTGo;;LAr3zedK8ptU zyRr2`X7_<5-N#9BqMZiG;|mc2sJ^F3*j#oumj|6SzGcKBkkV`;g&woTTKb61Wn8Fn zE{6bka!HC@v;3_criLd`xwT3Z0YZY~^|<4#?QhnkenNdzOKBiP&@qQ}3rQo4TAMK+ z`RcwihKuqb(7!M+zRb{RFljPK+H+?KQ$0R`)8q5?qQd#<$|iLDy{_#+Xca78QWBy& zwv3WK`Gg?P@q-OW@MC;>CWEr3_17II?T}~p9nkWeB(xJ{$Kb6|TEQ{#D;TH~a;sgg z+O*bhkXJN63D>~@m(SfJLa;y&!$eB*1z8Z3vL&;B2`DZEO3GNr@yW?x*Fh0IC>`xD zqW3MUoP)>eNHp0ImcO)aptGMtM0IP_C!|D_k?#UdifPyL4TU>s-kJ{iRL#lB=!4EZ z8gXnLHR01S$Y1L*lA0rg9SU;Z(x(^SEF=#7kXFZ$GA8N3TUBRvOcH&mDK_IcW@4Is zo378`e_|sREFB}xv?2Nl5~l&s`O;>>TfZzu?4LWeeFO4{bWrw+lKwRLJ0S&-;BF1B zd+76e+J%#1L&xF7q^p(9WNOJiVSrl3^R)H_X~Xn*1!X4WZ*5F`qRQ*Xv2S8Oj{9;n z^OH`9GhQ25GfNr&PPbuzP;F&8x`XK-6;+Lsq_RjW9OD;9f;3@f%Ih4=Of^qqiGzX8 zm@rRD;)p$+KPsXxi-~GJH&s=Ze0=!Cpui-1nBsb)<}#odJj?;$Y8{b-un@F0vGY%% zv36N;3?j-J;CzbImCAwd)fu_=ml}zs`kOjMCuk0W3r4AA3>E9%9V8r;Epf`VMgHEx zWPbs;R5A@iJPUg{m@y3Ds7{%oa!FpC{wW;gfE&3enmU42wdN*d2;c=yM4DMK&_04> z_Z23M90yv}PJp2|7f(H4b645ednJ`SnCP(Jm7}{H2idxpMZr$HZ*X}Kyt-1t01*w^ z9-Pccq2)}45+r+&tlfhW>6Vq&J%07UgIK&-OpsiLDh+sgjOI}`1}!Td>~t9TJYcO= z0>x(uVSu^pUr1ud286X)3?eh`5kq&NQFFqblq&@iP?Sk;DpE6!6@z5XH8~u3ABk9# zFlxDKt#iy<(7Ni8nIt@kZ=w{vXcpxXGKNG%CnQ2G4>_aIsJEA)t$~O{=@ib9i!D`; zFFD~_bB6a=yh*F+!v}X;@W4+9D1(K?gXj*P)lagt5MQ2GWLuLI@n!}c5c8@}EoN*J1w3w)xi?-s) z*6RvPGnb;|9I{j@ogIMjp#((rN($pl&!bCFdN1Ud5)KY&YIT;QAmRIPuyE$yVbN+F z(oS6r@k=0PfN}}hhUTS7uwQ4zT|s&{B>S&ZMqr&86jRxR4$DUl1E;2&C@?9o_$=)v zaQC65WVY=~^LCJoO{gON0VabX^g!mj>V$)011z=XSg=leZFGXhLZqztHM=51vB7n) z1wQAbeTx;IvlN|BkzsyJ6f*S(rd}ZSMLfizpncA=ERod%mXXIBL_|y5EO}sG?=l2y z0oK4LvUvf+?KYJnSY8yBlC3x3YU}~baqlc6b8=g1X>ov6#b@zgIcIX(9~tJC644OD z4CV0#L4nd%sIt);!vMiDKksU69X>j-%rjI9l{iHSyHc@P|UL7Lx0w|)E?K!yK)(gvV*m>8+NDiiV77hD>G?Z^F(0^jmct+zn z?~?-|>Nl3D=n0q{Mqtb1y~CBz!;Gec*Lw^DKFC_P%iu6wy|N4q#+<>SeHf+aPfY0Y zlE$ej{TrsGq8CRE*XJuZSG10;c4j}CWtrPmJn--x-0#HK zaJ~F^ru$7|_u#OwkIyZfqpgZ`_cY84`y1lu%51L}h5#|tbv$jm*&m-H4PMHG^c3K% z5rYNc0s4Pb%^87l`}6TmQ4_8G26?~sH@ zD}T<8>>KvSr-UTn2Y9CoeiZBsWq_YxA75!a-O<$L@pghJfMI!_q^t}hxSf5F z?Ex(%RZdb?4F|aHXgP4iYC8ga7 z*=jCVVkj8kzJ^Rk06<+7 zJMT=1gmkt0D-S4kuS_Iq3|~+}S)7<|1D{~Dy1pQ#TlGSRN8-yLm`>X+cKM8x;4>ts z2QO_WbYmYMzxmw$YiDYb?ur&3QVZ4Dxt^Zzyerq`@}^z|tSjnojnImsH$r z9k$s|1VvBUU@4o2m$}5-EKzaT!CEppvI6n`_#D1mKu+O_pj7h%B)yt83P0Y&88w0R zCBNB#S)RXOmhwC!>PznpBK(wtZdYJfP6Vkzfoif2SIAcS=(9Jg1iY~b9K88RS{tCF z6XBHwZr70t73qVx6$pxyTyc^a1$+$biAD1!>6(3Kfmu1n(`J9Uk8eec#<%Sg&iRjz zuVe^Ms*uNpYGzz(JcH8r#xT+a%o!(z_$ayPouz`dqp&P9C*eP^R5&Vb6d4PoV;H6x zqc@F{08GQjvzt7y)i(6o>?0l{6btCJWHV;ge;JrVAV@o zB(=sozEoa8YQ}^cd0xp@qfq-FY$9U0-vf2ZzTGJuUbOnN`UEiDadF)VQW+g)Fy#!U zMAtVm-M=bdH!}w`j1I|Spe}qe==^~x+I9)<*=xyp3{&_H&GBGMO$M+wDg(U1K0dF| z>=u)f=NlMxr47AOZwwi#I7wS0JMbF=LBvX1Ze&ol4D*P0?0WJrcr`zXy!htf`OV~b z;NoFQv!ibx@@4K1FPW!0z{K)+10`145}jkfa0gBlXW8lN4@{$MW%Ooc9?Pdy)` zuS|-Lxl0!kx)=zDlvtKQrz^H72siamsx|4%u8eT=!k~zrcKr)>AuUT{nL@mv&Tv_D z#fgU36pbIE7@j|{RPt3^jfMImmUS^56Ojj_hlOnKnPYZlhy23Qprn|z>GSq#G7QTG zcQ`H&EfECouB$8a4$H7K{QBu=s*=Y$cv_{c((eFihEa-0%2Bq75AWW#2|B;EJ zZl!VX*bM|sx0ls(8jlVm7!3y#7mFmOwa>ce(48HUS6`VTnGXNJ1OeV9&gWsicZMa9 zU$;xf!qn1P%H+$;=ZE6EUl}^c+ge3hIqdaqS#AiDdR@Edy$NZM!CqEJZ}zr&W0{y~ zX05f!14gztrVhp$MJGH+QYV%h<>GLPlW2DlWL|CTWU6^*8TrUoOs`8=q^;5Q4-CtN)V<83>v5r)cLDQo<|n5|_LdTSLLh8Txz&4NlDyfo|nLu#kU18at_c?<`sgWM6X%&WHB@ zSC#`pE3|Ph@B1%UZ1Z{=!~}jkLSllnK_C2Z7prDjtLmrRypSA&q~uCKh`(}B;=>!m zgkIWzuvpJ2D}Y$;aJg-x)wF%*jmbQSPnZ$A{YsFF4w7Wk65qFzGt~y!9(}??!S}?n z(x$pw-d(&(5QQOaqceMuzOs*V-< zV+a8@mo|3t#=o-^khrC7aM(5U$^vqoHWm`o-&qEPt)ZyvjfBBJGLd4ZAi#SCmVd+K z!R-wW=*(wHVCs^#ldNXIuyVMovw7t42zRA&kfrO5p;OV3G@m#7#4;>{YiPF8#@(5c zL8ot{H@m*ySTY&2MY=mM6Zws$fQ4S#GFrf27z#*9--@*Vfgyq`Dk?|~e2zDU1abA! z7Rhh*#?U~zkTwLS2ZnhcOXX)Y$jjpmTwK!DNVa%m=n(iJZH+u)Zww)Tbx0dK1$Ge2 zk`aR@*0UrM2i*#ZVf6>H$SYH(aIdURB*db4XNnD0SG((7{|lBi3+=QOeZSpBa-c|K zB+y4Ios=Y#fmXWI}jns$h_)nnr={Twqy(k`(LkiW*1AXP350#t2|o zaD^V4qdeZh3!og784nEe9fIS8?~up)0X~(ht&>0DjbT(uF$ewC*bnlWys}gXcGt>} zM?stN3rhz-g0xkNjt7RNB5A583!Qb4?a7qG=*`}xZ!8s@=?d5uC)pSK=* z!*Cyw$qQkwWsu>#o4r}D!yC(l1Kbzav3TH+d}Ydn@Fk6d2MnrjObG;G#YM~r<@L%! z^}@9=k@Wn|Qh}hzx(7n-ys{*6he%_kzKCUM)M^u@<3*m2V7O40gwB;W7OKlBZISF8 zZww)jGh7-YMY0pi%96Wuox-5I0xJojP0|(uI@aG_B^qs4j*EAFCs)%!&11&eOfpfPlU8HRZQ%5p86j%(>HYxZC3fMHIn6bRyKp<1i~;Lw_)p}A+Rj$(&W@E zmB%xiJNQwkMR2XDCfRsmX)(`c@ zGOE*>Z64d?v7>%vBBO}3nM%Pf%MA?Tq&1A*Fh2W(CJ|s*VX|K8uyh6HqcZvdqxXkE zl+uwkLLeq*U{5>+H(>4$H9KAyq{&O;2GM zA?HjIr^z1p#&E58in5lf7L+yp&XU1kE^UJYHk)BtR*u8daTL82wDGGglkxqHp$78VFO9SeC&k z*s8vFZx!weX)A=e^Tu$=qm(J%;^44$p*NOrPLtUV@+v45O)w* z?quWW1W{;rnQXGsSjcZoEK7FIUdp{Z-@zBF!2B64yss<)LXowxll%6aWt3+(pC>CTAnkuL%8Oc3{ z9@{J%Q>0YHRyZcQ1@5G;4vSve5bhKhrVIDMxCh$DS>JV1i>( z8wU?~p)J#LQ(pIRWC)y=lx(#4kY{J$EHNw#!cua@FmmI1oPbQSdMe3_WEpOl?%zwE8&wd?XTE>s)+$8#ZgCwk`d0SNN=ba@|nKx-{ zl)3fJlHnlCeQ`hxr(s!Nw0S`i+8x2vYh$Jpl2}&AM{tWf2<8Xe*vf)%^{*@$zyhSL z(Zvi5D;ih*(>N~zRzO9Iv@sL*z&lHb6m&7Lg0TMIAD9A}gn}X*V0^_pQ->ueZG!_s zsSL|~c9ctQJk?re_H(HUhESfTvO~j#sD*FHve|(hO39 zdieuWrD}X)Zr0AAWEmfm||$Y4pAwo38xZwyokMcOi%%RPoJvoX;H|B2!p ztq-wIN(eG$hq&fprj&ym=D=`gn?}d)pkq5A^ zRxWVV^>_o&HfhtYY*?7jaOroHcXmz=D_B{UIUyo)osJhbDcMZP8E0qU#WgG|nnREP z5hd|@JOSvTa?s4bF@#J8QfW+tlK9S2;e^&?rHmHUH*;pgPaG#`(*|(_b4z4)iAo&^? zR?NLqbwr-V_{Gr=oSx3(83NCxje{Nc$Csg9q|5_VVTnl>vR&j?W2Pwfcb1R=Aypd( zkKGyXOrUMG`MmAQW$0kp>1scMZv4j^;C4t`Co|9+LxeKL($)x<bvkT;W4cJyOE>Hhd~Ja~af(i3DNNgKLQ&Ew1E;1^&_O0`<@ zDE|j82cIDX5@w{aQ*7%y%k_^!w9hbkz<%|{)F8`I+6D)7W?0r@>yDF19*#ChwIDik1wnpQL7Ne<$AmT(xS9Qvar4}bZ`YqTOl~bH--%D($>k-_sReQ zleA^(2pH}>hwJRX`Rgj{BAm}Ld$VV*Ww~vM$uWs3gVMp6m}Y+vTxyw?<4}{1xzySS zS|QmchS?vO6JMD!K^{uu;DJl|jj4c=UKFqlaT0;$c3xdfj8CG7u8@Rbgi_F&cH|b!g4@NhBkHrr+sHhaHc1{1Ss-?SmtSV zN>vEV@|FW1USC#MMwGG)>mAW~N6}3)^eg6I7* zIwX)G$(%}fIuO(Ss^Y&Y4m!N5%>Lk2mg#;~@F%bgI=m{({@_)X>3&u9Ulj%&UR7s* z@G8r6yF`<-1xAM%!aW94!kF(rGEvxQY?B9MXNM_C1Uczs(wGQcQIIAa)u58I`;7q< zfH)%B!GN?szCcDiH-wnM?e9H4WX*RUPLLKXZ3LreAD`D=cLFTsX}D}kAN^P*Ykz!- zpuvl*6cG^8?xc;xIs5n>BPs=k5JOM1{ve1$8yjWt5z8GTDv??!G-~)vg3NSn3>b3r zC#HiEOr>$~K$PekQvr{|P(U#&6b(C2f_&(02xi>*1H)AALiT(q z@_dI37HO-ryWSW&h(XfUDM{sxAq2=+)y7Uj4zbL&F7PIKlRH)fiKFl;57huvie0$; zcoQf}_!ZLD$jAf?Gdm3mkT0d(iD;0b*;M%XLvZfq;VE=W{zRkKrerBY>OMapQCv-g z>th~X+V&-b8x!a4h&UYcr?M#>91+JLgL({1_b@K8;y~xu?2wfH0TzNvKQP^|>i(~4 zgAT9ivp@J%mgyEFyAxSAI?ND!u8jdJav;ppAnE#4pRVE)@xqLXA1Il$X;{cCV)spcg6w1qJ$#H_*VOEs+=l40rlj{+ycSwjaG|WyXaqElx?C z7bovfvfZL7j}cf$%o|HckdC8`gU9Y_U|M$I;@ZK^qGW3ZF0(T*jvAKrn!|aGJYK;Q zCT*3%&Vb?eD@E&9T6U02`ixEyrKn_U2{{Ilyg)ungS{pxK>?~xtiA96 znwnOY#c-ni@ww0dxMs<-jx|zLW6-73hk%^S!)txpVi{8f^}sbR7VxuPO%&2&9-fN0 z0*d0#m25)P(S-+&FL|DHbo=-MesO}ITmJw;g@8j)o%Q|U1({$gvCP-Hc&Nt*)~|%& zV@-<>t=l5WqG%140#8;*K0cULjSpW+nEW6T6cr{Wql7_B%OES3sXc=6rUj?|-e5}v z_@+#W>`lltS75vL^Ff0+oQiH&gPom2n!(ZWfkmH!72Ven=Lz*PO)&8vg4pASn?#5w z$j#EmMnUDoa$D1r*1Vz*RPvyMVLZ+Lz?yEE<_Eey11^$SoP$ZSO02kf9S`t<=+S!0 z2C(hYR>`Le4C~1DKxF0d4yu*370M@nV+aSpylZ18-HBM%`jZQ$;&!-b-6=Xg*dip$ z4JO2HL#BC*l~3D6mpjx%)5&2%ixOcLK9u%nA796FyKa8+cL^ns*HRl#Qu~Ny-Vf0l z80V5X6`lj`hxh?eN-&#g=iuz|A0Sg)(+;hW(d^Lke971~ifS)Kq^wjB4Uk)7oc}i#3uWAdPsp ziw&ahLtB!|Z~($*xtK^OleR<|Rlu-xFY!_D(S++%5wkjHqX?VQ?XjYXmUssd)7(mK z$t8)1rV54OgLoSD@wo!EgddB)qPwI2Nth6Y_i8H?R|E|69mR`k6O?azXo;Q%6SzM- zcP|7KuS{%5s}ta10xSEFmB2jwzyIg|_+K-lRbj|}n^&>ne?r|!byHRs$6i=>wzoZ8 ze7#un@@@M_>guL@jeCXX^>Ndx#oV*)WD{)ev8(&fb{>L$D)4iFtU08rq?ZkYCvOjYimc%0@`rKlUDP$=-@B!d@CE9fvd7-(owbT^0Gk`v=jm*u(wym3cW;8>&@vnWldw%Ao^Ga$`d4Dh^t>Z^ zq(oz35$>8UTxYs0?cSG3gca6Vl8ShMh+u9<=k%=JJP=Q&a$zZZ#KAqayd2Z{dwVXo z6X`p*)Enq@DVOqoGDAV3hCWj7yU;kzoz+RmjbUZin#9b|+s(8SMTYiLQtz}=I0Blt z>Bb5$7i9NtX0@Qf&FRR@cx}#*XFIicia0t(M`?UyZNkRo>!9xP(E9Sc0r*lM`6;vq z96d$T4`B}V-i8}D;b@vCB=v$fv|`UX3w<-yPY#OYSR5!{#)Y4~Ux_R&2R>wbWrdJs z?hyE6T?ZtcS7DEBT|Wr7O{Wh#urJ|;ag@HAohzw~NxEs_k#O=!m7cYaNv3hdtLbTW2VU*!LTBP27lfg-b872$ERFIU+5e>J12`;Tm{y_8Ly#kHsgfBY%c%WllFp z0^ouBzyLdcYr)z(ZvoIT33X3h&_c|h527}bD@xp2YuHNj*V@6;y=ODYYPx9{Q2PYe0QS=yfFTv#LjHPAg#7?{pbHLY@ zlO$}3XTr-5t!VhdlJSB_D7)9r>TBeQO)R}tl!!(k4~WajvE;YTCOS<4+tGs8H_a>> zb)1C8r(D$leUKC~o4yJ^p4lGRG-Q8Q*LsF{y?e{D_?B56D2Z3F7K5F@$9X@nGcR02v%li#U^u}Gdhp$KDz*)oM0pt= zg%|UV!hIhwwAFKP)T4<8LHlkk zP>S=-cL;_1&~aAVD71@f$8*!7s^|#Edu_VaT=>{&*;#?z8%@igNe4wO;p5#4>F9-5 zTZo=XG~umwZC^Z3`oWS|am<_t2E3rq=?Lp_kDr)#U& zg}{2t3?>G-mL+db*iHOtn{#XBjP0KAT@I%k=Y(l|7l(YJMFPDWM{t7Fsw3w$$2Jf; zuSzclsd)AgqdBjGlPBR6;{)ig___DE%lm?JlwdrQqe`^K>{vX7q$d#If|$Ncg!lJQ zW;L}6R*VxvQKMr%;LDGtKI^aieqV=@SPkyDu4-mSMs>8aUTD?sRo%Z*qGM$5hohW0 zp7V}U$0e~jSAFyxt(9L~JxA-M-k-3XE1I7cfGpiLWDph15|i$?mP17iDmi*scS8TN z=UY8ENab{tkK`;iwF}#=heulqcv7`Yr(=R z`}o?jtX^oU56w!W07Uf4)Vv4At*Cfgj^qAxo*?fCxCJll($Nf(Gs*+ei)ZyBR9O;B znRQ!d6U>Ub)&aG$3gO#&ij*pMb{ji#Na`42+fEL=-SJrO!SJCN9X)o0^nV@ z4IKxr*HqkC6)%!oq%k{Zjap0eLf<{#Js*gpNCH?n9J^F@!m0|JIvWg~4Zfr3pZ!5> z<*%Oga7%w(Xl{@faqn03ec$iAx)$-5A}-iHd~dQG4k4_X z7Jnxj47ixmHa11Lr%D(XrVtbXDL*l$NA!#&xOCJwY$#iIo~w+vK&_{bLRxlj@31Y`xn%Yt0c3Rbe|2b zw2wpQeGIYew6QAqx0MIUOjf*uhPTbDyNw4qW}oWy$i}Ig#PeB?qh zf1G(6pIGC#M=i55e$>8RB|CC38OnVv?Udv2kMZIhZT)-f?v(rR*eUglJOas=LPGSf z5iQoXHniC)$GzLl9sE294Dovnr~UUj7iTZoW68;3IaVOQA*`Rf4Xifj#!_$i{5j@S zE2n$pmBW)auH~P3$Be?UTwzSh13Pu-yd$~h;84U@6rp@TzH8TQgb5u$*wX{310l+^ z4lWd^)kZ=a&;=Z+JhtEk?aqsPdBk%U@bATa5>B9`P)>)WxpOWtWQ0EMf}MAo*MU1s znIW?-9G%Rv;L5Mkb0?EXp|`zVen&BS%p5=%ad#x{X)v8-5z!XWGlin6H_lAm@<;Av zMhCsL#oyrDCH;gEt-GJcZC;D!-3p*w4|w+xXF!4Bk$7pXFl5AcS!4&#rCfdUgY8^; z&+R_V`I!YI(5C6FYvFXd)Rpe^IpoT;yJDWVWTL}GPwikVGv7_T>unE81&S6u+=Bz2 zVrRE&RrNEQ{{KCbM#)F>v!ppw2}eD)H7p63TAhL78YtdiIBeDBL;nI{mHKUt?19Zkq0 zTQdWuzJFvp3@Y3;s5UnwMTD{USRSIh)wPe037Gepz7`k9>Qylx!b@MFH0K##HyG6?c)dNgMkqIh~9?{;=L)$QJ zriXSwTtk|QUZ;6P&Rc!*Xei*iRCK+XSeXQ17#7ldK3V)SA}MDW(^MK z{TeGTr$IAJJv;A->!O3jad@Pu52g%XXed0%F41X)BZ_o4q~(9AQ4cPGL1}+mGlVRL zK{LY;F=uvZxFi?{NwS6}rQ2V{6uCN;QvTUhSy?QT$^2q9gw>NK@Fp3hV$?0b@{IMC zFU-$vUVlTsnxmk#NaUJ3jP)7CQ@snZm%(*avQFVWCzbAJ$e`r-^M)6mu&_N>6 zSSiJb?=|rZmHT_3Db|_rvC4Ro^k`BcG5wPaU(UA#X%>xEJ)J~jQ4dQlz4mJ~)Z>NE} z4QGh+Bl>ro@R`zMG_do7|NAAE?@Xs-dEQ@b--7J!QMOFBgw# z+(-No+H)ZGpvcu@tdA{*H>&e}@;%iJ)^t5xMhVZpr+PodV|BmLJdp|9^m!DRv8Y?f zdEXEW+!gp8jXe%>IQ-=#XGMV`^Kwp%#MWkx-E*;kh7u>&e*a&43kkZjlwwx1OflK` zWO}uoX2CHEuD8Mj$t87j4Hh{NC)7WH-9X)NHhy;%u=dr=gcj(>Gjgj)hx)^Pt(a zQ3mXV)zUK(#`3E?djmiNH<_pJA2$gON{6Ili1ezVBecVkRNOxjX#F?gZ+krIilw4_ z>&!XrJ`_2r@0ODL*N&oq=1{qn2xU{``%^9t%iQg7J7KpzLJ()K_V!MVHE7JKr= za9R%6PsYc92$E!pPg;GD%G(U1h~$J@fnXIGbX@^<*zKZCcs)a^d64!ns&+|n1xr`U z>5#2aQ}S2axm$(j=Sd@_7UcJ~DPp1VPW6>;WK`&DCokG=tCW`j--MIz zK{LGVWE3qrzeV?d?{ZDOHKKhR?N+ku$RKS43TGd39J#>826P=4wONz31Zvd=W9?e* z2ki3VxdMNIUOq&Sq^(4*=;=v-(1EXp4i4`-bIdF!DbF1u`L9LPEo95O8hc4FUDvVG zcl7qT{G_6r@<7}TcBUwjOpzFO?Cd)L1FK8lHU5$7&0U8N%bl||w)8mN2n-~#j zx^cM;4Nev13NMmy=}FmLh;j}xMa#b8ks|ke+Ovee$A*&3YLimS2TXN6v3=+R4#NOM zv^SCjLku__T!RNh5)8p)Pvp5bXFnYECnxSt1Q717_3m}o`{BQ-IByap)LDqr?$X1L z0sF?NqI2jR$!BKa3r5wX>^g{?k+Gx3r!R^I`)w|kes^hYDT`!2*I_Wuri52Uf*i@7 z$HXGV5S{^2Z+>vs0`?|b^)9R=09<6CR>1WTJE*cfyOc|qY6h!%4*&X?tj9vg7mtb5C9~*qmS?*>fSdC$twqxG&ft@sHSu$+~Rw`#qvrs{>7=RPpQSf8q=y-=kr z2DcyBu0L`l1e?znwC*U0$yv*^Qz_AKQ~~kF%CthN9TkRYHtOW&9(e>CCes??CD7%Q z$^&(Ew^Oi}?Ds*jI#8bxKD(-;#s|p{+fB(D^DKm2dX-2<#R1u0a&5gr#aVTc6e{2r z91dx$6qc)pPymamnuI384~Kj^TWDl9*p)rvw<9glrU^9>H?oNKE={`(q`_Ze)T!bH zohSNRN=Bx*{)W=TCA7NC?W&{AIlW&T2sMfk8)uj zncf4A!)bb=NPr*s6Xr}1qfzJj&2p&~1Jyf^@aB=ip&kqnGlr)E^?CJPji_#O@aq@c zg1YC}uY11pA*f?doy5qJnu0*WrF<=Wp_*&t5;`X!0Gv*B(9Ckx+PzrDLah2F1rR1w zrwgo4$;CrqVk+*Rs`;2;28jvYi;;}Q)eq-AstM1$gx&jmOp1*Gkf4}ia1N&uGxHqC zUATCRQ>_h>6;&s}gayc^AcBN)4Z=Owwul zYt2gzIioYYu%-aSD*OO)A`nBI6JYYH>-=C4Ojo|&(uP^ay@t+u|4PEzFGsyp4GPv; z0yB5P#18m*9O58#fNxJ87(9yP z8#yl$VLDUZgxGkQM@F5=Sa>OR(|NP6nYdg&MqCby$9|Vy!HB0BQW;Yhl0(sTo+)uz zqxc<4^(fcM?^Jd88@ynQs9r`}{|1thL)0M&s@F2j+r=@#_KcM%sny)h^D!zGg4;D6 zBn67~>R@k7UKVz3Vviz+ z9CtlKep7GUE=h(|6j&OEt$lyNY{%t;98ww^+avch7J{9=5u+U_WU?}$T(1~L@qJ#C zXZMzqferRYDA-vH*gQO$RKr@P5IID3K@Ry!&Uj`2nPQS-x~g0n2Pk%u!!&H!<_-`; zS*)FhHrap1Ehc`10Voj^$kI`r&sjje&xq<9Bzm&VU?O# z>V>qYaJugc(RrW9Q;{VS@uCmX-kDT=pgg=NCR8HG>F2y9syY3%m)Z1Hkmac!cS_Hm zdnJ}%CTZS@R{S&2HfoR>MY2o`_MLibK5v-b1DkFccelctH!tN-qERCSwaFb2F+NRh zXNM(EmhDu!P7G@A_bcGbG{|Pn>MXD`qS2o_Ug6pb=OmHYDjpzY$Xa5%zc>(nKgbG` zx~|wAKzY37qEz^X5+YSQp(g153?0Iu+Bs3O?MJT#*^ie!*1sMVoJE z7Lw=H4h~;W?16#qz-tdMVc7L4d0Nbl0aAI@T(nuP!PzD>Ea_W|# zZ-1S%3@jm9!>D$!@11ly6xC_=3JLewJSZSBmXoxW!0kHT;Y%^U=EgwUK3j27Y7Wm% zUZ;&7HpQ%~4Z{L}8Zlh`HZRMEXg`6X1ghe5bvo%pfG;F86h+$sjeV?s)Y!Z3qyoK- zW3!MrlN^eAxWv2+;AUd(SIcwRFTu%UlQRbdNwf1-MEKv4BFB5g=ZZ(V7%iA0N^{8| z7z`hPBQdb`Jt(RToiqA+0=_I_&*b$b}7ca^#fWLdvFucOCd6@Wn`Yr{$SbCO_VuZHnu_Vd%%Sz0>xA zcGay)B-_Nz0%~Jmid-u6mRvonzup4am!N@DU)6bDcMlFXeq9y&59tm?G=0arp*}mO zyXMWMNW47#Eg(TcUz`DqY$bA(h+u)NuXC^jICSz%(@RLYUH4J<0&` zbl|w6%{?f@9^?-W<%SXq2k4iVkC+!5cxQbsh4;toxF>jt$-#UrGRM+}e?V$6Dkv!DK53MU^*h17_zQZy>3H?jFRV;{;gA)PH_8iKps zNNl95`sk4DMo}>&iD7VJGF8IEgqi_{8J)0*s6sx8EppdkjFrd^(`jcdLuHtafhP8` zSwqlzkJH!}R^e}t?{7{_4WhMYmPqeuivhcDxETh$U;L5*mrxE}VbJ^WBfvit9{mN8 zHfQY0RE4uQ!8iEk<1(NQ8gb=V9Od)Onk$Y^O~O(fislj$WVz~qjc?1aj?4XYC`Jpp zR}H<|ik>k`r&7P(u+bT!zRpImIg=kY#TsRWC=IVmiIFRViOGPfdf7a4XH`N}gD( zHtGMyd$Pu1NwH!~9gUaQH(}6H_^q}vK7cOS$Uqb4up`2~_|27uQ`-aNTi}lfzRkc~ z3Qd2IWpA1)>G<_w3GUo@dwgA*mvge+iJR7cwh&thfj&}_&?A%FY#z_O-PjbU5l$dB z$rm6*wHj|ICeShPJd>Q0icYKBaA|QiB;9db>HAXCIFvv+`64xHhJeL(Sa5gNjD2MH zw$zK1&`wotiX651f;lL^7m-k3;DjH*k>+Mw2@wRjig0{_NJLqZ>RM8Qb))v_!!)LZ z71R#6M>7}GlN+ZP_@^^yZKa7x3j zM39&fWc!VCDlV^+j2b&3l~d+9>z5XtF&a zJ6(NY*qf|<4F1zYaHlM7M#3)0SuEE;jUZ}klICGWobT4N7nEE>9gIt-TLM7iC6S~B zHz?}&tJRZch?H2|;LDJ@OA_gp@f{}G0kO4ki4@2-J)Vx6Lu0uR4o%O2u%&aX zBSIo=*x<4DwQtrjS5KYW+WL@=*_jlECvj(ZvJrQBCATwh^W6unk0EhA0}M zm-jwJzIsXNbdlEwv>4;p$yM!K{JFZ?{};iSexUDWQn$sh>01}y=@$Lr{p_;bbxVw} zemI(+!|(@H;P>*dEQeJQgwJVWyu1X^@f6V;I%>3hmW$u&wJ)EcB8k>_D6&vxFNiV`pgbgT@b! zLB%2k)HD>4rV`1ue_*0qsaO|>?aX0O@4N;IVDx|i>-Ymx)xZYSfZ)tSOI01d9qcv9w`cj>qtSzhvAlgUt3_ptwuGZL+~?-!H<|zF!@8 zKk?V;wJO8y3e!Ez?Kqw7X~)i+?dN8dT90oB*7~u()f!h7JQM1*2J-{Bdl$R=4bQnJ zreNj0O~PISsXXgbLozR|31?-;OL#BqH*{MV`N5xhPl&rq3MiIy<&Ru~iJdV231=c5|9~RO^pp;KE|Ar=Rj3&w;uRc88zL_rj(9>$f52;K@d)sf3f zFNe(QQA|vT29YPV)v2BTwkQWIrTMb!ey|^BloA{C(~MQ^EYlVM>tQnPQ0DP|CB(9g zqF_ob_SeUoXsYi_fr;Mu1uxz=^?5Grgt`;H9|2yaYe=YO<%Rnr7&eWO8ebi1lhsAs zg9Xp%3|?>aN!rn=aîT_7xW}X&kqTdxme4CH7x-=#O+s?nt)qQtwyeS4@e-TiP;e@+=&4QuxG7SG zg;1h&>(3+)>-C5pO?)LQ0moW6!xU0Xhcdb;zU<%ptE$_5C1Xb`ir76FEK28ykuF0} zJaIrdlQ?M#j~(Do6x}?GLiykTSv`son(NkTK`0Zo<^a&$`lg6tu)4;`K&*OmV%Wc` zrkQ~|bdIdnucna*K*(d)9obTbH6>$|%8_moTEGX9*2vX>A3RQqnbGD^-1I^{VjOi; z%O_TLn~ln#6-}WMf8_D$73)CoYj~2nPi%5lUf%xw?9BC!h~R{&4ZvslW3uay$!>_n zu(k}jp5)KPM|DjH&0KkM*UvGU5&>F}I^uP54HnXn<^{rwuygJYtn$S7dQz9QmJ7#VjV2+>hVi-xb#7g6d?O#axt%;gyU&EL60@=ZFIauq6GegJ834t4EsY!|)=RPY0e| z#kHf@S&&1Bfy^a#5Cv1=*ipy7LYHD^*bSSS=eNsV)P4?#5F%18a!Aqzp_EH-oP%sG z`*e^nDuf`-Z>sEM!~C(H{L2eU56^ zz`G%C!XgYDU@Rvg!>sB$L_F0Ry;5p|pL-DQzG@qcwc2hTvX3iiU+`KjZNJ2ZB$6cN zHWEa!P--T>ryAo_ryp9x2JUeIJlET zNdVl*Z{QTMR7hQyRaKobG}py9Dp8q5+81U2a`lv47A&qYf*&9XO(Fa!mOy>k1bQ~S z-(DyK0tH6-owVMEMHA62n$$%g90Enr;tD;Zz%?Vn%{(8pTSiP@7!Y>&3Bn@rhg)oD zz&%j)6pe3o38IP9pN@R5H#2YA6{KQ@P+#JD@1S2YO?}JCpc{_frr(w+YB54oy*a%E zt2c@=;;K~9g6a_g@@`z@$>^jEnYqU3B zPaI$Ka9d-_9NOk&8>5n6+S2}QXWw93Yff5@RT4@L8w@?wg5cEM9a{+v*5CXK(%3om zbvPV(cwYc3u=_;ZU@JJs9Cj-s!Kjr+_Au0Zg-ClhH!x(#y80?%nvdt4{hirzV zaf>+BL;N!}pV?)Tv&^gFRl3WjYB_$8db%B|OWj+U5`N;{2_d<(Zz6^1@J=0o(f|L5 zjy5a;_6=b?kGzn7%c25%hA?x@SHdC#?<|2(hNUr6lCsa@p~|R%6wmKhmJ?tMq;2AJ z{5u9eHSH0#i7}WylN-?KM~A+!pneyZI`VH>{x9Z;$Yv+~K-v)K6d1lCn!ozYit}rY zn%73K(RK>wMe%#9h_;GGMgh z$ohcc>*-;~(|?O?J!2-}mpak06Y&N@DGv-B1*hvzn6Q;?qiWa`-6*cp6DyZXjF*xC z8d7p}PqYdQDbl%dM*0}K3P*?=Y9S-KjQ}XJ|FRh?V3`z}3VV|RUNhg_M3vS-A`L0t zT&8-AK&WG_Md28*DEn_c7G4U)q1p)A=R9Ej+HmKY@56HuRUVK=^ou45QK(RZxz3Lc zIoQ&cQ9l<)+kULwGQrF*Hb%6R*BxsnTTxxecpxL|4!GXo6ui`60>|C0#kl2Iw0@_r zR$-;jIMg1C{&%btXws6D0?4N#o@1udXImrF+G(5^)>l&@{v=ebaT!K8Iu>cD9$UCMr$ zbrek zdtF)?47!etRD0GaAd%X~tecMVU& zq0sE~AMv|<%vqAMJCySXF0I@tp?{w?2}A?Vc%tk24HOr`3podW91Fc!b)sFgcx-G; zL=i7xG0}1gPk*u`H|t~kZDS74QSQ4zSYa%)KPw`ild_LNTt|UVe|6!V@S8LWi{F#{ zUldR7?al=zkb8$m14oo#<}?>)1o2xZ-GqNmZw2I#>GB&~mgJXYKdrKTOJ1s1@7wC+ zG<5C7i+T@w5rtiZn&+!1II&XPtqRu}Yf(vSZdi{|W+E$Yp$Q4q^)+aGf+`Kh7$p8A z^xrYg+A&h)6rrY+D>XQps*Eym@v=>jKJ$S!9Z>OBsp_ViD{lq$uta^eKbPN0pTLf|P> z6YukW9a`--RCI~ts$XMeyQUc`REptS1!Nbw7ub?nm*;HXMVrR$dI>58lF<9%XQZs) zBwLnw0_}rn7zs~GRgsZW{f$vElV5a_GlJXJh zXQrv(+f4fu?;L$2&!_XlMsgY7;_{&gVr+m!a03c}2znzChDb8m=lTiN{ssw?^+s8}2@|!@ zS$kr4aK4+QzIa=?tRY$tTN6;ThBv&#+GNT%s0wn?K?0TIujBnQWNp1>l2zoyxbDPC z$uXoPID+S^46a9U2GN&*PEnGBg~d{g@jp&X36P!4F-3VL5!l<@OFLNcNxPXzzm8H2 z&Pbl~wIMd7!+lF|k}K2@GGA|V3+5ynQ?zWOF#t1_tG9i`N4#HSHdneA2ATF8wz6Io zKnlC0fT43)!^W+RZQU)mBw27rq!MaQzWN3M{ED^E$yp*fPLw8~TYzKUzF7z46RP|k ziL;zp2jG{b5r`7FcQv&N$w>-WgE!5$z`8xi*bq+6co+#Y^h4ykxD(TzU#}~gk}(8C zfe4bw#?z(N>i@&qpCoAxD@&T_UUD2)9?_BPl<^?KerRR=~_f-=#J;-RIXesM?lF-b+OOh&JWv(O@tvb2ZZyiCS@4E{33O~t|ujF%F$2+s}664=gR*Mm^ zMnvqjz6Gd6Yhi{6%at#_dhE>0a7LKl2+DK3xR=Uy>Y{CdExl_ysRn0S ztI^C{Om_RF&aNMaR&Yg_UKf1;uPfavi=zH=3YFz1gZZ>ysFQ!D%*cFhN{irj1{K~JHtHpnP(FC3I1&nR;T1pVpuH-l{ z(KijGtr0`$^xp3$XXW~t;Se0$-PtY{h>Jpk2nT77^EHHU0Mw+rJ+#j>o3kGq*vgQA z+>7hw0cdvp$N-mnj&x=0ul!#T?CN^w8EwFms?lEoITTKG5Xm%yVapAvGZUTi6P5D* zvV4A-A&Nuqke$&4Ib;4f24tmhys%a()HFJ9U?u(~J$)81?fK`5G9@Q2&__#H)+Smf z0y}|>I_b&?#VQW(Mxd(FQ8AeAy7DEJ>8mOWFsmgf##ha{T)MJ_mxJExDls74y4ri8 z+Uq4wJP_A>ugDkT3hC-F7J->)xg}Z3VGtIO^a8f;AEl-*pS9 zY*MN01suhq6NYf4Qp(l8@-btKV-V8X70=A_xDLp>M;H zqAsJffg(G{-TB5qhId75aT^>DLKVWo zV+n`ybNxuk4XzE-!d(3gdXrqr-YOo;rfqpU2u04-Fq~f3PmknCx!4tG+R$qCJSN^D}OVAL?|)WK|{k0=^1R)YGeI!y1d|YEBho2_~9H_ zWoY#j5=A%AeXK@*i+nxR_84^fEFnMlIrVFUoOUa6dUgqVpJg|e+7Y*KZZK5(!U=|| zeJ+V$p1MtMhxP7=;C9iGW@=xoeX7gW=CT}+!gsgeKr8yI{6_tVUJLx0k8l3-`?lx# z$vCg~bUDP-?PbEPf|J$mM@Ozo*04AH9(i^hb2BR{m`Pb{+coM@wnCvvF1Bv*3y;{Y z(!`UpKD(WIg#e?R@1RWl0>!S%j+j|ph&6*UWQ7o9aSvKS$5we#CtHZ{T#SHYPC*oS z=_#hG3OvY(V86~srPO~t?3;hpEZ|C+=c;2kE(VM1V%Nq3sd99Qi3s*ulIZodB*u

yS(G=00A92 zh+1=WVC~kr&X8DU*p}Wr#P!3v$B$K8MYXdipC(;q>P7tMr2d=7Ub>jp193})`%a*= zQ!Q7kD{2jkdhL2ou%{8umu1dc$8uo>vH&c06ii4C^MG#zUleq57167skznI|Ph15( z|7UMOWfA)yq2dU5G}7iGsFPcY;v@M8K6;M_-E2)@&p92J=EKatSF#yC` z9xC-e+q}vD%?h;Eu%K27hKF+Ha%XKY*OdI52jPK7DYK>wC#aolinAXp=S@)V5K zN(9y||98tqlMlr!7;q&7D`aa!xoC2rjfNzsYQ0GS4gfa*>wsy%x4>0EFdz(Iqqzhf zQb=y=WygJa zcJZ8{m5#N?SYq5TMi{__%^kGu4-4V+4a=#j^Vp3O)RPoR|2+pIRfF9hJCrdP5I0o$X6jz@rNKK&deIZN zy4f9R$QpmJ38i~D3# zUm0$WejDTPg7e(jk65EdiJoURf3{wIZhrDus{KHf3I-R&Pe9*>r~6O*TEhPJfQdhDmiKUN>(y8Fp3ulJ|OdHxgg zvo9J#jBgJ^T_M%|!hV0;;@4k1myAJ0gv4p9I};=?*Et>OfoqZqZ56Y`3>3N)jw7a2 z=HU%r(kvYw3cLE)Uh?Ccqcq`Oa=^m-JXJW}J#71?|cvvdn*p3Pmw;-=DM{28r`aIkh6c;A7vPgCy6?tFDKkLz%^90)!n(T8vogO zg`+Q)9OAj*TRj@_x9iNu?`AP&ewvpsO;d^C*#@n#xw758j5p}9Ex>8zWKMIkVb1Jg z>Tp+IgU?{$wZeaW3S(lZmc$|V%ap*jYw-%+;*Wc!wKr1Z51m8D4=kb9GaUxH=Dp{) zndFt$CbzUa$~ZQ+&`V@4Xqv`|OZSL(q@Nw~-o#0MBO8k1Ql07A(&BXyxG+$qC(I66 zQJzaE;TM4SUX8$=SqrnP$|c|}OuM}C;i|&mxRZkmasb$s9)Ue|>ouV@; V6QY6w78pNU2@A1BamQAy_!W%kKn(x@ literal 0 HcmV?d00001 diff --git a/research/p104-stationary-chart242-history-bound/inputs/R96-PRICE.json.gz b/research/p104-stationary-chart242-history-bound/inputs/R96-PRICE.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..869a620d754833c98159a10b52b24c590b7bf9e7 GIT binary patch literal 1104 zcmV-W1h4xaiwFP!000026SY>$ZW~7syz46ro+Yb$9^E~;DYg&?c_46n3j$(xW>#V# zaS4*LV;KJT)M`mewh%ay9UX*b?`%J-YWBm?vuCrsoiCQ<=DKUk?d-c}AK-(x4A-lx zwrz8c^PAPGt?_8)qHxlrFIQnN`A4L&(Zq83m{6!q|(@)OfPI+r?rd@`EdCi`>O z@^Dq>*Li)hSl;jX#3d6+m?* zBoRo7DUkE5D1dwn-UNuE04$xlr_}KAc!%RHhS$CX;uG(q4_GA`v5OoHzsS_E)gZ=^ z%&>K@<~f9fD#yCww}dg9Mhlz(C&wZlGf4!Gw$u@Euv)eAZeBZc}JkP zrvRvd%^bjs7*bSAkEXyK1G<|9W?%9OiTT!3^3~N;2WeI*u{lNW<_eV#O5)U7lwL}1 zzF=Ij&ZhT<%VE7e?9aJyyfbt%yzpd%==O%6jOh1<#l2yZp?>$4#@!=~XLov};?4>& z94y&e;*NH6p0&5Qs&;)UvbMTS__h-gE1{_zaBIRLDXuZ5rMEyA(uspd79dgK9fK9?Fw| zc4DXojh&@+Ldn;8iWX>h^s-291vnJ`2gC$y8 zwu~}z(W0(d3*Bcq&R+iVtr$prdAe=Tk#As1`a&CHA?8m}gvgLAh681Yn6; zGm_TUa*4H>`z-!yy(o+2#q-ts-EgRrlCYf4yj764N+rQf**oY47f#vtH778;5Y^ta z13VomgbcwCvanhYUAsf0gl~XG#H=@EyLj8~AT~7(gUFVxiY){56LYMlAJ4`ztT1{F22`Va7A>#O|@G%3ktt+t$HRLYfOO%B= WM>Tbw%d?}8NB;nA)^)=93IG6~T`7S8 literal 0 HcmV?d00001 diff --git a/research/p104-stationary-chart242-history-bound/inputs/R97-EXACT.json.gz b/research/p104-stationary-chart242-history-bound/inputs/R97-EXACT.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..7871f7b59f401502133c0b991bc12563bd025494 GIT binary patch literal 3530 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 E085zJ<^TWy literal 0 HcmV?d00001 diff --git a/research/p104-stationary-chart242-history-bound/inputs/R97-MODULAR.json.gz b/research/p104-stationary-chart242-history-bound/inputs/R97-MODULAR.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..4f4496dad5e50d846ad2bca097dcbfc179680126 GIT binary patch literal 6035 zcmZu#cQo7k|3>XmE0Wl?M~zU_YSk8dH)6(~Rjaj%B2=PQ3AIY>y+T{#no+7Xs;DZ; zEwvRbZLMGEZO^^u`^!JC&v}2I=XpKP>-9b-C*ej@5}kcWm^bsRegBrvzA?XklQd*_ z7{(LbpC`^f|w&kTF=|f1H?+{-)${!xbe~7th7%iiOj5N3V$8iJeWTzK3TOiyKjA(bNZz2 zx&7O}9+5O0p1I0miKII+9-^oQf~_niKRHEm;#d6B`LRxUR?U8^+j92|}9 zKAEXGIU1io^^>)(JyC!g+zn$lh_o68t$+4i3Y!&MUa#_Kfh~t|)nryxS?ue{S&d|( z*N>E*JQ?zmEP8NElnSAeOa0MZS}2Dnt8I|v{Um*OYW`R*(G+kQ~FFz z+Y`y?fX9+sSJ&es@9M5b9zJ;zaZ;ypyjyQ`v^vB+;GAMSNwrGUZjP69+KYEqH^xJZUp{M{C5N*v+`MVz7Z4=y1oU<HVzLbD&j zbI%?V7sKJ_XZ{JB51VPDdlZ%~S)VHlTIj#*UFf*&p_Y0~6)1q6Urc4o$}*6m#&9}XAm zY!f+QNdOt0hDX>PzH?8qe0osy!}G82yI;(oE$(UCf-rM6?8(4R%Sq(}9#QSc#H&>? zEKhuU47NVoXR-{bu)wyaov-|rV`S&;_`zW5lnL#axkGJcyAX&=xH2Zl>wD6(CyMFJ zoFAI04{CWY=ZN-6Hz$d_d+$z1?a@YzsqJ>C$J3(ure~rg*t>4&Kflf*t+`Cq91XkfgGG%30W;flqv=EfH`+J~@(D$WqrlL{ zF{%`sL!5IrT+@k|Jud*glhXq3O#3bn5ysJp`c+Dkci1U1l_GC^78+BF^^Nb;7vfd+ zfy~`Q@7zkbyLcSEILo+w4Rzo?njc)pxt$-peY3so)A0^h-ZyQnqfoYO54CpYZ4h8P zEm*~%U2oNTZFK!2$)yahB#KlVWh@D0RB%kxgXH5I8k92AH*nOXeAyl3j!NrwL|D~J z-=QCX45l8GA}Z;0Bz*5L^zY@cIS`eSLym;Gfe_oDCcHC0$L0hfNA48hs0!jla&W6N zQGhZeF`AAhYvqjpigC~)?D^C}ZKAnSU6frnTfeS1s5l@k*LJwi&5nqmO zrqIu(j4DKiFekuQQyC#9EOcbxWdzX~u~(V)oR}5AaFw>}Em2$uIEpxntqVeb0YYSU z0UVb>&`+Y!f>ggsKCz5aSmMm|A?ZDa5M6-CMj^Q3Bv^lu;91PXW&+OJM%i4%y~?lZ zqkep(BbcQm2*i`UqVP320YkPrVqCA0#35V=9sa(bs_dFDf8OJNtRT3SHM;utApQ)0 zeEh~7LyqD+$g&X1iOLzuu2kpa(zkgdaDkv`qHjZTo*_Z+KN*%0-^bv6ooYdvuaYT9HglCuTT5?=fo3%LW)aTxegKO1wY60!bx7sQY1oR_cnOV9Nu zg`6LiSXm6xD#C#n!-qh`al@jPbYNMtpYINZ-A|x={vZ(CyK(*3er5?*f(d3wL38D> zi$v^2x8vhtQlNtZ6L8r&?x0PR_|<9@0?c|o4_X02#O1kk4wapi3-oOq)MB)J7ij7^ zsA!5D1Mz3hI1bu~&L{QtUaM1GZ{sPk6o`sOeXz?Pz^QzFP)OgDgn*|&f4oamPc-CL zuhWX?Jxui_S`O@j6wyP@F5%A)vkmgqHz;F6<5GwU7x?(`6%0(G;Q}uga7_zR#j(l< zUppDD8k1S{Vs!-w#drc@fekRHqI0_~Co{~S+s&GrmwUxPlCiR&5?Wbpk?8(4xAN`F zWG6ZKzV!6wlt-I9Wvp8(O8z^BIS#iEmpQKnUhDuh*PDwwigYoFbvJs!bn8j=>NnUh z)MD{TB}T_DxQojkHi7ypm}-G7t(xAf8e}t0TNr3Ni~0+>Mcgf~8Nn8E?{3Uwi|;#l zJ=sj}J2ru4ikV@D^)8@yH{r0G&cqtNy7SD=PTzZ_r_cHeH@K|pm&{p*HLcDx2fqh znj?&9YBj}EG~oZ^!?o6-6~+kE#E=|@syG{pkWbG^&+($3OEq0PUB82t^vO^ zbWuE4iw2a+%HV|!ee-&m4p%|e_T}jMe$b{1p0TFcUYGEx!5xgB7Z!f{&+y3EwadZL|?;^q}Bwd^}0=#Je|NQ2bStL z)fPH+cu|6F884PbuLf$W%lw;Ht5}Re#eYxC?oX3{n?o{MpOFXtkar1WLS{mbBl!RH zID>s|MD2)v5QnoSS?bgiVw2U#RI+5IIQ*99CuI1QovP(u+5g!aA!?R=|Cv1Pp9sCc zs@vSKEV$a7Xo=AW-fqy>W7rzHQ(4cwQZ5(CTQ!Rp%2G>yfdyi2Qg3);)IsOeM zth+}TZ4u|rV(R@n#((s?3AZPAt?wGQTI;9Xx@*a&JFT_TtD#R^=Es!!_1zHqyRQV3k9>U09M*ph`tmB_TCY4Le}OgV!SW|8!jXOK5}QVV|5&g_ zj5`AzR-wUN@q4iTxtru>EHkTR$J*TX~nBnv|eSRf_?i5WSMI*KsPU9VNEB+iSge)1(l?_O8MT4V zmOv&5=~F(6K`_nn>t-J+epU+)5L<@s0OA-xPA6lGeRp_yggWr8owQC$WHw!Nnj2_%%)Rl6!+8 z(zEhLCU8T?e;n=6-4zYoS3aI2TizhGeQrD0S29!)M4dmuYd+^iv15<*A& zURBAx%yu)@)&)0Cu{l6W|LwK6=qcCT+}da)PzF$k;N&1w6)q|oHT#kX6+zVV_>eJSG;q}O?eeTj~Dj( z((G9&A0~-}UbF;b0)322@kRIx%n$_^w2IC6Sbc8;l6p+!D|?d~ z<*Bt7ggGV<+B;cN922wgZtkE`R=x_F40BX*iup}}rJk_U>*eJGsts7)n8NZc;g?0i z03_Df{3eUV^IO8ynuWrE30cjZb`L-hBMK#E<|`)31V(w9nJD|PoxenAikuMusI^+G zj+C}ZuetfB;sIC?%hJAxF1DOm6h#~Gi#zThDVoNO@`Rc2XPtLZtQOuKG6A5}OgJq8 z(@SUF$}e6q;@C8_u>QU-LGWxV=4Aq!NeXFd zraG15X}m)m&>%}w(Fx(TMHWqr0t(AL!3`}r6j-7V5!ro}3LxO}Fo4I)I@C~}3PU}V z%^!`HKN|BKP#zKf2^T1I_jM}ZVDsFKcK|^4?bG#C0a*rUs!!7SZNL=|$Z4Arq=Mk4 zpK|y_&g_Yc{FkKplQW(QUwG~M(7_FBc!1=hX8Qxs zjw2q;CAo-4&_Sqc$Q(5ixtWTV3@`RQ05kGACiV?%@;+dc;??Q{C!{JFGVl=q52Tp* zuGU=AI)gazYi)U|CZ0k1brL`9N1w4Y5>vs?H_6Ue55Rm<{_`|vEJi6U$4~vBKf-yE zzl32dMM|f6l9F?M&c*_j8X4t{PL+UiCJU^td4ec?h3R=U5vWuy)&iTY_twX#0w%3jPkH8t%R+L^n(c$Mnn%Zk1In z9bdj4b2FGzx$cKW9rBaO%#^32{dCFUN0H~pWnXVS0&H7eZ_RO9T`n-dDaiXQH|Nz& z+JS@iLP0uEH?!6o^|V8Q_a&awd|DwXBp^m5Mq6_J_63tgyTD3mG(am862`iq6_^h% zlph*jmdwdDfV647n)$9{C(t*AKW*bV|7y<-p};rD=Y10T*`r9+G@UdFT3hf+tYItU zc)f?R6{5ogeS<8dxsW#s1(inHf}tRCC@-`X5{M{ZR$T4*T1Qi~(sPNR4~mnZ4OA1d z%{mD}$k>AU6A0R)$oqyX#Wdrc60}Ajt$&MO+vxf7$>BesUWr7dgY_@Q^lKjG*V>P^ zmWHtV_Bcy6Y7G}oNS>(3o4iQfT>>fwzl`FfhcKBG3TPiC!@ z0$Vlfq`Km#;9uE*>rME5xL&iXc;=TY0561i^@OC?4m;C7Paf6C=6c}dT1GSNWDguh z&Xp4J^-7w=FRW632eWHU&hOPjIbO4kHNmfwbu%4xnz|ujyK*H<*qM98wE9}m{m6|nKroH+)xm| zF7Eq@1$z5ux1$x26^C{@$S(Z_U`aKm#a2+2XGoJ-?0sXOYU&Vv*OpU}N;fYZF98~= zr2pQubpQYRZ?0Q?TjTbtcIvc(i_uHFp@Rj=A+qTLhPkw&ywwT(&Rdv8_y^it33|i{9XIo0d z(Obw=1nUqXur5l@#y4NF|f9-^s=;@v=CU*Pc@pp$&p>10?`zHLb z;;`r8SN!^P__zAudtZZ2AogzKGcU?Yu7&ux;n%+%J@vM#JvmuDCFUwG-*hn`Bl=deadline: + return None + r=vector.copy() + w={role:Q(1)} + reduce_row(r,basis,w,-1) + if r: + k=min(r) + d=r[k] + basis[k]=({i:a/d for i,a in r.items()},{i:a/d for i,a in w.items()}) + residual=target.copy() + weights={} + reduce_row(residual,basis,weights,1) + rebuilt={} + for role,a in weights.items(): + axpy(rebuilt,bank[role],a) + axpy(rebuilt,residual,Q(1)) + assert rebuilt==target + return dict(rank=len(basis), residual={i:str(v) for i,v in residual.items()}, + matching_coefficients={i:str(v) for i,v in weights.items()} if not residual else None) + + +def snapshot(word,requested,targets,deadline): + public=word["public"] + active=word["initial"]+[None]*word["owned_fields"] + rows=[{i:Q(1)} for i in range(public)]+[None]*word["owned_fields"] + banks,values={},{} + stop=max(requested.keys()|targets.keys()) + for t,e in enumerate(word["program"]): + if t%64==0 and monotonic()>=deadline: + break + for chart,r in requested.get(t,()): + banks[t,chart,r]={i:rows[i].copy() for i in range(len(active)) if i!=r and active[i]==chart and rows[i]} + for s in targets.get(t,()): + assert active[s] is not None + values[t,s]=rows[s].copy() + if t==stop: + break + op,r,*args=e + if op=="MOVE": + assert active[r]==args[0] and args[2]==(r>=public) + active[r]=args[1] + elif op=="INIT": + assert active[r] is None and rows[r] is None and r>=public + active[r]=args[0] + rows[r]={} + elif op=="CLEAR": + assert active[r]==args[0] and rows[r] is not None and r>=public + active[r]=rows[r]=None + elif op=="SCALE": + assert active[r]==args[1] and scalar(args[0]) + rows[r]={i:v*scalar(args[0]) for i,v in rows[r].items()} + else: + s,k,chart=args + assert active[r]==active[s]==chart and r!=s and op in ("ADD","COPY") + if op=="COPY": + assert r>=public and not rows[r] + axpy(rows[r],rows[s],scalar(k)) + return banks,values + + +def controls(): + d=monotonic()+1 + a,b={0:Q(1),1:Q(1)},{1:Q(2)} + assert solve({0:Q(3)}, {7:a,8:b},d)["matching_coefficients"]=={7:"3",8:"-3/2"} + assert solve({2:Q(1)}, {7:a,8:b},d)["residual"]=={2:"1"} + assert solve({0:Q(3)}, {7:{0:Q(1),2:Q(1)},8:b},d)["residual"]=={2:"-3"} + assert solve({}, {7:a},d)["matching_coefficients"]=={} + return ["two-donor span","separating coordinate","changed donor row","zero source"] + + +def main(): + root=Path(sys.argv[1]) + price=checked(root/"price/PRICE.json",PRICE) + word=checked(root/"inputs/7334-WORD.json.gz",WORD,True) + assert price["head"]==HEAD and price["word_sha256"]==WORD + moves=word["program"] + req,targets=defaultdict(set),defaultdict(set) + bykey={} + for p in price["candidates"]: + r,s=p["owner"],p["peer"] + f,g=p["move_clocks"] + a,b,c=p["chart_path"] + t,add=p["literal_ADD"] + assert add[:2]==[r,s] and moves[t]==["ADD",*add] and f=deadline or (t,s) not in values or (cut,chart,r) not in banks: + pending.append(key) + continue + bank=banks[cut,chart,r] + source=values[t,s] + result=solve(source,bank,deadline) + if result is None: + pending.append(key) + continue + output.append(dict(key=key,source=[t,s],target_chart=chart,bank_roles=sorted(bank), + source_nnz=len(source),**result, + decision="exact span survivor" if result["matching_coefficients"] is not None else "outside donor span")) + print(json.dumps(dict(head=HEAD,price_sha256=PRICE,word_sha256=WORD,status="CAPPED" if pending else "EXHAUSTED", + case_cap=33,seconds_cap=18,controls=checks,counts=Counter(x["decision"] for x in output), + decisions=output,unvisited=pending,survivors=[x["key"] for x in output if x["matching_coefficients"] is not None]), + indent=2,sort_keys=True)) + + +if __name__=="__main__": + main() diff --git a/research/p104-stationary-chart242-history-bound/inputs/pricing.py b/research/p104-stationary-chart242-history-bound/inputs/pricing.py new file mode 100644 index 0000000000..40ec194017 --- /dev/null +++ b/research/p104-stationary-chart242-history-bound/inputs/pricing.py @@ -0,0 +1,82 @@ +"""Directed interval arithmetic and the retained signed BIT invoice.""" +from collections import Counter +from fractions import Fraction +from functools import cache + +TARGET = "10018846261809/2500000000000000" +SCALE = 10**49 + + +def rounded(x, upper): + scaled = SCALE*x + if upper: + return Fraction(-((-scaled.numerator) // scaled.denominator), SCALE) + return Fraction(scaled.numerator // scaled.denominator, SCALE) + + +@cache +def log_bounds(x): + z = (x-1)/(x+1) + terms = 60 + exact_partial = 2*sum(z**(2*i+1)/(2*i+1) for i in range(terms)) + tail = 2*z**(2*terms+1)/((2*terms+1)*(1-z*z)) + return rounded(exact_partial, False), rounded(exact_partial+tail, True) + + +@cache +def power_bounds(rank, k): + binary = 2**(rank.bit_length()-1) + shift = binary.bit_length()-1 + l2, u2 = log_bounds(Fraction(2)) + lo, hi = log_bounds(Fraction(rank, binary)) + lo, hi = k*(lo+shift*l2), k*(hi+shift*u2) + assert 0 <= lo <= hi < 1 + + def exponential(z, terms): + total = term = Fraction(1) + for i in range(1, terms+1): + term *= -z/i + total += term + return total + + return rounded(rank*exponential(hi, 35), False), rounded(rank*exponential(lo, 34), True) + + +def cost(hist, k): + lower = upper = Fraction(0) + for r, n in hist.items(): + a, b = (n*x for x in power_bounds(r, k)) + lower += min(a, b) + upper += max(a, b) + return lower, upper + + +def profile(invoice, native, word, ranks): + copies = invoice["native_calls"] + assert copies == len(invoice["native_instances"]) == 36 + assert {tuple((r["stage"], r["copy"])) for r in invoice["native_instances"]} == { + (stage, which) for stage in range(1, 19) for which in (0, 1) + } + assert all(r["ports"] == 111 for r in invoice["native_instances"]) + assert native == Counter({int(r): n for r, n in invoice["native_paid"].items()}) + assert sum(native.values()) == 2871 + caller_paid = {1: 444, **{r: 444 for r in range(7, 57, 7)}} + assert invoice["event_counts"]["QUERY"]*111 == caller_paid[1] + assert invoice["event_counts"]["IDLE_ONE"]*111 == 8*444 + full_paid = Counter({r: copies*n for r, n in native.items()}) + full_paid.update(caller_paid) + + helpers = Counter(ranks[word["final"][j]]-ranks[word["start"][j]] + for j in range(222, word["public"])) + assert helpers == Counter({int(r): n for r, n in invoice["native_helpers"].items()}) + caller_targets = {**{r: 444 for r in range(8, 65, 7)}, 127: 222} + full_targets = Counter({r: copies*n for r, n in helpers.items()}) + full_targets.update(caller_targets) + assert full_paid == Counter({int(r): n for r, n in invoice["paid"].items()}) + assert full_targets == Counter({int(r): n for r, n in invoice["targets"].items()}) + assert sum(full_paid.values()) == invoice["paid_jobs"] + assert sum(full_targets.values()) == invoice["productive_fields"] + signed = full_targets.copy() + signed.subtract(full_paid) + assert sum(r*n for r, n in signed.items()) == invoice["rank_surplus"] + return signed, copies diff --git a/research/p104-stationary-chart242-history-bound/receipts/AGREEMENT.json b/research/p104-stationary-chart242-history-bound/receipts/AGREEMENT.json new file mode 100644 index 0000000000..ce75f07a80 --- /dev/null +++ b/research/p104-stationary-chart242-history-bound/receipts/AGREEMENT.json @@ -0,0 +1,35 @@ +{ + "all_public_cut_role_pairs": 328333, + "at_and_after_maximal_cut_pairs": 267978, + "before_maximal_cut_pairs": 60355, + "caller": "07a76c5e2738882c0cb322278e56f6cae3c9885d", + "dual_on_target": "1", + "final_public": [ + 353, + 355, + 357, + 362, + 1115, + 1117, + 1119, + 1124 + ], + "frozen_banks": 19, + "frozen_observations": 354, + "guarded_rank": 19, + "head": "aaeec8c0acf01e99a5f331ef363a698d9c084ace", + "interval_inclusive": [ + 41740, + 76466 + ], + "maximal_cut": 45472, + "pins": { + "independent/RESULT.json": "e9593dcbb3211343388d0e6bc0b45777dbdb6640ffe7e1bac2c7dafca62fb645", + "inputs/R125-INDEPENDENT.json": "b258d523358a047ea0e3d817f4eec3a30bf93739268b013fc1f7c5ee095dfc91", + "inputs/R125-PRICE.json": "ac4207f548684468b9d09369f3a7866192ae9ffa5e3c3adb284b41bb3f61166d", + "lead/RESULT.json": "3cd954cc83cb77bdc4851922868dd5964a39bbada1ad10e802e3e74ae3613797", + "plan/PRICE.json": "9a3ce52bda81c4046dc2751dddcf490360500dec976c692f84eb6814cbe85402" + }, + "public_egress_agreement": 12, + "unresolved": 0 +} diff --git a/research/p104-stationary-chart242-history-bound/receipts/FUNDED-TRANSFER.json b/research/p104-stationary-chart242-history-bound/receipts/FUNDED-TRANSFER.json new file mode 100644 index 0000000000..ca65bce9b3 --- /dev/null +++ b/research/p104-stationary-chart242-history-bound/receipts/FUNDED-TRANSFER.json @@ -0,0 +1,75 @@ +{ + "caller": "07a76c5e2738882c0cb322278e56f6cae3c9885d", + "controls": [ + "new cohort admitting a dual exterior coordinate invalidates transfer" + ], + "dual": { + "1123": "1", + "29": "1/2", + "30": "1/8", + "59": "1/2", + "60": "1/8", + "843": "1" + }, + "dual_on_maximal_columns": [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + "dual_on_pivot": "1", + "funded_cohort_intersection": [ + 1123 + ], + "funded_exit": [ + 1123, + 245, + 127, + 1 + ], + "head": "aaeec8c0acf01e99a5f331ef363a698d9c084ace", + "old_cohort_intersection": [ + 1123 + ], + "pins": { + "inputs/R125-INDEPENDENT.json": "b258d523358a047ea0e3d817f4eec3a30bf93739268b013fc1f7c5ee095dfc91", + "inputs/R126-AGREEMENT.json": "01e5064c748550bb47ceeee761b33a0eba86a9b2bc4b2ea6d5014bdd543d7f17", + "inputs/R126-PRICE.json": "9a3ce52bda81c4046dc2751dddcf490360500dec976c692f84eb6814cbe85402", + "plan/PRICE.json": "87be0ba80c11d6dcb7f9d62117db8bccea6a47234a77590ebd2e05968ea19a2d" + }, + "scope": "Grant a legal normalized rank-one exit preserving every guarded coordinate; chart-242 history and all other paid paths remain fixed.", + "status": "funded exit still separated", + "topology_agreement_fields": [ + "all_public_cut_role_pairs", + "at_and_after_maximal_cut_pairs", + "before_maximal_cut_pairs", + "caller", + "dual_on_target", + "final_public", + "frozen_banks", + "frozen_observations", + "guarded_rank", + "head", + "interval_inclusive", + "maximal_cut", + "pins", + "public_egress_agreement", + "unresolved" + ] +} diff --git a/research/p104-stationary-chart242-history-bound/receipts/SHA256.json b/research/p104-stationary-chart242-history-bound/receipts/SHA256.json new file mode 100644 index 0000000000..d1f4254c6b --- /dev/null +++ b/research/p104-stationary-chart242-history-bound/receipts/SHA256.json @@ -0,0 +1,11 @@ +{ + "r125/LEAD.json": "344f2b6011fe464931de8883e64ed64420fa41728e744600b72a7b1e3b929656", + "r125/MAXIMAL.json": "b258d523358a047ea0e3d817f4eec3a30bf93739268b013fc1f7c5ee095dfc91", + "r125/PRICE.json": "ac4207f548684468b9d09369f3a7866192ae9ffa5e3c3adb284b41bb3f61166d", + "r126/AGREEMENT.json": "01e5064c748550bb47ceeee761b33a0eba86a9b2bc4b2ea6d5014bdd543d7f17", + "r126/FORWARD.json": "3cd954cc83cb77bdc4851922868dd5964a39bbada1ad10e802e3e74ae3613797", + "r126/PRICE.json": "9a3ce52bda81c4046dc2751dddcf490360500dec976c692f84eb6814cbe85402", + "r126/REVERSE.json": "e9593dcbb3211343388d0e6bc0b45777dbdb6640ffe7e1bac2c7dafca62fb645", + "r127/PRICE.json": "87be0ba80c11d6dcb7f9d62117db8bccea6a47234a77590ebd2e05968ea19a2d", + "r127/TRANSFER.json": "809cdd1eb6f2eb1356222f4e1bbd79b66e779eda487ce63ae77eda796ee14f3d" +} diff --git a/research/p104-stationary-chart242-history-bound/replay.py b/research/p104-stationary-chart242-history-bound/replay.py new file mode 100644 index 0000000000..385f0b4912 --- /dev/null +++ b/research/p104-stationary-chart242-history-bound/replay.py @@ -0,0 +1,200 @@ +"""Reproduce the guarded chart-242 closure at every public cut and role.""" +from argparse import ArgumentParser +from fractions import Fraction +from gzip import decompress +from hashlib import sha1, sha256 +from json import loads +from pathlib import Path, PurePosixPath +from shutil import copyfile +from subprocess import run +import sys +from tempfile import TemporaryDirectory + +ROOT = Path(__file__).resolve().parent +HEAD = "aaeec8c0acf01e99a5f331ef363a698d9c084ace" +CALLER = "07a76c5e2738882c0cb322278e56f6cae3c9885d" + + +def unique(items): + result = dict(items) + if len(result) != len(items): + raise ValueError("duplicate JSON key") + return result + + +def decode(raw): + return loads(raw, object_pairs_hook=unique) + + +def digest(raw): + return sha256(raw).hexdigest() + + +def relative(name): + path = PurePosixPath(name) + if path.is_absolute() or path.as_posix() != name or ".." in path.parts: + raise ValueError(f"invalid relative path {name}") + return path + + +def authenticate(): + pins = decode((ROOT / "LOCAL-PINS.json").read_bytes()) + for name, expected in pins.items(): + if digest((ROOT / relative(name)).read_bytes()) != expected: + raise ValueError(f"changed package dependency {name}") + source = decode((ROOT / "PROVENANCE.json").read_bytes()) + for name, record in source["files"].items(): + raw = (ROOT / relative(name)).read_bytes() + assert digest(raw) == record["sha256"] == pins[name] + assert sha1(f"blob {len(raw)}\0".encode() + raw).hexdigest() == record["git_blob"] + predecessor = decode((ROOT / "inputs/PR7363-SHA256.json").read_bytes()) + inputs = {} + for name, key in source["derived_payloads"].items(): + raw = decompress((ROOT / "inputs" / (name + ".gz")).read_bytes()) + assert digest(raw) == predecessor[key] + inputs[name] = raw + funded = source["funded_cohort_payload"] + cohort_source = decode((ROOT / relative(funded["manifest"])).read_bytes()) + cohort = decompress((ROOT / relative(funded["file"])).read_bytes()) + assert digest(cohort) == cohort_source[funded["key"]] + inputs[funded["key"]] = cohort + return inputs + + +def command(root, script, *args, check=True): + result = run([sys.executable, "-I", "-B", str(root / script), *args], + capture_output=True, timeout=37) + if check and result.returncode: + sys.stderr.write(result.stderr.decode(errors="replace")) + result.check_returncode() + return result + + +def setup(root, stage, scripts, inputs, *, native=True): + (root / "inputs").mkdir(parents=True) + if native: + copyfile(ROOT / "inputs/7334-WORD.json.gz", root / "inputs/7334-WORD.json.gz") + for name, raw in inputs.items(): + path = root / relative(name) + path.parent.mkdir(parents=True, exist_ok=True) + path.write_bytes(raw) + for name in scripts: + path = root / relative(name) + path.parent.mkdir(parents=True, exist_ok=True) + copyfile(ROOT / "engines" / stage / path.name, path) + + +def reject(root, name, script, *args): + path = root / relative(name) + raw = path.read_bytes() + path.write_bytes(raw + b"\n") + result = command(root, script, *args, check=False) + assert result.returncode == 1 and not result.stdout + assert b"changed dependency" in result.stderr and path.name.encode() in result.stderr + path.write_bytes(raw) + + +def replay(root, out): + prior_inputs = authenticate() + expected = decode((ROOT / "receipts/SHA256.json").read_bytes()) + outputs = {} + + def record(stage, name, work, script, *args, target=None): + key = f"{stage}/{name}.json" + data = command(work, script, *args).stdout + assert digest(data) == expected[key], ("changed receipt", key) + outputs[key] = data + if target is not None: + (work / target).write_bytes(data) + return decode(data) + + initial = root / "r125" + source = {f"price/inputs/{k}": v for k, v in prior_inputs.items() if k != "R92-PRICE.json"} + for key in ("READBACK.json", "pricing.py"): + source[f"price/inputs/{key}"] = (ROOT / "inputs" / key).read_bytes() + source["inputs/donor_span.py"] = (ROOT / "inputs/donor_span.py").read_bytes() + setup(initial, "r125", ("price/freeze.py", "lead/history.py", "independent/maximal.py"), source) + price = record("r125", "PRICE", initial, "price/freeze.py", target="price/PRICE-STOCK.json") + lead = record("r125", "LEAD", initial, "lead/history.py") + maximal = record("r125", "MAXIMAL", initial, "independent/maximal.py") + assert price["head"] == lead["head"] == maximal["head"] == HEAD + assert price["caller"] == lead["caller"] == maximal["caller"] == CALLER + assert price["paid_delta"] == {} and price["productive_delta"] == {"4": 34, "8": -17} + assert price["paid"] == 110519 and price["productive_new"] == 22478 + assert Fraction(price["complete_probe"][0]) > 0 > Fraction(price["extra_rank_one_complete_upper"]) + assert Fraction(price["fixed_target_complete_upper"]) < 0 + assert lead["status"] == "no guarded temporal span" and not lead["unresolved_frozen_form"] + assert lead["prefix"] == {"1123": "1"} and lead["full_projection"]["residual"] == {"1123": "1"} + assert lead["full_projection"]["rank"] == maximal["support_rank"] == 19 + assert lead["injection_keys"] == maximal["excluded_injection_keys"] == 354 + reject(initial, "price/inputs/R97-EXACT.json", "price/freeze.py") + + extended = root / "r126" + inputs = {f"inputs/R125-{name}.json": outputs[f"r125/{name}.json"] for name in ("PRICE", "LEAD")} + inputs["inputs/R125-INDEPENDENT.json"] = outputs["r125/MAXIMAL.json"] + setup(extended, "r126", ("plan/freeze.py", "lead/contacts.py", "independent/topology.py", + "independent/agreement.py"), inputs) + record("r126", "PRICE", extended, "plan/freeze.py", target="plan/PRICE.json") + args = ("--price-sha256", expected["r126/PRICE.json"]) + record("r126", "FORWARD", extended, "lead/contacts.py", target="lead/RESULT.json") + reverse = record("r126", "REVERSE", extended, "independent/topology.py", *args, + target="independent/RESULT.json") + agreement = record("r126", "AGREEMENT", extended, "independent/agreement.py") + assert outputs["r126/AGREEMENT.json"] == (ROOT / "receipts/AGREEMENT.json").read_bytes() + assert reverse["status"] == "full suffix contained" and not agreement["unresolved"] + assert agreement["interval_inclusive"] == [41740, 76466] + assert agreement["before_maximal_cut_pairs"] == 60355 + assert agreement["at_and_after_maximal_cut_pairs"] == 267978 + assert agreement["all_public_cut_role_pairs"] == 328333 + (extended / "inputs/7334-WORD.json.gz").unlink() + reject(extended, "plan/PRICE.json", "independent/topology.py", *args) + + funded = root / "r127" + inputs = { + "inputs/R125-INDEPENDENT.json": outputs["r125/MAXIMAL.json"], + "inputs/R126-PRICE.json": outputs["r126/PRICE.json"], + "inputs/R126-LEAD.json": outputs["r126/FORWARD.json"], + "inputs/R126-AGREEMENT.json": outputs["r126/AGREEMENT.json"], + "inputs/R97-EXACT.json": prior_inputs["R97-EXACT.json"], + "inputs/R92-PRICE.json": prior_inputs["R92-PRICE.json"], + "inputs/pricing.py": (ROOT / "inputs/pricing.py").read_bytes(), + } + setup(funded, "r127", ("plan/freeze.py", "lead/dual_transfer.py"), inputs, native=False) + funded_price = record("r127", "PRICE", funded, "plan/freeze.py", target="plan/PRICE.json") + transfer = record("r127", "TRANSFER", funded, "lead/dual_transfer.py") + assert outputs["r127/TRANSFER.json"] == (ROOT / "receipts/FUNDED-TRANSFER.json").read_bytes() + assert funded_price["paid_delta"] == {"1": 17} + assert funded_price["target_delta"] == {"4": 17, "5": 17, "8": -17} + assert len(funded_price["new_cohort"]) == 616 and funded_price["rank_surplus"] == 1424 + assert funded_price["paid"] == 110536 and funded_price["productive"] == 22478 + assert Fraction(funded_price["probe_complete_margin"][0]) > 0 + assert Fraction(funded_price["extra_rank_one_upper"]) < 0 + assert Fraction(funded_price["fixed_target_complete_upper"]) < 0 + assert transfer["funded_exit"] == [1123, 245, 127, 1] + assert transfer["status"] == "funded exit still separated" + assert transfer["funded_cohort_intersection"] == [1123] and transfer["dual_on_pivot"] == "1" + assert transfer["dual_on_maximal_columns"] == ["0"] * 20 + reject(funded, "inputs/R92-PRICE.json", "plan/freeze.py") + reject(funded, "inputs/R126-AGREEMENT.json", "lead/dual_transfer.py") + + assert set(outputs) == set(expected) + if out is not None: + out.mkdir(parents=True) + for name, raw in outputs.items(): + path = out / relative(name) + path.parent.mkdir(parents=True, exist_ok=True) + path.write_bytes(raw) + print("PASS_STATIONARY_CHART242_HISTORY_BOUND pairs=328333 rank=19 tail_egress=12 funded_cohort=616 unresolved=0") + + +def main(): + assert __debug__ and sys.version_info[:2] == (3, 12) + parser = ArgumentParser(description=__doc__) + parser.add_argument("--out", type=Path, help="new directory for nine regenerated receipts") + args = parser.parse_args() + with TemporaryDirectory() as tmp: + replay(Path(tmp), args.out) + + +if __name__ == "__main__": + main()

I6c@mANY@CSy;p561pl5=P(NXh+%q_XD|=O+`bv()sL-N{PVZ z`93!WUoRPX5abnteP`FDjlg9gccrtywiD8v+r#9(8s^OhP#i;2y#a@?bqlRRB;Rr= zB>2AD{0#8?S<;1j(r+WU-gz8EFHudYtQp{r`9eQCLWuy|I{>KK zq&L_dmrCzD8b5~rTk$e-R+NeW>m|dawTFoNkT!9IQYt#q(*f`s+MZrb6K|T%1VTET zkUz*i<~Rs&wOGl)K~*-zaI~V2%{FvD5g0@l@qxG(s(Kso0QTpMjb1?+SduH1oUD)t z&Vdz@%TSg-Nas5}?(kCic-1}s-?{S4ivm#(m~Uw!w6XMfT%q?{N%$4@nu+}P{;OE5 z>-#Zbgv1>A4sIJBb23@wBq8rU2i>A91$}6vWJF)s%ZC(x?4>Ok4|9tLw(pC!`_vTW zanWaL-NoTeTB@DAGSAdmI^3& z!aT=SBRjxG){+xrSSmK&Tg}Sn;Pv+K>IsWYaS?8Cmi%Nv2d&b+bU|Ie^yE%0Z3)7t zO$R`xoMClG1wT&7>f4prpWMS|$wZb~L|$astk)L~Zk;`^E1S-;?Zyq$pl}zTr}kV< z-0;CSKwJ1g79KjNXk+<06J%*;6+B`Nu@FqX$`k6cvB48rtEYSG<6 zfh$WHKk|{qdqd=k#46tf@;d&_L4F-;cC&FLLP5Mi7P>|_AVa)eZyR#Ts4Nv5uRUD-Fxd1iIo4L#@-*-e%uO$Mwrt zya0e-=V5I6c^<2gDA;WpVy8qf&-HH*5fuEEOTrHm7$lERu2HbH>&uZu98$-R5D|e^ z4MBo|M!ZKlMI{J7S_!z$qjUh}xIF3-$AtI4enuS3{X^Y!0NzlWKR+b6%KOg@e4Euf z7wsQ%#|m2q3PQrFzN<1qe5K#{R}!{YQp_P7A)amL+AF;Cn3;MF1JrgRK>=#+`(*HOY@+0>vSe21HSS0wu2jW_O~H?Q|mQ>bhJ-^ zxRSauw+yTR7r`m4$viOE$H~aJ-4BI9^yKbTmf-by9x|1ReH4_~6+H<+MXBvK``6A_ z^v$$**8ZfkTGTivfxDUMD^u~CWl_9APMyFSgCBl-| zbvZA>V0&TSnasI)Mq)}Fc^O&j=`bB7)MW8q6$Df=lvf1zKzWB5f&q(W7Bh4^)f0JM zZ^vpZ%iT4}Cym?=NN!;_lqBE7NhOLT7`w0kidk>vy48d?9fUIBgDuE zBfh*aDy+$|1P};XHC7O!8LSGpw-B#pGeAeC9jZ7Bm7{aFibwr9GtqJ(tikN`*nBh? z^ecs7@RSJI@D|=x8PT8f)+^wJ=fT-nPBxO@;>(c*-nzBdV;+v-4N7~1?`6^6hL*Fn z8XtnFx5HEE3)tbIO@|$x5=R~C8qZ$Ml3)xOknU2mIQvOwg%v3>GMjmVSz;+|Eb-p( zJ@=6Xoa|8Slqb=4TnpOVgWGhAL_v|@g1Q9bO8}XeLDkYwlkF19Qz=-z*G{+4~Tvkx2NPq&+tk# zfF@Q5&e0NkIR#j18j>k#1m#TLagH?f(+}><+!x%L5~rxHVBUGuXI%Um;c;FNQ?bkh zOUxu4{UwhNhD2KuddsG-|E_8y-@7q#AXmA9NZQ2-N8ZCXB;PO zRhxyVri7MXA7w|B+|L`Yd9k2Djv&J zh)|Hp@BWWz(Ed_ek-k|ph&72Ai{Roz?YvitF<^aB!2KsFQd%fW+nJ(CqA4oz4l{C# zd6SdBn>Vpi4vB8|3e{d+k!Oqokb47_D5^LYQBBvtNl+x6IVeGtj%mkAY6Or?budoQ@>{*7+K*9wRF$2qC zBr7)&#mU(k5YLtlpiF73uz60&k>qT=NxpFu!y_l(=VlaOJ;_<9fmux)A5qAQx*97A zf*HZ^3K=8Nk6j#k4#oI28I(bV@VoC5Un2ZKTI@Ef)WD);Jb@R_thqcn5xJMXqB5je z5i5nc9|mXO+P)qCX5s8m&SN3mbl|EIhVvbt9Xmo&73MY{oH3>vEV`a;;d-Ru^L(s02W=WFwCSJ* zIIJL62FUncvhT5L@d3JJhk~l;#pm9#v~N`96jlyd^&lZ z*DXsV8wPS*xnR{=6|DEs?!5V!_r*uF8Rgm5e$xPpd-0t^WpOTm?Anc97z90Svm?Qw zjSa0NE(9ruEIadeiNi>~-(V1QC*fp`?LdP~ks&6;kg};(-|md^U|{HEW2u6jaAYW} z!s6xMY7iIM6gli6RLQves1Qf4M2Ls2id5&QPV1C{W^mPay+#R7>H^SZXms=L5gedA zM=Y^nqvS2rp{lx)-Z z8Z1IEJdEuckQ8n6(eu%UKc@-@6zH}13bg=Vsj5t|@JrT1zX zKk3s8Fu0+E=q!p3^5wXUJRB9!VjoR$!^VU=KK)^ynM#dp1M&#my^;JV!Fyvfd2P~G zM>>V|yt9F*@UJEoN&V|}5o@*cBQ9tVnml!GpGGgJ;b6198W=k;yUUnkl}@>3Z=n-nGWzLMTF z;6!xHywzW|3*S*(oky{10`N_BSMf*olwARdl}QXQ@WRu^v9&DM$G#}z#`Xl;pq~?K zGusR4`%Tf@J&}Pz0=uv9)ftrS3t;eFnlnK>FlaGv@I^Q~dy?SPH^ML`lgif^Yft9R z&JGKyzRrZNq5)Dw}Z87OjyA53erVRJQOd*isA{eU4} zJ-rCZT|V$ka$x#}Wg=Vv9ICX8!caoz_;QzeR|dy|CDGFHFZSG+F57U(&500zz(nP- z1>=og4$Pnes>Z1olHj&&zQ*G#!(ViEQzpE!EdFKr$HPXrh!`23qh-ck|Kn=fUK zAT~V;wUQ!U(FQ)e{@j=tA~UHr*vn?3>=NSdn_63eKJb-lAP;w=0mY<$(W zVu7q=9f-ZIQ>BKv%2;Ga*X}U5X>0bbx%)$BnKz0cmc94g>Z`!Cp7f`C-u;&0(eI1*73O*K$POZX0Q!cHi&(FycT%2?A@w?v4;~qVfz@8>c5ClF39Sd1?<72WiF4eJdsiK{8 zXNXmAMQ5zURoNh?hAFoq$r^LqEaGAxtG+89Pv!oDWlr&qNdGzIlSGizZy9EpL^i1SVv z>x{MVh$it%inSC^1bg^z16Q@DC1?&p40;ZUDKRV!>9a@-a<@3-9oVIB0(js?~C zU8UCs{`~GoDFO(Xdovr z4oZ>^2;^4EPfbYuwgNbY565=X9O*@}}*}Xk^5cs|}V$G+C z5JcnS@{&{kE3jG~TKx9B6W^+_9CXO{p7#c;{R$>;uc-t`O0F`=gjF!jbJ+e>!F=1_ z<~(4;g#K7kH|3zbMIGO_SXwXT{)ti5Q zw}I?k=moY!?0!&gytIGHTr&wGuHTM05S|ZC`x$K}TJQK_T=@vhRZLXpqbBBsMOP3X zzHt7M!F}WZAKUBm5eSz+@snV0{7`It+guebvEGt+Pk#x+KrrYMwW2Hf8iq73j;uVf zAqW=Y>G%2bzqnycaKQ$!=N%}rt$KnszOsXmW7;Kf)cz#eQK|*Lq}{m31OtJ4sn~D0 z64Z^xiFAg>QON8t5O6%Lbb;UR$mhH?Tc^KpBt4?BU*Mp2QxzseBzcY`1gAVRD6QIFs z5j@gn9RRE@q;be$z0r(ZKO&u1aH3EHV2;}xdL>wHg@Qpcf$u(Y%8NIzSiaS&JTG(AOpj|yP zk=+afUE*@x_KTutc0l%mVNMI@x+s3$?sJX~drv73bM%%xQ$E|K0ikHvb&!A7;&ByF zWt2z29BJku;6fD3PfG|edd<39DVdl;>nWL(<7sY~f%)(wNv~9Zk&-Z8j+|im>@ve3 zc-fA>hlPrPARcO*ve?xR3v!TX5diM!52JEaVb_8Rdgo7x!bf6-F_g64cUMsjIDM7Bxfr#>o!Y%Tkv%^D>)jfNiFrqxBFKxFK(c+SqP(y zix;FR{TB_iCev+!D;AV1sd+HTpn}yjS=}V~^NK||@bLvFpRB%1mA%;w|b+ytZ_E zSUn1#O6I;l$+~+H#{qDBm9s`4b3r>pkZ^REd$AFny;k;5T~*PwkpX+I>oNF)mW>*; zSbo9t+iv)LvQwn-1+9NqQ#qjj7lZyd_ul+&!TL*O(T1U~keAqcTF8{|_j6fUAUU!& zHG7eLwxj~9sSuzbFN>*UX)V}Wr3e|csuZ}G4oSCnl6l)|Rzs$1dXoRkd>SeI!1Tn% zh-UEI>?eX=SP=bWebOE`thb$GB(Mp}{%T9%9`sl(J z0Uv-;s);arLy|TFP zmv=J(yG?+BOpn1yl|!W=E87p#9)eIL8OpO{)o(8y3g{roLJ_1FeQ_xW2jch}!hVU~ zbc^P7wC&|*!S_3k5D_d31w4t-O(c4Cn1BhDb7=_zG#F9i;%Lj ztUQpOmn3LmrrJKaK9b7*=Vs~Yv;)f6cwrxba7|(Q1lz*=ab+cwhe6#OV&O>sKeRzW zdFMI?1aIvk^g`!YC{umi5&GJE6J+uLDM0{Pz993WxGK~k5~@0ll^_qk^%oTaWabgU zvUoF!_+`iB`&yE~io9?CT~8PlgPNmy9`^D5hXv(e*A&4$%9opxH?w-4XVugJ!?Pm4 z#KYg5j)#tOuUqCi(Oh5jLeYddp>fE-zZ0eUKEKACc^LXV0ViTMcD}6zWCIRa8Rv_~ z2Nqo4i-90aCIT~CBIJ2s;jP^YN2BZMB~gPEg_kG=(hZP!Om)Ha+Uk}y2lW)X#*Lr_1=qy0qxQ!p42X0gxC4sAcfyhfnDVt# z!794stVA>QIumRZ%gld1HzK1RJC+-Ajfz|y_;YQ}ouvTsi7s-^YUE(iV za}c+D*`@e!qbXj5@jh)N8RLvB0}MTTn13czWY{xAamyNbE?dzb56k)}X zh#P5K@_MnYmD_H=H)=PiuR>W*QS_+E6n8WN=Uh`#FdC93=7KHJXgU<*sKX7!mkaUT|r3_*PT?gf=CLg>_;_YDJk^@k)oRbXA)1-+!ITNl%N14SVG;N|RKdzUWRH~9Skdx+u z(Mn+`RC@AzlTHj<_VA(~_)8PR=PB&-kT8zx*Cr`9|BEKq zqTl_@iV$Wv$0uphpPTN46aahHvApM(1`YO=Jv-^l`mI5OgTtQT75`g<4(?xj*65V^ zt-+)cKr2IH#L~P0r5A`VlX8Ev2F)o`DYNK#h(HOyHvu5Q>wH;W|FZ_qq0{87BU93) z@!h5?XAl~UN1ipY)VB(AWzP`)9~$f;GP8$nE+R9K3<9e%9t{)1fRiTex%(?5LD{oL z`cc-vfyXKo2Cu?^gYx74n?}SFWfm;I%Yg?%TebwcAdAzX!Nljk-9pS(SrsD=F6 zfB<}(|9|X=8{_pR} zvYvmBiS@W0`1t%duHJ!vfcExSKEMvU^Nv3=Y>eH@@vjSVkDPx{SbpzU{rbK3Z#q9A z*7f{blk@)8UT}GouXkaO^Tw%kLlpX%{MsY?uKzl!-nl%mo38=1|GkoW{yNPgI;N77 zDRJOj0`Tb2b9<&u5-S|-9T%k_7>hlqu2!+PLwFAgC#=rVaZG+`sB|lOmc=1%%U8oSxZ6zgMN@p;cSk`jqvzpeOL6}Dc4|< zQ(kf2j-`IeD(w^+x3}y~9esXB)}dF=wmWavZgT87=ndz_^&H=c`Lpe5>c;6Y%j|VH zp}(3PKV>`aspiUogTSdaUgsU8HvV|_2+KZes6x&}=IJ~ads5qmY7g^Tz4{WiAU)So zY5!ii@5tI96+r9Yj0sxWeGT!hjE;*=OM93ESG;OhS>)kdymxvz1Z1#@u1WDagx@b@ zz@IO+^G8gFZb-#yA}S>)j+zXqKaJ?Z<$9+E`hw`A{>d<)d_=}rKYp?j!UW65RPbbZ zGszO)KgSH5;;mv1rlXE=sKMC<5UD^>Q_QMUISrG@>tnE$CGacm zNjMC;ZKhsh9>FqSQHXiJ@P?4(ctU`{@`g@~$9GQ=BCAda%#FCR=6Ks+9j^<+42j8} zFAlGFON3r(OwMzs2k0wnARM?NO}Y{D)JXuMSttwz%Z>R~AWcQ>A%^YPycIKP<-P@MR!y+jT=KO-kDS2DLwA^bBcj7fg+8+9J0)UBfvcEtDXou1 zPHu*nN19d4ycO#MMV5wRe#FEMs|{UsTpXrEk?xm7WQ=)qgekCcKrq+m2Wv3TSAyp# zXIlsc#zi3uUy0b1@?aOB ze?jW`Tuo%2l;I4PlxIZfei~b6tYKRT11cLFzL56*-=F>*>0xE$(qCVSNR)rd>RHPnIa6!9~CBja|lHOK#KHyh7Zr4s832m;OR}yu~ zV@V(p(`J=$C%u~eU#zB0POjWS@&KEWIwl zS-BAFF)BC0LP&93LB4Ro>-#a=tsgO+(HDMLa^Y_E_*jyr+Tfs>ea93-ft~=5exW4> zQl+0FA7J=Nkh}GR4uD5hbtGcMEj^Yip={hN^X$6GX-ei|$F=8Gvy&Bcfkh6qiuE!^ zNm??%sOVy{M-%@}v-8FlprXhHzi%lp9V;aG@sfw@^_d&1M~UBW*QkW$s45<^dbP5S z1pEKd+D>F{Gu@3Pr$8Jd3dWnH5w()%X(v_^kHB#*;k9M4I}x{|$l=0K7oINQjZ6?T z@@q^&kP>y>a_WA{Y3&^@ig(ytS&OXxctRtco!H1gnGBpM3ar?TY*cLtH!ME?#mS)KVWFwi=IUR;UO`vk*%t^??_SSVpi530TWSiIl#}g$S zC|cF72$8;{f_Y9sm)~Y4=C>7(5xcDfX(8J&(-~abm9!BrYVEiiOw^ex)zcx94$Grw zapHR25bx0wDf$6EP{a#|j$?Tpk`dZXfoo0v2#zf-8Dktg8dYUFViWZwS6@K2JqdHp z``31YVUB|CXph*a|MIf(BIX8}k?|a4zbP;CBK%fShS6yw`fI8$R49%=Nn4d46uvvN z1Jt6#x{OI(&WnTQTV+GCrNy8qr0D!5Lnr7D8bpGb+kTT3w89;0mv_n!dM^uk@{N%d zx3b9JVhrsEtb%G&&L*ZAC`vVmg5o&wonzopMwRu_7Kk`b6wqt17ecoLN!t4Q0Dz69)kc?6{USp zF@!xl$q!}^FQi8@wu{7NWfvR5WO$(*{uqf^DYxvMNu1s$a0@92>OulX$JjiQahCJrx)wf4q#4ozN`8aMs|9MC-o+e zde(}oFC{_E$C6dNM(QgVn+`DkoWms)>0!OnIY}0 zd_iE)6ws9*LeNez4m?)cjeKlkwZ2I@-hU<`CAOb#FMj`hyL930=a1j^E1GvQF`~)q zi5YAuR;l;zUTku~S#OkhybLAc)#eck$QiVUiTY^4VNvP9^G@Jyra0g(6zmiOIZmN# z$9qV8eQf_4y41Mi;pNCvFfM!8F=AzO>kR?hENGT|8xxVs!=B#}+RnVc>@@g`gO5aP zuF1hiG=n9z3(cKEcZ~(nd&8wu@fDP2r3w;4PUT4xe)LUQjL89GR6<}eqN4qgvR zlk%ucT5jU|%=C&t5!l-Xr9 zYV};@!$oP5WFaR2ONs>2I`*s(VpmmSH2?fE6aEkn%O!0t_WJx_j>MXT zHzWrV1eWm78u274cm*Zs5+r?XWdA5Bivb2CHT#*RX1`|B#s-1Kd@C0i^<`Xs1!Jw| zAh0+kt}~Zl_@O66gGWuyI18H~2Z$uN047e;zi5T}vQ)3ka21ycy7e7pVMdgFb&k|rh-z@1EAB_e9OcNVFEg0i3%8UiXMje;%|3{)sm|Nv8P|(*8UNPpmK(sLv;E&58wC>78^yW{v;9jv@Y0|r_ zcVq^86B)nHN5xH@f@kTRWO#Ec0*CTS(^65dJv#Ex_0C_~(#YtSt%dRZZx3OHrxSV2 zuKFkE?d0@dODV!8E8r5mDOOn*jsE$lchQezEG|e-s`U|HzuAy7QBmehY5ty&w8Jno_qQev4 zuDqoRb)TX%C{!+HA3UMmXjpkKbgfFN+Ic5$KOOv@e5A*w0+08o7j2?r!)yP(1zcBM zt}QsuC(^)LGG-?#)}%p7$0k-U2ygBr|FGyr;yE+mMzoeq?PMpUg=xsutCw@`swJ05 z6hdobnHV9oYOk*l*iifglU8@R2L*Lla98%@&osTk6LeXophgMVhCcFHZoFP zr)Cce-U9tpOZ$5hk-bOBFAVTmBg;4wB3`&ASK4ay#e@bMdGPkS&+@kqWyy*qjeKQW z>zFQwU)o&^`X)5muTuHxMXxH3TR@ZAcYiQ-zcp&$ma=Ew0=(>@$%Zs*Bbgy}cL18d z9wM7PHQDcZRKsL?tbyd<951WCc<(@?m*p@065b&Nf)17P5A>>Mjh+_p?|;CBaQ|sw zV_WqIY(e~Iq5G72Vnpmr(1h-lAQu2wK&QX1$MX*{ge3p|7(H;GDfyN>x%AJL&{Ha{ zC41N@0P%a1=X+3S!tVWw>*be5n{)PiVYl*UbMXC#P5PsyfPZ2fl7P*h{X00%ElLf2 z@IM#DXks5aZSb(6e}9gRy5Ld6K`2U3LgvpK_36%l&_ELKmSz85;jE}KJ!v@j?|sM6 z!t=t8vaEr#lfh~HS7FxwRTIZT3co@~F?3w~w~Yz}Dv$Cj*8?_c=CUV4)gCsu%OAzW z91>vj>Y>D>&Fn^B#cBKjBBtAtz{y;qe>PtrIh~W}c>MPjwK3p3N3;LlFxC}VY4(gf z3BUaN1XuJFsV12tzcdgFW?TW!!+DU&^J|lWkzdh698BJjHM;LV6c@Vwkk6j~`8m{k z0@7>`C8nF;w?>{D{+W_{BR)rk@V6!v07~@`6I;?I!|WrVC>dhghM)Lb1Mmk}+?*Iq zl7D}!<#SoGpCj@(T?mIt(xh3mj{u(}iTWk~yP4b-5@YRIno3CxEMfY9tJi$?q@wV@ zkE?QihJ_X~GP{(sgBpmb2ZEb=Nba_*!9t^@Ep54rlrdwzwhJOg_H0s4!*31TZ5GZ9 zv-JuomsykN6~JL(RhSe($A1D2f}C36+$^-D>nI$99-WCG*1b1^@pMo;h#4n z+`p0Bmm-Zh&#rIG^JOt>1N(6nW#H#?f-mSvb`uHO=gj+?(l5Tb{S)l|;R{3-y|01w zFJ&8yC7=ht%yl?zjye#!>C9*M_0jw=#U1#3nJhHSqtGn4GmBUdKU(YG{EMNRuX(Y5 z)cGy)dwXvkXW<<9!I{CZf3xuR^P5*q{TGIBkDZAJGh)Z{z{S1T!^0}r=1Y9R_~r?| zT`~V;Al%+_lgx3(s3G6!XuyVexg|~sL^|8Tu(~Qc`8J`}wsW!w# zTxX*v%ln(pw*+^#Vq4`me<^l;=JTfKI82?Nl{iL55XcEu-_cg!Yc$oVBeuMZ4%%e-W`1f`{h9O-Fu^}+V zX4(XMCPB;)rclCkIkHCL9bzzv`a2Rbw_4fu+)QvE8Tz*+_+0?&F!Bz?q;^!wytAk6 zKv)71E3~gR>eH?uWs-tuBg}llNfP*PO@4Jd(|Y(c_(%1HTk$&aSe$q)w)@MM@S_?K zQ+98_ko@IN-~W3g*8-o=sw&H_Y*4WHzM#8rd?|?b@m#6r7SQ4Tx#d6y9ND$7)Glbk zMAly?^N(K2T7;j|FgM9B2)HIc76;zcRTf(O-dQiB!sc{-0zS*RE9W?$?jrXwU_{G)4HiFaFgC@wk@}}(<*g1bR9^8Hv z4J#V-O3sLuM>gSjXq+LBdjEKKU&!Mg|2a7y=rBoCW=|A^BOtM9zAW*3zI$R`HL~|k z^pq6(iC^UD_xxv@|63Qc|9zsx|3SEVmlRLc{1yTHYb&LW267U7!9@QxnBd?Icl^hi zpedS(jeO(Lc78l(D=AsD(FU0Ccgon$Uf|yWtd;L=$*0~oS^8&rCTB!4=Mz`+Njo+u zcJHr3mjExJZxQ1Az4&Jehl4u7BX49kcTe0Ui&g+UL5h5VCn7PJzle1|+dmnS!pU@S z9o*Awc(Gi`da5PaFkiNxcQKO|*l^*yk#)tnLB-B7KEq6YxpaQ6|77D{fqv!v=%@l@ zuF}LS@hx?KuLgGGbzIyd`Bfv?eA%VOcS$=EH*Dg1Nw<^u7vJaT= z5N*5(0=1ng)K*Xvt7m>kaXZf;GWks^P_3TZfsB3Q%_aRp z7mN6%UgO@iACeSi2S0gPJB)}9er3vous~2PD8S7rxJ8JxF{)*2m3%2C+ z^%l5{&sX&6&d9EkR_E?8%%#D!F9|Js7TF9hNmw9`Q(iO**z1Hjy!?jbbJf7vBd(pm ztwap7T76gPePp8N2e;kf_h6uA@2acSf1R+C1fPnI<~$5g+VQ%l!>%~< z;U9Gm9}Yh5Z~ih0rTJqB!$`RIPyX&fCtiRbY-_30CbYZI9m-+ey?`sWnfJn3jMH;O zdw0F&Nd4CRvjPNRnZa7^*G2B!nYObN?3IPBc}Qi_Q5sf}iWSd) z4dlHku0&+i9WDtAyxbx8MTHIwS>c??varu!c7D;QsUuwy}-#)dsy@G)kVw!#S?a=zg`zuN@2QZCJ0LU z0j|9`!Y+BCkb~Bx4aXfC5MK7G*%MLSABdD8ZvltQMxPId)15)SSYH|CcM%g#B0FZr zUTiOu=+``e?`>^hDZ(#_YsF5wb`f>G)$Y^+-RZ+Gzf^2OC`|h2<(8n^SHGB-*tNp$ z7!E%ngW&~}`G(`$SO71eZ&`G|bcTs@+S1O9ys8*quIr$L3Ssq;eQknkb8^yw>ylu2 z85WU?!fxv=>CVm$mz3|gO}EEJwzybuuK|$DVv&c1%f%LXh_x=+A&5XYj$U^0$cA?A z#2v~VPPiri$}2_{C!xvG>>*dCAn+gc9e}d5&=>wIE@oy~^WrupnEh{R&(4rJ_akc= z5A*rr*M(iB-Pp;+WKW+5eD+w?Yf18xTF;1sw72e?CekQ(kqvR94Sf}bx?vH?C^(kW znasMI(B9gC&&9`jM`S5sH6qiDF#)a;@hF-Zh?e7L61RsC%400zotsia2E#i)7ZJn@ zt{d?me^2d)tTKCcg~*MI1d<06*Eawry#8M6EePzQYp^z~W;)r{qT=lnsw>YH=5iwq zns;aru$(T-P6et?egZ$!1PH-s7vBjeC;l8RO5@W;v<$nYp;Ff`9KsKNwks7`im;lV zZ;w+f`det}A&a>!s?5*x9SI2?^@$5^KH5YhghtQ2MZwb(6*(%zR}p%B9=sKefJ>h) zIMh~@>A$`%ZkZwMI^03J7^5>+0Ecw8$NZPL8T!)BjP_9}{0&{VLlBh%fop9)GUCsh z!yotXPZ>cx%*X!8-vsF$ri*52;`Nl9I`Ks+z$Vch+~@6eiGJ^(KC{`gl=;lCOCPOB6j4$MzY2f9__afNzoiDD#u?tE}Q6X=EEP71eAMeKYNi z&*eHctw@{*qrNr~yZ$y;X_%x^Um3(yBqA5A3qUV9wkX6cX4c3TGm6UW+3=(tc`KY) z+PXS%*WvPY4sAl$Z=T6+0;(SKg8o%I4_p1Oz9o~5TY;Cqh{?V4S@b=(i%G> z<(EBxW5xkWB#9oYwnbkJx~0UremqsYdyJW@M!jw(>oGPm8oE8t%`E*L+E@foG3sE75xWLo)+iXXc~>VM+%^JkWc0Ga zVW+KS92t^@4XJJCGDy@irDFB@{pNCC+~71cocLrQwk!8ILP(`8FhsuM_#5hex$&kj zg00nIxI;GZA|!;F4U#Pwo8sLrB&M7$`X24OyI|HZn4_D}kKhiYHddPv3c=QivU~{P z_eh5Vm&_ENvoFjLK)+oSbR^63Av>aN0j#|9e&6%`L4C`!oCh);6TcC>t|6o zf@i{Mag(2H2O>?A!gTXn;po4&+^?G`nI-uih1|BYY*EbgyYhk9f|aZVk*QL< z+4t0WPV(ee+nJdBvY9oSHEUuTYc}*!vf(|}-219<_#JoF%yg6ND-TC^kC|HaWvBmI zOY=ZPc>N@9;^T%k`nn@AI?@rmq*&jpdtM0*sI&l@P$gC6x=6pt05#R2^L;N}V0B1K zvaUZn#B1T@cPuV|5fQ zCK<;rKsD1H_n7*Yh*SZw-2DT-?QRwhoZaIYFTpztAb6$7#4jN$$Ynhy;k9!Q<@*6g z|C7c~`y0v#j>sf5W?n;wk^j0=>I*O*PN{=C>+j5d$9%lg0H1NbKPc1}_y(AikSnL= z`dHt6$TMf_h`*C>7?;Ff+dBW;^7CzvuR8aNZeF$?AgV21Y-SY}PUicIL@I{vd)mxP zoFp9aCRNmU_Zq(2{OR>;DE&b`D^*RoAeydr3Nj0p{E?k9r;G{MCG@i-0o}{&tNsPy z@^PQbnG=sQ^MVndjEoBt1g$3X3vEXdIWcx4SZcSJ2XNSKKCsLSTg?3touZ>BzqX%y z_C6o54*pRudVGj(ZSeST{6Uj{$|a$?FceO|H_a-j_&OAJr3fffo`nO^4Ra#71i}%! zQH(guKX(OKrJi~xt;tC84$VSC>{Gjh?4A44i{P z9BH2Ndc`sbqmqP0W7cN!t<4U-Ne>x)UQb>KE8^tH^>eM#b9G-TQEONfz9iPaYo&meT zC(Pb7dNb3WzDmrx*0szDPA6S=aDt|w*`s~;GY0*~) zAJN#9^I>+TGY*9--oDI;*SI}9AvO6FQA17YuWTP|Ayl|7S*#xJyHoIODct`ZUKhD^ zi}|z;T8}EFWjt*W>;b3Iir3*Ez9pK%TG~RU3Z}X)$%~BttTmB*Ky;N7job%&N7CH8sZ7 zKzuS%?1*Wx%H7BspPZBkD}Nwmk~=~vPWETPsYU;cHpwEwLtCvL?5nlVjKWUf;x->n8+?l1zN3py zvQSKExF#kjan?d!giardi z7U`j!wBr$Gx2Hlz!FIL4xX{yME8V^7XVUSp;;y2tE?<4-I{ z+kP{4xn}+;`et6H+I~JAe{K=dlk=nw7`T#~odM^6Jpy?whTWQr~is z*sWQ13E~N(=88plvsfovGonq~762On@^-$qNf`XGjh1+JFPkN}agJ@W z#3Jvb?H7Gl+bVv!Vi?|(h}B;Y^Jf7V8lO2NOGI5=vUAB`&dpyL0CZO~Ga^xm@Q@mc zt~yfDI8#x{MXC^I(UG<~&vb;&Wp#gaidC(o!j?lSbSzhzE|0p%8YAuc^OA@Uqq=1< z`6F#MXL0N*uwNDNJ*a9~38@_uQmfaM6SBZ@cy2kSAG+kfYG`F&Q?jql{R$$!P~Y8s zf2|#k6SPcQpAvjG{qyWR5;UT}sE5NTd>haT#3pXR3r=#Ow)6SGVA*!zBoJ$PqG|UTQv~LQlT}ZnpAl^79dcg7g##sd#VT)UQ*P0 zb^ra^0XlB1&HX%JGpPYeWXJ!@!}K#1lPKe#X|OS*^p-(0+x(U= zTysl&X}b0qIA2*QOl#vdm@gK=#m?Swbq<8IzIw z4f4iiF{r8`N{EisQMSY3r z3O>?i<;+AHTnXGvYr~fGZLVQwvX;w~!o#DSGi_!C7UPDU;&qs~_u5=-zHk&4YPn;f zx+?W=$lJ4rr8kfWROiA|!R{l(yB!%2u1|NvS|1DJx-6;d?txmzN70KIfWG&LsU4)@ zSxOWcs;1CB??6zO+BSP)(3zA~(_&(p>C_YAfr1I|m9jpC7sw(v-72aKazdxFnaXT* z$?Hm&|F>|Jm%BnsoO6p#@4T&G7ay7E9M?~l*!Sb!SK8yOZ?o_B(qX`@?%gU}NYWIz z(U|E7-SYt(#{nMj)N$ml!l#vz=D3~Ll_bZ99KapaGxOLkNiYAv-x9$!(%!W;O*WOTkY-KLb5XFEBhvzDr}bY*;QzG#bP+Watt$ssx&J>y8Wb& zeqYgE$_Fo;qGRd1vr^R76l6(4$(2glF^X_mMj+KFcvU?Y!N`YK!F)5&ompXD z*xOlPp2F&I5)c@$TP#He#Pmjb$@PvmuHaL-8YzOW%h0gQL_HNvZBA6O%~{ka#oa5D zFXR`J_KhMp1X1L`t{3DgTM^rm#01TrjPK|rYt-LH@l9Ls*tNlEv&EmF<#KR|U@?@EV?c=6l0e5OA%~) zxOxNZsyzmZaJVcMM4OJh+s(LH>VDnVYi`v9$#1p=nY3z3Yf^oL>~{hBG?oZM zOz&kV*zLWA1gqr2 zkbWr`!;VMoexXZasL|ip@wk=uDeG7+CJ8ZNOfTh()mO&rFKMQ5!wsIPMeB6YVi6`i zinLmm1a$++zITiYi-^d$X9EAV!1v_8HSllmi(>9pm=w_v|9z-OK4s^%WMGRPC6(!_ zTYbjc?5EFgfy`Xgvr#tTb#sC2$|3_|j;2cy4g^oanv6bWKWqN$Ls?gC9mgLTDc}WD zmK(85dDdJKRD1;Hw4Bi8C5-<7u>Q8Ql32R*&HrLjghHyFta_aToxR!E#A#$YCfaIM zbHR@C2@=`)TRWxNWwJ9JifZss`Hh&_S>^ z33TQkk@8@bkiJAbYOK#yKpQ+3Yiy|?Nm9&Z&i|BvFaPjk;MMJtL>a9I2d{-DwuPZG zN+hZX{VT>lz`FJ4lg@>5JI_GejNYh68^Q(Psg*%nt~9A%q9o&#o5}s0H1n0_!r)|3 zUIS$`_m@oe>&YGG5->zaIXTJd`N+;@7B|A-Ip#FH`<1~BB+8j2J6EBRMApt!*3zLU z;P&4PB>})4Z~A<&`exd!ElG4N`?~}APRVMXj$cqYmTX3QTz($R};I$|(^Zy(E$PE}OwvNo2Bx_?v{xenNZ@b13BCIvmp`!>qN^ER>gdZa(g>8UAgSmE)) zS-__;K~eD29uA_zQcnZuh-8zE32DOyQBBG3X4{TIRdSYV!xDQs21GFI)E@~hnk}uy zI>&Qux`giamIQa6ORBNits^2CMR%4R_S$*yGiz!Q&Qw_XFE7;{p1#z6iA&=Fsb!eJ zwFy^ofyRB?>HHk%GWPvHD9kkG$X_>mDl6`L8knqEvmdv#7w)pvY>=`X3#~pCiskcs z^q%#pivBGFpzXKQNL8Otv~qHApq}nPiKWG-E8>`nRH`&ine^)|LCp2LNWysY)h&v~ z!Zz`nb_)Kx4lg!6b!EY&z8YQknR!o2Om?xGk$`ep3IzBvNoykfnlb4`y;?vpF zX0FaAGF@jZJAdi3^ropqZcU%Dq}D{rI)MbNU(N~II=f05qAlehL`^M{f>rn{z2l(N ztsl;Du)H2M{)+CAE+7&{kSpd-$%KMl0hl3ys~nKaXcllqYAyTs${;@W7H(uuYldxU z2E%b9r<70Nk${dHI)Dqm@LFX(5B~ad3BsHD+gI3Qs#BM($sKWgd)q_7svo%_U`Dc+so3`*5=VG65YB}Z2yYe5OfN9vRFZW{oP_@ETkS+>YaL@KdLED6V>H!geP!Q) zXz@(UKei&IM}{Ccn&Qd+EuAqe6R6}NM^&KG^o+h^z^Uq0aihf}X5rZm@}_xxDT>58 z2X0;?kvJ0F+BWqTMs)kRWN}ld^65aJYCB)DW_GD&V`(k{Anj+Ol6N_$&q?KBMyQua zp2HC(c1BNtdzFW065gwzW~qre*6_K~Rd~G9CD8{d0zTi6T(2o%SVY2hG*LKsm5%GJ zzGsH+BJS^aUllCj>&{yFxz%9(`w`UQxoY2fH3>`MtVwUH9@aby!G81!WDD3Y1qs8@ z`ztCTweNgi7xwk}^SUrmqK1URjrB!p1Sj?bgh9C-wh0#OnssQTpybi0-hKUEi2|6L z-+~R&k))qCfE->EK^aWqOm-1w8XS!Fdq|Z8cGvt>}2D0YxK+WaaKaCgl z5sIT!g@;Y{-P-P?oB#m1|v{kjh}GiTJ#%|Box6 z8%`l>sn3CM9tk$tz0j~A8&85z71RGrOs}y8FfY!9F;HX{$!l|w-48hRA0I9y&Bm_Ngo=BHK%q08nH7OP{jo~%(qRXEtZx3{pynD~Hxe3HF)rn++a;H`8%?L&aa+ zZNOwa@GZ^<$Ym1E53`rQG%Tp05`$zV4(niCokP!LNjeuok( z)R%y~z&*k9F~?X(yqsb))Df6Rs#Kp0TW%apE`lq`B@kLDi#~~dlQ~zzooMkO$83rs zo4X96_nGic5O?!cXS$G#uwdDb3CuHMA6kc|76fRWn}#s{d97S zSteM9ICSboMRE(;dcGYUKC zf;rK3p%N>c{ib@8_HVOSSq&-IlJS?SY`NQcnH=(j=l~qhc)GDh? zsNq9IDvRqm1DT)990k3gt!`}!o?E6x6*`nu3 zFupRG%|jyUSKgytna*|%;oYmd?5kMY2%S#-YihS82}MbP^ST%A(wb%$FS)vTmRycXceyq0&zxB#qHJ&r|mqD;a?^)3pBxuJUf%t?Hg6H{! zT6e1ite=nSca_QqFS@JjBY5#(@V`CRQAO3xK7k|wc;Wfj-sG#nwcXX%pn9GHN#n0~CNe*-^GidhxMIlMLVqraI^c1v z(a}dufN0B-#YH&YR`L8gw~X>HToO~Z?2JgpVfRcTGIY&y!Ag)}GzfvnLY4z?ge>)3 z4Pr)wG7fp!ds-=6+*<%zp=V2mjp~_E2yGzB;WdQswPX?4$WHG-Bb3SQLH7t>tz_l{ z?QhQ(p+miq=T*O%d)Hv)HWiX~Yok z8!V1-mBMjk3%IbLT#2Bkf`O4|Lr+N>WP)dIS#X?*V4lglCqI9*n)8Fxu#4c0*!Lh* z%2U@YV#TSTn8D(ztdRsiS=edOP3|}#7Z$G`o!eMw*99TAybT9%wUt!VUL-RtLTCw# zM}LviDEW6o)rUzEIOYvi>$1ZamKm6*4*tl6679dicaM8Pz!WH%nM5@u<)4AS7)o}u zBZN{BnAU_#TgYPoqobk_2?8UyAlOKv5#wv-5#PT@z4O-NurFU>U~~9K2U>FBcHUH* zsBd?39hdnd3VH;@{MLX^Y(aWXt}^g>NU%VK@Ovk@RH#=elWqHht-WN#6on1P*Fn?;B19CsLeY z(c6E$=`Ep^h1)OQ;P>_BV#JY5S3{`3awH@4Y6q4neI8&qT(6?Zxa!s%f;*y2R0PaJ zmsL(JUKp?>JU<^XK$pNW2*9I-jXb44JK0yGuqN)Lv$_Nk>rQF@H0UjWLT?>R6uFx% znH$%vNTMt3K>vWK*|Cu;ky@#v{QsWQ6(=Z$O1-q@ApetBGGWc0a)&Wbbxj|`ef1@Q zqJ?X>`ixK1i8O9aY|L%-nlgC3uWV~@ha@MJ%pSkg8DaAB;1MiJAI%PYB=#~tgEK)u zXTElW@6q`zIOb|qX){u_niE59C|YwP@6Y93#jkukzwZVgn%)6>$D#;?s%;nFMIIVy zf6T`qB<>{w5V!INsmsK~!V)`O879_TYuLudeIl8#1q@Dd#tG({tFpT?(C_5FehUh* zQujIh5ldI(IBp#dI1e1(lzj3^fFo8 zw0!1(V7qN+go+bf z0H%*0dLHRJy%Yy@d+|2#tt1z7%Lg=4}^1l`-2f+Avb!r()TPCk92*0xlVJm zX7Bn34|CI^F!#$YwBh$zK=(G40AHi1K^g_2)5=sL%=)qOnlq1VC8N{94pQvPxPv%X z$?*i3YWm)$e023#O<5Bmc60z7F8_CYuZ#5gwFh|)mW%XX5ACjdd#v?Z@O4$ufnd$= z*Oi`lWF;z%c}C@^VAjuTi_pv!$^vBK+QZ!}&SlHza=JV^bNvgT=nzVO`3F1feOJxj z)m$Er$7@4NgNi0@1(XTehehYHF|H%**`^T)r|R+6C?_KJMIXzMhq5ifLNi_X$V7Vl zQWnIi+Sm{zYpaTZB%`w%c31baq*3L#i(;yN5r~f5Yzer1C9sCY5RX$ROjCe&baYjs zVYud%NQ$#16M};yP@_b^-)98>St!g{57v?mb zPuu*gIp6T7=~V|M=c}2CX{Fk`4%%t%KDx=1SN%?okGJs*@3GQ>&b!QT5j&!aJ1_!_ zPHb&;B%afA$-s4DEu^Cd3V3y4=2T0JHLH02w_)1O(kRQ*n4(vR+xe{-Jc zEDE_Glj&Z_X8&E_v;stw0(XOBy%UN|6&MH6vFPd3XR?5sxmJ@gHuGG&GR;oeNN%aHVX@{0ONkP9wA1s!L0RWUNpuJyWo27F zlCQs`xDf81L*am+z1?y+ka8(@oC4;vK&Vh4TFie1FE@&E=_tEdE%XnGc9~`MTj)@S z5{^7E`y}g>0U$}Xn0zu$t`sngkc>XcA~zGgY*r1Pe0kM-B8TYuZD{?ysP)l1F*lZc z4YAaXwjaR#Wn5%H{C_hVgj=r8ETO|K`HUWVs$^8OZrg}Y6AOO{{kTo!t#sI51C4;>Fs##NXdPtt@M~xUC*4tWg$*7tUGqu z0wMl-1a2#n$!X4R(k4xCbu9LKBuw9-2_D#{T>1T87Hka(92SDRqi>%px+2RiU@8gQ zTLO%$Em16>EO?X(8nFPFx*jIqHFX^?(ZmgPY%IQ@R@jO>IErUpUC9#1{A%|VX>%Ne zO8z`#r@Tozl~XA?RF34{aAzy6NJlY6$>GI6WCSBFx*qb!ki{>p;5+OiPgL@BJ#_0H z_bZBSpBFDZNJ`RZ!JbnEO4eELH%pY*j&G@>r-PQ#2Qyk#%Y)!gO6vqCN}ZhrddPd< z%lG*FSrq1|p1CYhr~IQ+di@feSQa?{La9uIaIOglC-G95tdpMO-O=@FW!Zz34pKVNH`2w}!|vyyQ%PSEjp|QEf9o$O}MNU;c_1F#7{I=2lEb1y$KU4{#vZGb(G( z{{85GT7$3tJR1j<`)3W#9p3uor{XE;|78>BP!Goc zn8}C4M*q+M`k(*jfB%p5E&p08>$&C?o`0ulJ>I0?;s2f7J9d9hc=}lr`+xaygA!`J zZIPEpQD370pM+Wb9p+nHrX+YyRV(-Xp`UNZ{L!5yWyt8_bpn;{Z`A{XWWh{>cA@wb z39P)b5D&fT(d?wQwlm&Oh- z6&NRF$tvK@N|tp{Vaf7uh0e!uz2H1-rQs--i3H)j!*kM-&G1Yu2Q)m-k#)uU&Vv(* z$80<)^jo6N>P}wo>6WmP)I-74A3x1eoDuPOpVbMDDQ0u4KDKF3JeH zJcAPrDKj3gMhBQ>mo&^!n1&cc%Jy@fB<@{_*pyR_PQ&1iA1dUK6Bd8LFKjepsi!Bv0KEVZgjSy`l5k*7?aUZ)F{vUnBVE2&|0WV3){b zQqoHagGc7InY`VcTlU1NM_EKAqqjKv64K@#U|q<$M&2e*=4YVUOX2WV;P8`TzeL|< zH2&%_l;*S~if)5r!SPGLUS9EnL~}-ylEkl-+|WRs`Uzu3H;Y(~$vY?kgc{sk2Z!l~ zPT)g|Ll7^LKv1Q}9}KP@<_j1bsc$(j{@4Hc-~aRf|3Ccs*QYTupN5r%<|# zPh5ebWBIq|As)otzWDrLm#vB+X3E-Bj-Wa0_du+3B!ieQ|6{mB8VlAD4a0VNVrVkn zuxIFJy98E7D#rDm zg`h2uWiPWV(G&%tIKPvXI`&*#5MD~3<>B`oqLvm3!bV7vq?isC%%~mfX zo=C;QL1WO7BwE_e#;eH^lF%-46`GvV*FuIiJ*!y~z$s>*7_BDnF>^YxWF^D~H;@f_ z3=YDU#Sjrw=ueFJZ-_#$`<#C_O?&!=uh(tc@%2{WA}9zVnJ}!RnLav^Ax)POMd&1;kdGIpU98Gq7oI>nStXot%?s&Z{R{jQ z%sZ7MLh6;CPYiE+ZXtSKz(pX8!v3%N^#);{v**V3?eUozmxXQ0tHfZ|)6I-E6tYkn zv5PGhYdCzyVYQ)j_E;9;I0&|&`tyL&F^)spH}rL!lE#dq#k>}wvpjzd^JBy@2j#5I zUJs4{OQ@&khQQU(KcF|n7DnQ6-;~1i{Idk%`N_{ORWyP z=LW@e9Fe(wUvb)VO3WClJ;1MFuv~-6kqyX;1Wq#s75hKYzA)fk{6hO4r*l~b(S&`} z2HM*8LE?cM)sQfbxKT~{rsv8; zA#2>Lu`6wPyLk^tY7%A)rHkt6vaHB`jS{c5Mv<08C!e>SU^nJ6$g@Z}?OxUOxq`QX z`{;OAZE!u>)hIC>uV#=-1pQTkBF6seIb9rgt_7%&(%$V=obWe~4b7it7Fjz(#p%2#caS?0mBhUszVpDYV(-bq!hd(ed5e<8MZk_0P zbm(fmCx~@-DpL|WGaLEwoRlgb8`d)3hG&R1?PLq%=tGuB7tvkm_--d^xOS-535vA& z;yWdjon=={et%EvndJGVD6xmN;Sa6jb`1w`=S=yoP}L_!xyl6GmK1oBR-VSL1kx~1 zl)U&S(MfTzWIp3v=s{t2>YJq$dYelWm7I-75i>!?v4b^mY?n@cC;=c8aCJ4oDUhM1 z8#x}#e(#e0;J^&vq54zECbX0AMuKj6%_f}@KY5VfQN3x9-?!f#OAf6Nja~yS0y#3wx3ze!Q9md-vKwz*$j8UL65Zt;Q6`fB)%Ki@*0zJMEd`+ zm@K}Jg$fgIDkDdPf=VZNLLdbpq9Q8d@!~Cosk4~tr0Mp8V^WjtSQ?n^XV43b9{kt~ z9Q1!qn(CsUw;d_?f`cVoNp-c8)P(2HEe42y?i)b`NJ+9-wP7i(*9q6|E-?&hS(Q2k z`dabJi##*f;;p_44wi|vd#?|bymzW9gd6h$@2$!v;FMeyzVQmB1E2p{IU$tWT(Z2A ztbxVxAbIeoAd@thypFR@&;JQV3I`%gf5gazscC%`d<7?@943SzAo_;hiR9RRkh|om zoFhr&(e@m$M(kN9a25v_xZn%)l1cQmck+NdHvyLiT7D5$%KefoWG<_lvhG#seiF6E zrJ@V;!Cu$mwU6a0Q;BFXiB`cH%;C3#tHa$U$e2zZ9igj1lk3f)4I>uD8~GT$Gm4G4 z;~IPGS#Nq;`c0!g?nI)e&%FXaNJ+^gkhd4|Z}i_TVU>U+dRh*OJNm^&kxJpNfMBJb zQeUUV`f(E&oNSLrovnXtVFuVv8wjBYE4#pAJGU6Yr6&AL_$?dTnG|6|e8xuZ3`t;k zMLCHb%6lBDCI5aG=r`)hC1}evMj_QnmC4RC8^?(SoojKmR3uMk+TleZnBMq#-KC-A z!#r}C7+4dTJ{P(3ov{}HM?kp0HJa;4MJ=sfb+EKXrkFc(c!2K6OUjN_Qd;6D{`2xU~dC_swtmLwm&&i|J%b`XNKPv}3_*dH)M{=Aw9WZ(ip^5)q z5{M)P`#RpYMBkx2fN%|2uJa_lx?lKws<65e@{58^omB4AP}kX+Wg(iR{CB36!AiGA zKz!d+aHn}4ISJl0@lVNMQ^-Hz0@sowuZOC0BnjHfGtq?9Hw7cmG2zQYdpG`4h20WS z-b&F>W>X(kVcba1dc2kAF?(SC+34Xx)Dn^UJCGsOFNcb3RUTESG!8$d5>Z(qOnzv) z-FKPqDpGw>z3&_|eh~C!YDO~yP>?JHZ zcYQv5;=BFX_4#n2b8-Ho&GjXtbMw3s*lR~~LkCA)lCbZ_+XTG_26)KdjM7wiFNS0~0b4UBHJu?4{|-|H)hTmIng7GqP! z?Qmv_qy~Ze{iW;(<6Ffn*hb1#f64ot)F<1@R2&ZCj~ArMI`q zU|9N+K@rA_;sDLmWrD_WrZNxlm`gVJgNBE9(X!vbjR;(jpx}&OKya4D$HMM5T0&E+ zL=Py7xpkWoQqNyw{H}l(-6sxWUP&WAnnBX%9zhs%FWh9AZj9Q0XKW}Y%7KP@qr9UYRE(GC{DWL~eUspQYyuDL zDWf_#mF1cPZ@pcEu z{lX^h0*@yWt)7=PSp*}HR$plmbN_?n$d{KeBi@HV=n|`bxuY??FmaVTS{ruf@D2Zd zy`64hjJ23Zhy$H-28T$Fgh%6|=Z=epQH$|=3=TqY0itZxm~WtV zS~<7G@%7JGZz{om7DnfUMXO3-LJ)I~-b`{fX4>d^Q_`qhX`_-gviV6GSpsVErj|Cc z51KSOTK=2*pN>FW=CH{mM!=NB+{T}dTpPBv)6?h3L|VLAD>KVGKsAlI1R>_sH@-Y* zb?$Yvhb0vCQWQmkKq50+Zh9UkaLoZoWtbsjjlGwZ zgS06G@k2UhXL#k#Ws6r^L~%(0RYF1LHr(8AOR^d@)@IT5#)HtV;Ec?@ww)@jhdFgy zPDZ1cDcQ+nVK=lLvv`0ExVknaE@63Zsh+EuvW2JhbY{uKAH6|DvzKQeaa>`g>4(@b zGmuxP;_8I0-pC-R0$H8jdc;?rO`(W3RSzQ*C$JA<3No47aYu~ht z>|VE}lG>F6(0GzMHVx@n_RMjrI}3aX0OI<#u}vPDt9fY72*!E+y)Btnf17q@ZgwW{ zgfv*(0$eBMsMKWU-?r?1lx&>t11jUpEgN%|BxcNp`(kzuFcY&Ump|B(bHPWCo+rO` zW`|mVCKH)ovnA~EW*Qgw{>c2sa=6nLvl&OS_e)d<%XZzA3`EN_3`XO@irW zlx><@x-o8P5JW6EHN9T~CEM~7o2i#1WQ|+?4vip)=_JimiOkGpKv*Ww^SyikGgXwV z7dZfHn-~MM@M^lm z3s|>{zU0I=;N5sNH%pQdhnZ|5*3Q_!z&*@$mgeS{cGn7=1Z(cYT zEsFT_qCG)WI84G@pieSQNf5QNw`rmIX|J>AfpvKdFtOqtK3VSp2;UF0XKDpJQDWT~4&!CTG{ z?A58V;#s@5=JaJTx6*c5DR619uDxKU?DqQ`F1fM*{hnXv;WnQa*E=hsYzd%g>#Ncb zEfDoFc!d(|;bvx;96w}ABKA%_8{eylXSoBnGg+_$=i@q{WrwZGf~*8w8@@2X&s)M9 zhs-QQ=RFjwhbJ88Pv5Y=I@n1S9`V%vxm08Z=@4E*1_ZZ3mZPd zUN`P(Ig)kFEp#h8{(%6!Hvp&4_B9f-+3yt?D@yg)jF&Ur!Z;CR+L0D`WsBXxSlS7vbu=hnd)m0u3E$}Nq$u|i(Il~ zIM75O&{E)?P|tRe_1F86yd8(e1+BElmUN+MpCCpdm*<5KPX(=oJNLs1!OoJl0kg1_ zw9ul&@?m!$fi31Z`j_vtqkN_}2w9U08W?bdt ziL+Kzd>xWf0+)7>H5aoC8I0hzv-4t%Jw#ovFI0iNYZ4DAO+i0h^DF=Dkbc7_i1 zBXzf=4NMjLXJRF{fBsxw6rV=4h$3EBcPoK>Owehv-bBZw(9}~tm<&3rli^V_2n86W zPSOZkj!xoJxvy)j{tk<2EI=ake!hG8gwjD5PNH?lxqA>~RkRYq`*pP?q=s@WGWZ&6 z)vMp}22)%5GpvDZt2xvs%>Q}UL; zwG&e&#U2(tV_av;-GEN03)2&q?1xS(eMZAE4e)lRB_7jP1?9J6&I3v<3b$xiO@6&9BLp25%>Y$t zdXXfM1)e=Y0nhjl^3kn=518fr>*K^!samhwQMP=ru@g<=ke zbBV^Is-#{RF0-iWU^6rESrqkt*=FNbBX|`dC+?rPrs+F!kGxu(Hlw-xbNnVk#zKp@xrdVp#`Avd<@ zY9|&DS#V9*O8%gw@b@ZqvJG`1Mru)k9$Hjykubn7m}?-PsZZ7*Fu3_x+xuy8tR<)W zxh`fLyZ*V8Ah>oN7#OE_^(88nV$jJ>s~C|msG}2AA~ST3OgF$!j-b6R!lsSk!TpbA z&inAq5tv(;l7A5f&A8U~3n~jmzD@{sBi2WqH&X!tcfxC!M+`u!8knoTuAhun;`jmO zb(KhQwUw(YF!VZki#>lM4_53m$5f>YONlvPXs{A?x^5Q}IK8=;nPD(?+q5bW@Lk3a z;$FvDcw((J5key7m0l3ayH5WenU#p4Nb;}&Z)9|~1e+Se4-8>3y4>%FMGCK5Q5xLG zuJH+{Ntc|c70iNX4!iih*?hW<->m&S<;Lw!gTP-_+l}DMC0c?O{07Z{$eP_fDZE+V zvyaM6EHiIQ7BFsJ56bjwuoD#tZrkw@4fn+hFoM0)Vq*2*2fvT|WwXUNkcFcSU9!az z-jvD=>H6IC!gbb`x9fm;)<_T#RDm)&TRO-QK5sL?7?tCP!Ic9)V9OSgU%tC82i<6M z!}t0&R|tj|COCrw?`3;D&i(GkT;3cM>WpuquMGvSb1}Jzx5L@Xe5_76cw1_zfnCGj z)=JCQL38N!hvJB6VWu6U%ddf{FtLfKw#^5pJ`P?7J+=GeZA+jZUDBWk{ixZm+-_$=Rd?>ZZ3wXe`)jQyUbo~sEB#mm zmnv~&z-{KhU8WYiJP+;=dh^5)MTo~bT_qv3G_C`deQoX$;C|xI&ma}W!4F|R2_uOO zq=*8)P@ z_mgk6^W{dD?RAp!C|@?$ga%rW4jc$0HzR{pm|yTN?`ya+*$Q{T>GrND>$V@sa+(x^Zj1;DNSnEAY#)M zwuElBldsp4ZeuGM{k!%K7|iPj>9E8>hfadNA&el)i3~q$IWl~?`0v71(7%@r{@r=3 zIOlThbpNe)x{rdIq^e?|U=jy5N-(%?*QhrZgCtF)+URn-aLg31ghK%Sq{;SzXUm?5 zp^Yw@H1^RJsN$SS0q_ci=G_qIYmpSHL2wWhd6+g1n3KJoHaHDW#2TiNYi5|?DM(%3 z2NTK+nuE*9#Lm6l+DsG$gOwA2MCWaIcBgZ5m8Zz4>%(r5*W5InyId3rN6D&Ur& zN(Xqw6y>2`KMn*$iUz&X4)So5L@bRR7S4kT$h;NkfI7sN1j%ISnF13*l%9-J=-GKs zqka&Q#|g|5Ed?GJqo#+PzE|K9S&Bhec6p0kD_=3wfB#?q!yc59-di1E5>U!Y*CFDgNz>`uwIPezmOIkwobfL`h)_=0;n zSdKwr7UuigMZk>lGvhceUA1T_+1hbicyjl`lUr&pD6Z~0F!X6jRS{Q@b|ov6m3ZNl zXvZQeiiUzx=uSLLgYU&$^y`DCupPuv@BKC;y%J3`KDuiN;R%W2w0?AIG`=P=QsFV` zmV9el@~v&zfXG05-jmU!gZB5?Gj3x=s@AGBg_X${~fxCW}l6CGo8t(8vS7;WBF1 zDQ+UYFW6{}Q5D@1r=yGmVyu(SgZ4EXmBU4j|0B%TS@9=~J&+1t_M`H*v>zP8vOonc zl5gJUYbb@wO7@cdc1a#$J2*VJ9eg9h+_cV0t_MDz!rxm2ignLBVyswI3~2JQO2EO7 zYw?7|IkGBX!fd;y!r#~6SWwhvbJ(eMHR0C@LL9 zezi6C(vA(oYaclcyVRqJdo5Xeteg?QOanMvurV7X46oZ{gEWVEFf3cC zN+M0Spi!&^hJs#QQkPJbRF|q5^oo)L`*krFoY-wTCC$yd=#+dnub7)GuqC;(C(Hv2 zfS!~MT>4UU62j~CryV2=Z6~+HQqIhBrfqs^*^bO|4|-xT#QiHo5@?CfRYN3+Yampw@ZvndiFDT zwy_sZX*&bBOm0W&)^Whp)l*Vjut~R`!a8=Z2DOJ4VmvDWVYTkjiBb?*it0Ga9D&L% zX5JGPmKul)GSM=(S<5`2#R91fG6ClFolyB`Uq)%<^BFJ5pJa030AK?TM2*VDHzH~j zoSd3?Q53cjIu9+%^EAZLKY-TYr5blS#gz`eZm?Cj-tFIO+?s8d9SMo=z{+{g9^=tu zpO&v*VtPo}#D0M-huHGSK{l^Bx!XO410*kYzx;hd!^_cm)7a|p`n(OCyQnbGt{sDp z{@YS0i9?=e&q&1F07zVPfu>Wf#$3U0VsvCtDcYVuL6nQQ~JcPIDsp0Xw zL67Cul0m3eG8k<*8dP0M=N=Ot8stBo8T8Y9`9jO0&ecd?cyi&pLuUz~=E*4dmba|I zh7H;ZOJI)(z1o@7zmG+#1O);zeEpXz;h-wVQk?xeykO-i z@(L|>4x%LRCm(S*sH|X2JUk^0`XE4-^Go4&?L1}lF1)Y~A|A?XQ2e4ShK%qXXJ9F3 z>m!S^b&;hxV`*>}et<`P9E*U1BZzR~68;lT*aCF2&dI$=v&A%6u!2C6^yG4!{Qm-# zAq*|~Wh=LvmM@or@r+@jdGK`y3=*qt!~eI*j1RG&**IyQ;qw_A3lFVocxh>c$CW&s*u3cfJO00A0jN9I8oY0O zu4NBwNfaETHlGYA(~O=9Hr4G1g^cdwY5SoBnH6sW?XQSy@c-@IWU>`R7Q3zAjmM9> zuXrl@Av#{m%Tc^ZEV*Q`I6qy#Oh$s7i00ShksG2L77XY_&|tk}orwELhc&$xph+Ub zNsId^O~EYNkXhi`kjgE7Ack#fyz-e43$HRpyhZ17BP7Uf_7eo=*2*LchUFSptZjCd zhEsX}VI7M7`uR%Y&FPdFj12|rqOIl=Hb=vJLe;A2kRwf|n3#cb(<+H77RpIvl?TH} zowJce^&d51Ufa}gpWw0N+)z5m-Di}x8OKCn!Lr+f!NN2hE6@Su>q4|s=IfEP0>7Kj z8YnwwF9}z0n;mhLxK5U!vQl6f;BO{bV z+E->7;zuIRv?HUOUnsKgNHN|7#lSc! zMYzX(9pmv9KcM2R>%{1VLS>}wB95IxzcG1Lsjyj}m0LolaBL^WZMB}E=8$O~4T?+o ztsq@~v=mT+u?_tKAuaYFSZG8m`7H*T>+;34Vn%I*v`~vr`}_VjEMpeeFbQwj#T|Lfs1WqZqCB-J=fZULa(J}L$oS`E*lpYUaola`9%U@S$!nTLo_V2 zOkG;ISs6(arTXuIqM2o?#gx3?>9Vl{!DUl-rZDQ2@GG0gm0&@S&Q07`K=Nlhv?K6o zFzvgEC{P3Y?H%5#Q$yj`af~0zFC05vwlp1;sfq*$wIVG(hxwDEVvxsjY!DN&{1*Ou z!x)@6wdgY6yzczpoi6YE-^alLIhASCzjKhwnF7dz7)iYE#O|1@j`zaOYXl_B|ttEF- zq>g_2^axIHq_!mBQzk?H*H`?ZQ6T8Myeec`x8<-Ln9B z!VbKA>N3H*$`9?}_g6-A4@Y4Ty$OO4zhc63_i(#}g~BBU2tsQpr27y@PNyL%p~WUr z132;tIEA0d$sgppX^j0Q?uwD3$0Dq^tXk5V~I(0 zqHHp7I6#|Ky9gXW#%OU+9j`4#ld&|;@-4U3)eZ>a_SKG%gWSjw&S>%y{;V4U6A^|@ zMc`~{)AIdfu8j>-4hJi$TVfHq4sX^jHng)rRW^ph@RyUz|4ZudLPiVzpcI#R0!$|ksJE{lRFA1&8DO0cNAETn<;(8&3c_^a%fc% znXjOKJ6WUR$V^IZO7)!W;e@iHghYXO>DE6CV2gVyjPqy8p4X7oz@yO z`GUfC6uAB|hUrmUEj6Bc^<#yn_Bn0ITF%Yyp@#cD0)hNZSGwYkTawX?5={oazB#I(SsmYUqbWJlVa zn0h8EtrnN4NEF?VW%>M=0Xo+G;P|v|_Z5|@=av0bQPOhSqUTZ5c2W{!+w2NMWvc7R zLV5fqR~;9iqOl_CLLbEgmL@0f3nXao##EUK***M1h`=|n+R4SMPPdgz zx~*pIoP~Vaz7tsxmgJtjm+YSYY=m@I1rHzqOL;8hzgUTZjI_oSzNOFq#<1yjymt%| zbla77#bX1>9xJgdCTeyPJp8zwU5CH>H@X!>C4$rK60I0pClzAu9mx#>Ft+A@7Ui8ivbrXM04 zyZ6S;1HbnfCVY9SUfD2_Pz=p?zuj>1DO*|mz!B#61I#~(vbC3$gj8?gj9~vEzQqZ6 zkCA8wk#`4?$K%z8=N@ zw1o%oURz~@$*MG_{{Nv;;>O6r?T5;tokG1~l+EgE>BVn9Kv8CKNI)X|KmyQ8$$H^Z zq3)kR8e^y2L((F<)rx%4>VE=4%@1tEpQR807$zVyD$Hn&a!c@Q+S2`ulgxHwRaA!C zS#YiFeBd<#>Qbmy!pl!s$6_oK1t|V#v|xvy<;PmMDSVfbCx^i5n3ga%&J?F8$Ei?= zS(UJ=Ee+FKKI<$yje}RlGPbzhzN<6=^vkR=q~G)M!%3rflWh53 zFm`D*XFEQV6``=@W&euE1!;VdOh$k58sFFGly(G(G-@eQYxKKqgbTOf^pT?jcTGpt z0+JmTWNA2cf(BcT>Ao9+Q(TW8O+NY1B$@&~b(+wYQ&7d}Tu!9%Qw;E;l6q5u>deqI znfy=#Z%vs7ywGXc3M+B+lUrX z#?j4;Z0)4A-9BbnvaBXZ3qGmoa5lWpbd9C$M7B1#P;~T3Iv77#BUdFS$#}VRF!`=B z)`LBIeMU3TI2Pw{U3?NLhXLL;Ix{i9))9coI#6qI_cYW)#P_<0Z+=Nx2E_B0>_1PBzIQn zAYf>-09x&E($fS$v;!Sq0~xTzP??EEX+iq5y?P#23S0Zp@GI#ZLk&t`laOC=g$IB@ zdSbqi>bln70m@Fr^dASi8Hd_%oXmF9aS$I`t*Yln80Ii%IC^c5BnO1Rw#ODIXSw>^ ze#4uDA1Y4}HoEY$pq%C$@25;l?6=(yJtxchj~PP(9MjknczVf9+VjRv3!oG$ zIME{Z%bklNHn+gJAi0^p!%o;Hg(^qK7?Fj75|b+yGRA7lEY?A`?0s3nmtLPPz}lJI zuBAU@B@v0Grf~ zVE37dI;JTD*EL_bPvgKo@rdXHg#W%*-ab=OF+?&}vMTIMy{L|tVuX5$^#_udTJji) zV&Kxmbg!XC;(I^DoG>J9&;mK zR=9)aNoK!wU*_NXeLtELY--a$GOxWSuBgO!7J9RxCbAI^9rX9tzvN2SV3B5m+eH8e^ zT+8i^-;a)ITC3kd%h`W8;VNbl2(1}QHbdTe*_bWF&`vuJy=#C01DQ)_@%w$SX%s=6 zjl$P7(nblX=3bH7@|+Zz7}?y}skc>0rZ|y|fDL-p735E*(oaLYcI#{qPbvc{?#G*K5ofMLv^2w|Lk{y$7`=Rk=5d3Pe^?^G2HYl%COZDBi=2ubZ> zrxGE8FO(Z#y~H0?8nTz~ zp0K3d^K3J*6z9c} zz5RM+$;)eE_JU!|l4~-Es1FPSRhswgxA$b|>(0k$yUutR6KST0=v?*gWkUE4Yfp~q z;&8ysunKlg?3XG@*cV8Dg-94Bpv=GSV$3j4g>gz%k7+58%nskl^`O2Ju3xBPWY-2u zdGE6UI@8&`9KH56=qyX4ZoyQVh#NnKYBzB*C>wjC(rp3;Q0#(Utg}+khb{|(lm#p# z@u=%X0)8z?zTGP>k-YBAmRaZK#c?^a$5$~KjJ?2%+(K1OG{y!iAOg&(?+8T@N5^%; z<&{uOSOFm5u4*gK@HMCMM7+Db}) z4Ks`Jz5Wo=gj@B+W)KV;&wABRRbbdD2Hv}1-w`t(e56V=5UrpQy3Vqjuisgbq-lSG zEZ^&OBB-Nfn@G8@!N8k^l`iZML}F2+CrylS4_jEl3k>0I#{jx+Cq@Xg8xP=#5^iPT z_Wvmd0j+mZx7;mr*1-wgw{7CS!ilv^sNd)Mafy8rrn}cqu;gFm&&`g8G_l0(NCdoH zXw3Nk`#{v4fmRgq;m~`3dpmrXR@$kc!}t3B6d8o$^EH1W5|6#` z{(rTIUmPJM4qc!}tS;Py`beD*F%}6U7=*K|Ua*k4au~5mTCHxS)P$<)QS$!$p*elD zA5c;}$`80#2Dt@y?0#N|NZv~=fN1s&*&vU_{PVf4GZ(zdgYn+YMO(gOr7{s1Ll#Xt ze@F}0NaNrKd2?vIZr2|?dY{+S9c&cW7w`W+J7ygfMf-36To9(O9*bJcD zp)Y>4?yfsQb#6&F&1L}=xMSVZZZxr`*d60@Hx+H$suqfQRZeD6J}UEFJ^aoPNfjqR z?)#&4p^KQtQC)(17~ada0%0K~GPkCPu!{SaDb*$(=7k^U(7noyR z8a}baMG9jQoPP-Kc$>J3!ey^k$VgDQyu^)L;bMb!2%OU*1fY)f-C|kYBpcz9JI;xT z?99(06wt>Lic>4qhBp*6%%=f-?wtXyavS}vWwt*W9)(f}RrNqnGN`M*YDS2~k-ksa zk}i7u5zFKRsmMm(@fKp}L{l3$Lxkg>1%e?7eyxQpvEkF5s`p4*iTs0}&2v5p$nCZr z1C`K^y!YeCdoOB0oZ)V2JXRzBwZ8j9qvhdw3ERPyJy^}hSDD$7u!@bm+5QI?-Tucd zyZ4ddcxf|>sbw~?*j!8kwup|X+3g3N31;v}e@$Q$eAmkI@@RQ=JGVMZHVY1SCg{Oj z;DG11#XWElap_X3eOCSG+M2!vhxc9}FYkMOt82Rr8NB0iWZ4(yU=x&Z;O#z9w}X-{ zzE_d7r0SukrVY7$9sq99kgW8z9Xb+(huKz+G(=3q-h%}|#o}Zmsl#g53WAf1rGX0u z514^yOmV?AObt3?7ZzlisWUZ7Q$=P0=#4he1G;CZy$0InUL(f+76(v6Vh524B$OX! zJQ7;GqL|x}VS}C;bTBHtNu{{j;~ApiI@LY}BTA{eYZjyG=Zy7-bH#Zrhk+m;nW--Z zII?uEW1j8=M>L&0h0Dk8o_D`#G?bMc3lMJ)?&nw`g$P9E7d zW>;4Lg3)#s#6FM{_?~LX2XWqBXjLkUjG_Zum*h9HDTjxJ1Y_{X@5 zw*DE$_KF5)(!`mB~{E%q*N?bbjm;AfskU23?ux%#yb$ z{BrL#=IlJ=wWUL@0~`(Bb|fo>JWBpLl%Px+?M}6uAPVcn_v_h))^mrlaGBu! zTCXjFn5>qG%a1SKOs4}%Z$iRcJU~ORAlg}m5*whDYLqSVzC!L~;eG(usjr3iqDjfg z?3z|B!ED(5tP64+U`9P%E%&}A-oF|w56~g4CfJlBVqf1`jDkmWHLTWqZ@7R?ZA&ha zE+$8gUb@s=k%Z!$bR_`2Jr_y?P1lvTnkbw&-U(4$pG4%Gd$4ESTy1BtDjU91@jFDrQk5$4W+- z6GCSMKa7OT>{-`-9(vt4-YC3-46)eQ9AawY-yD1ny13)%d_P+DJ9c#j*dxEGp8&%RNditeEU z$&DF0sThenk+SfrA*0D=8cqX*Xmsd2NY3;2Lz%767!h$$1X6^m@#gv`fYmS%IGp=z zuk^7dS*pqO&8bmwtb-goWv+)7^%83hoOvs$1 z9ro^jiDB!xeko9_O1hzws)Of}HYiE*!)%NF*42^(0Noo(LaBCi%4`bz97 zqYBVtNiSeB_u==?-`(_(lG?PzQwPh2#agc`DX}#WPm&efjH&91;a*Drs7Y1g_p0pXa zgM3hS#CFp@FhOaG$4)pG7PsAL;36nOY-^~IV=%IVSy0Zz;vv-G>@8u@u9BsUgV63L z;zap*FRomvW}8t`!=^&TC72Inhl0mArvRO?T9ZOX4#F6!GEPnvg-G$hK=)x=wEkt~`#5>`f*ICxn z;P*Rntg1M3iw7xHU~d4JaCkZtLUq-jl6GiOKr{&*Z>h}>fJpS|!S{rXUrqa8{uIllm~3XpSgA01oe29~ zo)axKQRkd|m~@KV&n4U$JEy{`8gre7O!Iij_eGp%ma1}Qy^bhauW3OEZpq~lKZAJ_ z$*S2e=ah>J%8|s{ZPq82Gs}nxG?yfF?B|pF9oa9P_u_RP#MN(#-B_|v+Jnys%gmLT zZ2z|{C(aSUM-OH}+ouWQ?8lkftOPB)%@0^6}MUjaKf_w4F@=VI( zbjL zrGYlnUk+(Mh#Z`F^SitNVCQg2UDS~^LU?e(?QGZS&~W4)jcTH)zFNUpFjy4y1a@Js z4~1-&!k?XrP-byA6w0)1c}8EqsIy`3>uCM`@y5Q&6T%OZZd-*Y-#uTd*i>+JSe*uB z>mDL(hOQzrgL`C1{c|MSoa^=C)>yJOuB*hGrlf)81`zbLLvfUCu_sWzAI8;mkp$WS z1MDUJxMh`v3Z%J3hN=BZMSGU&r@|%MW4*rm>q;3lNh9{@ds`v$Tsi59N~7HB3Poe0 zvSuMkC$Ht?e|?Luqn|gjW_@W_$5M$Szn`+j+zq8oGE~vXZ6ocXL40YqP=>W4z4`TK zBEI{nGSEz6v$dyH@B&mx$+lAVi#sBjNd7SqXeYSLZQ@kH!#i+yOztG!Hncbhi1Ao` zLAAh*&)Rt9KjOt4ik|$G4FYltR%O@B!&!x=zk zA;MwQHaP@(fy14};fZBqqJoLChbU;AbshB(r1gk}AeK@m2Ci!&6`~g~sINjI4bHik z+wbMP=q8cH6(mUg#F#D!hGy<88;qF{5N!fHVS|zImzW+n69|ixkx+BqgeXKT2Th_4 ztyu_|#=R6I(kKaskh1d(5H;Cmf}g3N1*4ZoW|>SPv@1LDA*5S-OW@b4B;QD2&gr;W zPIZE|FqzXty7@BWSuM*OdUvv!%n?hMY_#v$$d`Q!Ja?0zo_@JAweBA>NsPR;x24J)Pl~ zQmDrHzSD_cy9pk_9gUD^>F!Ud6$Vo>Q_JtD#gLmFB{%)i$1UxnHsi{Bj6&(?IB91p zNz&cu_93um{PQ~t#%(g5Vk#Z;dzOmYNw%s_8HkwCQmskY%9F=jYJmi4 z*qbNs!0Q}X(Q=B)hB(12L~~a1aayLYZ3Th{pjRw5lU?^a#Rc;6GNi}>R$15T-j*y6 z5Y{vmBf#O*c7OszdKPZ$K=CJdCk&vSZuB+ARLKwep^n@w446@+ci|%YimHJ9IQ1~m zQL)X39AwX7@(Z-6R`No67H2S1Ccb61N;r*qL;NBwxXc_90$)>%UIx#weJd0UgEYW@ zwQGu>g;m$8067j<76ln)aR;#^x6S_eV(M^Fr#c3e6zKAjI3T(2~P-3d5O!81EFn*UPtxdAf3k_?lnl4>@=og z%Zo33N{W4F>gCiU!FzF`{|VuF&gs3nZJ(OwSvsyW|kDj5>by+ zA z>jnZ#iKc;`P@sDH?Jen)9VAYuthVbN%iGQUq{p!IH!^vTE1TiwEMg+oQ=o8G(RIjJ zEqbCDL@S&Yw2Ol(%B=>wllaj{zhNVLr!p6(sLiNp4d|XREN=X;P6G&UC2=Jv9#JhKq)MdNN;wn9V7T(R+fJR6rHN!xp^5 zI|<=V^R0L-DMi26iV3AOd5%7=;u?Upoo@R%XR+x&_d-=5*!lvpfX#582mY8C+>-(H z@?{F9SrKWw;DvM*=cjr@k4){#Qy&V*ZVpsLPRTY_TB-iwND zu}aTyKgWsKzT0vRjKa5+3r>P;n4D19i))yb#BsKv5Q%xeY_JUAf!U8$)CvX#Ug1X8 zgOG*rUSW>N#Igs@ax+yd{W4@@g0PZa`Hs~`y|3H>1}hmf-FNR^Oe>svTpF50rrDID zsHURn?2Y9`Mkmx*kXNfKmfaZT*AB5-k0tPiAX_7O*XhE5ljso$R8ZbZh7Yv3%#=9z zT6$T;2Enokj{rFz+sorJGPy+{Wj(2Z>Db%Et%WSa=L#@V5XK|3c#@w0F+k40o7LB% z-l5p4L4%W8s#+%bMG%xI(_f8u+p5p{_);|tT)rnMfei^J?DBHg!m2)IhT_XoGB&H( zg5SPbuwF(L{+M92q#GXbPxkKp{n7_FR3bw9S1Poo=*_+_sA4#rw`aHdY$JVmv?3hJ znkNFo$DSIF3!!AU+i}g=7|zCtwx9#{XmT}$wkhsW3LCU?()E4+!Lm@HP~&)%B)f0J zM=O|ipkz&MP)DYPttZ~97QK~!poYmYbRKM(Pt4f$XDT{2+}mV92~KtElLHg{?UAfV zwkTq$nvQ4uT=Gltu_mexpIE?Ho6kXLp*tvz&adb3xVfOIP!D!;9*AU+N7z;_h0;iT z_MXH)%;D3@k+?ZBO=_oL+V)u;Ks-a|5-^MBVmUQT2_y78o)o?4ZXkMlpO$d)IFg0e za}cy4SsPA;dsz_tj6=?mb;Z3W_ZWgn{!UUUAPrj{_M#vm9l~^4Mj`u6WY4HSaL$T9 zl298NCPJb_Gp>Nf3uzb@V3vl;IPDaFi34xviq2%hr`R|O<7OSO&6)t+iS@zKGRr7= zH^v`be3+O3`Z)4tmJ7n-6BW^At?UGtCP6g((3+Z4^*Odu2kkwDUV--=XHiJS@{fi!Zhl7r{Iziwdv#gwlKAbfulF> zwS;juF7Vf}yy&Up0?3PnO*$Y%1))jSC&LDF*t5IHHbmxnJCg26uC_txi1F6X17;u* zy`0rP);?{H;Gs?*S@5Q2h*Sf7K0@_7QDD87?VxZmfg!vKy*ZYLUZ4RxFvvyL-8O$Y#JJQ zV%K1SW^jpQ;7LaOZ2YlW#Sxy6Euc!m#fEabgwX#o4j*G3It>(Su*UgacJs`CbhYK;*ry$ynNgfnwpuy z?*qTaEk>=f_hQGpvbbDh`wLDDE;=IF6u8)%*^4}d@I&5z*_vKq4o;qY_(B$+RV1a(@w+r9wbF{HnH z)P`IGhvrZX+e2#$(_&?<<1>}?(0QInL~JW^AD9g>FN4S19N$jiNxM^nJeK(G*!?#I zDLONj1?j-4Y!NeTPzztT4#^Nb-p7%O$A~f8d^%-;Iq+<(FsvprKv%L;IeRRE*!JSQ z6LeIugA|wAO|FIx=Z@p5y!j0|=@l1#LCl30{(ij+xbfZMUbT#WzDgQz1;Y4rFn+lt}JfBA3>wfO8)0EKrh{Y_pcSRLsa8TO$pk$Qd zym}1*WRS4Kw#rf&XEl8}V8wVVnZnE|UM@u6I#&$al<|s`&#jK#Hw*&MjfBPWtqP#{ z>WXdRmtcphh<8x^0a52z-V8C9e>VZF#e=WPd$ek+(^M zX8ftZ1$bXO8=|1Ofdf*gK;AA2juFQ@YtnqFAVNIBF0c?UZ6tmIEE9Y`2FfgvV3T<3 zYoXuIns~{58x%RQPq<@h`R_(VZm6$LEpVxzCRR{-Y+Qx76Mr)__`m=A|M9>6$6Rs# zbtRe>|JG_~P`@zD_fFsaby~ik$lG9}>)-kN+y(#p`ku?4exCm#+%_*CAAI}su#LNT zemD7L`A*E|XUo5=(d)9l7x>-%Z)2a7cr<=DAmT27^uO8p5*1Y~LlYIt^ST&5o zn^y#h15ZvoMnYVD;)qt_6#hcjTZ$gC!_0=u`ekcRyvf8+VaXtzQ5M2 z0ub?hIW@Oq8ltO`o5UAK{?Y^`#;w)yH3Q08R7y$rvL;zp{eGc|Noa#T`fKJw?G#O$3=B@xu|)NayHPwd8+Yb^D-Yl!uaX@R8Mcz+F( zvQ!OvTT1dSSc!;4#AKdfX`L(E6x#ppbZT=;{vgOvvi+G1gPNw>d)4f(+0rT@i=st zm25~+B1jLCI4p51db#uSjli8X`%*PrnZkU&w!|XME|hgGipk>etr`o> z%MjnIZe~tY5bivdC9XSLW}00flPDbuMg?oy$dG()BCy%h!?-r~?P(Y+efitpP05c( z6r~k+wM=1V`jSbOqhyw`EXibPF}16r4s0{$Yiu*O8|c8?IpWRcQVvZNo|h%6BcDAn zIoAU|Xg`v%KF-YI7(%+;BeN2>Eo0pnq*Co#)Y85?cwLn-cD(#xHT~`Hi2QV*Pb07c zA6BkY z_QV?C*^Q`cxtaw`#QBUx@PwZcj0;FRYu9Up zk9=(D=t>8KOp0ORJN7`SS&q0oKW`+2L_3d=vq6%jmE>OTALFAA0d??Em26^@Ds1@k zcxQU>>duQ_Qce3%-?{hwcKe=Aym8dzhtBk?QSuCDkg>txsMeD8t>vp&ui0B2SNcGE zO}fyobhP(;GMvu}*3co~u9v+f&nsVbW@_Nz`-q;?bfC| zJ#w_CdLIfeglIu@h_fz(5`lDNiECiu-q4*N;#p%h_d$6UXfR`hgG0rGB@6yI1-{Cz zv~xd#upxd`uu9yRK^aopNqh=uhf{4$m~QvFEMYxL3^N!MkCOJ^d@$X|I(^2yd+G%yCv-wCC=rHe zJ)?r9sPE1?j-rBvb<1SB=(?6?41%i;bg9UHmzgK26TkjV3XBoUCZrK4mKYqDqYNfO zO8hrgGJjIC%MgrbA}CXGQ#1Bl+7R!f)Tx5pP%&h13w-+fG=d2_2ec=}3F9Y0{J0Ji z6(1kcEI*0B=3XwaJW)`!N*wC5=_NI|+PY%}9{fYiN`ze%Dxw zQx{gw65**E<0n@|`w|>+D|TWca-$O+AS*7i(LthCQi-D~2z>+qJ?K_n$?B7?s)p4r z+UiQjZLrj1Nms!_fVx%s3|Z~UJhFt7$lrRUfT?r-CT~cEzLh?wQeO&&xN6@^67nf( zmYZe!gIa+-{XFDglbfc=}zqp$W!=Y^&6 zhmI2to}=uL$`w%{TBl<4t~Sv+l1Tv?3Kr<43FS$&0d9dbw(#?W_I1{Aw}g@!@gte- zV;R@}G}^+t`oK^l-N3e*wHWtpPfwCvf42PezqV-!-l+=Gy$u#)`fm{$WMn^9j>Ixw z3&EOJr5v+fq?8!K*e1waCBgWn<4l`LQ84+r(bI0KVk036*qq|B(bJjpxf28_(Ge8uQXT*xYzTtiodCb{-bJsk&EPV+VU4g8 zFSS)fH|;;O@GN}sV{R|7i8SA2*l!`pCM(g!+K&wRuJGEQTA{nPKQN1e#8CG}0cKZN7V+2HR3kyqE?QY!kry4v_^x3D@lj=t;PXs^J zhuvv-9xN{fN=c>dK|OtkK+=ypgdLqunJgYC%npB>zCjRj+;z(YktL`#q%X6&RzG*) z$zfY0n?!xG{bU53BadZH1kOfIisL~m2F90|%hEP?m|GYqTfTzh{+c<6z=6GEC6ljF{7+@A>0ZHoyyB4gkB!Fk)QL zvUvy1wO_S#aS2uBB8G#V`d_xdF@7x5_rxPCVsbxKc50gq!(;p3s=kRF4o^RB2R8sN z90q-Ez%hDXeyYvBY&~^PAFf|%XGU4i2d=h=zqW%WoMtM53T6;`r+MGrSZNG;H&3mb z_E!A0?(x|eI$mobeV2B&Cy-bD0jWbr8mbB`!WsoNToq!GCT4q$1Ss^Ig6h=1?h48h zt*@K5D;}RpUH6S?DPe!-Z6lk$UaH@>g~_KKgm0@zcXHQ0&U^&UXXy6i7$|F)?8nyM zhF`MX^7iw)#<%C`!!syuA zB7zZhY$69|ltxYzdyV>Wo6=de5N`s3>;`;qr&)|=uNFiTHv+ZDf#?aY7C_a=i@ zL6B`M!MP-M;M-m3izQ`hqd1QX3N%c3J6R|;n?0$B(07}KvvCbodM$o03SwM@C=+s2 zrT}a9bywJ&WVFhe4Rd?y5;9}*;f?osa*F*} z%5UsWIgC9}xeA-ZAH#>YE_@@QY&rt$l=su--)!~uD-C0Rc`U%}(-w)hNB z0))JUB@xB*FEgnXd&A!DIH{abq|`gsk4!n^@LSHQc=%`V_4C>jNdKzi&R&S5k)~`- zZ|Vc)$%U*u4YC}&Qw$&ECe8RZ2K;Bd)r=Qxvy|jmJ>1d9(1Y_BcMna&SG8myc@oSR zGk(Au@IkK|PBB;fQa6vB<7{;sy*7oIZ7PT4P7x0iIHLY*>1j!HOHewsOeN0Ac8V!C zmLhC|j0VEAO(ZmdoPKjjdH8Qw6YV!EEqjMwr#EnJNo=tE90f_n{XD&)M<81whi#Du z1v0*h7uLwCSn;U67t)}xawKF&Hy5}|%??~Lo!oJ&7h{z;27|9+h7$`>YO2huM{>py z8lj}H`Swx8*osYa9cKn zvN7n)6Jb2zrhkg4v+4h2v3>Cvav`>FZzPLnCN2_L?>Z@veid92UxryX-IP7Tq=sYD zzGaM@whCvjNcA>=?8Xa{_{mU&+7oWG!OA=x|<@>^Rf7i+VYsf(z8^i(W6 zViqBbymW@2beOCX^+fR((aqG#eQ>8KTmN6+O=$KUk7Ho`mV$IBvzDLPcGRg5hMkk@MyaK4=_w3A+te~QLnFBRPA3nU# z^%ny9HI!djr|%=(>uY1U@Z4B-N|xBwor+%VVnTYQJ%tLpj2LJK@UvY*W-aj`)tc;h zUG=rGQ5o4v(j9S|lqI*_^=`k7?yn3T=RQ_~;%n$D3Hdc_HGM&1_UeV6b!w^M%WJ~z z;Vf>?K+x0vF%(w&)^_-!RnEegvfI~JlW=`{=iyd+6&Mbe^f3>fbaK1#ABLnfnhRzo5LHj}G za6eoCerg^c2>s2qYZhhiWP_o^C#3(q^qm1{5nhccM)9jx9{zB^N&Xp$%15&2(K@ z2s5~RbOy_Cw2Mzhyw~2d(b;?QD?1^@+-om553*|0>3n0+N%%`-SV_E=ifU1|yZKM&=U@>~#n(s(kGK2|6of0Rp zN!MqO`?hTddnPu&AAcO>N(#?3%_PgrvJ=-xH|<)}@$14F2}+?78(;Nu%YY5o3zLvr zL$p8%+)~utRw+&;3<5=f6s>1Y2CpjOq!0S)#+gjnt+v&776NX%v== z>gt=&6dc!cFbN9BykN7~Xq%_>?_+Ilq&0w>2%P63*y!L4H`B-YXCo|Fb-)Rh+y0wI z$gJq>ge+(FcOz1zu8Z>#7Tmna1?t)ku0`5?ZlLKjr$-o<{*x__StDNsfh0i}M}cSj zyUAaEF;Of0)ySs+I@7zG>2_J8f3p!`F~lE@Y?VzZf!Mq2;)Nj%L01Yyp|8BrcB~*_ z^n5lqgTInDs_aL(BZGa*n(Pm)LVP_%Rybd0O@yt_qkEMovi@lF|3SjRE}o!R=T(TE zeDbWxE~ThAJAXL||G5T_I!4&%&rB5{to1Kd{&)LYWL2Lx^)#?gZv@nTI9ENo0H1H` zH$_(X(ZzK%;P#FG|6hu&A9aC{dwd%Vy3h8_SiJw==?A|1@Vwp+9%Ww=;_cf;qu`Sv zTt0*9<-dw4#OrnNJ82(Mh4-lr=uQjrtMC13EWi8|&vosZFmsMCj^MQv>gN@Tz1{{& zNHiEC(w+THi1=3tM8K{*MGgT%;K=QZKq}4`L;%La*orp9J=&?z0cMC@G0O+LVpKhZ zRePv?Vi3%6>h^Z7065+IvPDrmN1F>C#%xckWw~NiLLJk50vf$K4ZkDL!XTH`l$ed& zQX&-HDL&S-gyHP{ZTbbmz7Kls|8c*>Z`-!oRw%#NwxqjLdO_t7-&Wlb;MSes?VqbR zsV0NQErR2lbNwd+@Vt`K#^mA9erSdV=}=*5P5sY8wksX89cUsgKpA57=rV z`ESFBlczn?BTSu%^2gacq5NhWak|bT0B3bbk^b{jh;w}_*()38l}zUHPG%rFcx?e5 z)}L=DPJ#N&D|?OKAvnsfrwDkoXO@?7zyx`}clrw2_D-)jezP3rFob=qlsLA>2*pj; z`?O$v`W%p#&%ooSa@A+ber=P?5FxXxI^iIU>nu*-r<_@HhwsL!q+d&P9H70u*6`Z4 zcdCRnx~Fv}ex^s$qKr?-aYkNCGG$2c_xAkvj)jE!Zh}s0voRNlVn>527=>k@S-|fu zdGuLS2nDIfbUotN?=pD=h7?!zAE&#)csDNvOpVX1hU(z=GYqDZH#@G}R#%}8#zYg0 zh3HnYWTDdkX~TB{eHO2`p6c7hXQ#+eJ$~-xiYW|q*5ldKzr+6o2I4PW(~`hjl+r`M z!^Bs78`;oj%zer~7=WC9O=KNOLmi$sq))RUzDN;Q6S*cBS2Jc1QbiqRSU5ON`DAsW z=|nhIY>*=EirI)IXAZ$Wdu=Fq-AiWq^%;^W18@EcwXkgop7UGr42FsAC7&MsOm`9k((Z)9a+C^j(A$lS zc8HPFAVb}HK93A(o!RQO|7mj=Pe6{OTij&t=lf|zq_m5ejXJUINtA?mbc{si4-Hqs zu;t>e?vNJ@`m0KSVYqKpnO%|sp+)y1H{zMJGxyG*3eh1VwnPl|nBiD;`CQlJp%vP7 z{lx}LmC^&_6OcrFuD}-qND}g0^N@BTVY)3gQz78dxY{CP>6ryY<(} zq>y7dX?%&|Rad=Lu=G_Hjux!!DGyZ{^I~Pb#y)qF*zulObjV@R#8!VWCu?6G5&=oo zW<#XS8`}8z0fLzjmD#!doYb$gZc@C622pRpos7->0-9%2{YFw%6GwnW?7ZjfiHujn zsQy7pW9)n*L-Rr&$!Kj)QiV9J_>v6A+1wC*p-2aplRt^}IzQWfFq+!P^Noit{Pg{G zpDes^as#XK+!3$cxWRqxIPf9v@g}KW>nbhqHsHsFhQq61LqhNJJJCba^}c&o!}ad? z`f%M835b$>ehr~Nr-1130c40{rwIU4^03d1rfNHQUYI2KS95%}*zuQjz0q5{*O>#@ z_v|{&VR0D(0j4~1Cuz9;ly~e?l z+vgs1)vnVFP%M@t$V{_?^lO|y2R3b2bb~#6f;tGe&=r1+Bema~)gTYs3dHvYK#O~n zkY7`Jj|8st_$)d9c2sS&>e|IArS&!R)5#{Lk9YFH^6V) zI~S>NR0}zFI9CYQ>0An5|K>)Q1o>sU&ia5CPrp7OXYswFjB9BA1s0J*&Cf6D`$X@r z>JR{~O81^dLz6F_7{Ixy^CyCfv1^Nt*SmITa3yvfiK6e(<;Q@>Fz_uL_vE3TYX7If zP$?I}{<;O_3i;IrSg`#tE<0oL$b=8)(tL`NQg-q|4CSkE89u=}74*JKO38M~7p513 z+x=N;V&dU&h818cxn~f5PqqNze*B)pLz9Oh|BrA4L=ayjedzZa^$uH5mQ<_1SpmZW zmN*73KZ}-`@PrL?m0kQ%b%8K{CIqo@@bCtu4EBLR_ZLP$pa`$42tQ=lm2D@CzjNpP zF?LDjs9w()#lp<`19(lprRP(VQiPh`(*;w~hWnW|oT)oC42)MZo=!8dJC`=|==5Bu zT+p4)<t*pmm@OryaG4+ z-&RiWZ*Zs@G=gjP4NdVRj=oqj03NkpP|O4X z;tvwm&OZ>Id;K?wa3AtGI$O(;p>O&WDahXMj?%7f3Lg6}gbN(2(vyyU&cCKeY&Hct zTVqmo0)^v2@jf>BrxOvBzgAROzk8O{e%D9@J-nhn^vJ4D2Q2H(_p{48rri8@ znDpzIS>wo?XN^h(S}zNV*c_87tl*4MCH{x{Q~7QgB0IHyO5_FsaOnC!aFF%Ma)2~b zbyaaJc0OjBhuBBuUrxFxd@L^k!~tZtU2%c~fPDgl&P>$3Acuv=z~yf4K!keE>@pE& ziYX?gNIYh(cQOeQMycT^kZ_ond^&#R_6jN$l(;DWHHRbfg7lRCdH)2xKU)T` zirT}%X{E$);~~)?^4T#3K!^j?EftG4Ix*DgY^vc2^(8%dIXa>vr{=F08eM==mi`C< zL9d59H7st&;#G~y-f&C8{?D<3U&I8U{ZQ8gx7vvRxIgRQ%L%ll)dT8kJc?>olX(cW zD%zR|wDj=)BxijHzpdp3N%4-!b3sFvXdgRx-hlbI!f;sDeo2<^NC;f!>^i(%A!n#y zC)FoOD3I{Fi)qbnT7R%E;CfZhF(jT4NouhXj3a<<&BIOr?)}P4st)nO*+^}#bi}Nx zWz_#fY2w+#;l{yb^l-Af4RJPJ9#o6fFZJ-k2HFFxmjma*m}qV&^|R&9c%X^V|9Cdt z@Ub}z$qqm$@v-Ot?maFZk9_Aj5ByS9KId((*jD9pZr!#6K4jt3^$#H1emoisPy*D? z6p*ci&!jh~C)B#NhcRIfU&rx0P#x_*_9$o2SC3Jps4eS12R`rEp035=QoY=KO#oLe z?{LKP*6Q^?<8BMpeZMFlOjac>spoThayYN&J(9A{8t>gI*|xB4zT784F319IG|JhiMv_AuCoVszmj_sKSw>f+>ibwms6S3Ag z93|F!sY-7ScD%JJ{ARB=+8gWhx$gYQJ@Y881UiS!!KN(mGhzcM>dW(@`u#3Kais@F z{kh-24<0|*{(i7V{zo6ivxc>u?c=f2;<@g> zgPZg`b5DGz`7T<6YSsD-XD{^2^?kAm)r#dQY3Um+2ugu46Oz{}&b6q+peVpKfBV8o z_)N45z8-mht2y+1JR=i>44zu@X-KzjZ`-(Fs9`{5LRdMuYZPDog@UJN0 zRni{KlKB(E#@m|$`yR%w{q0QHLXYR3B?`lhCp{KErioWMeeVs%XXw5g{-l7#hv*Nb z*gvq_uextN2!3U~ytn4nT-I^nV!sBWlk@hbc58T}vy}S$A-(ri6Fo;5KEjuOEy{__ z+Gd}Fuw*%6KtByBk!Mc)^NH-XmuwI=>uddH!#el#dD;QPJZo@q&a5I_&Z#a22KCCK zvtboz4|yUgJWlwR{qzPw(_?k)h^t+DrWWF;=EQ)pdZt_f546222rQz{e8f?%S3cjK z1q4R8Jgj`M;!oU~-4z^?`m8UNUhFebZFDns1Pv1%GTO7$?(oa+d<-wHK8w&nuE=CL zxXrKu9`A&q1!Xc4C_In)jqBx};KxsL7;8M}-fxIE#!4ppi;pxkt?$eT+zju}HsorV zaLl=&gb`^k#sbfJldfd$PT^?1y-pueg$LT7cSwX)ea)Os zvtxTER*=-3D2P+1o5*d`$FCkCO5$0r7$!mc?m|iULKe^c_3=$lm{d~jNIm&*%x7@-H@Su-GpF%d)lT@*-;JAQh0JJ{A}?C_zh#64Ts+w(ovN&&d`Y&&&3 zIg#`18+C^-wmzR6xGnWrrT?k8nD{AA@A3fq@yuEaXH)ZM89wQ7THmj#UI%o3f4=y} z{X5<%K}pnO{XV7<>ibp26~m$C6ATfKb8pA0<)ZFomCN(|*=gw7bB7(Ce4Yo>$$q>G z?I^TR`?*hZGEVpLE|q&{Z>ByA{XfTnOJaT9iUKcpJX7bN3*Y_rj8BCyZ+Tu_0YL6J z-t9X%>CH`OVBh_$=Xc-n`OD*h?DSoh@xH$7z?bd8e&Cb!q;<@Xd~+@0jP*Np$ouhg z-*k_t^RIVQXeTZ2LVKR*`@CJKn~_|G{}|gl0>Sk97{Q&t-e!DeoLevh-+d*aOy;`~ z!TIdj{r~B$(DUxkLP0NVf9D&1%Gn4xyh59GTZw+V(-));wL#QDc;S zvPjJH<@E5Qy*{(Fk48(77i=Zo-u61+xAy{w`{(>%hh{o%wIhF}^El~`jp^xDviZ5c z4hqBpXVFvU!wRV-VQ579x(QIbn=8;GMo`Kmc336I-4wP$T=xzbZJ{qE4a$hO`_on{ zOfZVlFTtl3ftb0O@b7W@&2|RG`o17zIvMz5nH6ihbUh2<3Y8VLtn$!>XBdfQ0>reB-*${RW@)deuJ$Aajkdl7N6@XG= zVy!-gToO$uSq&VTqU?j49@#NuNFY%MA9B|*9PXX_~^C^N@|Mje`O;T zAptnC1XPO4lbH2ux*dg`SP<>=ca7{Am6Yx!v5(!)a#G!ZF%q3nHsZ``9j-Ug1I6n_ z^aGK&;Y0}=@qE$mwp|=Rk!;~i_`hlwwHC576lzdTk%oa`WQJW73dqj@i=9y?oj{H# z%BUX4?zj&AVdFI;YB;09JE=g~XeV^1aQ#5OEzvUp3zK``@Y>{f7m}C1S16?VvuX?S z8;td;Q#q;8q^XdFE6-p(bLX)D7u#FPP3y(Cv}biu|VKfCp15FeeL2#ye4Z z+oC&M*|ds0W64wF;j?`JmDXRvh=e>DNv72;+*^v$9!NiPzl?Ju!@b}mJD~XINE^(K zb#q`M#}R*W7Sy;XEn zVYiC>zReVT;pNT>xru=|Z{n5gI1Y6Q3@T|wtOyc z;=kJH->A~Y)iG=IYV(GnS@hb`%Zg2wm|!Y}Si^~THA&}!iKS={ z{3X$bn;U<)Y55iHk1qDwwvKPJ7pD+WZ`;+<&TQxThi#-o^M?3=(s6t9=a5(aW4vFV z2#OWfZRj0jgZ}NTe|NXJF;^ z?XW!8B+g^G$xCq(o_mPI6N`ieG7|F_Lg1#mLFiQR0L0H=Pb`WEClmk*Bn^u0zk&L1 zoL+8trwv2y>fA4>D6~(jm5c(4WO;2QHd)tBEXWmQMEmp85q0mu-IG%s?qu6>9_eU( zU58?1&#)ti(Fej={0NZmxB*+}L6dPUlgyA?m#y_mn1t!4C)B&^cmL^BreWp!#0k2P z6wW;pz)kyGz(EiX!>15l`d%s}(UF((Q&sai5P_He6zkJczj9R(M*Og-U?yBUYz#^+ zr!5N0W|rNjnZO`epI(t8=~y?UvKyt!xt-5Xk0cO4!ck|H=SiJig$=bXk^(4D)mVCW z!rWR92u0bi3!E$(IG&o1e$UvbWQ`P`@<$8aNt?X~mWyqUEQgSFsv zyJJgUi6EzQhzLz1$?AwjsoTDuHkJ%MQ;xvhV+|AG0sRXd0xn@WUPW4P!3F#$snp<^ z%TPYi*2e=6sq}@$rcz(md-!Z)_3dVuBWq$s!}_Gai5b`Pxgly@Ht2qNhC05!^GYVG zpl>|GwN{%6>I%#3Kh(sW&sxXjh{;&Z#QX(5w8dIV`KuYR&;8p1WO3rq?PP(kO`Eak zYy;%LO``n+KfkURY1o7X0%*}9cdw^3f{SO4j1GFDoTtX$NrEUoSc&YpuMa6on5gSmA5#))uV2Z+um`43rOP`&Cu*oqm1`UutdH_)GSqD zFZxQlSQii?TK3eUZ!`IDYql=V>?%*x@_uP#;eKp?JoNIAI2**B@G#e`rHe+xi(L^1 z^Gm%sV_q+agxem!@q4_y>d$1i<=Mf^w}N2uRQ!{)cYA6RPH$P-S@49ainEtvMkFZWR({zLD8)9W}P+=80WDq2hyPpfL`AU>f=Mqa3& zsh}gU|&&x*b%-J#;&eaFx+iL#Ug0w@>){Jy0@gsLo$@ZTB7AlCP``Q_!>vx zN-f8;sFO*_if9?@I2J7F!Aho$1f69m0LYop55!WxCnqqajMm$^J!^jO0y6jJJ&MJM ztC5Z)sMLWQD2B4FFDxY8uiF=e?EQ1BqaBo&?ZfM(U<_uR8}w{k8FY25RXbegkHofC z1VJp&1feN9peaT-3>V2$-F@9VA<`b^_WvyO!_Zxo7N}R5ix2=b|5G$Ux9x3%cP?~2 zsRSgd#KE0J0vw5dn4>dN=Iz9f+7B2==6pPl0dx|o9hllgA^c)1FlA34 zu>%N;)^{I->LMklGk0$M5ejT$v0Rg7?3nzTFfbIc_yrMT0N#2F;drQE;K|*5>p_C$ zmk1Pu0agYZ<3t;R+YO#ibw46=TIlzrJ}N&&QY-ail?0jZ=)QJ9&bP zp*+%~ZRkpQ%5{Ep7!Y)_`7pfCq$GydCyfrGeG66o#}3OIEWyfN*ZaS=_j#!Y>{%qe zxA&s0JnkpgmJZ&lJsf6PS+6mqV$NR=3Y?%lH%>;B`9`>sIWv~?-@p=MUT9mdKO`}o z6DRp8C!{%%%)W2GrW8i%WkjB3Z}!dcIPpSq$6B8#IWVk_=gH}~OC6aM6qu3xB{slS z=m})x6(T_DL0pE-$Chc1NGvKO#`=ib+E|}@!w|1qkgZM0E-xjYx zH0k1{npO`aCoT3SC8U~1m!~odzF;x+WV&iaNy-Y3HkD-j^`nFY`^=sWOFr82Yk7~P zf8&oyx^1a(|Akun_Vd}?gBSisqrD|l(N#;6Ui5TbbdCnykU*fz7;4tH=avz2@{Dq! zdf)YRLPou(8`orHIDt*T$ryOFYD+$jNx{HVVJ{<}Cfl^;`B0hY!^gL>qXUyOV7J&T#^v>8B?3m+lwb*U5>pMMn7f#MbP4 z%lXV(e9@C7jpTji!oJ1xuJXtHSQE8qyEJ1_{imXndFBK&U~AXTiogH zpYWT7#L*H4<-`b*T0BCmT$M?0!L%WEQn#-bjBPaE=HivP>3w=ZL`Ue6QCDS)99q6I zvmoePfl0z|{U%}Td}qO_ymqlYH1b|bK#hR#<9Z(dJ2K7yhtayZld+!Le00YGhCF6V zesAtQs9iYs5dz>jai)?FS?Nk@tkYNla_QrykP8$DcxV_ARRR#5q<%c{(q1xLA*8H` zy2Jlb0HRDYuC?xugDRWPwF^(*vpVbISoI7ZUwNPxVTzNE_)6j}N7|jqMXY-QN9zjI z!-ib1m->L=-9LY1k@yB=F0^2lG=qO8k|t0f3n`O&gZ`U@q%B`rhkl-HF9TPi$@E@TKrL`5%`-Q0VRk~zCt9>;YTcl zDqZ?3QW6(aU-;85wO_Pg8*wW?Y9XlV@Jj9!pcyQ`q;1OBS^Vaez#0efdH&MB8Rt=` zCagW;0rwH55nXJ1#RmqhCod^K)mXfuHsp)EqBij}d_`@Hcsh>HqibU+HZZUEP6U!( z8p|pJudGe&)a6$|?5MZ~{-T~^ftp873BSH~L`eB?x`k_4qL$>VU{i3~y&5+ETn9=* z9{Je38a8BmemN~%H0GIzvj;5*{zZ7h+ zP^xb4K*rqa+b?1Pt$$1Byz(~G?MI~~mK)8yt&88pn!!iX1%+ljys&x|4;Jrw2;SAZ z6aic8FAbc882DL)jAowff4{2oh|G;_JM_kU^YX`oJrX+n!~3(rR9J{!iJgBcDIGbl z5r1&6hz_bXJ{WkK+T~wl%7AD2k0r{>i06_Xp7&Yr+lFKLuJ}oD>73V8()x-Dp_;(- zwlh_l^0+57^`HHMlC8fKw&)#izotMgDD)4hD3$H^8WOwp>QNQi=C;UcI3b1Kryn`@{CSB=j_|QW2d!w)Zo{HDY@{rO3|xNb>O;dWmBHfmh_NmgAJ@ z@Y|O)pnl!KGMh>7#QScmC8#U8U**3V!;lL(^{pb*3hlT2wmFvxG@?8g@5W$SzeQoD z{b%x-(ZJMcyqy+)cv;ymlum7>_?~{$9CH%N(~rtnve<~MD50o=afXL^m~_H8x%|6u zD9%yg+|VN<1p`h#DO2MEW&4Af1HJ-Xr>HhHc(LgiPDYDGZQMX%AXx}gz)fc09P#2F z0Lpkd`ZUH+@3E!r#@O?FPH;&Y*3BAD{7=ChZN`Q$V>lx*f8g?xp1vF*;2TcG9j^a= zA(vScE5Vc=f22izfl6^@CDF1KaTJZxNn^7uGYDcTkRa<9k~!AzLH60{A^^|xLUv+u z(Tk;_(Jx3M0sG1VB_a;R+rc=WPdi$}S4)B~DDe?r&diA1XT2y@at~J0s;*Xh)S7)- zA!(LO@nx?zpu%eep$+rZ$GjcQs-5_oY;0u!f`I#(WRmI|43i^8VG7?5(RH~sE_Ua%B`Gr52Ho_WRa6u>bql?l%WZK+UaKezeW;mkBWd4}5^&jd*>)ht z(VShhOB{%IE2h@YRXvH@!0HgH$^BuRcSQoPK7Wzae8(!e?U>G}(`;TQ=Idu;lJPjF zH7a!rO(h#vSI9!k$of4K8I9B6d|G1m)O&i+ezyi8y64?b)rw%@^UI3Q&K9}ex+9XF z)TFpytUzpYRwc82wU(dqUc#ZSMp=SeMp{0rVuq#-7pH`r94o}6gWfr9=;QQdOmg3K z?%MnyX1s7*%!0vtC-Q?euP#zyP;}Odl@U*Xe$QmnVWwgq7dLUWic`#-;OLCWKNIzJ zmRQI?v{x@_I`!QsuwV?k@dN@GTuj1>J zyqcCCvj~Y5vzbrTeT<5&lFmQqq+#JWT@N6_UQQLt0ZIQQbYz4lt7};GcBI5QUTuoi zEl)Ktn4T!cw{uU~FBTpPvj+g(^3yl2Z_gpTMyJPQb2J zQg_K3c!<~ul)}o8ja=s(bdYpWW*V=o z(J$Roh-|1zwfNJ-oiI>Ka4|87> zB~B>*geDKm{gtpj*<+%6^T)Slmb&9SIIT{AB^tUsCfvFaUa1!Rb=rX&_!rDYqOrUk zsN3xWnKK;;Wx!|bpsA#L?XWyQLU`2Mu>rNlIOJW@Zx`jl@Ky&6{BC+}(4r<$Q2T!d z;adqGTkJ($z!xFI@(pPYZG}zp`H|^Bv|VW@7KIrMj+1@SxyxBnqvgshij!b5g2%t{ z`?n}UK}Y?iP{L$Tx_6Kw)uVicqeJzV&C53VDNAx#EnWti{0e(it~rUmTPAig7aDXo zUNRjz_&DPdK2t@xF8MVL*YtD6Z`s0Y+5-*e$yjOmcJb#<10jY?cCcTV;`a+zVk>*K zSS{KGB*7itiZUqKVQ0%tZ1rb;TM>S0gl?Q zA|lTacKtQ$J8q(zJ!~)Je*eF$y;;&EDX(@rm;XA`K6-bb|HMupfrxS~Mb$CecbTCV zoJI(t=FwC!8#1sw_p#2QWGGSjJdtrFC>bXAW%IZylM&>;gv8psE=Fe{_;7+~A7reR z3ll>g0?PCwC4!M{pQ9L1c1`K`h(Ev0)IwZNtx)SS6vNk~G{MZfIbx#B&U)hnd{G(D z_db8^7fiE@{J>Y!{B&7(>PZJMYWv;x<_-X`WX;&o3oG#}td`8B+u@=~QR z+%{>A_<-j3@gQ5`3DX=>!aP`TbWSwwG+Xy5=_p7P-PRQ|`;veu$_`Y`>__Tg3V<*U zOgesZqkz7*zlIjfypf;+r%|S(J+-%mMF>CvkES0JH1)ky{JZ%Td#%yM+Xtq7i6AyAT-geZVnof znCpPnu0;cEGD)Hd@ZBVK_(rWmaWzPXxwi$yHM&h{_1Fk4CJj?g{e=@YYomwF+5kU5 zz`qp^M5{Ig?N%&yM3f|zfT%vJh}gnutVASUnHHlbYU(W0^muSQZ#I3ORInV<4w7TQ z>FOfj8>7L+P!#$Cu4;iBLwm?U#h@tM*7(7%7;9*hk>^Fm^4Px{{h!&&cOx<(Cp2+CkjvJW`))~#)j+FneO;!Q7(A$--&grP)K;MqC<2u0t!JmF^UQ+cM`46}V3EQ&Qi8)^m3N)9C zwzvgbENtqAqyBmr{d{mcc2FS!Ltn_SuqmCs#8l0<1|{-nq98MQn|gK6c!rF7!=(s>?d$GgHzbzGwI4jdgRo_VJ~N z<*ExqbvN6x*aE7AS^^}Xh~p$BSk;FZN<<@txN109CH+kd(ewT718tvWhYm5jHTe(+ zPoQ%5 zOUQJz5&x}z$O74<)W>H*2riRQ%RO-v+?eHIE`I=h3nb#25J0d9%#xC?XF@5Zcggk1 zg=?=~pKbS9Du${Ss!v3h;uU91t}wi9!5AR6$L_ejOWLM0)!U~}&j+PY5sp@w;w_}w zvsadGvTO_R(V_@=r=7?5xO#`Z>n&Jag|`;U?EHO3%C$%41hSa7l||ctmUcQ4fg*fu zO&yTaENI8djlE%A?aKo6DX&{}BVWIEJ5?*Ce{9=in(zl=|!tP zI@jVtyOf|`FT*U{y!%b~{){3a|BHzjvDcC{e50$WaVlsh5%>JTG`<=-^ZgUjz75un zX^#;cZd|qD2gEAqV)OCsb2zqv3E5Gfae4np0NxxkyHxc} zLtFjTw2B`!)ki!CjTW@vj;p$f8ojGmF%?QB%*7lzkj(3ZNHyP?y`_EcL0NE%d_{g(u~98r@l;1jQmHkJYpzTm!>`;Gc+b)8Ec% z(P9)M@u?E-r6|~SNmjH336+Q%f3hx#0Oh&10Ci@6ma~1829oN)E+Ir&T+dI3o1Z9O z`(8xg0m+%au-3rRnb5u_+Rs4ft!tCed^sT{pg$SLBq3;!IH`g!N#dvH8mTPw@Iz7B z6|~ICIE2JYJV}Taq>U;X2$cp|-1nw=e30>@S=&A!0zuHpft*-#L(08-bOX^@-v~W$ z?@wiy>#xnwwx;9Hgjco3h$dZ4^2$+4ao*l%G-Y#_y2@k=R!6ru5@_@@Oq2B!X&3P9DW+*--p`ct9lRa%3 z$!G0hcAun*htz7H11T?(zd-wL#M>hzv_&O}g>Z*Pp;n43AG`Z2s8KDf6|(YQPe|!2 z_bGUVuDqy9=df&Y83@*)L^Nuxc9B&}$i;Q4>mn`v%IptjEV}SmOM2mcUVK$=d0vD` z1-LC)fk~UFLOjo0S*Kp5R>gJiZXfkAP2~yi3MHYS5>ml321(&cB2lmqOL&e+5WGtO z%c*2Q8P$m-5_TG{egli^Xjr^o2Nr^%W9}5-KYb3)l_Psz4}n7NKZOcq%^$CfXoKPg z#HvxUmaC$5VUSOyM#n;`NAbL8-EuhGVUgi4;2ZR<%aN1t{r97g#KcRBsrBpE11>6>AspJ z&^z1NK9edB>(Mj+`9`&OQbu4VxF)SefU?i35bw;wmO=I-Pu2ysrDapC!Y@uDnFlg7&sj^^qqh_K$^H%nC!(uBD&0#UR z#EGrbSVg6qHVJc@l!Q>yZJS0y#Lu9jq5!4E32^~$i(&`qPLs0g%VUS*3YM`gv4(02 zMT4pS5~Oi{NHrcrufYjxOM_urBNSPE9u-RRJCFuJo?>C%7|##po>;;WHrt1GG2_n+ zYaad7iW)D+hg1Tt7kerChZiYq76?9xM@qb#(-h7!Os*14YS$tlDM(#T$IS-mU*@pz zwCf7)^HMF-$&+@56a^=g4Sxp7QwQqa(PqL@MEe5X_cSZM2wwPGG7~6W^+Op{k~M3z zEM>LNnAbQTbq72{aB+$eB6DxS`fI_MAdyw7#YEh78H}=TCiVi3fo`Gnk=i7=VWLgj zqof`!tPYj8Tp_eGSMyo9{%U*>^UNcU7G!Kww9j_205VFUo6Um6Syk)^mq;HX2=S1n z6Fmo~RPu!)9$GcpJtIp(cA`L~RQJjDxuQ=A)vK#665o)R9yNa*TuK;nmSZ_kisB`FrIp7zatyk@6EUx50?K ze;-fup+32705aGN{!&NayG4&g+nhgdX1Azmmni;`3$t#tJKXd4P7SW$=`QdbjX(#Q zK<~rrv3)kBv2|qH0T2MFK09C+2pw;OYVkU6LchaXLTqB74Atn?tYWgmJG0tt^d?Nr zqhTPNki<^|DeE2ix!jRLB^Z937MmBredOLOGkh4zgy`=ct)@r_KHh}oD>%$ksG^Ui zy9Y|hJ%I!P<>d2QqrBJoVm+@v%SGYx&s_Cb5l9WwY@Ds>A0S=3FADel_-Gb{7@Lp^ZHXSgvT6f zrk>K5;|2(-wu89I3k8ix1dX^YBmn}cl&=mjJu!c*sl5^h&;z8!rWQ-4ASj^_qIn{a zy&69dcTgypXum)pqg2BPi1Tw0G70?=Ln%&+NTyRY7BD{%f1rmEzpT&56d50(BdI3ZcJ&!1jAHIFR z4n0LM+X;I@UhOyHE_~i`OL1`&1CDW&@h8H+P!g_C9TDTnbC^4f(JU^l92w$V1p8z- z6F@2f^UVo;IF{tbLGaS*I??ZPx-^50f+#DIG4N*xI(7cUiA`3kwn@;FPA4!w*|!V4MMTh z`m#M-FM{Cmkd`&AVvVor{Y2{Eo+|7cquvXtF=9^^jPZhgylPFZkLIJmW6-wH@D=In2tg!&g{b^|%wH38cMHYUYJ@HjF zQq#=mgVjTMp=pm75KuJ0Q=wBZ8P$Bi z6&o8?3?OPYHzQp!#K%e)D9)K3qO4pQUQFG5B z)jTwRJLC-9=XFigdZ>`GZs7#waSI~)nj-A9y93BjH5eS1b#7lRel6Nwi_3FB{j$LL z$=Ff*Tm1gr#{zMGWC@HnpHKh2u0}{w)c}yHuP>kNSTqO%w_{o$Iq#fQkrI9>(_XO( z=s(|}Mdf(_T&q}^^G73gx%1}XDWyCarmbkth)h&W7`Qfe(EqyJq5}q&`;CA@Hl~k) z@W6_cdvA7sZrZAH+h)E}5F~GXQBtNORqUv{6z8*&)gOs6cDr6kRu?#Xw*P#opRHpRm8fT179UPU;DFWjh-in7Hn`EhT=J5FwKr}T8=;1ob+3dpaX*K~9moocI|zULEDhUw1uMQ*AFt+6^5#(|Hf2lt?pB zU)1412T0FcjxzctnOvTDm%e2_d=9as zwxXZkGmZNQ-9eax`RfUVES%23Jvx{Pfqc;!O-H)k4fn1e9ivQ5)lHxuIgoEJCcB++ zmuh*`K@zX&`nr!%0;VqzO=mUjM>X=MT@xEu$;hzj2#%-EH#7W+9djKY9MtrW*P5rE zmy6xJhJ6AotpG!jdzr)u&aSSTp%GpFZ#f8(XP_-P^u4&bxw6kfeY7 zrmy#+(^>m@X(C#2**jkRYTDU%U;GNq^JA?xoX0;c`q3rHs*+5iebh-*=M+J9T5~;& z?gD@no3dXhg>F_maP?qU3JR=v`WZYMd3QY$ETm#HZy;E2mbJbg#8(!VLw%3eoJ=o@ zqAtrcFEYlNr=>dCs+h{!X$J*N;g4mS?}3i}(d*r2*z6*lVO`dTR&Id_%U`qv0A(%P z+PybT&5lCrQ^EFngE<+d9_($7=E{1DAvG)t=>{A+`|cYVq}uutazVDKc#?7M8{9%I zjY-iJyfx5@Kfy3l?0Rm8yD|X~KfB*fNUw*Toh#uo2J5#savSJz8w7A@j17=0x2-v} z+q?DoC#`G*Rd;GeIa6k_R@h-!GK!yq)aW1eZLs`|Rv05EK1GF3r9ulzpwL|5eC`m9 zgSCK=^c#kOLJ%mj>N#S5ENK8<|XP z+mi&VUcYwhqJHa9!+;a2g_Wb~Q>ZMS+H1p_ec0&#sIKFw!G$%x>I=H$A4S=?JRQ~g zQ3!4-_qzbo1((jhK=VfCbr;T2hTfqyqvSGv>9WvPnx$AB;&0JA0IQb zvWC%Ovdw;4`KZ9ho_Nk09M@o;4-iJuds;|R6)QqxiIG!|8N)5dm$jib_INLAgTL{L zy?dbL)~tNk*z#zr+U4)4>pZ~{se^fcwDgP0N@P>c(ucD^c;@p;@|V(Hs6KA5O^q+z zxPe*cEJzo}A3Lj8`*+u-vAaW%jP!<|9j0{mx93bf)cT5aymHik$LMDqpMU!^ep^c) z7?RES)VwOb9MfwW(DvAB-%Iml5K9!zlI?}i0EIZ;r+I0>5ZN9le;XB5$>;ksivt9y zEm?JM!m!Js{ZPyt%I0(4B7<^pW9IX3JS1yWZY-@3c0#rKXP2L2d(AY}6j{wLln8|2o;%@S{>+@e+n?d<-V^m371ZW3s&* zAdTyN2c&T<6`eflRVj*r=`;?Mps1nm_^^%*AH{Rg|FyUr%_kHeR33A z019Xh7a-g61OSVb5e@Y59W*QPKvxB=i+ne$gcdHi-1FgrmlUn(LZ-syUPc0%L{l3I zzoOL)FiTXv)sZeaF+%YXkzF2?oA_o^EuhuO6Oc7~sB6}Ys}`KfZs~=0v#MlV!8$1C zwN6`9*e{=&ZNat8CB#lyKP+E(u+Ax%D=zkSD(sPLNCs!%)!xhMxlx7hY~9lH&7epM znBcA&HtnIcx#Se?NcqBmg-G4!tU23Zf@vtQMX+?s02v@!j#DYlTY-nI4*2KuSJ_Aa z!~7~Z>8|h=&t+Ucnd|;BmnE?p=4gFkF;azW<4Y>GCRe#}2|v2lhWmJ|y$;~9C_kzK z9FQD1DOV0TOs!f0ZN$Yx`zdW0yufxHM(;t7>uqk~tXu8)-5`u8_JbjrCfp&yMIFo> zM=`J;?^&0W?1v#~pYem%{xF<}hOPYSQvE=11uW>_-r1`E3{`aClS1Nj(GQ8jL%!l3 z;;;vT3ApsI0N`}&N}H<{fu_r94T7W>u;c12j`O!4_}gKVMxY_{M+7GO-DDNDa8l%2 zZNQrtHBzT93|iyW3S#QTjq--^de5h4C6b*iZbG0j^EX5aiyFvrSgMcP{~jHre`zGa zO`g+Ci~9fBhy!IrDSJqA{7a)mm}uu^_5)oK8)X8;6c}`dwENMhN?01b+ValfXW1Gz znsJA)3}GFhe``eP`da5F5kl9$G{QS!#XVqj-oG^>&s7Qm+y14I!dJhyPtD{Ak@~w) zLX5D!ak2qeENC<%fgTK-{bBT}2;%?2 zINulES&M(53E78(_?6y*d5u@{+#2DH$;6*koFC)m|)`hLg=R*~v@ z6wID9!qr>jHHSkl78gyJ)C)chz3-Qt=;)KuA28HE`+{@E*itv;o%<~*7)pAFnlH!m z)E&!3F+!!;9A2WJw?Df+$2)q+N_RN3r8=y!Ozu;xKew^>Ciy~yw++L4X;v_Yj`7v9 z_1)>q6WLFrcgjbrJTI+MPZM7IHP4&F6KQ)b-gy`Kvgy7JNV=054aOfaV5{r04^K4} z@E49?QzRjXTgh6e^5KHV?i7(^p_nA!*)(K(RCQ$kRsMNcjJuj_d^7&+aS8=@YLzex zi@tpUX_p+Ov0GUQp8;XbsxM$&H;tM-dhReUBI*11;n!#O!9nWbSvY(F0!&u-Y5?Vu z(QLU;T%tLwc2Ne068)jB>zV0?(iUa-IS2`jt1G!DDr;{IVLk8N(noKJNrYp4)aZe< zs&NHiR9pj@H?5Cc7ej@Bb^4;l*CJtus}W92X>7n3K}`RyH+RQ;qfO&%$N&wd30&u{~~~cVcQA0>J9Gn6lA8+k02mf#gR46ZXF22&#yW04ZwfzqGc5ngybi-e4SEh1hmd0kj|{*>rJ3by^@ zJ$y+GRdho(5>L{Ah$l4@SH4&!I|aX|6PIRm<6hP$^1srWz=61(P5eo*#IJ_9V%29w z?yohz94*x?x>khjru!!Nc)fumRr;nfS1v1!C$1`S&tfH#{rTAwnbQNnCn zM4){(S80GoeXmaGP7y-A_zqY@`6oqk))Eygml!3X;C5?WX?H-nk=`GgaW}hsw-YCM zo0w3#u4YgRDw#9HFaCCv`~|m~Xmsjj!PSplEca#ILLlM(CY{Oc*NK>Y5r@Yb=>3c~ z*o>|V^iCg;(!s%0;t-rU)`zN(Y5sf-u)+F2?D<2a`>ZLq1(Um<{T>K<3_*dPo$t(j z21U}<#fSxV)y0TNF^f5ZTJ&Sx5k#3W-@(+>l#GtonWYdFun#IlZXJ(T@@%s6mD2UWQE$9!ix01Lr^HBsGNh;3-1+FE|0Tb-i z$WPUNBu}7F#fFtciv^-3o-aVPUfKiKG!R-U6vw)h4&=BZK0qu8FP5_w)Gv_y$_!OD zHGCtQ!5q9iZNVR&O(A)c>h^$9k3V4yG(G)?6vm#zw4@pjSOrQ`Ke#E1It=9Kq+tW?E0F!ObN}-C~l9hKR8)T7iJ#V-|1` zd`j|b5@`erkSMu7`x~hi#8{GwqCOi} zgV&%m9QQ0Bv0Q<^KYJ!{HeG`9p9`{y#GAk;Nq28`*iy)8BM6k=fKo`Y=C2DXf z%vgQWjHiUhPmFWz0)cBHCa$hHq+An0%UMCj_riaE?^LkxbD?*LoYM#hstfqh#IWkr zsU+wqeSU*V2};o*ctcc?bbkAad>lSe3^(&l7&jjWB~TFYbb$%@PUQOtDy`4^reWDK zO*7NlwLzRe0`<-G9r5%3DCOqMr+wslr^icEcpg&wrb^YLX-UvP3$&9#?^{t@@Ou3b zBQAOTwc)iRmBz3`D;(>DMpz41MGK=chRf& z?^=$S0=++6O|{gfu@kG3ttg0sY`8LcqmW!yDF3Aq)dO3h#Bm&N+$g?3e*`W6x^%;k zT)u{)MiL1HqH_L*bbBLUsYcn^LR zgZmGSEKdBNHns!5Jm}~5!~Y+#?-VXCV#dd~zkE2Sn-O%AaFlWrL=p798x@AWo3~s$ zgReZymtWTU39u@iwQv#MV$1q37}Eb1B$nDxaQN@zeP)#@LE?Se|7*g=ES(CYEIfF5 zabq{7!QVIMT0VbItnfBvpT7>aFySayB=lEo!fEi&c#re@jlYYKf^ITyO2y%5iVHEq zgG=zPJ#iMH@MPiEoHcvfgC56~as_gEKAoQj{I%1P@jT>U6)1;<-lc!hHT2o-jQJIf zg7eK1`Lq`x2sztM?M!+Jo?25L<#O74L2zpb622ZZE(lFkZ3Gm-`U=cjWiut@sny z$ST@#yKu1UEDd;latbH#W#Puk@ITzP$6-YEKTcpkSUlvWkg)}wN4-AfYm!mbkbreg zQ}6$`Ir?0!W=rR>s-GW=dgpLy1dd}OmqU2N3^}ByRsYI@Mek)4Q=p*D6Attp#h!N! z4HsE{tBnl0Q%LCs@hwt6APRE&s2An(@A3ItA*9mSg)<$p>azn3oh(KeivE}{hKzxG z*+R;_*+#-b0Ci~jaWFC~&D4sFCiOfP#gFd_+6cpQ$K3J#ZLH*0#|Tm}DBhqX3bJHoZ(E2<@78onTB*6vf0w@@{wu5--@Duu7%?E`bW}1MjBpqljE>#O_VU=v9g_O)&nr1Cprr6iavAPLa;ETT z)g>HC?Xdp#X-c7pu0^6~afwzQ0T_}*ZZ)v+PdU}!Dc4J}yU`%L6des0o#g_3=1#Lcpe^G&K>OXg@T{Myp%Ch>|CJ6&u5(>&8~DLtyaNz2Q9vi5MS`3&}U zhNJR?T&;EDh;Q2&iG!R~18dNuos;SkwNxDx8szgR@`#+-|lOtYf!v=tNAyXg22=E9QPMyIqzlzg!_|E zOU@cuOEzG*w{3*ebxczKE#+!}UajwO`HSI;Zk-)YP%o#RqhH@Cz8V84tCZbWt8us+ zj){fW<)Ov3WHUeFk3cleRRC3!YL3=OB4^g(`qEm)K|$FqWuedN_{B+kaq{Cg{9GA- zJ#hSet~EE!Y%ABDj4O7ZJW3CBI;}LOi{0Qd)>304Jl;A?)>32g z!S`KO?EZISX?MJ8{f-#*vT^?Hy%JXpo5* zQMcu+LU(4Wa<1m=P%O&PFY^0tE?=(#M>@LPn`CkqR5GnjqVmcYA6&&rgq)B|j+h(- zXM5S|LRElqWF=GqE=ODjK)Gv`GLiQpzRQdZlQI4h*SaN3B$7#Bjpl+PFQzpWcZ21l z6*`Ksk$XUY$wKc8wGPoFr2@p2L$Es}*XrSc?53pm^*%z+n`VQA`&Esxq@-!-AJP}| z5ua3gwgX$2&7~)+Wdu5igs2jaUbFjDH-y5oin3%hQ zlz+bdR{fLUd6d7dj`qeqJI_PkECs99juw3tKTwmYPz2=M4`tRea_ZhNp-Tqb_G6Ou zoLx_|$Cc~zyn%rg&m$Oc1M*Q!eO3BZY(?9G598cBkJm3(r4^lNx?o^-N6cbUP>972 zgI^~T_T`QKvI?!J^7?+sWm6?*MNilA*p>R*8gZ9nr=;uJb2>FZ6-*6H+wrKWzEGO^rm!neo0vpG| z=HD$>t$&`x4h#u*MBBVX>{Ga%B2Y!4d+H^GtjQ?#b|EO-sx^4K#B=<~06%7FngrEi zpDY6^aV>DT+4zNPv}&TSxPYJ}I{4;J-lo5FR&nz=8ZsZW?Kbu%DC^W$cu?C*lpFq) zINo3yss3o2cUvxVv!;)g%a3~;;Fc^_BdkHL4d0_Ze)Wm7@}{l|!TR+7OTa36pGDQ^*0&P z;e^qUT_pFz_fd_^`wye{7Gnv&#=~~bsV2j=ywHeJ4$kQK+HkPp7=}6e>iLAOT9bMr zUSGS4vEExlzjE}c%eD}Thge!F)sD2$Q<=rDuoZs3gv1n`pV6Xq-bEJYNPPvgGNOIm z6&7!ONxAxpqxN`l>K*P;y=)FaaYc?F`hwqpcU}3>tIaWb2SlPHpFlaPb(8Hp!B&~@ z1!G%IBc5lnbK$RwRoL*R3gF#1oB|e>kb8e?oCPmFL~hmX(P+Sfo6E?<2*bz^Gt5A4~@?^OyxJk7kCj#GFP?wbQ`W}6O~ zEgR{P5~EMfKBdwwPz?8a>6~OMZ}V{R6+4-Uid_5vR^x)PpE)+pa9c*e1)4B~SRd-X znOx=E0V;_TnzhtlFGPQ<^z;=->aXKX3}9SWukNVrX1`)no%Amo%m^<3zUTLLKuL}p zp{Sk0E^asHEz2ceq?nIZkns^%JAnN!6kV72tmUwEYb60%LVR1gcVbXko`-h+0s$WQZ{gl*FeRJvcE{xE}ye95dN{hd6S97QghsZ6qQbR z#LrTUC`yC}+x-OGT+a6Uc4Ev}^KftNk-p~WpYYwzPvFD1Bjjxgw$uL2CVH8U*B{z) z_y_&rD%_nKViMPD>@D1kVe1W2Knxg5BzfD1ZN^_0Wsp+9aq5*;(hXq`;+WpUfl{(3 zON?O4jR_n>iV0-3bnhos;ONE_BM77RsS!lGBtLVG_Gw{aDh++YyHivQml%ULsa-IE zXLKF(2G3IQZ!*WpOKUBvr-dMLXEZlCH+#f7*%Tl6oSlp8LoZI6Al8$9tXEIlBXxeV z!{Pqm$opx3&*{0th@|=N4d$xvN*z$Xxj#{_t^aIyFh4pbO?cVFFi7u0ryOWTjUJH?O3WU(#Q9q(XuQIxq*ODI_$otVL z`t@qa<|X~$yV+OSUiZ1VJxZH8w9|r4r%v0o)pS8Bsz9$VKCY%m+DrWo##Ie^jRuuu z{hn8m@7*KS;#sXe7eP=aq;YL`#mm&K;Bq*d(JJL>)E3Z=9QNcj%wMo9qyov9GgJLJ;eZWNb)ebv6H|%8kXNom^ht-KSQ3w4z5R<@_!iDuhb?w80BuixUK7wI~rlDu+ZTLUp!{cH}}1Q+W$ zLy{d>@YmV)xI0Vq<3;m}c}}|b$6a>39LbLP8zJE~>EJ7w-Di;XU5!c83bi5Xm1|KP z$=0iamUC?`a+y5Yggex!uyGbQlwrek5gqw#`kOH|?vEwvuoDhe4m$=uytLV(T<^Ed zVIuEPsz-dgidfmi#)TTH9uhZ7QBb$E!T31k71U65c8+AXj0=3qCQX96^5&k<75W`Y@m`K62p;GMo8i3_rkZ)p zY@5C#+x+`?v++VgTmaYjg>&G1B63dHtat3p2(>FY#O`W37W=o=X+yjKzSVjCywyd+ zVR#E7!#W^Ky@gnTzU-hh)oeIB9ex`1#U>m zz@J_(H;8$No*W_V?$TsF{8%5hAc+q!h+7G%euC%++K3<>TG@>P_oc8NOBaL}byzl?_LKMLmk}5{CA1X~ycFHQJ`pY9vE-_ui=|^!I;3 zZ2hRQLGU6~FM|NjmL%djC=@zPjsAgDi1>79zgiBAgmBuLht7avD^M#3X1Ll8(JfT{ z>Xx(CbcJ19eT_&f_ATgBWkFWA5XQ4+yfsB7HC2?wLeS$t7c%Uuvj8}-=DyHB}( z$3_1hNd9u|qpe(szOG^2VFnbTmp0K`Lz+o<_NQtXenNZrip=DGvjs4Ci)cG>2*5N} zqyg%H-g_p0OH`~}dWARNvj;mfLBVBWWtlum!`D>M#kDq#twhP0Au|9g2*s?g_acq_wN&!E`;wpGY`QTG62 zSh8(B`EQpzDu1vV^3sNak)`pAxVNb^1bjTflfy^)Zb?`K)CCH-??IQ3aE4Tq=e9X> zJj^1F@%RPZsYUV^73t+n+}|p;pda-acDo+-ZWNDmA8yIdEE-MtqkGF|D7;JH>4%Yn z93>e##IrOzvJ?rhl97r;1HIecUy-ty{&V^+fOwM+mjlL3iHQqKW>HzeTXGRtWhFZm zxm5wYWw*Zkgo_CxkN$I?qw$gQ#6suTQFvc9kqj;;>-z$1+G4@X{UaV7_pO8|-32;2 zXI6g^8sZ!cP~o2X%>q92=`p^12OD4etJuy0x8b~$a~3iL_1JRwC^N;yELg=%3X)MR zYvIMHYRR-6aDg*>=6NueT}BkacCR%;uYle*cCSC==TA@zQZrK+KvYdigA$L#40U6L zq_5Ygmy_W`sB4Xb0l_#LI1!X`Z-;-Q>^V_5Jfp1qpv9b?jjqE+5L9EQ72@QN=0yo- zsQ+?COSrSm3|hB!;3sUZwFo#O?g+kh4 z`MUjZr;1$`aHXroFjf!GYK2LUGHH&d((8{P($n>=mA-TJY&EIhb6^s!#}YV&d=FGdOHh$ru(?LHU?`K82rdy(Bz#b+rm_=Z5CT+eV`NvW3{eRbu_!AV%@ zr?SYP_^cGvxwjD1n6Ix#fnSH~C=hU6=j)d)m+ixJ?vp*UBp4gaOM8EFp+lN%u>ixa ze?7u3ztEOg_Sc)l($@nI!cL8!uS7S%GK$f=bLZv;626^%Nb`}EywSzpv}MAI_-|KR zF$T8~iAFiY=LJMOaLzC(kuxzXUaxMKTJe_2eC7j}QnEX*Vn}V@Q}RKEwu7a?ldsQ~ z+hu^-0fq3b+E3`&*VHPGpJ*p;%$vPVSj=A!;dgv5PJWeiVo?b30Vj}7q~UO3!R8#A z`B3hx_9yzBh@~|H6m}eilPs|DolLI>n?w6VCTNV;Tl2QzyYLD1Mkx(W#fn!VPoKuM zV8jClKnYJ`oZO0FRe*HQ2B);zJDfy9s)X|1XYtyV93c7%g+n8$w_RdAJ3Hm|RrbwC z6h%n!8Z9XlpN4pRn~v6PfbLYM63y4}>L;Modx&Mv>pgl6ycF*%6^$9uN@)zzBss57 zdcsK`$bWFdXn+zdzG}y~m&xh@cw@RKsk~<^Z~>cXc&M&E^l5zH;spw6c>rm-eH^~P_>ndE|fzrG`;TD@4b6`K|wvegP6 zTaqX&>pA4lJChtz6p6 znZsX?sw}P^A^NnDWHSWX-lYc+bj8cF4jiRP+gKlTcPp)eAbs{=bMhq!_Gs%>2;S|n zF*UH4oV5km`rDX*0ROMU${q>AmhgS1KD51r?+sh{5qjKipG2*Wpv4I8YN&P$T#l_= z+uF`IE4M9xyX|dL9JGEte20D`Wi3xKF?3(FS;bh^CHs60^z(0bV&zq%UxiHRd>DxQ zI=VJ*Md<4sKq-V`d+hR=>etD0$Fkb}@)r846{!67`pLal^>Mo)8p9c>chua`hMd{| zb!W2J$?+(f+;`mt$r*xQ~66BY>^frsDer+X&e626id+Z4K&vTE^{`SfS zN%G3*K>@nmF(EOZ6Xbn3XGR@OwR=kL3Gk&ICNEmmKoYP@K8M9!b@`kYCtdP65N^B0 zD7Y5^O(=TEoQ7eW*1%nTcFcXRZkm5GK4)p(qP*LBXOHLJ&$<9rEnm?qqZletf;heT za#1)V2mU;d-a8}$7nkjIh-C4?k3hgD8<%zNyxz(0Og%aI!V~@i*ds|x+ z$h_5(%hDkw&?p7o=V!5s514(5wRDe)+@tSJc_S3?SLbYN;**sh+c!trYwR1@Fy3rZ zudu&rd*-uvA7g_y;5DT&_BsO$lvT1wkFfCPM16i8SYGf!!`898^99@z8Q=L>hg^2iSQz!`nriyK=%Wg0Gi{6=a?ve_* z=tp!qFOukviv}&v{pFItja@u=(Ahwr4t(T?_m&><(Ok%ai9z??5O4Wv=FO~o>g?-Y zm%1bE4RqH~Hns)WoDmD757GF=*@e!@bDwMbbDbgqYIx%aMo~0Q<1q|cT4x0qDVK9U zQ)pWXM`K*({V01ZZ@`RhN7EUf&*kMV1W^HXSKpTN5zM-q=y=~+>UL(yroIb1Ihee` zSD`pkl?1iJ#Gjx$4tZboCVb9?zy62l%ocbsGS$K z&m^=B^&Wh~Plg=B7PYcV9HC^dAH=Uq)zf-7vve#JZ{|OCAfiZoDV#G?8St$djBrH_ zaenG`|7cgDF^+KbmhVc%u|gimy@Vu-fTdKr@?-e<2kpm(=6FL-RPc`sTSrM{1>AZ{ z=Iwl*a5pU(+Jj>MkPz3`ixaL;+R9022=+HLpMdyj*z4*21izyV?juDMk--g*XfqU|^t zw69ya=4fxr6CSgpM8654Y$*{Bt1nZ(<8H=dE+Y~*I=OZ3UOe09ZmSkHDp4Z|{KqlW zl;ST%jfy>BeWjTic9(Jhm2wa$JUB-QK9ol|?%Z3{sE&}bGdp~=L9_}dg~a9W_oz+! zvKBegoY74X9S7FKlTr&iOb6BTEvHMc5GP~Cp`k>~)q6B030-DN$loh9)Ne$)f@9Ro zmh?{KiTI$lfU9Z_mZjXmhOQLY0cJcyZ}O(U$`o0ztT-JQMj$lO8#fdR(F_aYN4W+s zx37)6!78?Z!cg_?&WClO_0VqLh;wlebDWqn0GF^j9TyzbC(moi&BpA?js-fC#)1bF z6Mmi)8cGFb6<@B&Uf77Ty54?Nm@xQ~X>Lws2`}(|ZVm*#S#MY8dN`NpyLza`gRR%8 z@AJp|LZl$2>?u#?JAp-2!Y?}|*i9!wuKcOFQi-o~!Sxb7==~{y#R8BpxkD!SD)jc5 z&a5&6_ww^++^Ca2&*zvmI872wH;bk?VKjTI1Q<16J%wHq2XEpR7!o~|A@p*lb2HjwhjU87N)07uu@IvWlaFwcS`hl@nBdM@4KZBos_?I zrmtnXGJautLAlZ$t}M>oFYZ3y%D?yT~FqwH6^v&L&# zkB0iZl}z%YP_WK3-GVEM1Jj}9Qg0BnpEZ1gZgmOgCwQ}iv>GD%d8PdTiaOFAO;&8s z{2^U&5XRHJ&+Mn3e@$n8Q}pFW-6cB#|D+r=!1u5XjPUL7n2U4&0`GIGcd*X=Gr!(p zqYvC5LGX!r)M?STsOw&dzW1qn5z?2Oe>?K#qdU=l>BI2`by*W{8Ek9iwlWZxn1V82 z4>RyUpgysB?(-*r%linYM*urO#J_d%kQQ8U)6XRzB+KZA{PbF5UJ}4{_t}-HzI%(_ zS&%nLUJ#J{-vz^%E4ryw3IP~T1t?z|szrlXXblm_;;nZVYC~d7CE$g!Z)LZ#MFktl zjj^S!yH$5`0Xbyaqnqd-=$AY{faTSTNzZzDZD#1M$WinXWiB3lzI>j3i0ygssptrN zuEo&^f>PY$dXc^D239igZIIQ}olbVw1L{Z0!$R6{++`&Qp#+|)BuS`NVd$b}_Va;0X1J4BkT9vL&EB&XaOQ`UH7W(%A1&m-kC1xE5zjL2ln>;`F3*uq7(!2Hq{g! z-p`Fzlm%eHj}h3d_*H@(lys^9-nQk?tUMzrI@%aVMQc>MZ`pUcN`|fmT(?gEL@j!Y zvMY;G#?+B_*vd{I8MfRrJ{%*?)6s}5%DX*B!#^a#MpFS&w;}RBHd!G#H(=nN zHGM^Xwqd*3CerI-gh|UaTD3;oM~h7xi$ZD zBMmC0n{0v45N}hXjVN5-rlCzx)_~vdf4JKA&$_|BAK@d!GWH6C_4QBG>;sGZ&&k=J z=eLBi$vro9Br6LA3cB_67K9S7M5`_WSt*?QCNz?ee$-$0v=Dtc#V6YPen&$WJvbnV zbqV_``%5kWDqJHCdClkumT0|9rtI~&LnHhXFOml9F;QIsJmV`|j8=Z^NwfV&9P%gX zR4wE}qUy3;CqfvpX_0VMgyNnEnF%X@9KWM!|434d2kDQMH*BT)$rZrYrze_~^+-2t zSqC}d10i};9IdpD7R}Kk($3|*1MNC(A|y{~1{n`@<&fbgSEg4m!|(Bs9GR<%4HZ%f zosbJe=fO!X>+yxfy%oqvR3TSqr97Z`2*e{+RPhExgr> z_fMhjl;|d&zFNBZ)q3XlX2ZK2nt#kbww!D(<4!kF9jRLjy;b_8s+-~GevEVB)Q4wz~{M=F_a1vUQ?2Zp^81E`3VSc*m4Sz>+cXjEZ zu156G)BF8~1NQ4}A|A#fOiWL(A!EMqVu_h3DSOg$X`mQG0@7>!mC8@_9Go^ZM4M@V9r_ zYtgCC)ee%*v#p^w*glKoun4D4w+y;yMRU$(J6DQfJEd(UmGfe7T1Yh?qWeEB^Gx0cfhCX@#XmRz=E z@2~ZG#_v8h+FmdZ!7!aodJNtdY+KX5Un896E8SAB#yvJ?s_$;X@gf*n$^}L*`G&b#v zbi%r5zPQaceNYBe+SfY!BdZTqP^Y=H@#<&YDj_Y7R<{K3)L21#@ zcX+AX4h*3IX>Qg{Zs-|tePal#3{ldMDA2-El)MU5MZ4rw%^Bwal)5N>1xwIIj)1la zMwf%f-ZXuLL{WY(3XPrTW|QD#^{Aaj?%fdcp;53mITCetH>{%0jk*(%LG2D-T-fLo zufT^c(i>dEP|%JM)qitYwVy= zfmq0iq-NE`s$X3s`kHhI;be-W&$dyOmUnFAk)Tx8hBD_BkD!fyDii@xhwD>V4qCM! z3}sS>FXk^uASCxEiF!z>5k+>3DQ!hyIB_lclo|2GB~c;=$v*e)G1F!Z3pL?HkBUWn zb(4kWo7F|~63;?d97KAo)f-T0 ztvtjPuC<_~oN}u91^X;SETl=_TB*3`L(mHB_}uA>;zxd2dYiu%>^|+@DKPo6 zv3TeGbJ~H&Cz`|jc||FCywmGX6r`j`{GV@nBz~FOq{5c=`*7xjZ zd1sC^8#FBOFm;2St45%`N~5|NpD_y2AA+*&a^!$e5^k7K8XNMlbgy3#aP7!+HBp5RaBF%OVat`q?nrX|wkZGcIz;4<2^aDI9K$I|Ej|=hl@!U1 zYRpSwH*MNXfPxlH3BEAlBuP#)9lyC8A|z44tr)mAH5|!{4VFS}K)z&%(i#TT%+IM6 zhA-s@#*)dqy zOQtMK?TZe&0Gbrew$v=z3_`4x-O3jP5sHWiCZb8J!k1F-asa6@6wCK z6NKVRjZUcGF5CeCF4jctfOo`R!9+z}i5iNH;Rymb(|w5Sm&TL541ARt@7ne=4>r;k z30Y_&TzGap+1o+RW_z&C;N;eM5Z^H=>szgRZ`U@hu+qE?L#zO+<%JdTdt;Wt4JyZe zVla{B^(+#WGSEgY^h%e1((q0YO70IS6u~&ufF-1tiZb7ul3VJlfDa|$oW#gO>fN#p zxk9DOB;)n;EqWw@^nDo%hCPERE#noR!)2x76C;?k+ZGkfp~DkI)#wXDo~s$7JWTzX z;JlLkPS-{9<mRWWxmjEtJg?Tu;s$u#O z_CSPox3VwT{q-zW$y4sNsYKZtD$xYDfC%zXr8c5?Gy6z1NPsAMjMAPm*5F~rW34}R zC1V2x(Y5F29(s8Ph?4Bp1t z64d};03)~xfDKUOt=CxU3o&6afK~MVrWnMGlGyq-AUMiIylb4|Rqq9oNwf{BOtcp7bu7ziRk3Lj`oG zRb>k{=bE0bw1i;C;x1mQ^NTX0eo_P$+f3tj9~1QC8pKsKlZJEwBmzTL1h4A1YawF> zH_giQ{3k_gF?CSv=Z^#!bs(#}YM3O42|iMIz*2>T`kMD|AkwF7>2&+`Z}S(cM>njd zWb-3Tm_Vxs9V$>rgQcFLbb@MyKwBy`n4oY%g3fic~L`{N#y<*4Qk<$7Ok{D1@-&i$><9--x?hc>|CFrC@6pelH zl%js_I9QN#YB<7BoNTn#`j(&*p`{&=u>>5c!LU`dWA2m2t5pIoQws%x4D{_B1jW>R zif_tio-f!O(U2k!UNhgDxa77o(L8UwA5Mf(#@Jjo};}suCpJ zudyI-`UYQ#P2ltcr_2ZwLCd0fH`Z7kI&o*+k>xo0l13M?m*e>(AhaGV<}=fZ*v=D7 zStuloh2XsPQ=L$X8}+S)0HV|~)VDs@ag?$(#a4OH0XVm*bV6|~l2p<3nek%cvf@A?*>n6aMT@+vTVFX!#9E z3~Txs^hGpZUG8q9D&X^l*rE5taA2O~lleJ+K zB5f@AQGH7Hi?)JrgB?kBBFo(HciU@|FYuF(ZUdw5_FE?6y1-NnG*X24FBg+=RSO`w1T?-t%`o*T6W*y(p;~7PQ z9~V76{>)F^We=>*J#mLma=;e1yrTuLy(XUf6>V`XNr$6Z&e7^~yL~vS4L!R{Yu?OT z7I{opDMX7mS}s>P8-aMQ+Us3t$m3kH_h-lxwdegOeXrK%ltB;u4o7B3zEs#qt(LhN z5SF{{y=XauL|NqkbU&u}_v>w^?<0qwd;v2hI|CK6h`w)5H*u2-18{cJ&z4^wrD12g zTw244AJyn{M+aD&y70GGQ-+;;%49kkQ1U$wJ6oj#XrrC0zaQ<&e^_DxwlstdSC=U( zn%9q8E1wDZ*sgpZQ3KJiCdKNgAVKpv@;v0P+w}JBhn>yOvkG?NIw}sR5dwL;`6QDh zliF|k7l6fgeaUyoOS5l(o=%>J#Phk7&IH$@n95m&$)@Ml3uMlW*xHvG+zq*3Up(eC zlq20g!V6CHh8CUe$20X5FVYr*=;u$K0p~B9LR~U&asE;^JYdPW@4Y^~s*UKK3j1BZ zu2jD+-;fIi9hg_~mU0Lli~eP3|4 zO_TULI&sU<7C!0@En7OW5;0%&ws&xeTAy%j)`#HNI~_IRb4U6~_an0gYIhsbbut?9 zL$cHDJf6GVl?Gi9$qw&dzoygs8SO=~m+0TC`Z-IczNxeBx!=wU0957a{`hg-Cwt{y z4b=q!C0gxA;lDV{0L;=&SI>`oZyE=?T0c@wI?{AgJ%e(Ho8{;ym-}G znM|gfe572Zx3AcWB^1Vse@#|eAPyKUEkwF9b6!La4dVD&@p=f2LgB}v0b58&dkN4c z#DXA1jCNmrVxYfviHVYH&0I!@)xCb(b?VGdgyL79i-Lat+<=qdEqn8iTW6%{>2?RO zgSkA7{3uiUbOe$4+%g@J^faE4+)N7_gPd@AyXV{hBu)n`^DADOU@TU~4~*KZ>EL7D zVCUY+B!~m-FPgrL8aT6e7`0mk@g%b^G)E-i?g|ibRVsr7F7SIf0%A8DEJTrtgd8he z0wnfnPl{;sHYmeKq0FrnK4qhIyYRM^QtFjLvu3%-3lvF1+zhU6t_e8<2S=wsuQ{+m zp|W#lxrur(f`D{Qx4DDZ*2Vlm*f6zHUpG?nK1=|tC84(gz+;MO61Pp|J5|sTMbrE` zI;bRe1xY_^^L>7fmiGh!x)E9gEySljb`t%DP0z{jr+)s%M`yN>`g8s}LvIpxI9+?Y zoaB+B!3BdJ?;1!lt^SSTFK#qNONGFapK^zr#D%xz#~>yrZZt(aM^wr3WW1i@MjA>t z$Y(k7@A$iaHnJ*quhrSVzvp@C?Y)c^*3tbB*0H}IFUeqp=O0J_>*pGLR@Ta7W3M*yi4Y^UE+RrP9SI4)iXVLvDHOrlYhz6~%?1K-%Z> zhC$5w#~pFIwMJPHya{;Sq(yXF-z5OKAZUuDX$uYBt~uHFyhr#psS9BG_C+7m`s_~s zKJFzU0X%Coj$~rq`!>aqyoi7bHSTDR;$c>jcM^zudG(s!BwJF-s+})yr3Ob>h=UA6 zt+ubJpaWT`WTsZYU|c>u{;S_B!((4O%eJG?cQ*0^ujgj`SMr4u%a3srs$6?;4h+aP z7uF;9v(l(sE#iRagq6xD>jm~I4NR2*KRBVZSM+fM6UT0F%FZma`JYF&ylSA&fG4Wqt1LI8cx*>i- ztLy2q5A@&ezAtime{o?{6HksFSU`*yz?-hve{wVi*p*SWW7nd}2eVQJX$VGR3 z-BXBYx%dw>^Bk_aR>xcl3b0>3qQlRnpAorcXMKE^M?JyNx+Bak3PG?dGpMq=tzg$@8O%axCbgzvOi|QuVIm>E`GQ1(dQw@c zFO?Y6d6GQz(Y+|%k#a4HUoeGwl25r(dg4h@8Z^9jrjO|4zMzrxi6_Vg9=z|_11+~_UVX+1wfPsP zh%6oH+dm{?LFWe#H6waOR5BZyLi774oGt30Fx;`JH^eln-B;xhKtzT@24?9_&o7}+G>EGKwx$}s+ zU2iw(7oKOfn;4qAB@F~;=+jM4DctW086S-3uyq4$w8PiMZD=u(^IqE9Sfo7^hkW?9 zI@6;uCZM=h>lc)FeRqi*yS!-7hvKB(o@?d4WQn_8f=jUSQ*aVpJ<2njzppv!D^Pdy z1~q}%qQ~QP+G+_;|nsY|ns?~GYL9FSs zP(`8_wZ)FfM972(o{jgdtm@-VKTD^&eBHYk#2U;d?b%d+fb?z0qG>-T6@JAl$RD+E z_KoE=3YJEn(TV|OJYrO0?>;4VO&w+4{;tLJ|1?bS4{;~vp~kGhnMpYscoOFaFui}e z=Lgkmygq8of=PxZoUJH6T}f@lxv6MEGVU{>a0^9JLZmM(<%6YiG<*-x7!+@m zN;QZ+tXM>xkQShMi8UdSpYRt3n8c7K1iFwcc;sI}x?aU@{WwO^XkUyq$`Y!=EhSS_ zmKbLcfJthgHk~Dni)kEGIDg0dUI{PF$e9v1nVqs0H!{T(4=@53L6Z}x6$E5O0aj5!Rtx&65B$0A zlJ8x1!*_n)_}8Q1U(1>L@{R1@%Nxnn2-)Q(@3^t+9|dRDud9X;8mZg$K%9|+UoUZu zNv#ykF2=w4MnEizCm`9Q;{Dj@mjX2cvg1}}`I^auh9Rc0;3kYO$x~<~s8zl9!rcp2 zHpJPx#cs=}VW*&oucehE8GBGkUtcGgs?)k)qCpB8`tsmWK71<9Ihu=n1d zy8_0hGBNu9K5y=~+5E99XQp~x?_z-~=1M~Hz$d?=uI}aHa)Ax)+TDAX{0h91wh8)P zu~#~@|2>XsHKWS&zv_yP%~PlJ=OS{m=F@pxiYo}!M73B`gJ7q+XFk0qkPx||t)%@^ z>;FFdfK^rGPim(zYP^+9@uM64Z+yl?doO>|pF5aGK0An+n}Q9feb6A%V}rOGX0xv- zDJ=n0gHfct8q+$*;ZT!HXqGD=>eih1&&~B>q!qt3zdya2zCudd>o_qo9C0_!Ly%tF z*jE(OTpu_fJCI41558TVFD`QQ6|Hn@g_+b`=Xp18bMxHsy=__l4(NVIEKLsk9Df-6 zX+PQ6uk8v0l0!K00NRr~2QSS(d1l~)>q8~=+5mS5$|?Rl$Q*qb6J(;^HvWmu;751W^KDOE(K=H;d^o_Lf)%kN zEI{-fnzL^?SiTiwGymd(3G6tV#RafM*>0;!uu6G+8OcG)o--sF_>^D2*|1M+fztXF z#K)`)la`?zR-Q2&^cRygLUAVL5Wbo>79*@DaBPGNP`Lz zH6`+LS@B8?DcbqlZ-=HTb1Mz|t(_RY>%UYD48oM=V6fnmP$&ReY$uagAqZ$^407~- z?oSrH?vL875RfVv`8J)h#|1g+_sRkC`JlzHbpx z9BQY&*`DIxlIW9r9yI|_OxYH851ODtP!03R4Oe{C%QlaIAR%qH15847_~~3=D#>O# z01+pdr>4+klI`|8@=C?+T6vEYC4zJ>uoJ_(r3<{U-GnIoVN9FJH*TYG+$H+U8q4q_ z9lK=(z)tlguA{=>AbSn`>fM|Fd<20gMLLm z2gdOyy-gw4-Vm2oX*}mk!rxyr^Lko8i|v)X67NK|u~5Bixl@IDBdkojY)}_Q*4lh# za5!DaYb#&tU<`}KePsr`G9G+ zizX*Q;{dR!5#<6Njd~Q29172GQf&yFPM6eh!deX1pBBLt6(zkj_W5JO(5kj^JrKhv8&rr-X?`Mr zk$Xdrcsty^zvg1{XB^u{rb7z6_SX}7e+0&#@(@mGStp&P+*XBLF)er^?;)>3%@c?x4rKYVabd?WuXiVvoaT zF0QDfO0rm_J1@RsJk`XPksu`0#6nt85-N(nRkGN-qZUj;rKhiouz)lc3H0!V$TO*4 zNbN3Bmg>j4Gvcf=$O-`Z7H+yK5?_Z9YD)5}l@=*Lj+i8_>@AIag>EBx6Nrvq3bpf* zPaK3i+fBeGV9L+TghKsklZ&9!?iAe9ZIRe|a48g*Pl+ghF1;MxdAgLsRmp|aXu3k- z@37~4Vs>0XjK6$ohg%bM+{@2G>pL`LfHreXJT8C+C`zG~dN$$*v0InIU8D@O&-FML z7#XKabT5-6jKn)3^Q`O6D>;MzgvKk`+2S#MdA-3|Pghfdx2erilt`J&BorKg2JBEp zb3rug+(;@4y`L9|J1*f;6MM-`buRrc@A5|DFI7Nhwzl3~gckM7zVS{Ez~Mni&iM=%Xk{ z%<}m%TZE^LXs5qQazeAYofLX4c$T`+9JCh!{>szl!jfhZQ%Lo#Lw^ zrLa{Q0e498g#_6alM)Ot-jy_K-ShB5fs(e|Ac|y|1#qD02{tmB^(UZZk{lmO@0`&g z#mItsz;&Cp7>#wCnvi%0=_QkP<>0K(+M|Wf->lWwaWBjA>IML>a*~*WqC_!xE&;Of6^J(Y9r6N2Fw?QzE5*MqnR`J~fH5UYg!6 zdM}wnlu{8#@!Doc=GU=*f{TY0aKcvBM((}2VP&L!XHyz4J zxIt|YLcj*Gr=#Q3`06|Btwew zlmoQtpHSuVkPcLQiBOGRl_#~4X~6_ioT+Mw&0bF4@dU*45u}KA+2-iAltU!#becI* z4oG3yjqROrlmq@4IJAR=WqmK< z37kJK75vQx&lU4(dd3f8-(2pvCzk2TJeZJLPHf1#zruu-!%AmYe3ckCC2izc30cfP z&dbTr3buu^%W`P$nG{i$AcM>h8GfW-J9()YkXZi3(kU5#LMxfPzjc!FDZBsXgQ6b7 z3pPYtx}hwxB)lKF@zidEN&wu%&bIfI8Xm7ycg=bFSP9LD$J5R#djb@V6~d4yeSiL1 z*&vnjmK%P~27oBk1ZrAVTlFaAu_f%CfFIN)6k5_%~S54dW$(Tc6QLcklVVjB-&gpGzqR}n$tP>4_m z+Ik-e1SKHC4@I4kj!-l4~09sx9goKVUvo0Lz7aNQr4@<5e$yQw~?B2 z#5Esb6Rc(g-uO|AYj9B|J04=_e!L~cf!P|Ev0|P_SGO4{O2FdOyIsQ^EyxbG6 zsFMZzz$XH-Vh%=d02HC-Tm;8>3e~wxkQ@J!3ZxXE#wKAa#7_G#2@c!vSsmeu&Yac4eAw64^npx?(gTo$a8uzO4l! zKQ4krv;-GViKK*3aE+(Eq$Pho`go$gdg5I<_)*^U5s0E0G~1zS^psABWovlKuip&< z`ThGwKz4SBnK4Mm#qx?=3xQmvHI!oE)gPiNNsI7kGw|nkPY12oQ-W2ORMiCP@RxTD zC|oi(MJc#Rihi8@_M*>4X3*`bqHT}SiztK>wpM)BGqTwAP1X6P*A*22?B1NJZ zjs*dauROqq>VnpF{kq`cvE5)kZKz6;XAq#;!M3l}o6%??X^26c<7ok?KP+QCibCvq zJ#xFQcQg{^x-9|D?xjoR2}4qCfzVf!J_k_5w7R4F9c6pzFfvIRdBeU1JbFjDNlEX$ z7F1!FmDNB0iLHy?%*d-c9cPJrR&$@w#h`w!MDYv?s&NIrkvTpN3t4^>E(bq@SA(kG zR`uQ4TdxsKd0JpNB2y6768dP>#u=Ck=h++R!J9_8Mv*mQ-O8-q{>BRqEIv;Zs-?l7 zfV%lrVIVLEaicwOd~h<%ue{IJ>N)-!iq!LJR&$8O@M5 ziGr&tdXzp5oZqSFQaF8LDhH%^&h!xlEP4~JYbTlkGjagf3=b0X3*JS7sU(Ag(mpcq z8*^3V*&9e^t!Wd5;WT~Bf*@>Kq~Tm&6U&`%5e%D*C@+Aufd(`6f+laUsqlhSZU zyf=*%3UKXMWrk^oH_E<8(T^cc1U3hwBvIR$4iKv943i2zr+fsd!pM;AnVbO~5o`Dd=jz8BUTMzit~*3VNUaSomAkFF)K zX1^E73$Y*169HI?YETHWVboF(NHdosnA$_4nJ2?(CivVhu)@EHR+tR>*Vo4FhK89v zEbR*X2+*H<9$!=+JCF=0bK)U;K+|Nv&!4-8Kp^$u)d93%wi3eAJSiy&&?LmzT9J{> zLCY`{k9G_Lv3gVF3yr~Qmbc^7peIFftOVD%Nl zt8qgs{1Y{-zZynFjVQRC`KId=i8Hb#j;uv-0|BM%+E`DbAu0{gZqjlo5^bp;e~ZI* z(riot@Z@RF+X_)SS7kW-n&|KUulhJ9fiBHF^Zm~9D(-TGxi%9BZWrV6;6NcwioF%x zYKJJ$QV>EqH4344sN)j(Y-_g?ni3R1%PVMU?w4Q@FBIom@2k-b&V~L$&OImrHCR>suZ@we>HeQ^hUl#seRB z%WR>d@{sd2lPn(Mi9p$JKq_5%o{Wp7r42c(^m z&#mCby52gpUFXOH*z$hlO!DntUwS=AqK5-pPdho}uLpW7yOk4ADqj_|jb8fDBjG^0+^>a@os6%$scG6T>C1T-gVDVcskgH1F{no3pDcAZAgQKy7M^tKY>z;(-a^c3Bh^AS## z5=kRH$OSAyqF(d;FAb-o0YK=@Pvg95=2pRMt`31qTSPNd*4|n_dMRbaRm^4R1<|~c z`o2TBF$pO_-oymi)d(rqqJ#@iA?cdW5rk|^`$1*gC5ZuGcj{8zT_jgzLS3()$iB^# zygg>lX*V7ZEX9~*KhkQHL=VSBaZ2^}2XXj|WP#EHHt*C?+}M!z zx#u;p6yJa$=@N86jtP-WA{PQvZYCU`4~Ow`RL`XWb8f}2XDbZI)+={%LhU{9uV60n!rtQQOL$zLL`XErTnw_@;|gTgdz~n28#TtAPr;; zDNs@{@?RoT1K^fc#8()kbuScZWWta({Yn8%N5WaTa#pT_cTL$rbw3gZpw%uG;Vn*E zxy87z!Z|T@gd}Z+*In)#ush7W#)aUt!dxR*ZVTNDkvn5r#@v*->ML{)pA`$r8~tcX zYka-~nD03`CLL5C$h|-Bf;Y3Bs&Bxe1Jh?^=!qWCT6+p30#5=BkcuQjpelxOKq6!o z1>zufk`=_N2$lzBU@gR?n_!itScH(kdnTc$LUeL%SdZ@wk$P-*0#~C{iV%`J3p1kt z$6hUa%-sgnhTx+kE+e^TZ@+er-saxoE~O?@2+_M?UBO0euyd?JFErT5{c_QZ@7@uX zsGLQZGjjAWA5ukj_NWAX>D3z|tN9Hc-KXhhR;6MZ2War9v*(em_RMtI*8wh$?5 z-aA}TV9|)8TFN4^JxZW{!15sXHC~8$QM@UBeJ;Sb)v}VA&ABphd|J!2h2kHnZIL`B zFACa=(jpczK(2PY)j}d&f03Y!iGni-6(eABiZVRr?)-YxheT}|y@K*Dq6`Q*)2epS z2m7B8o4H&+XuDHdH#OZ|Xf0LCU1VL_U&KeHHlwqgtxujGDk=ZXYDrhh49vVCYd|>)IW}aS2%Sxr>Eicd9*c%?kk=u;LB9lv0pEtR zjDtXku^Hn-L;IdK!w8H=g9FgKC?S8|8<>)nX(0J3(NM%SO5n)DhOa9rbk?b6lhk)j z0al`T*eU~6@6u^Ms;WUSM3n!$xJF1A5|bFREUg$7yeB1n=B=TQ`w!;TXx=ik*h53_ zUb0GG&PS>%L%H$s0?LYtPZ98%IA!YnD~uT>i%Tb{M^sxW9vbLjIK_RRb*BKK_+~Jl+%+IiP@9+Zy&< zYdGb>pw?ErULD&78%mau?hJe<$nfWN`k5Y=`r%`wM-k8Q%Dv^omRG?08wP5I;q)G^~gWu4@G-FEYe= z-f}>0oh*9WYOv1XI7Re8giLkH&T$zikoUNAY&rDYD%KK|ZY}QIy@2&yqZlV*@4guL zN1U1ruPqf=MnB>X7hvH%MsKjpjctGcO)i8=H%|XelVF&H+)gvQ?j@+TC$)wh1Ny?O z(OR4u#Y9C8C@$5V) zZ0z_X83w}U;{6%8o=&A?DScIY>osYM=20AD%y8%M(f>ZUoQVoLyBd(}aSV9id zN=5UXGQ8wT&$u^WWXM}5$X?y2b)_ik&2d%@sy?-&Y|S$U<(mR;DHRV&I46y&O)v~j z6>z}pWROXfn{f z93=-qe|lnHH7Y{5+r~KtMCD%Gj>I7l2;83xGSrft(%Ff8rnsCy4Hsm|Xt%V3F%#pI zBTdn!nC+et6<5&mDtJ->M_e?D!mUA}J!&pea18G_kn(=N;2$~hCIoPVuKOGEtvi{4 zFz|QWs&3|3sjUnyeag|#?i%pAcZz4i@4Mmjd3VSz;RRBTWU_}uj4eS9a9b!?k8A4; zdCTvXag7~X7&pSRNiI}*4+d@T?({H=xU*9U_RgyCI&9A}gise1ATM*BCyv@~pUMM! z?N+JW7%Do+{wLh;dI>j}y9>2B=|@Zp&|&oyK9PFstn} zImbVv!^S^jHJ}BQyTq~AFqCU>#JMvec`hB$^w&vAg&t@kK@?ApMMMQv{Pc?pD;`=n zM+B77(4uDEpv+Zjb)Z`$Oj9%H0K1EtlX2w160Qw1&Lg9@Np@qTY$F%$+wgu$b$&|; z;|{Q5xA8cS?>%GeurcRsa_c+ZCN~x5hH{Wa%^bt|DJ)6Ajr#muP=P^*JhtZV{A?5W z690IE{6L9GoZ^Wbk~_gqcvP-;ftSOvY)f-gWg?%!D}xg^&I5EdP$6~UT6 zCRdVbHhBGjt0$PK-jat_dT6Qece~q+!(Au|+X0dC_E^dP`+xqg|L6ZED9P3F-wQ4I zf^yuu_%Em4V9f}!k}Ie;$Dt(z9<8E!bNx=T_B-o;JDKK<4XQNH>lmQcUgDZ4`{Iv) z;N|{)OJ1~yRMYt)g&FV{<$f{CT4i`Uu20SVyGT zy~AU6ir8J_o1CcQ0S|%q$DI@Dw{Jdn+9)hoAxbpJo5`Pde&B7&$&{499Z0jukKf07 zdp#~-8?6&zG^2*+a4}cg+?WTKWVhWtXCD>?ml^BZN{&k8qt^f05>4+f1iigwMCCcj zRa`>IQgO}#FBy^uHOxFmIA=zum`id`@igMxFd|aBLb=M(*<>yL=vC>f%(@S|_V?=Q zP#U)b+$*v}*Zxbve9)9v#fi_UU6LS9@g|wvA9u{`z6%#xTr&bP&vMO|)Pe`pg(8=N zp70VMoWNX`EKDG748FC3Je5(#ePO^6>5W;WY(!3;;|t8MGz3SSl!BJ;+TZ#^iS>zl zgT10Rq%?HC>%>(auvwqT(-a~ie@=1dE8Ou1e@s6=!8v||%h%Cw zFU-f@^7w=*$&G^8Mk(>@_eF081n19{m-e~u(w~EamcB)$f9a@RaM3HZm^&crqPz)i zpbBpD<}1O_z4EP1x_~lN1IZ(I#2bomFU$I&(fzV zT!OH_r3X!fC)IH}oTIBaHu9@IvD+vzPgk0&;zP0P(NN4d7a$C+rM_09Ela zbn)i*Q^oF%XhfKadVQCAg{oRpqz`>C8@z(Tnd6quc8cu@clTID%}Hs~pXHrY#Qf3+ zWN$T;UuZ^SJkV@`a*;=ew}c}HR0T4dh`~LC8lz5aXs?QXhN1amTvc28M7O4@SjtHG ztS6p{D6u{O={hAaPh0iCT{>C?`1L0Egpe- zSLGt-6teS)BGdgw)Li}q?YO9}Q7Tk~YEiDz_onQoi*ogpoGsOhnAS$e#zC#=<5pBT z;g+EFdrEndh2oxYdr07APeU`NKFs7eLc$wTNfk%jCjGEfsiG>S=pd$Dj^1;C)=E`n zJNJxPTG#6VE{`hY4nwKp0O@4fS+l$*OS@-0s7d*Q;)}X zx{68P1nu!5#?1&xb-efLDZcMm;BaMG1TE$olmzpOY5^&A z;iv11Edantby3-g-0V`Knlz=twf1`weXDff13k;!QjTy#Lo}ik!=|c5!|#EH*wjDE zii0lFsa~oMk8Fwx^V9R52drhPuHcB8IUfuu1?)1OLZWMsjPB_aAH$-gZ4iM&oU{8^ ziQ}*Ma4;otmdDvJPXe&Q!R}vr%V|u;TP`HQk(WHEVp~RlD;C`}byD!bL34GSOWm-u zjT|F+*x*tgj>L$JG_LC7TeBRMeC|dW6%#H!c^`XZbbQHfF=$dvYI6q?t#2U-t0r8U zM?@*;t&`Pn3DBlmBRm_u>J533Zv}2Tmy+NO;#19|0 zSq2fqw!p3Gc)M-vgDgFCyw>!1WFcW@Z*^2RcFY5Nt73ZW*?BppLP@37JIhhO&}khu^y=Uny0-}k_`jV;|_(*xaJqd&0JQ5pC>7N=8p^6 zp3Dj?Uqwa7K5TArdZkIFw|Ydp;!)2ohY=6PG8mm}B9f%^GCgkARhK2-JiPy6e%2DZ zcjH7VWk|>BozKy6!EvX@LuP9TEFq)DE6`gQ;&~$5Qp3V4ihRp;25h!a>BNVG19wlw zS9aLEcv04Wi?eHWq_ChwmsFk4C1RT~$}_^2KTfm&w;ny3V)Jgh#@*~KIjeqHm}Ts} zK@`rrw`0*G`5ou;iNx9jacUe8)_;@Ab{0SI8}%+UOgBmFwi4kBb5ethF$317{n&U4<3KEMa1IJXdkPo9mt}kyNATv+W=cbSSd& zpAULZSszaF@N9}C?$6w2_J$JorW5tDzVJhsD9Qa765+9`73DeIx$Ex{zpmRoCY7;u zK^?zuOwR{{g1KE1ndIqbNdpXN)#x7fhkpfnUe~|<$g-%BZHxIrKU~zPwx61F^lpW+ z_lX65dN^?Dy$2}IX{w)%ech1U=kuK$?0EimyCYUQA2$Xt>>NJA0l7BG7njY-9=BTp z5?p?;$b?=eDOC1yktH@DR)UpG^PW!32R0{;4Fe>6? z6RPH^Km~G9CRe+v36DpGP|$$f+QVDMJdGAXs>VFYmCGQ6zvYS^!^B%Nkm^X|NlzxO z2drPf_AzDUdWp?}?qtM{VI2Aok;hG@Fb1gTMTvOAQzzd0DHqd6pw8t7G6tSj0T{Nh z(=l?mn?}QErR2DYX@I+@;7y!NHazIbWyQZd32P2=IAzTrccX54Kc)H%K9o|n@QHCs z8^+(sX!C$va1-Pg&69kV9Uj5SXSI0)Z>n7a)r0OTDc)8oslIz#rTkwP|C?Gmrm~ZR zX7el#bofl_zMcW>6o%ECY8ni>vl`Y;l{33EcuyXqbS zDetN}r%L%##RF0Tm3M5ELgmr}B~dM%$%9s(Bc|>%+EbX!T@!cubfB3N_aTOU!PePIKrvx^vWkhlxBz64TI{-3Ig{uKEj? z;k2I0w-hdhc(shP6nRddkW`ie)p-40VQm7@zA;WtVRcZ0D&HFK?qa83P>NeX;nhr3 z=9{WeMOasWLAa7(mbMFCWvkPu9&Rrl-vNXXvO)J?2Eq>aQc4RG1*f;e-w+JfMiYb?4g=0Q61Cw|4{n6)3WGAl2#iOu&gdq#d9q zU?PVJ;0c{3Joz>s@&-(fx)J#a-~Zj$DwD@^PW=Vvy!ZQ=Kj`$%E(I)KHppvj%0PF- zRQv-vZ4@i!x6!K>%s^IC9faRL==i7aLc=N!6BOC>_Lrf~%xT0MX4G^}j-`$uZ_r~z zWBGDo2OP0dBorL6QB)B(8L@gYxh>)EIN%k|#v!bD+b00fnJ-8Ud#kf^$d~&=cY`OI z#`z(~ws^pDf!58y!3l8x=Q+`V(evMi0Rt>&cNhE|Mr#4UT>S}4aVN}QyQfz{+)s5u zQu9P|I<>zs?5JP%m0|;n*V=W%oR%2$0*DH-@~;jnw^~ZN1p^VJpeDT=fGb2YXqUbM zTqWIlo$zOrH*E~=E za3SLh@-BzdVw0;mW9>e1Kn=!N@)yCf+Cf=<=^QGIw|4)2Ct$I|#P(T#oR=u%me4#d3Jo*{7qH zVay)g3s0Hr$CSm#z|p<%54j`8=D?P3XV$$ePdrUcAOJS+CJ1&l1MBQrG*AcDoeOnTQ1~m-LE$ov1`1Dx z^iOAJ4PaGJ8-){-lTq@W}0GLkMZDp#I5-2+N_~@(1+Q|RT^C@m{ zIKzNO*8M@%J&yt81~Lb zTUPx00}5rQha;;@aHKY~`x*bsMhzc2_=2bR>_<=EgU69GsO?y?zmt^FX zWl$NNJ?Zk_N_)#6usdwZ#nH$Uh2`?%4Ue~+o!%L#xtlsHq$o=b74n1 z$~nR8>E96FY@a_KA5boK=rF}1 z^tSi>o|elT61oal71ubt^O~X4bHi_=Kk0_rG@Ov@8{Rd)%a5h+Y3CO-$4_YaLS*hA z8_MGgc-PeGwAbc5bU42)zECKS`v%rq+Sgu7_sJsa$V&(K&!|em@wX&3WFhw$thg!; zBe>#RzVOhap$d_6Wi}vbxHch8yxEhje5jW+Wb+14L=JA<2aMiT#6;^h;DUq%?trmJ zE*24o!<`MWr=KfbG8GzETrD)?cXRAGDjD9x7Q$JMB!#aim-8hJEqv1$ev z$YVXJLj|`gS4>NrKt=eJ5PC}!=xX)J9kZzcP&MJftX_E|ROIS|JI=9`HZ*&F@SGMw z3Bs(nh42!74FF2v$xSIp38=#L+O#~emhnA(6&!eioXh0#1b}v`5-n7AxrW}svO@-9 z2Q1PCie?pCU@4^&9)obo*jfY(qpGU3cDe2k8bb()mI204Njn#1cC-~?nu{2-RUxV< zU8MM1niG?6CWxx8)NY>$9x9hDkBJ5l?8Ju9*Tf!NchD#>O$4H2NOhG=#e@lST{}7%hlBKo^6O0Sh%2y} zbzL3T9hvL*QAr8Ro`0`TYY{n9x~OU$d21d@>rzj;We;4nPE>qTyibp4)CA6m>(%iD zVRVoJd)~mlq~UoBql?-@2PXMcC8Z+{!{zLV1I3P}m?GAZJeXqG)eSaSo+p2QMeB_}n#V109m__bo0*YsOyfq24_BqdpIX~(pvx20)b8*-EvmoLdyzX8>lgjkofRjChK!M zCFw{qH{e@3_2`bK-cj*BeV5C-JksW3W{|3UrU8B(l^dfMvQseb-1K#uESkhuK)AT1@TD|9IowWEur#zEbc10Z|SSH}jqk3PDj6yXOdVrvZlziu+FtKq+Cbw4$ql^F&y<-JduMJa7r=8a!U!H z#*{n8b}iy2^YPSVF4^OiDj_Q(sYL4me-NMhuq2+umiZ|iaQq~8iaWsFK$_@@^2Ydy zQe=rgsZokOH%Ua_8mz&BaQb4Gc0+Dk>P@Vv?a;S(G^K~;0u`$y*2uCREx$|ZXJ!W? z;1x+k+hV^FvXdkNZv8of2jx>jjmY04sw8GhDs<1mJR&Qt9+Je7wtikStlFi|+W62P zcFFcfSuT)@vNJNR0A1+ow&%4ywbveK2S+QS%JbWvx@&wej=Xjbs9Fl~wIP4>Ncc-Mq&EP4z6S2vi)&;o+NKHZMR>jvvq2rxx1Lo$=3A zF8mugn%g$_mPl~Yd){-(e@u5v1gK}f~lOSDAd@qLVkXzV5Z<~I2B8uz8kmyxNsOxZTf`4V%g@ZcH zPfm1ZeSNP%n^f@UJ$b&6C14L>ZrTW-Fu(>B(gu)p1}#WaRNB& zR#&zTYldh^=jaJ6qUFCnDDuIgF|^MnL{Y}Dk83BMbECS>ts+#ji!KM2Y<;a0&Uu!I z5Xlx(C2#%C{4?W^sAsvvLfoM|_9I!uG7%9brc9FtM8p(Cq}dzz;s$mS;m>7*Z(ZlT zkQ3Nh$u!@u6Yo(@TxZ>0u)6IhJ4C$4-YPjl-y=l5Aq!`Kx{s)&OO^pLPH?B-Jemu3 zVmp2EKCzvI@Lgff&QXGVu$BqG$g+xF{xe{`KwGYZ-`9(WOq;OqOM2_S==VbUsrC*} zqUnM60!ZRSdF~J9x)^}Gv)qow5A7cNogntK-HKohazB>p2FBNeS}FqC^FC;F3F!!(3k(qGfhZ+MP> zz{@9sbN}9*+%pd@{B>~)K%(bm-5;R*A!LeNQ@nxFzV~1HHw8tVU~#Kueb^6FhHU35 zT4Qa0Y@*&(&`X}ZW+zls=-86cLzMQV$bmVUUWEm;8!5t0${Z1ZWeE#u=qP)TO)N=> zKDcX)6EMVhqDDV%vq-q5T<$Ong9TBnT1F@kDZ8j~Cr5xUgyUtnf~n_#_HY73nOMLI zs>t7Uv9rPP2@)k{&=Q#cgo)DlHUunmrGXeAF%LO{g)1=rlV4VJ$~FFRVXCUonAlI? zD18v1)^~zOS+*`>LrQiPzFPNV&YKcy(u3?_0LEU0vo7o2%D$TPRxc?D7MUNM3!zdt zYw0Kt*YVMVogDa#3M5`ayC~3W>8ftr!PYaowM@h{dCnc z`s5;fzjasmg^(+)1AK5dTGs&E`D-^L9QtQYcz0D{T*nSS(9O;Q5hfa?MRylvAtIx; ziY^(gbgF7+jb0I38R@SNl$tQ-8to5aI>D^0aW58|fr-`hR;SpYoSRWEPe+%hsdbV< z>znNCJgS#C;#7P9i-C2-0#8&cT|va+PGoDPkQa3Qn$k;NA|FWPrpl3Xe@=WWom-j{ zjiLCe4Vh9+jpLXDBCR(2@1r&BsH3}$le|g9vh4wAA1BuJC`jhG zZm8>n{47~?u}e#D2o+s)&7Y1`fT$|@I@1dH*$H;t%N!A4>OtPUAPwL|yH+ZMpU7eI z`XDM}#?t%5x*mmi2N2rhn4)aa1+nm`ib#dC%!eX^1<-sLxP4D!sCNo+_K58KDHib0 z7zv)~6za_pjBw*#x7u6KB5&L)?PJt^sK9F(!o%T#2qWkfS=wnqj?EC-P9^?F~xN>r0g86MpYg!MJm8x70nPfttsQl4|rAE-AqAg9s|joqX?dqS)GLM)PU9oMT+uTofWiSZhUxaRr~CvQdo{zgnHQ%RGn^oEZem)0{!&H$Ff#~ydXD1 zcGK{Lo9QZoH@560=xTdTOd6tM#u+Noio(NNgB?CW)zDcnBOKpOwHq$WJT66~zTJ3P zc1G-M3vlU0G+-0-2F>~(MD<6c41H5Kc$UU!JM0nMgs5yiEyEaHxf4FiEIR__<_6Gy zP+3&ApR-jgZXhii%zZ!|DaLOP%?+j{Q!CbqNI42i@6HexWn-Z|f(MGnGhxXYvWBRR z-`!~i;#40>(kRv?cY|t4RfBVg49L32nD&!tf9l+j`>5Z$USgynYv2Q6w2S)IbpvWg6o11S4(c7Tss|Ffu5NfOaSyCi z#HLSAkPn^+TQc=22gz>c;gzTqYHY_)$4Cy~h3p2|l2U0Kp+)f~%!bKV*!|uz7NAk= z$7PWtr^XGirGuY4mk8`tq{6ZvXGWJz?UA%B66E=~@wG?ofQ&p1L(euNEi8%~V^CQdJAmjoDQZC^aVyM=#^JxIu^)1zhk z*V5CE-zUVF`svv<3MeF{$KzLx8S{`$82&!f4rV#Ou3l-05vX#_l3e!R9pRpvzE zp5;`ebtiT5Z9$F(5wXX_rqe<>9VEP5%)fRGg*Ehc*eBXcqpqYeS+j^1~2VgCGHxAFq%ZKC<3` z-F?C_MMT#*e#af$kX^zn)_}5jca{#7k^Is)q-6;djQ9L_23(2`!h9BHP+Nm*m5c7P zovd*X4Kl9{OBr|WsvmtID%Tx`(W>=dF2jd)ib(~{yDHZUwngs5-!_vo1x{s#x%9Y>qMoCC5}+QyPBN}Eowni$6vlq% zX}LmOe8^S{dXqQ?*QS?*TsjX_;op}Fr>uAz1HK#3Bhladp0{vs_1gi z#kiVI2!3M?3t@QN-7|vCYw=O#d4y4WrW86S2A>dt;?_?HKDC;Mc$k8Rx>LbXa9!7f zE@a&|F9Ls~YyIDZG1cK7*~mR2GwQ_P?|T`M2m8d}(^@++T(VLicw8CfjWDMt~}07Ch(?b8J3 z(B#A;e5*VW`1C=Cp*~seMg(DuCj!6m;|zQ(&w4#zgufot!YA70Y~Q~hU*Hpg@3POL zl!%;eC;Xm%j(p)K`hH(ZIC=_lQ~cQbO##SeKB4zSfFK+?{W10Y1n2k-E}vM<{c~S( zwH&Z;)QR5ePJoa5^CA@E!1L$YOZ(h;>7N7>b@*L6!H>7+JB8farMB-4RJl~hdvs#$ z8@m<&TqWjykpvR!gxV8l$`q~thTjF`RzPTM5s|unk37I9)V@(_o*!x7s9XWaX%Rt{ zmwM2F#4baHx*tf-*S5jDnkh2bgf*NXd!kP?_5=MW5HF-ifj2@duEN zC&r#Qrp-7!LH4xxfa1Mwj6KUG6o;xTF&A{YHGW@_s){wF?-O886EqYbbK>h+GtUDm z-ZfpuZputlVXGwvAo;8C)ny~6hWuSsm}?7e>^)%+-M}i$bs~ka3Ukf9go2_kPUt<~ zVN)(Qi$okFTIHt-cmDA{7%uTwWzHb%{*w06ZK73lYw<7D3E3Al+TNR@Trt7ilrsL< zRu$FNQ$|k2KCN)S64U#P4k26In>@vqBnBK0edV9Y&wXC0M2# z{zB9vS_%4M3N?;AJKB%1^PjO@)%NUEjpUUYw2GNrsx!sii5HgNc2Ke(l~4TCi^^v= zz(5I6BmMP(QVe8vYPLB9bAs~Of(?b6cQ{e`tf>$5eD#o6BcS`y)Lw}#@58n(kM>Yr z;3HWn51S)H-gu(&iKP6X{C!+C`Z4)@IdBSh>+`SsbE5M1CvDk5aFmCLhbV1oF{e=d zsC+$J!*aUH;!$ig#0knLbbBnRi?s6Q5MviTN1mAcqe_97n-i4(AU{hMT};*10(4{b z+Mk4j)Z)9<mA6D;9heFZ+LY;LtSh2DHVi*53N-?y@I)#2wVE>H_Z^$9t z7;OEs=ttKROTT!!h<~|gZH47U0$48aK35y4V)4b_><(s2~v^+eUe~Z2u_tayQwkaS7A!HppOa; z!Fn98f^y14a=_p^DpN;v*nYW>5<9v5qa54|QU-Lp{f-$1x3ZyUkC^$1D3z;nA z9BJJA9DgwnF9W^k(-#hd%)9+q!@o(3UUSC zFB%@>p38m=@`66jLRpzWK_5d7Z}I~goFk*TJIkcQ>hnYhZsC1Yfsq9X;6QeA_l0h6YMPIP( z0KO=f0@IiXQN#-1S{MZhPqZY)s(4ksFQP506A?+rd=o7&_F0{t+ z*k{iPvo;Fprcc^Vn*;E>VVIQ9LFH$&&}B}M>AaDdcC%m@0DtkZ^fSKco^+RQk~r(cXL8)M+G@^*REC1SVPM0vQ&LyDj7jje6Y*7D0(<&|-g>7Ep}~Vpw1X8M+b(&S0d}<);P)+#s#~L1jV3LG5EAMLawVn1$W|6MBW6 zFO3v#M{JX&;ed4Ti%&up$|k=X$+<(uKsoKK!UZRVU(E36$yQ3Qzk&_si%^QboIJX6 zLBvH4m^6wiR^Ati@d(35xMab(*aK(Ki&VgGjq8KEP;ek(S{*YGRaHp30yw<5lJI#b zvmYs8suE*q8E6HiBX8h!se%YonjrvZB!hOS@Px6a918K4W`Wyn`4;@w|x43pv1n$*?^GmQwAYAYR)=z z4u%rbuym(1Mz}90^RaQVB-~T>Bv}QSKnLLMCwU^BGV{j7SalnjkRFEHm241o_;Gl8 z>K^On%qW=GN5JliVM?2FPAg}C`I9VUQx8u{Mn^XR35FZrqjN|Q1%>+knE!-8yOoqb277YJp%W) z-_<%o@A(&QZv{a*CHTaZvg=uTyKDT@WIZh5B~^jQ7~R3y}M)<2nL#^tLfo z)^o||g^`O0xIZ2~kP8TS{H`dyA#&#O0sP|v7%`U*;1dA}{&L|__P=bXp$zS$N0m*E za7mxj&JSRYU%>K#$J{@5BewK!|xYWSS~e@PDH=8FtVRE`)Y|I-IsO2qf+}y+2uuK+)vx}V{qa> z9mW7y>vwGh@NShKOVFZ?i`HU!OPR`6sT8>#eG2_$dmzFAe$dJ|rJuld>Z&4bKc1PN zDr4$E9&s}NRSDkDRGiFzqzMvdCz&53r7CmU-B55EzemIMp@f3G+9Y~Zs#X`^1pYI0 zfGTQL21XIVrjCJdu+(=)Nvlm&;bIiIVwNCR5X3as2Ok4>qzWe+eNyZoPSC&S*4{vo z!>q!-!Gd@U7ad`PjiSey^vql$kmFSt*UxS_YPMd+_w4ne#*@UHM1KqrKv$xm|6om( zGw2!l4soawpJGA10acHWONhb~QbyQzls=f`;xX>N*l-AulY13lgiB*{#I14JFN7a5 zzr>024`yuOcc0T4|E>_U1goMk*_`_ExZTzg;H>x$u-<-fx75nO=YQPPe0TDWc(sN? z)B9C3V96&Po-x-fl{eM1mwLC4-{$2PHN@czMHQh5IS^;Uvl3=k(4*X9dp1oEKIH4ma znS&ln_9F$z#NPB9kdKcuwkmcp7ZUB(ow%34!7ccm$BT+Q>0ubi(WUqqb|V&5A?7*( z1#S8BCjkYu?LV@g`~TNZXv@Gus(AQc{OFe>&^}S{M$j|!t3b4**N5L;bp0NMmU2w( z1}#RA|1%u+JlFGYm!*JY=xIU6F_$3!kek>Mcr?pFP8&RSY!|o&<`T39kZW?@^#~kC zLLQ|D<`<&`ZmZK4kUvQ1nxD>s`wOTIp7w+^Le9HQ2=KUak3$+`SR<7yF>I*a<$2lM zqqh;cI?VfvdWowcjgPBI@DBR`6|ds4bZL%mbY(7AarS2wy7@T8-L1~j$&}3(q|TjZ zU7CH@u{VtPl$WOg0`Quh67?I-!o>3OQ|6vNN!H{(h4Pt_o3#K>`xm+>Q|E?T~$MKDZ}_ZM&pwY^O0tL={0q;^H_N2+h;%>Ks~t zgrTe~6mX3~{Br;yy}S#d+5?Tk4m$=bDp6lSVRtS~MP=B#=nQfaoJMH65pWN=o!X%q zn7hY4*$CscPozdgWt?dO#u}AzHpCWBI8ve3a^{8Tw5DV6i>Fs*5#_^oJ&6#Y zX{$bS9>c za7;-`$mMi8`j{B#twnD00=ltCqZtE70_Ov>hfOaG5X6LxGBi&J6i(ip7iOlqelFL| z1zlFK3s@AtEAqeH^soQ@kLE>?fskG@p{Ec0=$9YNxWQa^+KUp@Yc}DZ=kII#JDLx9 z>mXSi=Q%pXE@uyN3Ha@7`houlbg%`lNmOOL*MSN{MD@WXq;{zf4z|7)pTtk8u%MFq z9Ljc10bwY*e443Y%}f>T&0T?$PaJHhf))3&KNjG`o=Ei?M5+W0#AXl;6a{?*(LWn_ zui$bdEL2;BQbV-QpM-p&qFb8m2X!Z4lP-uq0jg7>KODh8p*ZObYK|dCvFe01?C3JP z2-OM6vxKUHh}u)F3zch+9R1%!@dnZP;F~#D9$^#|=yy8F9$PD%)Q%Ilc#G0lfF)Ln zy2BHq^dNd+oM?wdb(36CxJMAZF=t>wg{)Q_f{L5l38~;}AG|=IT?JLY(r6vTXL79% zwoO_B(FIYXi`{%8@8yScX|qk1-9M8&TML~R+MSAE zZd%FQR}-af6#+uNuwQe$+eqamew>@Y3E}YWr|x7@PB!I$K3E6P-uEAw!@#i|=2QN0 z!ceLfkGwqUX<9K8B_LwI^h0bpG0@Gf$t(~YLu~@cdDh+*KpfjsS*^Zvf+7iRyU4cH z2Kecl8w_pzX*(NiBpkb;Poe+0%Y`O86hDqqLxHgUuXa5r#*@YwweBy>AW^=kv0Lrw zgptzwf8jnQCaNynG1}PLhneL>u~K&ggp>HdNgH{K_qFZUXD3pY`qps0?)O{D3ACjS zA_2W|o(FsCYg6eh#e5+6%B@i`PoUF=i}yLGC@~mDa2E5TlwBA;7|rlR4pSS2IVV*> zHqS#ra7${B+0zM4X53la9)?MMlk(UP@Rr!-?9UZ-(RFIoEBgWoH%l#f!z@moZksVr>%s( z1I*q8eInV37T3L^LEc{oC8e5bLUeNC>6sj<-mjtPdRMZv-U3hWMD!EMMt+WZ^CXVv z<8CzTk^`KS{%Z{I!JWi|=O^4!X-VIUJgF3S01MBuhuAk`wNvEr#|Zroc=_H!j^8Lq z^AGs=1OEFAEX}2R1|@D539iP88>KO38x^vzW9l?|zpP>8iLP@IIpv@${;{1X+iA;s zMJp+>{UU$#Mg6AB6Fzh{+|Xs7DkW1qZH3Jx%5!`kexB_QxH9~(CV|{fI5~4RD-cee znLkSx3ZU+c@8sUDm#l@+?V;uNo5sunn&5kZE0kI%mG4SFyU#2PDJ|^_swF3zP&F4Y zig1)##sr%!B0O{5U7rkXWMK$DBszhdE_!Tp1oTNxI!H#$H4EcvAxAXC2|=UH*2XW~ z)=Q-OiK%q%*JUnc)*BN`Wk-rxalCtqJ4G9c&@8-ezZC=A-Iz5-@5BLPikj_;jd){O zl%=JB=ACZ?Ke|XMN5FP zofcAtR>`rInf%r%QTgJ%>DPBBl8+RQzCJ)Sm{ck8wCF5aG*hX?P1ozNtsA3+-H^Z! z<>+zDbx=`fyO0wYcsaMdEhjdRWz3klLMl(9c`m-#5YxK>goiM9+>KpMQYM{Bsgvh= zeCfX42`F%V(SelLbRnL z11i-A5p4qqEugEeKDOxsPPpHlGzx4%n-%d(1Z{UwbdjLy{n^hs{z1Y((l^} zj-iN=+15P^P*5aMa2LxQkhz}}o_nLgT22Pgo@q|Vo>FM;LqzE?(?~ly1!)*bMS4$IAv!N4d%a|_+U4pAl^F|GV{f3S5(NH8 zF5Qe2a|2MEM3Aie&FA#~L{*~2Qv()UUEMnCjzK}8mPXq8hjG~^QLBC`H(v&e8Gq8R zc)D2FAc{~~T|?aQhL*(JLpRy2Fl_TJImlUO8PMjrQL22H1==h(PLDp2k3dSA*YP$tFs+w!zmA?n7* zGRO<0^7e4OFfT%Ljq&>&&|yW@e#b6G1@RL_SxkBC`mgvSwV4O-#>R)x4!J?ye>)l) zjLq7fAY2c6aphAF8ogW)2)`(t<^bq*@AL+U_;He(1E2@g%=M?yivq>MxdBMU#=M<1 z^3ylEhbQU_uaF{|5K8841Ay0mD!q9y6!Ju`sPvTkf=~nt#nU+t!A8+G&sX?Ijq9IxeOpsB>9-hyR-HB7-`q?L7s z8Ja~czgz}r!D6WV@S7+)NU>9X)&ST(i25$FEJC2TMtvBeUdiCB#Sgk{!H%d!UPhMc z+qc#LT#q+!e_#Kl7QkWT&NlLu0!qk_chO=a0h;*ke%f3JTT4M^X;e#w^78CjAFjy` z-N!fJpRQUM*c-I+864~^O@FSKAv^ir?vdg6Wf|clN`?5VF9?wL)BWNuVk{fd^r{K^oIe(WffBNcq|Id@13Nq%fN2qCg^zPL z9JqO}Z#N>C_;SY9byb&EUpR$=xT+pA`-JZeH@cWSC8ak+l(j#DUSdV8u8M%I3pcxl zCt8oVP>(r)rW)Cb$V5GvieT1s^Z)?5kvp&ud;_J z0zKB$cB6T8je?%TA{itLf<{Li?*m$L)!XL0y549!KJs<@7GngSt)QDK2n=)fz}a#Rcru6|qid4p?-k&-dy~x9&a0Bj#g=o>(SR9&VYI3S@Xew8X380p!U$ ze#yCw;+&>LZL~Teo3HAkbT)MZ$IsQA@GbTRkMA|_7bc5d(I6c3R#6^)+%Fza&lQxe zuA*M-_w|J1=G0%4Fc>|#;FFuajDGf+=384-q>~a?I>ZVh*)ao5#6|&$hvKqC_nq z{g)uzAr1gi!R6v6y_mbJbK}gZ(FIN-;U1$1H1V*`>&`Rs~dw!K9;jrXw2wP0s@=H90`NeOl> zqdOHa5#;er5hE?c-ih-mOiLc9XI9UuOe*(rSrr9Y>tFTpi9cFAPou`M?QJ zgBPtz`U@z&$bJR{t3A3y-q&gjJl+5_XbH*vU3=sxy{DTW)14=A^t+P@fInBM=GRSQHAr$p&z6X57v6*E4Hl3d(jRG|X*WB@#OGc+fRQ5npUKFGP<_2C6wHn3y z7m}A}OBzTK2h0JoD;?**93aP=RR0t+8)_g7)4H-W7e*>y>fQ%K<9hS(YrpEi+CGQezFUet&`RLcK2y~Ux z3gwRqPI$J|Kp4E@s@V4wDO43jN{`rF)2n%Wlkk7a6P)?-OLFc5;GM${&7L z7wF_dtX#3fz>51j`g^TTPWOWK;Mf@(*533W8`x@**+3$>MjDe@NEy|I(ckw6a3Kpe zr=x|D%ejMd@8k*WNO2-pHik^TSopSWFt|A2M^YsQ-a`Hbsv5)zS`FAUfjq4psE%Bd zgO+BFm)@E2s+Yx3&*e*{{szQUxxu1^lzNQv1JVjKsMOI`fvBA&(1e#{DE2Zn(s2e% z{%vMF|dS%F){nWbX|p+wdV%p01a)!)V-@7vK?|(~JlkA;HH7PFCW*Bp92N zm7GzwTTTyrqlZ3D-}(WuI8Mi)XHEg5Az&I>5o{M2OUg-Tha#;1J=X`RC-@-2$#A^I ziqk?kq3)hJ8lx#w*o8aMX|(>hRW=o_%R)E%a}o>3X(wzdc%ULyN zm$QBUetdyBQ`F~-MTs%PQ{a46Mlz1&<&4*}0x&~*?B8Y&i}2v4c{YtZJx|a+Hk9y6vm4%^^OZ@t6`4lBZZzo)JX`g#8{hMO+=EBLV;3UF;DNgRc z6o*b+MBOe)iue;Na?GD*L{$jx8Zv%VEg}wggT-EgWfG>&ffvdZNDe0lHBK%W?(VtZaXLH%jaz1g)e7`$Wi1^F z!Wwk_z^ydo6ubvdS~?s#ep7jUs=eqLI}3rJn4NT2)^}G3AQkFEX+E(`?+;{wb@v$r z6jalEVh6s~U-|+V5Z?B)u5^R(R2+Q3=Lh0}a(kSMy z2`~GZ69w5;(fsimsv^k~;2hP%NS636wjwGpyhg4>i^a zOB4zF2Fk(rfTA=xF!J+*r@;m&Z?r$Cf}?u*xOR9wGD=!j%O>KGRgUoHi5gI1+vA=k zO5w9ceiN19XGbdHY2-Lkg9OTP{)}*&57+N1sa}skS5sBICTx8*wL_gN!tY(gcXPxz zS7haZGhCY*le^Nsf%fOIx=EFXFn~GDZTQ$ibXZPTt=O4EY`}yRBu?YK`U$wdT`aW9 zof{0Idewcx1i-LiXYQOf1 z)udAa@!SPx5lTHH#mtkR5b+I0jd<{t?@yWipqx{3POL1B^b`H z3M>rD7MYV#qKSIrVCsixi$5*kG@{U-yZ{~cc+dmpi{sOybP`#33w`1`K__K~POD)( zhC|>yW$V=5_n=XYepJ&X%416#SUN=E>${z%Fa@kx+gt)qrjKlbU{Re#_2%RBLf9tYDcJyY4DYI#97ix0(!DKWlZRXXPjF7valr5>^Y& zsC`DxI8`X;GqwuVS(V$-U^(1}tpJZcher^FQyfH9n=GIvLyoizzDKzRcg0y7B-QoX?(JnyHx?GuHuzg%?>f(FXN8InnY zezTvTJhG-Je>_zO=?4s`Fq}Da8V>per~82VeH)e?rbPKrka+jg3jPV@iD1aYR7DRY z_)t%uHMD4Y@Nj?Su{drlhbZ{;W!axN{f^c#*+*b?^ zgFmGuA%rrjG9Hg|v><-Dbi$Yzwrj}X+e%JUXN{?QNaPZo6>oqOlRy;*h8FK$oOEiu z%Hqh-Q-KuYq`(5I1gfZSA%k2E>C{YcKsW_Dv&#!#GcMzb&#Zf#@8l7}ZEY_EMiXbo zJD~1@B5D;!kbRDzss_Vgb{~N{NNBtu?}$%#KcoSZ4dlr}GJn?2K$+YP-DZcgmeYt3 zf-=gT-;h@-ljh}c7v$IS^MPz1UF9FW=6(qn-jVJCls zWpvbnqg~ug_)K#Wa;Swj%IE3#=%R72ophYS$rlzc>_aXbI|Q&YF4@F|k?ox=OJy}5 zHQk(Tk}-o|1|9qqx>&okzR=Vap${Uz+qIoUXSAM0yC z11A}W#-O@LHh<$m#3N-$q{9Ih$jQb{rUKSp8Ok+2^J+kCw)hDw|SU7o|AmTv)kd*W8)yTM)uXv zzEA4SS)6f3m-IdL{DS8A2`yhJ&HZard3-`;Rbb!}zkXUirA5(;h}K-%*M3X?B9g^K zRM46{^4dO^RqxO+T;(L=$kj9}6Ct-$2q>pdE)MHo+sFKVV=Z#~^CBofMj{FGt}Y8^ z=t9Kwdf+7E6bdK#yT;s{Y zVHpFmU@l#j0E*q8Bpeno0DmV5r{FmFpiA$ln_CqQ)#2drlXR=Vv{ed#jmbR{8kH01rasN4KG)Mjc1PHJC>2241MVU7BL0+%|=smqH zyxwr(b`Y%k!GgDC>%QT_I`ZyjWr?>IRRJn0Eh&0BUO-j+c=GpT(6EF@nHr*~|6rZ< zTKpri|0gg3cbJI)KYF)B*f&J;p)ZMU=sTdB$%oSd0W(g~EY zZK^ou0!z&|F%|KhIQcS#gZLq)6-V^G4^oFzIoUX9pg@-nQ<^mDvmQ zm`hhJ7Ed518i=|%i88D^fIOP2muz&Te|OQZ_U;X#pCp-m)5{We#Gv1w2!`{FNV_;m zGKGCa8HBN&9GOoccamf_CGMUu0FhJG44jz~^J5m603!k$^ZBX9aP9@UY^D%X+M$Xl z`Q;)bw;dG*5ITkA09U)&F~^()G3=sEEg^xUqk{S!ph|FaW6rfgezy>mXsyC`Q)38B zc|w4{-P9Pmn!soXdR(VRlKnyn%Us->7vrgJH!o)2s~G~6r#CN#PHRF3WKfbxw|2St zq$yS5yn?4SiOxg4Gzd{S|9N|ES`6a~<(u3U?B?f+4#vZz{1|{N}*yE7S3s&U?D z#`ez5eAySOz~Jem>R+A}XQT*s+GU#17!M^1iv64RQm989!iTyW0eg;FT_m=SNK|(t z%$WJ|{@#q2Lo8nKzc?j#&I=kuZd`&rRZD!V-)1qWc!)E@cZjHdfbB#=Su?W49)=Ui z8^w^1Nacvi+F_UEsJxr3S`^W*mOf;SC)dSOdZIq*E#nDcS{<4spHQzseKnoa`YUgu z%Vtctkwz5ezZS6z9wJE^#kTut+!hX9zW&(GfcE3fa$#=0?NsZdxoIwEoLvbGu1M9v zhHSx`1kOqcYL^wf3EV`HxFA(nni6=k=LodA7Eco2$+Tqjk z&2VAUMNRE#H!=YZ|F?uMm0w$&CM#&Y4XhQ=m`XI9dextzx3BEAj^p3i=?)#UWBlB)CT2Z?P{4-t?)sJV{foA;vUgFg~2*K-x$ zyqAsqF`Z;bjZ;B2+G0{65fQgbVr)>sJ%AN`K$}3OYQV^TzXS8DGdK0!xD6pyIc|n; z%{Sj=AM7mXrRgTT5YBUfF07mI!iE*-bUT0fgh3MCe7=W*B$1%Z1GG@gY82o!7S$Ce z)_<~?4Jl(bnd8^<_f2%6E9CrM5sm#q&xn_q(|$DqsLuLo2FW6;Rvl2+;YVbP&v)|U zNj^YMS>##A)PbizQ@w2)-M7~^Vd!Exea&s)V&Sv{48U>YgT!A}1jSk*949IpeS z+%pWqap(l<4jQ-Dv;(0| zj1aT~nvF8RAc|*pK*ht~=^KS%PRMd$lfYR#1q8oaM>C9qaU)#fW=hTlX*L~%E?eEj zskXENg~sFg;HPi%$`+VlUjQ9x-Ich3zo6eq*2mDHz=}0&k8qU8olO%>8||Yo(ds~8 zvaZZDawzwQrGW^H6RS$&77%1{LRD$#iOY7JSXIh*$~NSawFJE5CWD&g59y3&+@12X-!zJ?@t9knF)HWXnGV4?J7xZ4MC`3PPq>2t_-n(Ow zJ0E<59fj`?l< zWL4o)sKPwxP?7vwQ$@~9bb=yke(Js)5sjX8^)RqMH(elHp2#c@?(&10rwdZGc6QjB zLWCOlt!^pK2sEN9;_Ih!&!sn9XsJ}RryBKUhZfQL9_F?^wwm=~PheA2(V)pH0Ce*( z#$Ccxqde9In`ek=zIauDI~C~|cM)U!$y0Kd0lTb-jElRJ8v5XpLSFlU<=Cpo!4{Dz z#f`0xf?yaxR~;GY2vsEIvOZw($*LX$Krl~nX--=tVg(Bm#XefizKXBlrv%8JL~6Pp zWL>o#zWqUE({-TiZo3}WYr*#vwV--h!GkvXVMbX`;&Vr3Y54 zNwuN`Hcur(teGr{7=95Fgk8aM2Jc8XJk6nI2?-NK?CJO8y=4B?qz6wD- zNx4SMjORnUu(+8Y4|g|Npkmj@0;?!6Akny5-cQ-6tbTaBhY!^JC8}D5)UumL00}y( zl)y9>#b30Gw*+KA-aG=L3*n0g6^)5c^jPmd- zMBtOTc?NuxAwX=)n*-f3u#$)EWr-oHH0ajKxtRuJ>cRzz#|JXVDE^+cLu@A9RD((n z&1eW+|Fr7z%{16YG2!nY@(%1@jWm0gV^NpbGTLDdg1%>mh!uyZ{-K&<*#ROzJ&I2k zkl903hXbfyA2k#MaD#_6fDlk0%nbZkkl$iOie*&aQVHN;_~t)U^cZ=wAJ`5@fhsrs zfp0*LPQH#lth5Ae?IPEL?$^Mf)!iT2Q6^;wRvP z1>2!Upa63F*N3fX-kC~q(+u;IQ!<(U3cl}WC=)f4?i|(~Bp@3D-zgB&gupY)?9K{a zKRGL=zy6@w&mBGE(ccM=$c`Z3X}N;JdiUEQEY3gw^Pj`?%M9VBFG>L+rYPpYYJQ+`NX5zr4)$gUn zQYVZTU=UxMunmR%$-xG<)IdmzAo(fZ2^Qa;1xE14^T`sU&4#D4J7vRp+yz;#iC?|>C{o!*?6Dk660q6PFaCd!x?Ps%iF z7DZvHD^vr;W($1CbVgT?4tHP6k_V5KoM(VpZB;!5WdmfH)9hFH@RsD3*VgzDOyJkUKc_18%v=BF zJOf7Zu-u9B3>Z9X8!#GIIQd$21-e~TUOwx7P_Qx5NevT|s~{X3iKi+oJGGV*dMn^m z0-*ytf-FCx5X!22-}yjvJAwlQmAin&A||3^;npedXIFE4YS-n4&{v~U#(+V#RW(3E z>@~|J-nFz1f7oI7d~wMi`cW6jyMD#i$IRSXKk@l-9T&PG`Z)oQ6Y)!eAv??saBZt!SAYn&Qf{j#RIF_BYhfBl8nG4nY@LhaUPE*S!mCyjQZK^CVh1)OG zF=3?_N7J95&s=~Ph{NgkCo?vr=QUL!_Zy*s_9q#DPLh4Z$Z|Nn>VGyEzbY5ZOK^clgf1#H4Po})m3WpO8(^?kpK4L0 z+`vB6#oDQqTziA%qK2gwqPxZs_g^BN1MUw)4;69IsR|xnHv5IBOEbgxx|x(%knEaM z4XEw-01^3mS4TzkI8^~IJLVEa;>`K94V|ES;)*B|`{D5JR9zf~%nM%vTF?o)zfud` z+7ontWUy`O8REmAnKKR%2y($JL=@Wq5q+ZS4-#-#JvJ*(SUoLmuFVY?pqrAO0Dhkf zLMwTsffAcfR6UV(O(^O8#MFD{)TySAW!MS1|GG4%lsoQ<#X1RZU&242SHiuAG-LhNJR@e~%KJ42&u&b*-R$%!#;Xl30g?ZiH~s zUY$8a6NI>|YLb8lpzzdamo5Q={#9XJcGRwcf@0>I@0mM6_jG5b~x+6`BE`FL=cQT7M0TBUBh1F8+sD;5o;n{(2i(E-Gc(9v2vVuDorBTG{B&q>jtHW1rC& zV(Pagall5!Q&9$4vS1ftq}0{{lZ@(pPOzT7C?pd_Dd)#+L?P%|2{FJRd%26=)Aosi z-``ZAVxA~?;yKwGASVc(X#qyL%Q1m8oG1b&?f5hpL$9Y8VeDxXXGkhzuNFqYKHMEP zhFvW<;7B_$?nj2(_;^9E^}3%Bcb?Y553O$r%#^LRBN$dq`54(JzzVLGS0D3-$-6ME#yQZj~2U4&~b5M+v%G=5=wGCk?lOp(ngVVeS}!Rn64;- zt&hGt?V(xJP#t|bi@jK>5U(QqemYV^qRPJ=|ApE6`0#?CsCH)l0nIQ}^IeK9BCJP{ z0i6kmoL5Z+UFxAPgn3k)o}=LisV!8&tE+DjJBJ0Gh}y1;1QR|H@xUA-ABM@_eg^`$66Eg=hEBKBtU0n~ILY}pU=ozi7m zxjbkSDm112W+(Q81xwutGTtzbX9tnOkwO!3h;gK#uK($#-7>?5KVPOXQA~6ER~AYZ z<)I;W+=I8w9ro})pu6CP?N@rxe}zEV2bIVVLJ*c<0|x?8S|;3`UctKReO)fmpKB5|&G2_>Sn>hEY9|Z1Z7mG!C(2YCi@X2qz`Q^8;+%TJHP#4C)}sQ_Q4ktfXN zA=pkU!b_q2AaA-}K2X}L%jL-6a);eUl84f5AbF^v?j%1QgR0B1wu0+&ti)ZI@LJ~Z zk2muUA!xG}?`LU#jF~;rm;Mp#onpo>aKH0?+@IVOGoIxA=Q|D{pfyqoJ}i6bPU&BX z5w30PO~oepMNR;l`G5H%S$csOlk-A~RO^w;38G^l3m#8%Yycu&%*fQo|Fd2j^Nw4(@9wZXgP^VHpTJeBvFH8)Qx87 zE=;47t{AYnNYmfp2r?ze1G+em6IOUSc|-;H!cU$M*yOyMwC~s_nTOlNqFf)L5R~x| zFTz3K$w}bhE_Nn)A`KULhbLeXIH^61J=+JxC#+*I5zHpyox~jHmqI)N6{pBbmEZ;9 zB;1sLusq^PsVS%gPZrwzL9c)(FNRLlWYaW%H|)*eZgjxLJ!vgl+M?bOLf3Ax!T;CS z)$3Yv+u(P(wGS}*m(m4+y95DJq)V~hIEayT)`0CY?;eqq$l2kiQ|;pNj7CFI{L@ED zM9G8tv%WR~s!cfg4*GRZIfKgjtedoey9snlV0?c@*zE4yADpl2UBEa>^t>uxD;J`ENUv+faKmFs?O0-bq^*?*MQ zET(BGJr3xbAxKi{UOK8|Md0!MVd+WOA5{E4Q~wFp@klFptl*2f5HGJv7v%dytZx=* zp|)kZzUg){AHyq^sxq7r5U-l`15P8>q_* zfLh01%`~b9z^Y6@0Pki+1RQMUb|GoiyumB`23?n#vkQ0fx4;GMvV~lgFcqUxRk#oW zW`S0*3E!Ahp?Wl{8lebLSK&<*w9%##uXJ!K9HQAc|89#s8d5H|G*?DFpWB-y37X>o zJvo#4VIIv9=@flJP`Da{th>NA;Q%nlmM}67KvnR zS%Rq@KWp=0+{9FOz?HLD1gt;}=Qmo6a=>iz?uHxCQXmjGs8I&+G&WFEEFG+L49!-M zE+GWiMsv*~C?4Ms%=Hd9Liy$gr>?+D$>5f}>b(FbcVi#P)DJI)7QHYA4*(yxI3#el z?#45UjQfwf1qATZhHU~2m(*Mi01;ibe7>R31}MtR0QPY6%s-dkK4%)=k!<5YNRzsI zAlBO`L-KqOJaqvKg;V}p!_6l{z`)H4)W=QzJ>Ms5LkiahfDkLy*VL&G{$TIH;gxo@ z2n=Jq)R`oQ2#szLbZD^UWXyLH?)k2I7*wW2)x@9>d1C^%r|UUuNoZ&$>2POB>@xzh_}>7U-^qBY;}m?>0ZdsyD^Mk<0p zPvImPba$8tgYFJHSwMHE2YKb&;lTtIypZa7%zDBp=LK{-uv&0#;UM~JJbTd&9wWpYKqO`Za`Jw4cN`iMQNIXk@@~J@e@p=jVio|Ho zxyAh?w|06E^CrGx2JX)Sa21ZCreF7j_%93>O)HcO^$}c+spaM_P>{1i0iGUiP0hES zxVqW}0^^$nhKFp`qHm?DjXCvJpEIla?S*RNTm$H)Z*W-L1sCJHrsy*F=g@7K%mmLh zN&fQeGF{l{(FN^Ho*a=7r2b)UpkniWKiV$o--VKhJ0`HlQSc# z)I2GhXAU*GVj8*hBKg@2o2`4{!nKi@)z;`fAIGtUZDUED{~%;n&{}lNF^OIC)!mH=bVuFVA~PTBkd>T<7B)kIT6LaV(Eiq2$L_ zQJ=AUs{vIYCEe>S2Gqm5$!d!RkmDE8?5(^?W66;#iUc-)&JZ z!@<>8x9S4w6&5OwN^2^Wn?Ap|nO={6n=f!4eROCw(cJyaR8#m3oJ>u`>(sHDsU`7+ z%Z@X)rz)L|J*PkVJMwB;&3t*{=E7zIF104mu}bu2$RXMSarD z4@jUr#%fzlp9Ao}Ilh1Ict=g)Ej8b%PbQ~!{vuNdoX2}o_naDa1bePf4(D;RnOsLo z?1o>+zjMSujA!e^$kiK+-C!8<0zEz}9B-1e{h{*&Ei`v_rw@wmNe) z=n`tT$#T89P?heMcT-RW^GYRo_;fZ$BV|wwoZHPbx?S4Li*X`iZixT(ZuZDMr=Ej1 z#kt!y;;W6FUzNLwty8vH9g9j$5l=zWN+3T==m_@x@EY@h5{?XF46 z+?>m0d#O#Y5kLwrb%Uw%&{F^wM3)BW$kSZyt_z647J!#cOs1*^H+Hyeja|pw5Og6O zE>ztiL`&}mRdHly_(s}$%G2d@e7@;-4=mQDpS$R}2+^iQcgjE4exZ`Z+ogi>1gvdQ z8__4bXn119D@f$7sm3U{46XY=+_q-LrZlPp0Y>Ugwp$>KV-n&CW( z39ut+FmSbgfnB4%syO4G%T=AivovYw`kG?|5R{Z^=CrqqPAWaW>rHUm+~a6X)QHX5 zjMR}>su}9NC-?(325|nUm$?n;z z<}d-xWaf@6slz;*$K0MIo%xKOK&6D*!xKH}wtrIUds$lDv!RJzIBfo&(MF)#DrW%u z_>pe;87=^{U)3%9>N7+Ns9i`^&kp(+t1&jOyz>XDiJx1L+HQ^}MW)~vo3qroZy*Ml zpCZERe_{C$@PckUj47b>SyiusE^%$Z1}_jets?g`ezL%P4;;NWwejKVb$A1{nqxyL zXu+5m8uy>}`@#~PC0-z(({2G!9>`T~mV<~~eexvh?qnGOEwJ_Zky8p_DOhK} zUzTCsA#=?)!d7Q0h8|H5tr1Ojpt%|v>nG~W4!nXfEa5r-kMbnLvH@edyHHDvVF8bG z!8TN#c2V%&_eQJp!*Paf5wUAy)(<|?hOLWxb5UKe%avccxG(B@=3ZbPaY(6lLZQ0F z-yn9@2*dY_xpdJa*#*GNx*dlnSyIRG&{7yR^-kU2oY-v?yeQS&AV%#{p^26J2H;w3 zOg!(BNHDNUCJ+IahS+iPR)3u;erB})`}qNO)tsML+jOQYpO za{!L=M&`@cb#Q8PX;ySPy6_Fk-I2KGrn{N=(wxX^8m5AqpX(V*$hnL%Nkhee^sDD@7UT)3bO?CP^q&G(xA0Jv#tH{nL|7SvMAKR2+gf*mZ)kT6kM zyBEn2ZpX05Ion;hi-$vnXtt_Mr3{j8yD&nQsi8jJ>cjK>KzIyQXjCKsbY@U%k&;|z z1wO-06^g%OW_RIUk%nJOH7Y4zppjd!bowZ0hRH+`gmJs9g2d@`n!hV63S-NG8Vs6x zFBGl#=gm5yH0AEZT~K~?S6L7-p?f`dnFXzqWFt|lZdK!P?mpOXU4Jqiq(JFX;3S1x zish-^g63FWob>cucyk`Ot2tn^ARU{D(*DGE?~VWtut%k7#ER?Lp1VZ{{0 z2znX@HD5E<;P=FcV>>=7zY7J)uQ^vqezg5BH-l!2UoUdw_1a7L{J-a2~f;B{HHgl|V)|e~Z zBmk8Bm{}yR6qJsrCQVnRSlsi&a2Lz?`aRxnZVvE3f@X~dU5O3NYA}Sx94=$zkRgMp z)EZ?Nce#s9H*q^zz_g(`({)-6oPnTWCODDYRWTw(h_z8oeV$HL1)Pnyvldpqeq%%n zGfTQFqz-Cji5!4MtB@6mu$O zgGvCSnw>(ow*kJin_M=Kr-|(hVhcAET`D!9k|9;(Qx+mT!`byeB8zYe$n-nhYBQ)#27^8)*;z(N}JAMM(b%PzGDFo;>RL$5k&gsH$>9~#JyVlXq%&9g}7Zv>y- zl|{btX%h2wDwimX9s_kflMoLDHHAS~7{#3r1Ud%-CQm_p@tkiu0T@RPWGF=(Ysq}mU|kvDjv)YEWWeBpCqLd)s2f>L;a zmYq!utgIk(cUj zV6Y_bK_qGxx(7s)Xgn_9P~%b2@-`Y2YZN98IqX*AU;g^{@7eTxSEP;fcmMkI<<}qY zMv0#F@|VTAM7lM~0cVG`){;qs6_rs87k*B%TZiYGP6ZJAX`b}gcqoqS{N;BMygkFk zw1|>2y$6&76Yczz^zKFv<%4zT47EgsgGAwpgWWi3yit8NU1$YeH76t}zCRtA|q8 zE)}xRzIH-6Rm*ibBFBzJ*IHM^v336g9#fp33v*2DA*^|1;_$r*ghJ-y@RVFKfH#NO zMPKkZDbi&h6*cx{$^yECY>^ADhwP$J@KS`>PS?`(Wd^ar;F-dQq#yl#Cfl44M)*10 zAXUr+FA((SF@OWM!kpnoTefKcPOK6g@QfHO_)OjJd46h=94Dd-ea4}}hf*B8f5aoL zNU9Cfa(hENzi+|jJU5yoNrv;>7VyXu7A(dOHMi@vC*Zo^h3oW?_z7^<`=}rJ11qsT zzEJ{V^7C|FlN4vG#TQDMUrUtoB-F`Q@)O#V(5605e0#u?5aT3JDa(_PyFj|5AFQmJ zaX<@Hv-g;S@Ow^}z^We literal 0 HcmV?d00001 diff --git a/research/p104-stationary-chart242-history-bound/inputs/PR7362-SHA256.json b/research/p104-stationary-chart242-history-bound/inputs/PR7362-SHA256.json new file mode 100644 index 0000000000..b1486e0b5c --- /dev/null +++ b/research/p104-stationary-chart242-history-bound/inputs/PR7362-SHA256.json @@ -0,0 +1,11 @@ +{ + "R92-COMPARE.json": "92bd567e3203a2cbc2e0c508bf921966c59ead267c1f373f7534a4a50cb208ac", + "R92-GEOMETRY.json": "e9f93f3271855012b2de705c70f186f78c31a369d28110e92c5f2ffadae209b3", + "R92-GUARDS.json": "c23e9c74b3479e4af6c452eeb73e000878148ec385560a0642433a1c5bac4a07", + "R92-PRICE.json": "05d7a5ebdd2eeedd6c8f534e8e2eeac22484daf9f387f4a6b88cc9eed22a6b8f", + "R92-REVERSE.json": "f8e56b109352e07dfb8203bdbe42a10cb94374246b4cd419421e4f52e2730c4a", + "R93-COMPARE.json": "8a1f52179e5d457aa729714b0b79577894c1e22ab74a8b2f700838f471ffceb1", + "R93-MODULAR.json": "01ad2a656e69699b80b56d63cdf82448e424cd1c6e67636d53c079a6f03f55a5", + "R93-PRICE.json": "c108a061c6c03306a99a6fbafe919208954a7479ae28fb8a8fbf45d9832e6144", + "R93-RATIONAL.json": "2800af56efe23f7420a12f0713a659cd4fa4a3fb7c58449749ef697097ccccbf" +} diff --git a/research/p104-stationary-chart242-history-bound/inputs/PR7363-SHA256.json b/research/p104-stationary-chart242-history-bound/inputs/PR7363-SHA256.json new file mode 100644 index 0000000000..1db37e45ef --- /dev/null +++ b/research/p104-stationary-chart242-history-bound/inputs/PR7363-SHA256.json @@ -0,0 +1,19 @@ +{ + "independent/FOLLOWUP.json": "53906dcd9ee8b8c7b6a3389c2d1e5ff8157a3191a07bb0e3064b0d1f32bc16f5", + "independent/RESULT.json": "95d34e468683aa64e19d3e4d62745b9fc1d4305b00d25054b34bb5a668639b4b", + "input/independent/AGREEMENT.json": "c718a2444821abd8bbb46a8660a4a1f05922a1446c81353d6ed5df86b02e36e3", + "input/independent/PAIRINGS.json": "2b729494affa110063e329b4f50418ec2ad7d2f821425741bbba43dfb049c879", + "input/independent/RESULT.json": "69c694a17e562a6e6534406e252428ca081f8e2ac6673ec01cf21e77cb468b58", + "input/lead/EXACT.json": "362a879401158678c8a30ea0dbd4f919a9a0e907db2d2247ce96ac8724f68b14", + "input/lead/GEOMETRY.json": "c6f9f018df8b58fcdf4f44356bd59bcac6d411b7845104ff4ad372ed4a95cfbd", + "input/lead/REMAINING.json": "3597499663a57702856945e91214a65e1d0f94db8643b93c0234c2bbf9291b1a", + "input/lead/RESULT.json": "45b6c8992dcff04b7252dfec809fc64812b86f094531ed3964ff967408057ed2", + "input/lead/SELECTION.json": "b95765ffa0bd426b3dae781aaafc1c21e3b25bcebc71b71a3871824f9009fd5f", + "input/lead/SUFFIX.json": "77d78eb692bf6d3f0433730b48dbf8a0178c3288eeca961f94b2aaa6683eb59a", + "input/price/PRICE.json": "a78be64c3e3ae8a0e532237c4dd3541aa9ad3fcbbc3c25d79c8a03fb7e07c525", + "lead/CONTINUATION.json": "1f1b1db497436811c3d18219a2277fff6fedc8ad19b7e3c4a486fdfc53c7907a", + "lead/EXACT.json": "d2d034cb496ddbafdfcdcfe5a4fcb1e0a08c8349d2310c397e5fcb61b670f1d4", + "lead/SELECTION.json": "53f3a3b08bd6e97514e7077e7c0b55c9d272b0527f3a1b0e415f0924514fddf1", + "modular/AGREEMENT.json": "8b7fa3c3f7812c116e652cb7eefd571eeffb495e2c750309b553c457b1dfadc2", + "modular/RESULT.json": "6710e8711907a0c8412660696cf821e69fdc42bebf7fc24689fc3385fe7aabf3" +} diff --git a/research/p104-stationary-chart242-history-bound/inputs/R92-PRICE.json.gz b/research/p104-stationary-chart242-history-bound/inputs/R92-PRICE.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..0307eb95e234ad5fae55567c05fb01074fab5b23 GIT binary patch literal 11680 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 literal 0 HcmV?d00001 diff --git a/research/p104-stationary-chart242-history-bound/inputs/R96-GEOMETRY.json.gz b/research/p104-stationary-chart242-history-bound/inputs/R96-GEOMETRY.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..1c14aad6f52cbb78508a6241b1efa63a9d944f39 GIT binary patch literal 1784 zcmb7?Yg`ic8po6HLh}k<@GcNwSqi0DspY07sYOf5%`zCWz`T^2LY6F!mMBcXOSdJI z8Kur_UXn0T56F@7zR=3l9A>RFM-DMvINLru+s-*}&hz=dcz(YZ&-47B@8ixfTk#