From 1dfd014e286284a237e3555e188c2c100f1bea10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ralph=20K=C3=BCpper?= Date: Mon, 14 Sep 2026 06:08:44 +0200 Subject: [PATCH 01/30] perf(runtime): fast-path ordinary native property Get --- benchmarks/native_property_get/README.md | 49 + benchmarks/native_property_get/REPORT.md | 137 +++ .../evidence/api-docs-drift.patch.gz | Bin 0 -> 886 bytes .../evidence/base-gate-comparison.json | 40 + .../evidence/baseline-build.json | 16 + .../evidence/baseline.json | 428 +++++++ .../evidence/candidate-build.json | 17 + .../evidence/candidate.json | 280 +++++ .../evidence/clippy-diff.json | 8 + .../evidence/clippy-logs.tar.gz | Bin 0 -> 850374 bytes .../evidence/fault-logs.tar.gz | Bin 0 -> 2216 bytes .../native_property_get/evidence/faults.json | 20 + .../evidence/gc-base-runtime.sha256 | 3 + .../evidence/gc-ratchet-ab.json | 1016 +++++++++++++++++ .../evidence/gc-ratchet-receipts.tar.gz | Bin 0 -> 34882 bytes .../evidence/gc-stress-base-http2.json | 1 + .../evidence/gc-stress-receipts.tar.gz | Bin 0 -> 21058 bytes .../evidence/gc-stress.json | 1 + .../evidence/measurement-receipts.tar.gz | Bin 0 -> 41154 bytes .../evidence/parity.stdout | 42 + .../evidence/runtime-source-sha256.json | 9 + .../evidence/validation-logs.tar.gz | Bin 0 -> 153331 bytes .../evidence/validation.json | 31 + benchmarks/native_property_get/faults.py | 74 ++ benchmarks/native_property_get/iterator.ts | 17 + benchmarks/native_property_get/measure.py | 166 +++ benchmarks/native_property_get/reflect_own.ts | 7 + .../native_property_get/reflect_proto.ts | 7 + benchmarks/native_property_get/thenable.ts | 14 + benchmarks/native_property_get/tojson.ts | 11 + changelog.d/native-property-get.md | 10 + crates/perry-runtime/src/json/stringify.rs | 8 +- .../object/field_get_set/get_field_by_name.rs | 3 + crates/perry-runtime/src/object/mod.rs | 1 + crates/perry-runtime/src/object/native_get.rs | 171 +++ .../src/object/native_get/tests.rs | 272 +++++ crates/perry-runtime/src/proxy/reflect.rs | 11 + .../perry-runtime/src/value/dynamic_object.rs | 9 + scripts/gc_runtime_root_holders.json | 6 + test-files/test_gap_native_property_get.ts | 110 ++ 40 files changed, 2990 insertions(+), 5 deletions(-) create mode 100644 benchmarks/native_property_get/README.md create mode 100644 benchmarks/native_property_get/REPORT.md create mode 100644 benchmarks/native_property_get/evidence/api-docs-drift.patch.gz create mode 100644 benchmarks/native_property_get/evidence/base-gate-comparison.json create mode 100644 benchmarks/native_property_get/evidence/baseline-build.json create mode 100644 benchmarks/native_property_get/evidence/baseline.json create mode 100644 benchmarks/native_property_get/evidence/candidate-build.json create mode 100644 benchmarks/native_property_get/evidence/candidate.json create mode 100644 benchmarks/native_property_get/evidence/clippy-diff.json create mode 100644 benchmarks/native_property_get/evidence/clippy-logs.tar.gz create mode 100644 benchmarks/native_property_get/evidence/fault-logs.tar.gz create mode 100644 benchmarks/native_property_get/evidence/faults.json create mode 100644 benchmarks/native_property_get/evidence/gc-base-runtime.sha256 create mode 100644 benchmarks/native_property_get/evidence/gc-ratchet-ab.json create mode 100644 benchmarks/native_property_get/evidence/gc-ratchet-receipts.tar.gz create mode 100644 benchmarks/native_property_get/evidence/gc-stress-base-http2.json create mode 100644 benchmarks/native_property_get/evidence/gc-stress-receipts.tar.gz create mode 100644 benchmarks/native_property_get/evidence/gc-stress.json create mode 100644 benchmarks/native_property_get/evidence/measurement-receipts.tar.gz create mode 100644 benchmarks/native_property_get/evidence/parity.stdout create mode 100644 benchmarks/native_property_get/evidence/runtime-source-sha256.json create mode 100644 benchmarks/native_property_get/evidence/validation-logs.tar.gz create mode 100644 benchmarks/native_property_get/evidence/validation.json create mode 100644 benchmarks/native_property_get/faults.py create mode 100644 benchmarks/native_property_get/iterator.ts create mode 100644 benchmarks/native_property_get/measure.py create mode 100644 benchmarks/native_property_get/reflect_own.ts create mode 100644 benchmarks/native_property_get/reflect_proto.ts create mode 100644 benchmarks/native_property_get/thenable.ts create mode 100644 benchmarks/native_property_get/tojson.ts create mode 100644 changelog.d/native-property-get.md create mode 100644 crates/perry-runtime/src/object/native_get.rs create mode 100644 crates/perry-runtime/src/object/native_get/tests.rs create mode 100644 test-files/test_gap_native_property_get.ts diff --git a/benchmarks/native_property_get/README.md b/benchmarks/native_property_get/README.md new file mode 100644 index 0000000000..3452726bde --- /dev/null +++ b/benchmarks/native_property_get/README.md @@ -0,0 +1,49 @@ +# Native property Get probes + +These probes accompany the 2026-09-14 native-side property Get brief. They +separate positive own/prototype reads from non-regex iterator, promise, and +JSON work. Each program checks its result; the runner also compares stdout +with the repository's pinned Node version and rejects an empty result. + +Build the compiler and both static wrappers from the same checkout and +package set. Use an isolated target directory/worktree for each concurrent +build. For the Linux instruction comparison: + +```sh +CARGO_PROFILE_RELEASE_CODEGEN_UNITS=16 \ +CARGO_PROFILE_RELEASE_DEBUG=1 CARGO_PROFILE_RELEASE_STRIP=none \ +cargo build --release --locked -j4 \ + -p perry -p perry-runtime-static -p perry-stdlib-static +python3 benchmarks/native_property_get/measure.py \ + --runtime-dir target/release --out /absolute/path/to/new-results \ + --node /path/to/node-v26.5.1/bin/node +``` + +The output directory must be new. The runner records the source commit, +compiler/archive/probe SHA-256 hashes, three `instructions:u` counts, +instruction-sampled DWARF call stacks, period-weighted folded stacks, and +inclusive Get attribution. Nested Get frames count once in the inclusive +share. Shares are sampling estimates; the stat counts are the performance +comparison. `--debug-symbols` is required when compiling the probes, and +`--no-auto-optimize` pins the runtime archives. LLVM's addr2line is selected +locally when available so host binutils does not choke on runtime DWARF. + +`--smoke` compiles every probe, runs 100 iterations, and compares with Node +without requiring Linux perf. A zero Get attribution is rejected: it can +indicate stripped symbols or a probe that did not exercise the intended path. + +The iterator reuses its result object. It avoids large retained arrays and +therefore does not depend on resolving the concurrent #10215 investigation. +The thenable and toJSON probes use positive lookups because main already +optimizes many negative probes for those names. + +Measured results, scope, and validation are in [REPORT.md](REPORT.md). To replay +the fault injections with no other builds reading this worktree: + +```sh +python3 benchmarks/native_property_get/faults.py --out /absolute/path/to/new-fault-results +``` + +The three mutants must fail their named test assertions, and restored sources +must pass the eight focused tests. The GC custody inventory classifies the +forced-slow boolean as test-only; production binaries contain no switch. diff --git a/benchmarks/native_property_get/REPORT.md b/benchmarks/native_property_get/REPORT.md new file mode 100644 index 0000000000..614dc6217f --- /dev/null +++ b/benchmarks/native_property_get/REPORT.md @@ -0,0 +1,137 @@ +# Native-side property Get: measured ordinary-data path + +Base: `9fda98df68d9fac3c08b2385fae007aa9f5278df` (main, 0.5.1563). +Date: 2026-09-14. Measurements: Linux x86_64, perrymaster, AMD Ryzen 7 7700X. + +## Change and safety boundary + +`Reflect.get`, the named-field ABI, and the native borrowed-name getter share +an inlinable positive lookup. It classifies the pointer once per chain link, +requires an arena-backed GC object with an ordinary shape and an admitted +ordinary class ID, checks the accessor-key Bloom summary, then reads the +current shape's own data slot. It follows explicit ordinary prototypes or +already-rooted synthetic class prototype pointers for at most 32 links. +It does not infer absence: every unproven case falls through to the original +Get implementation. Keys remain borrowed throughout this callback-free, +JS-allocation-free lookup; the consult-only keys index cannot build or collect. + +No new GC roots or pointer caches are introduced. The `toJSON` caller retains +its handle scope, reuses the rooted canonical key, and uses the new canonical +key Get API. Default builtin prototype resolution remains on the slow path: +it can initialize objects and observe replacement through globalThis. + +Own/prototype accessors, proxies, private-looking names, `constructor`, declared +classes, process.env, mapped arguments, element-bearing objects, and native +exotics decline. In particular, RegExp expandos and `lastIndex` still use the +existing exotic handler. Inherited null/undefined values conservatively decline +to preserve the current slow resolver's behavior. A distinct Reflect receiver +can use a data hit because no getter or receiver binding is observed. + +This deliberately limits the optimization to ordinary data reads. The measured +improvement does not require exotic bypasses, new per-realm builtin pointers, +or a per-call-site cache. Remaining hot costs include class-ID membership and +prototype registries; those have separate invalidation and collision rules. + +## Instruction evidence + +The base workloads were measured before runtime edits. All five programs check +their checksum and match pinned Node 26.5.1 stdout. Both builds use the same +checkout base, package set, release codegen-units=16, debug=1, strip=none, and +repository unwind/frame-pointer flags. Probe compilation uses +`--no-auto-optimize --debug-symbols` and an explicit `PERRY_RUNTIME_DIR`. +The table uses medians of three `perf stat -e instructions:u` runs, including +startup. It makes no shared-host wall-clock speed claim. + +| Workload | Iterations | Base instructions | Candidate instructions | Reduction | Inclusive Get share, base → candidate | +|---|---:|---:|---:|---:|---:| +| `reflect_own` | 200,000 | 498,582,567 | 143,385,957 | 71.24% | 98.80% → 97.20% | +| `reflect_proto` | 200,000 | 1,369,594,468 | 305,995,648 | 77.66% | 98.90% → 99.35% | +| `iterator` | 200,000 | 886,642,572 | 886,162,527 | 0.05% | 0.68% → 0.79% | +| `thenable` | 20,000 | 365,634,266 | 320,441,221 | 12.36% | 15.50% → 2.66% | +| `tojson` | 100,000 | 742,646,720 | 423,858,278 | 42.93% | 50.71% → 28.22% | + +`iterator` is a user `for…of` iterator that reuses its result object: generic +Get is under 1% of the baseline, so the neutral result is expected. Positive +thenable assimilation and inherited `toJSON` expose the runtime cost clearly. +The synthetic Reflect probes cover own data and two prototype links. + +Attribution uses `perf record -e instructions:u -c 500003 --call-graph +dwarf,16384 -m 64M --no-buildid --no-buildid-cache`, then `perf script --no-inline`. +All ten final profiles reported no lost samples. Folded stacks are weighted by +sample period, and nested Get frames count once in the inclusive share. Shares +are sampling estimates, especially the small iterator share. An earlier smaller +sampling buffer dropped samples; those attribution runs are excluded here. + +The JSON files in `evidence/` record all counts, shares, top inclusive-Get leaf +symbols, probe/binary hashes, and compiler/runtime archive hashes. The compressed +`measurement-receipts.tar.gz` contains raw stat rows, checked stdout, final +folded stacks, perf record logs, and the measured candidate source patch. +The patch records the pre-commit source snapshot; later evidence and harness +reporting edits do not change the measured runtime. Full perf data and linked +probe binaries remain under `/root/native-property-get/` on perrymaster. + +## Correctness and fault injection + +Eight Rust tests compare ordinary reads against a forced slow path and cover +all value kinds, prototype mutation, shadow/delete/freeze, own and inherited +getters, setter-only descriptors, proxies, class statics, private-looking keys, +arrays, Buffer, mapped arguments, RegExp expandos/accessors, long keys, and +spilled/deleted shape slots. Getter counts assert one invocation per Get. +`test-files/test_gap_native_property_get.ts` adds 42 lines of checked parity output, +including distinct receivers, proxy traps/revocation, key-conversion order, +symbols, class/private syntax, Date, typed arrays, and RegExp. + +The test-only forced-slow switch is thread-local; it cannot affect production. +`faults.py` runs healthy tests before and after each serial source-mutation +campaign, restores source files in `finally`, and requires a named assertion +failure (a compile failure does not count). All three mutations were killed by named assertion failures (exit 101): + +| Mutation | Failing test | +|---|---| +| Force every classified Get to decline | `own_data_is_served_and_matches_forced_slow_for_all_value_kinds` | +| Ignore the accessor Bloom guard | `accessor_bloom_guard_preserves_own_and_inherited_getter_calls` | +| Ignore RegExp own `value` expandos in the fallback | `regexp_expandos_and_accessors_remain_on_the_exotic_path` | + +The last mutation exercises the preserved exotic fallback; this change adds no +exotic fast path. The restored eight-test suite passed before and after the +campaign. See `evidence/faults.json` and `fault-logs.tar.gz`. + +## Validation + +- Full runtime unit suite: 3,803 passed, 4 ignored, 0 failed, single-threaded. + Base suite: 3,795 passed, 4 ignored; the known native-stack test passed here. +- `cargo check -p perry-runtime --no-default-features --features full`: passed. +- Clippy all-target diagnostics compared with the captured base: no additions + or removals after normalizing shifted line numbers. Both runs retain the same + 12 pre-existing `approx_constant` errors; see `evidence/clippy-diff.json`. +- `cargo fmt --all --check`, `git diff --check`, and Python syntax checks passed. +- The final measurement harness smoke test passed all five programs on Linux. + The 42-line parity program matches Node on both base and candidate. +- The final full lint replay ran both script and compile tiers: 80 of 83 + commands passed, with three existing failures and two CI-only skips. A new test-only + boolean initially required a custody verdict; the explicit `test_only` entry + fixes that failure, with no added pointer debt. The script-tier replay passes + every executable gate except the pre-existing public benchmark freshness red. + The compile tier also exposes pre-existing unused WebAssembly helpers, an existing test cache assignment, and API + docs drift (`bun-pty`). The unused-helper failures reproduce on a clean base + worktree. All ten API-manifest source files are byte-identical to base, and + the generated diff is saved. See `evidence/base-gate-comparison.json`. +- GC ratchet: all 14 probes match Node, with seven measured repetitions and two + trace passes on both base and candidate. All 126 shared-CI metric medians + (including the probe-specific exclusions) are exactly identical. The checker + passes against a fresh same-host base artifact. The repository's older pinned + artifact fails on both base and candidate; it was not changed or re-pinned. + See `evidence/gc-ratchet-ab.json` and the raw GC receipts. +- GC stress: all 86 corpus programs ran across seven PR arms: 428 PASS, 167 + UNVER (output matched but that arm did not collect), 7 FAIL. Every required + arm passes aggregate liveness. All seven failures are the HTTP/2 pending-event + callback fixture. A fresh-base replay reproduces all seven failures with + byte-identical evidence strings and collector counters. See + `evidence/gc-stress-base-http2.json` and `gc-stress-receipts.tar.gz`. The + single-fixture replay has inert arms as expected; the full candidate corpus + satisfies every arm's liveness requirement. + +Main advanced to `eb13fa188d` while this work was validated, including separate +GC and HTTP fixes. The measurements and A/B receipts deliberately remain on +`9fda98df68`; the merge train must replay the combined tree. This branch does +not absorb or rebaseline those independent changes. diff --git a/benchmarks/native_property_get/evidence/api-docs-drift.patch.gz b/benchmarks/native_property_get/evidence/api-docs-drift.patch.gz new file mode 100644 index 0000000000000000000000000000000000000000..2914094f811daed3df388d2a6dbae2f365a7cfcf GIT binary patch literal 886 zcmV-+1Bv_}iwFP!00002|CLnDZrer>zVj&tG0}XCmM7^fNlA{)G|7eBotgdS_nVC6IXKRSX^6*}NYyy5*tkL| z8#i;cf@DZ)F`nT&m@JoGF!$5t(sk2h?s@5Qk!Ij~UKj+H<2b{ZmTlW#!970*$3G3h zHlOoz3&vx(sI_o5$Wg``GsvYV;mSPuS;58C8p@cn9F>OSqad7(TzD>k3k{f2Qb_~b zm}hQ_bS-L`;tE=a4!L%AZ&xcqx_x=^YJK_Q`o?m|_&4!4dEAis#9K}Qxt0tS#HkcY zfj^x?DYCjiO6Rfl?5Xu)Zw(gcrot|T^#XnYUY7|<_zB*F#5fbYXyEp?>h!;^fFohU z{n-}}{qP$v{qW&aQ`o={O=-=~52(73VOqoz`_SN7QuAl<-U0x8R|%;huX(DO;P8*q z*>g-qSxHpty5Z@u>$SkP zUiO4VN~Y~>OUzLsPth&2-OLZ^dPe!PV7kl~lfZM`U^ZU_9!|1gfKh`O4|p}GH$yNv zor7&YhFuoiY?*?J1{dfb{}0nl?^%J4W+gtNUGyzJMMTQAHXigALA5Ldk%N}C-a;-U zyxqncI-H%Sh{%&-rPUeilOO;AswopusFvdeQzp_asiBh8M*@z1_q-YW!C6@qSP~O4 zyQo+M$4sdjftJLS;VCu~#PuIb6w+>v(J{Sg13(spxU7)@W(PxxM!;K1uBVViD!xOXagb9}VF->Fe=QRh_mR@a{PV&2L4$g+EZ zVRtVy$AhIIRIi}Z1NogwdpVsR$kks3)7Y!J%c$F4VVi3ZE>HdN2eXZc$fDL!d!~)3 zXhB3~QBgtn;nPZ>J5?C::copy_of_key", + 4.216867469879518 + ], + [ + "perry_runtime::async_hooks::is_async_resource_handle", + 4.116465863453815 + ], + [ + "core::str::converts::from_utf8", + 3.6144578313253013 + ], + [ + "perry_runtime::closure::dynamic_props::is_closure_ptr", + 2.8112449799196786 + ], + [ + "perry_runtime::object::arguments::is_arguments_object", + 2.710843373493976 + ], + [ + "perry_runtime::proxy::target_get_property_key", + 2.710843373493976 + ], + [ + "perry_runtime::object::shapes::shape_live_inline_slot_count_by_id", + 2.710843373493976 + ], + [ + "perry_runtime::object::class_meta_registry::get_parent_class_id", + 2.610441767068273 + ], + [ + "perry_runtime::buffer::header::is_registered_buffer", + 2.108433734939759 + ], + [ + "perry_runtime::object::field_get_set::has_property::closure_dynamic_prop_by_key", + 1.7068273092369477 + ], + [ + "perry_runtime::proxy::reflect_value_is_object", + 1.7068273092369477 + ], + [ + "perry_runtime::temporal::is_temporal_cell_addr", + 1.5060240963855422 + ], + [ + "perry_runtime::typedarray_props::typed_array_addr_from_value", + 1.5060240963855422 + ], + [ + "perry_runtime::date::is_date_cell_addr", + 1.5060240963855422 + ], + [ + "trunc", + 1.104417670682731 + ] + ], + "sampled_instructions": 498002988, + "binary_sha256": "e2c4b05f839d026a5c5f5bd3d49f5e647855b1f45a23a5c49d0f04fd179b9082" + }, + "reflect_proto": { + "iterations": 200000, + "instructions": [ + 1369594500, + 1369593934, + 1369594468 + ], + "median": 1369594468, + "get_inclusive_percent": 98.90470974808325, + "get_leaf_percent_of_program": [ + [ + "perry_runtime::object::class_meta_registry::get_parent_class_id", + 16.502373128879153 + ], + [ + "js_object_get_field_by_name", + 10.076670317634173 + ], + [ + "perry_runtime::object::class_registry::state::class_decl_prototype_object", + 7.6305220883534135 + ], + [ + "perry_runtime::object::field_get_set::get_field_by_name_tail::get_field_by_name_object_tail", + 7.484483388097846 + ], + [ + "js_reflect_get", + 4.490690032858708 + ], + [ + "perry_runtime::object::class_registry::prototype_objects::resolve_proto_chain_field_inner", + 4.417670682730924 + ], + [ + "core::str::converts::from_utf8", + 3.833515881708653 + ], + [ + "perry_runtime::async_hooks::is_async_resource_handle", + 3.687477181453085 + ], + [ + "perry_runtime::closure::dynamic_props::is_closure_ptr", + 3.4684191310697337 + ], + [ + "trunc", + 2.9937933552391383 + ], + [ + "perry_runtime::object::arguments::is_arguments_object", + 2.8112449799196786 + ], + [ + "perry_runtime::object::class_registry::parent_static::is_class_object_ptr", + 2.7747353048557866 + ], + [ + "perry_runtime::buffer::header::is_registered_buffer", + 2.701715954728003 + ], + [ + "::copy_of_key", + 2.701715954728003 + ], + [ + "perry_runtime::temporal::is_temporal_cell_addr", + 2.701715954728003 + ], + [ + "js_to_primitive", + 2.3366192040890836 + ], + [ + "perry_runtime::proxy::reflect_value_is_object", + 1.8985031033223805 + ], + [ + "perry_runtime::object::class_registry::prototype_objects::class_prototype_object", + 1.8619934282584885 + ], + [ + "perry_runtime::object::prototype_chain::meta_capable_object", + 1.3508579773640015 + ], + [ + "perry_runtime::closure::dynamic_props::closure_get_dynamic_prop", + 1.3143483023001095 + ] + ], + "sampled_instructions": 1369508217, + "binary_sha256": "6defa98c303cff2f955b8611a71b528144ff0697d7c6d4f041cbd10f7f63025b" + }, + "iterator": { + "iterations": 200000, + "instructions": [ + 886642572, + 886643407, + 886642216 + ], + "median": 886642572, + "get_inclusive_percent": 0.676818950930626, + "get_leaf_percent_of_program": [ + [ + "perry_runtime::object::field_get_set::get_field_by_name_tail::get_field_by_name_object_tail", + 0.11280315848843768 + ], + [ + "perry_runtime::object::prototype_chain::meta_capable_object", + 0.11280315848843768 + ], + [ + "perry_runtime::object::class_registry::parent_static::is_class_object_ptr", + 0.11280315848843768 + ], + [ + "mi_free", + 0.05640157924421884 + ], + [ + "js_array_get_f64", + 0.05640157924421884 + ], + [ + "js_object_get_field_by_name", + 0.05640157924421884 + ], + [ + "perry_runtime::object::field_get_set::accessors::array_subclass_prototype_field", + 0.05640157924421884 + ], + [ + "__memmove_avx512_unaligned_erms", + 0.05640157924421884 + ], + [ + "::from_utf8_lossy", + 0.05640157924421884 + ] + ], + "sampled_instructions": 886505319, + "binary_sha256": "46bc863ba75b118f1193d2a3fb4cfc22c1deb50ab23a56f58b573b217b62bb50" + }, + "thenable": { + "iterations": 20000, + "instructions": [ + 365635735, + 365634266, + 365626025 + ], + "median": 365634266, + "get_inclusive_percent": 15.500685871056241, + "get_leaf_percent_of_program": [ + [ + "perry_runtime::object::field_get_set::get_field_by_name_tail::get_field_by_name_object_tail", + 1.7832647462277091 + ], + [ + "js_object_get_field_by_name", + 1.7832647462277091 + ], + [ + "perry_runtime::object::object_ops::keys_array::own_key_present", + 1.0973936899862826 + ], + [ + "js_dynamic_object_get_property", + 0.9602194787379973 + ], + [ + "perry_runtime::object::class_meta_registry::get_parent_class_id", + 0.823045267489712 + ], + [ + "core::str::converts::from_utf8", + 0.6858710562414266 + ], + [ + "perry_runtime::buffer::header::is_registered_buffer", + 0.411522633744856 + ], + [ + "perry_runtime::date::is_date_cell_addr", + 0.411522633744856 + ], + [ + ">>>::with::<::drop::{closure#0}, ()>", + 0.411522633744856 + ], + [ + "perry_runtime::object::class_registry::parent_static::is_class_object_ptr", + 0.411522633744856 + ], + [ + "perry_runtime::object::field_get_set::has_property::closure_dynamic_prop_by_key", + 0.411522633744856 + ], + [ + "perry_runtime::object::keys_lookup::keys_array_dense_slots", + 0.411522633744856 + ], + [ + "perry_runtime::object::object_keys_array", + 0.411522633744856 + ], + [ + "perry_runtime::temporal::is_temporal_cell_addr", + 0.411522633744856 + ], + [ + "perry_runtime::map::is_registered_map", + 0.27434842249657065 + ], + [ + "perry_runtime::object::field_get_set::enumeration::canonical_array_index", + 0.27434842249657065 + ], + [ + "perry_runtime::object::field_get_set::get_field_by_name_async::async_resource_property", + 0.27434842249657065 + ], + [ + "perry_runtime::arena::allocators::arena_alloc", + 0.27434842249657065 + ], + [ + ">>>>::read", + 0.27434842249657065 + ], + [ + "perry_runtime::async_hooks::is_async_resource_handle", + 0.27434842249657065 + ] + ], + "sampled_instructions": 364502187, + "binary_sha256": "d4fba118c00d48a015b0cd5b29238b10cc85306cdf7202f95f456e58c7366791" + }, + "tojson": { + "iterations": 100000, + "instructions": [ + 742647158, + 742646366, + 742646720 + ], + "median": 742646720, + "get_inclusive_percent": 50.707070707070706, + "get_leaf_percent_of_program": [ + [ + "perry_runtime::object::class_meta_registry::get_parent_class_id", + 6.734006734006734 + ], + [ + "perry_runtime::object::field_get_set::get_field_by_name_tail::get_field_by_name_object_tail", + 6.127946127946128 + ], + [ + "js_object_get_field_by_name", + 5.3872053872053876 + ], + [ + "perry_runtime::object::class_registry::state::class_decl_prototype_object", + 3.771043771043771 + ], + [ + "perry_runtime::closure::dynamic_props::is_closure_ptr", + 3.2323232323232323 + ], + [ + "::copy_of_key", + 3.0976430976430978 + ], + [ + "perry_runtime::async_hooks::is_async_resource_handle", + 2.356902356902357 + ], + [ + "perry_runtime::object::class_registry::prototype_objects::resolve_proto_chain_field_inner", + 2.2222222222222223 + ], + [ + "perry_runtime::object::class_registry::parent_static::is_class_object_ptr", + 1.8181818181818181 + ], + [ + "core::str::converts::from_utf8", + 1.6161616161616161 + ], + [ + "perry_runtime::buffer::header::is_registered_buffer", + 1.5488215488215489 + ], + [ + "perry_runtime::temporal::is_temporal_cell_addr", + 1.2794612794612794 + ], + [ + "perry_runtime::date::is_date_cell_addr", + 1.2121212121212122 + ], + [ + "perry_runtime::object::arguments::is_arguments_object", + 0.9427609427609428 + ], + [ + "::hash_one::<&i32>", + 0.8754208754208754 + ], + [ + "perry_runtime::async_hooks::try_async_resource_property_dispatch", + 0.8754208754208754 + ], + [ + "trunc", + 0.8080808080808081 + ], + [ + "perry_runtime::object::object_keys_array", + 0.8080808080808081 + ], + [ + "perry_runtime::typedarray_props::typed_array_addr_from_value", + 0.8080808080808081 + ], + [ + "perry_runtime::object::field_get_set::has_property::closure_dynamic_prop_by_key", + 0.8080808080808081 + ] + ], + "sampled_instructions": 742504455, + "binary_sha256": "fbde7ea49d88679942de1296eadd260ba780e8b352e1794567d17d428f3de268" + } +} diff --git a/benchmarks/native_property_get/evidence/candidate-build.json b/benchmarks/native_property_get/evidence/candidate-build.json new file mode 100644 index 0000000000..c2ccb129d7 --- /dev/null +++ b/benchmarks/native_property_get/evidence/candidate-build.json @@ -0,0 +1,17 @@ +{ + "commit": "9fda98df68d9fac3c08b2385fae007aa9f5278df", + "node": "v26.5.1", + "source_patch_sha256": "3311791400a786a77d4c0a612dfdeffe16834ddaad24abdd15ec9783563bbc8d", + "artifacts": { + "perry": "0a1de70b4120ca8a578495031cd47c23f368dd1af87ba740bee1e95422353641", + "libperry_runtime.a": "ee64fc51d1cf58565c79edd88e0c449888920df0fddf69048ae7e0e2e612e0d1", + "libperry_stdlib.a": "66b042e43daa18f116074ce891ddd93ac8cff8f4055dfb11bbb3a69291b665ed" + }, + "probes": { + "reflect_own": "be47a8c4951b74b7eb1303afd1b02ed929b954f485cf7f0d10194968c1f29cba", + "reflect_proto": "45e82bd599efdcff78032103ec31d87ad087afdf7bdc7438b4abf91142b8b2c3", + "iterator": "da8ac63a3918d5aede6185b823e94d896dab89327a2b2718278a8355df1240a4", + "thenable": "f418d2de753b6baef4d2cad9fba2dd7d41d44e460f9da74fad84778b0c6374ec", + "tojson": "139928fda9c0e8f2c2d1a38feb4ac8f18ef14d8dad13114b325b06650e2155e0" + } +} diff --git a/benchmarks/native_property_get/evidence/candidate.json b/benchmarks/native_property_get/evidence/candidate.json new file mode 100644 index 0000000000..1a04a75ddb --- /dev/null +++ b/benchmarks/native_property_get/evidence/candidate.json @@ -0,0 +1,280 @@ +{ + "reflect_own": { + "iterations": 200000, + "instructions": [ + 143386174, + 143385957, + 143385319 + ], + "median": 143385957, + "get_inclusive_percent": 97.2027972027972, + "get_leaf_percent_of_program": [ + [ + "perry_runtime::object::class_registry::class_meta::is_anon_shape_class_id", + 44.40559440559441 + ], + [ + "perry_runtime::object::native_get::try_data_get_bytes", + 36.01398601398601 + ], + [ + "perry_runtime::object::keys_lookup::keys_array_dense_slots", + 6.643356643356643 + ], + [ + "core::str::converts::from_utf8", + 4.195804195804196 + ], + [ + "perry_runtime::object::keys_lookup::keys_find_slot_by_bytes", + 2.4475524475524475 + ], + [ + "perry_runtime::object::field_get_set::accessors::object_field_at_with_live", + 2.097902097902098 + ], + [ + "js_reflect_get", + 0.6993006993006993 + ], + [ + ">>,)>>::call_once", + 0.6993006993006993 + ] + ], + "sampled_instructions": 143000858, + "binary_sha256": "827154821308f72122097f731f94852b498ea02ca8579442536fef79a1d05e3b" + }, + "reflect_proto": { + "iterations": 200000, + "instructions": [ + 305995648, + 305995727, + 305995519 + ], + "median": 305995648, + "get_inclusive_percent": 99.34533551554829, + "get_leaf_percent_of_program": [ + [ + "perry_runtime::object::class_registry::state::class_decl_prototype_object", + 31.42389525368249 + ], + [ + "perry_runtime::object::native_get::try_data_get_bytes", + 24.713584288052374 + ], + [ + "perry_runtime::object::class_registry::class_meta::is_anon_shape_class_id", + 11.129296235679215 + ], + [ + "perry_runtime::object::class_registry::prototype_objects::class_prototype_object", + 8.51063829787234 + ], + [ + "::hash_one::<&i32>", + 6.219312602291326 + ], + [ + "perry_runtime::object::arguments::is_arguments_object", + 4.4189852700491 + ], + [ + "perry_runtime::object::keys_lookup::keys_array_dense_slots", + 4.4189852700491 + ], + [ + "perry_runtime::object::keys_lookup::keys_find_slot_by_bytes", + 2.618657937806874 + ], + [ + "core::str::converts::from_utf8", + 2.127659574468085 + ], + [ + " as core::hash::Hasher>::write", + 1.4729950900163666 + ], + [ + "js_reflect_get", + 1.309328968903437 + ], + [ + ">>,)>>::call_once", + 0.8183306055646481 + ], + [ + "perry_runtime::object::field_get_set::accessors::object_field_at_with_live", + 0.16366612111292964 + ] + ], + "sampled_instructions": 305501833, + "binary_sha256": "b00e40d520ad8dad3928a2211df4dfee7d12a7d63f49a5fe8036792a50cc3f5b" + }, + "iterator": { + "iterations": 200000, + "instructions": [ + 886162527, + 886162328, + 886163743 + ], + "median": 886162527, + "get_inclusive_percent": 0.7900677200902935, + "get_leaf_percent_of_program": [ + [ + "perry_runtime::url::search_params::shape_is_url_search_params", + 0.11286681715575621 + ], + [ + "::from_utf8_lossy", + 0.056433408577878104 + ], + [ + "perry_runtime::typedarray_props::typed_array_addr_from_value", + 0.056433408577878104 + ], + [ + "perry_runtime::object::keys_lookup::keys_find_slot_by_bytes", + 0.056433408577878104 + ], + [ + "perry_runtime::object::prototype_chain::meta_capable_object", + 0.056433408577878104 + ], + [ + "perry_runtime::object::field_get_set::prototype_override::inherited_field_if_overridden", + 0.056433408577878104 + ], + [ + "core::str::converts::from_utf8", + 0.056433408577878104 + ], + [ + "perry_runtime::object::class_meta_registry::get_parent_class_id", + 0.056433408577878104 + ], + [ + "perry_runtime::object::keys_lookup::keys_array_dense_slots", + 0.056433408577878104 + ], + [ + "perry_runtime::buffer::header::is_registered_buffer", + 0.056433408577878104 + ], + [ + "js_object_get_field_by_name", + 0.056433408577878104 + ], + [ + "perry_runtime::object::prototype_chain::object_static_prototype", + 0.056433408577878104 + ], + [ + "perry_runtime::object::field_get_set::accessors::prototype_property_value_with_guard", + 0.056433408577878104 + ] + ], + "sampled_instructions": 886005316, + "binary_sha256": "9a1a0d4c17406b127ddc54655ca55cb7d0af40faf98968c231da0bc927105931" + }, + "thenable": { + "iterations": 20000, + "instructions": [ + 320438913, + 320443434, + 320441221 + ], + "median": 320441221, + "get_inclusive_percent": 2.6604068857589986, + "get_leaf_percent_of_program": [ + [ + "perry_runtime::object::class_registry::class_meta::is_anon_shape_class_id", + 1.5649452269170578 + ], + [ + "perry_runtime::object::native_get::try_data_get_bytes", + 0.9389671361502347 + ], + [ + "perry_runtime::object::keys_lookup::keys_find_slot_by_bytes", + 0.1564945226917058 + ] + ], + "sampled_instructions": 319501917, + "binary_sha256": "abd61256d1ad0cf5d612c00a87e32e0d56ad833138e75afdcc728e2fa41fdfd9" + }, + "tojson": { + "iterations": 100000, + "instructions": [ + 423858278, + 423858072, + 423858284 + ], + "median": 423858278, + "get_inclusive_percent": 28.217237308146398, + "get_leaf_percent_of_program": [ + [ + "perry_runtime::object::class_registry::state::class_decl_prototype_object", + 7.319952774498229 + ], + [ + "perry_runtime::object::native_get::try_data_get_bytes", + 5.076741440377804 + ], + [ + "perry_runtime::object::class_registry::class_meta::is_anon_shape_class_id", + 5.076741440377804 + ], + [ + "perry_runtime::object::class_registry::prototype_objects::class_prototype_object", + 2.243211334120425 + ], + [ + "perry_runtime::perf_hooks::is_perf_entry_object", + 2.125147579693034 + ], + [ + "core::str::converts::from_utf8", + 2.0070838252656436 + ], + [ + "::hash_one::<&i32>", + 1.770956316410862 + ], + [ + "js_reflect_get", + 0.9445100354191264 + ], + [ + "perry_runtime::object::keys_lookup::keys_array_dense_slots", + 0.5903187721369539 + ], + [ + "perry_runtime::object::keys_lookup::keys_find_slot_by_bytes", + 0.2361275088547816 + ], + [ + "perry_runtime::object::field_get_set::accessors::object_field_at_with_live", + 0.2361275088547816 + ], + [ + ">>,)>>::call_once", + 0.2361275088547816 + ], + [ + "perry_runtime::object::arguments::is_arguments_object", + 0.1180637544273908 + ], + [ + "__memcmp_evex_movbe", + 0.1180637544273908 + ], + [ + " as core::hash::Hasher>::write", + 0.1180637544273908 + ] + ], + "sampled_instructions": 423502541, + "binary_sha256": "8772b57dfb1695585556246aca33a17550b3051f7e679a947ae43b4bb22fc8d7" + } +} diff --git a/benchmarks/native_property_get/evidence/clippy-diff.json b/benchmarks/native_property_get/evidence/clippy-diff.json new file mode 100644 index 0000000000..f68ac0546f --- /dev/null +++ b/benchmarks/native_property_get/evidence/clippy-diff.json @@ -0,0 +1,8 @@ +{ + "comparison": "9fda98df68 vs candidate; cargo clippy -j4 -p perry-runtime --all-targets --message-format=json", + "normalization": "level, code, message, primary filenames; ignores shifted line numbers", + "baseline_diagnostics": 1987, + "candidate_diagnostics": 1987, + "new_diagnostics": [], + "removed_diagnostics": [] +} diff --git a/benchmarks/native_property_get/evidence/clippy-logs.tar.gz b/benchmarks/native_property_get/evidence/clippy-logs.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..0d107143f91080721301811a1d071075e10b4e1c GIT binary patch literal 850374 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

xOomBVvQW%+(PAe{)toCCrl1!( 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ð{8b#xd(*F$~2 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 c~S(vTyR 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

QI)qSG(d4~GAHhcf-_OGdjH7R@(R!M33= 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

${Mg+}EID7nhGJ4`QOjo|NtZ5q){^H*IfDZ^y%{ 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�HNAyFd^*|ObK$LAfZk7jz`pKnhJg6F{dZty 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

v<{9)URt!#qWCo#?JfGC`_ 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

Z3l@nGtm(viT7 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

NAB!dPyM58h#@Q^yETkJqupf4Eh9QE>g@#j}K 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 literal 0 HcmV?d00001 diff --git a/benchmarks/native_property_get/evidence/faults.json b/benchmarks/native_property_get/evidence/faults.json new file mode 100644 index 0000000000..b76475a1b2 --- /dev/null +++ b/benchmarks/native_property_get/evidence/faults.json @@ -0,0 +1,20 @@ +[ + { + "mutation": "fast_path_removed", + "test": "object::native_get::tests::own_data_is_served_and_matches_forced_slow_for_all_value_kinds", + "exit_code": 101, + "assertion_failed": true + }, + { + "mutation": "accessor_guard_removed", + "test": "object::native_get::tests::accessor_bloom_guard_preserves_own_and_inherited_getter_calls", + "exit_code": 101, + "assertion_failed": true + }, + { + "mutation": "exotic_expando_ignored", + "test": "object::native_get::tests::regexp_expandos_and_accessors_remain_on_the_exotic_path", + "exit_code": 101, + "assertion_failed": true + } +] diff --git a/benchmarks/native_property_get/evidence/gc-base-runtime.sha256 b/benchmarks/native_property_get/evidence/gc-base-runtime.sha256 new file mode 100644 index 0000000000..51a2460b2c --- /dev/null +++ b/benchmarks/native_property_get/evidence/gc-base-runtime.sha256 @@ -0,0 +1,3 @@ +fa2df7f3d54bd25eab5e730c3e9ba27549ec980cb146f3ff35c946bd6f8dabcf /root/native-property-get/base-runtime/libperry_runtime.a +70e7bb414429841a2c5b6b99d8013eb7943b5f8f2ca92fea62d77288569d078b /root/native-property-get/base-runtime/libperry_stdlib.a +57778c1bc33a8367ef6e8d0ea0993e61c2d387020a13ed0bc802a90eceeee09e /root/native-property-get/base-runtime/perry diff --git a/benchmarks/native_property_get/evidence/gc-ratchet-ab.json b/benchmarks/native_property_get/evidence/gc-ratchet-ab.json new file mode 100644 index 0000000000..e7d214604b --- /dev/null +++ b/benchmarks/native_property_get/evidence/gc-ratchet-ab.json @@ -0,0 +1,1016 @@ +{ + "base_commit": "9fda98df68d9fac3c08b2385fae007aa9f5278df", + "profile": "shared_ci", + "correctness": "14/14 match Node on base and candidate", + "all_gated_medians_identical": true, + "rows": [ + { + "probe": "01_nursery_churn", + "metric": "heap_used_bytes", + "base_median": 438744, + "candidate_median": 438744, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "01_nursery_churn", + "metric": "heap_total_bytes", + "base_median": 14680064, + "candidate_median": 14680064, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "01_nursery_churn", + "metric": "minor_cycles", + "base_median": 1, + "candidate_median": 1, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "01_nursery_churn", + "metric": "step_cycles", + "base_median": 1, + "candidate_median": 1, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "01_nursery_churn", + "metric": "copied_objects", + "base_median": 6690, + "candidate_median": 6690, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "01_nursery_churn", + "metric": "copied_bytes", + "base_median": 466392, + "candidate_median": 466392, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "01_nursery_churn", + "metric": "promoted_objects", + "base_median": 0, + "candidate_median": 0, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "01_nursery_churn", + "metric": "promoted_bytes", + "base_median": 0, + "candidate_median": 0, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "01_nursery_churn", + "metric": "freed_bytes", + "base_median": 11067816, + "candidate_median": 11067816, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "02_survivor_promotion", + "metric": "heap_used_bytes", + "base_median": 2562832, + "candidate_median": 2562832, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "02_survivor_promotion", + "metric": "heap_total_bytes", + "base_median": 15728640, + "candidate_median": 15728640, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "02_survivor_promotion", + "metric": "minor_cycles", + "base_median": 1, + "candidate_median": 1, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "02_survivor_promotion", + "metric": "step_cycles", + "base_median": 1, + "candidate_median": 1, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "02_survivor_promotion", + "metric": "copied_objects", + "base_median": 37366, + "candidate_median": 37366, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "02_survivor_promotion", + "metric": "copied_bytes", + "base_median": 1690264, + "candidate_median": 1690264, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "02_survivor_promotion", + "metric": "promoted_objects", + "base_median": 0, + "candidate_median": 0, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "02_survivor_promotion", + "metric": "promoted_bytes", + "base_median": 0, + "candidate_median": 0, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "02_survivor_promotion", + "metric": "freed_bytes", + "base_median": 8795408, + "candidate_median": 8795408, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "03_cross_gen_writes", + "metric": "heap_used_bytes", + "base_median": 528, + "candidate_median": 528, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "03_cross_gen_writes", + "metric": "heap_total_bytes", + "base_median": 12582912, + "candidate_median": 12582912, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "03_cross_gen_writes", + "metric": "minor_cycles", + "base_median": 1, + "candidate_median": 1, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "03_cross_gen_writes", + "metric": "step_cycles", + "base_median": 1, + "candidate_median": 1, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "03_cross_gen_writes", + "metric": "copied_objects", + "base_median": 4107, + "candidate_median": 4107, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "03_cross_gen_writes", + "metric": "copied_bytes", + "base_median": 197056, + "candidate_median": 197056, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "03_cross_gen_writes", + "metric": "promoted_objects", + "base_median": 0, + "candidate_median": 0, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "03_cross_gen_writes", + "metric": "promoted_bytes", + "base_median": 0, + "candidate_median": 0, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "03_cross_gen_writes", + "metric": "freed_bytes", + "base_median": 9240008, + "candidate_median": 9240008, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "04_dead_after_deep_stack", + "metric": "heap_used_bytes", + "base_median": 536, + "candidate_median": 536, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "04_dead_after_deep_stack", + "metric": "heap_total_bytes", + "base_median": 18874368, + "candidate_median": 18874368, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "04_dead_after_deep_stack", + "metric": "minor_cycles", + "base_median": 7, + "candidate_median": 7, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "04_dead_after_deep_stack", + "metric": "step_cycles", + "base_median": 7, + "candidate_median": 7, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "04_dead_after_deep_stack", + "metric": "copied_objects", + "base_median": 2666, + "candidate_median": 2666, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "04_dead_after_deep_stack", + "metric": "copied_bytes", + "base_median": 111336, + "candidate_median": 111336, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "04_dead_after_deep_stack", + "metric": "promoted_objects", + "base_median": 682, + "candidate_median": 682, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "04_dead_after_deep_stack", + "metric": "promoted_bytes", + "base_median": 27320, + "candidate_median": 27320, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "04_dead_after_deep_stack", + "metric": "freed_bytes", + "base_median": 76493952, + "candidate_median": 76493952, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "05_closure_capture", + "metric": "heap_used_bytes", + "base_median": 544, + "candidate_median": 544, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "05_closure_capture", + "metric": "heap_total_bytes", + "base_median": 14680064, + "candidate_median": 14680064, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "05_closure_capture", + "metric": "minor_cycles", + "base_median": 3, + "candidate_median": 3, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "05_closure_capture", + "metric": "step_cycles", + "base_median": 3, + "candidate_median": 3, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "05_closure_capture", + "metric": "copied_objects", + "base_median": 14285, + "candidate_median": 14285, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "05_closure_capture", + "metric": "copied_bytes", + "base_median": 534720, + "candidate_median": 534720, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "05_closure_capture", + "metric": "promoted_objects", + "base_median": 6154, + "candidate_median": 6154, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "05_closure_capture", + "metric": "promoted_bytes", + "base_median": 221624, + "candidate_median": 221624, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "05_closure_capture", + "metric": "freed_bytes", + "base_median": 27897872, + "candidate_median": 27897872, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "06_string_retention", + "metric": "heap_used_bytes", + "base_median": 1072, + "candidate_median": 1072, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "06_string_retention", + "metric": "heap_total_bytes", + "base_median": 22020096, + "candidate_median": 22020096, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "06_string_retention", + "metric": "minor_cycles", + "base_median": 4, + "candidate_median": 4, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "06_string_retention", + "metric": "step_cycles", + "base_median": 4, + "candidate_median": 4, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "06_string_retention", + "metric": "copied_objects", + "base_median": 270, + "candidate_median": 270, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "06_string_retention", + "metric": "copied_bytes", + "base_median": 70144, + "candidate_median": 70144, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "06_string_retention", + "metric": "promoted_objects", + "base_median": 14, + "candidate_median": 14, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "06_string_retention", + "metric": "promoted_bytes", + "base_median": 1072, + "candidate_median": 1072, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "06_string_retention", + "metric": "freed_bytes", + "base_median": 68136816, + "candidate_median": 68136816, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "07_array_grow_evacuate", + "metric": "heap_used_bytes", + "base_median": 1211232, + "candidate_median": 1211232, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "07_array_grow_evacuate", + "metric": "heap_total_bytes", + "base_median": 25165824, + "candidate_median": 25165824, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "07_array_grow_evacuate", + "metric": "minor_cycles", + "base_median": 5, + "candidate_median": 5, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "07_array_grow_evacuate", + "metric": "step_cycles", + "base_median": 5, + "candidate_median": 5, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "07_array_grow_evacuate", + "metric": "copied_objects", + "base_median": 6702, + "candidate_median": 6702, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "07_array_grow_evacuate", + "metric": "copied_bytes", + "base_median": 2636392, + "candidate_median": 2636392, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "07_array_grow_evacuate", + "metric": "promoted_objects", + "base_median": 6154, + "candidate_median": 6154, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "07_array_grow_evacuate", + "metric": "promoted_bytes", + "base_median": 841048, + "candidate_median": 841048, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "07_array_grow_evacuate", + "metric": "freed_bytes", + "base_median": 83570704, + "candidate_median": 83570704, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "08_map_set_sidetables", + "metric": "heap_used_bytes", + "base_median": 688, + "candidate_median": 688, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "08_map_set_sidetables", + "metric": "heap_total_bytes", + "base_median": 14680064, + "candidate_median": 14680064, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "08_map_set_sidetables", + "metric": "minor_cycles", + "base_median": 6, + "candidate_median": 6, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "08_map_set_sidetables", + "metric": "step_cycles", + "base_median": 6, + "candidate_median": 6, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "08_map_set_sidetables", + "metric": "copied_objects", + "base_median": 2461, + "candidate_median": 2461, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "08_map_set_sidetables", + "metric": "copied_bytes", + "base_median": 98472, + "candidate_median": 98472, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "08_map_set_sidetables", + "metric": "promoted_objects", + "base_median": 14, + "candidate_median": 14, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "08_map_set_sidetables", + "metric": "promoted_bytes", + "base_median": 592, + "candidate_median": 592, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "08_map_set_sidetables", + "metric": "freed_bytes", + "base_median": 56598904, + "candidate_median": 56598904, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "09_try_catch_roots", + "metric": "heap_used_bytes", + "base_median": 443520, + "candidate_median": 443520, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "09_try_catch_roots", + "metric": "heap_total_bytes", + "base_median": 14680064, + "candidate_median": 14680064, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "09_try_catch_roots", + "metric": "minor_cycles", + "base_median": 1, + "candidate_median": 1, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "09_try_catch_roots", + "metric": "step_cycles", + "base_median": 1, + "candidate_median": 1, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "09_try_catch_roots", + "metric": "copied_objects", + "base_median": 6673, + "candidate_median": 6673, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "09_try_catch_roots", + "metric": "copied_bytes", + "base_median": 462024, + "candidate_median": 462024, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "09_try_catch_roots", + "metric": "promoted_objects", + "base_median": 0, + "candidate_median": 0, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "09_try_catch_roots", + "metric": "promoted_bytes", + "base_median": 0, + "candidate_median": 0, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "09_try_catch_roots", + "metric": "freed_bytes", + "base_median": 10023568, + "candidate_median": 10023568, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "10_store_receiver_across_alloc", + "metric": "heap_used_bytes", + "base_median": 446776, + "candidate_median": 446776, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "10_store_receiver_across_alloc", + "metric": "heap_total_bytes", + "base_median": 22020096, + "candidate_median": 22020096, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "10_store_receiver_across_alloc", + "metric": "minor_cycles", + "base_median": 8, + "candidate_median": 8, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "10_store_receiver_across_alloc", + "metric": "step_cycles", + "base_median": 8, + "candidate_median": 8, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "10_store_receiver_across_alloc", + "metric": "copied_objects", + "base_median": 14625, + "candidate_median": 14625, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "10_store_receiver_across_alloc", + "metric": "copied_bytes", + "base_median": 787792, + "candidate_median": 787792, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "10_store_receiver_across_alloc", + "metric": "promoted_objects", + "base_median": 6107, + "candidate_median": 6107, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "10_store_receiver_across_alloc", + "metric": "promoted_bytes", + "base_median": 446368, + "candidate_median": 446368, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "10_store_receiver_across_alloc", + "metric": "freed_bytes", + "base_median": 88640584, + "candidate_median": 88640584, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "11_collect_at_depth", + "metric": "heap_used_bytes", + "base_median": 444720, + "candidate_median": 444720, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "11_collect_at_depth", + "metric": "heap_total_bytes", + "base_median": 12582912, + "candidate_median": 12582912, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "11_collect_at_depth", + "metric": "minor_cycles", + "base_median": 1, + "candidate_median": 1, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "11_collect_at_depth", + "metric": "step_cycles", + "base_median": 1, + "candidate_median": 1, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "11_collect_at_depth", + "metric": "copied_objects", + "base_median": 6686, + "candidate_median": 6686, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "11_collect_at_depth", + "metric": "copied_bytes", + "base_median": 462544, + "candidate_median": 462544, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "11_collect_at_depth", + "metric": "promoted_objects", + "base_median": 0, + "candidate_median": 0, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "11_collect_at_depth", + "metric": "promoted_bytes", + "base_median": 0, + "candidate_median": 0, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "11_collect_at_depth", + "metric": "freed_bytes", + "base_median": 8974576, + "candidate_median": 8974576, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "12_large_live_set", + "metric": "heap_used_bytes", + "base_median": 569448, + "candidate_median": 569448, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "12_large_live_set", + "metric": "heap_total_bytes", + "base_median": 74448896, + "candidate_median": 74448896, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "12_large_live_set", + "metric": "minor_cycles", + "base_median": 5, + "candidate_median": 5, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "12_large_live_set", + "metric": "step_cycles", + "base_median": 5, + "candidate_median": 5, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "12_large_live_set", + "metric": "copied_objects", + "base_median": 104050, + "candidate_median": 104050, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "12_large_live_set", + "metric": "copied_bytes", + "base_median": 4162008, + "candidate_median": 4162008, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "12_large_live_set", + "metric": "promoted_objects", + "base_median": 530030, + "candidate_median": 530030, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "12_large_live_set", + "metric": "promoted_bytes", + "base_median": 21201208, + "candidate_median": 21201208, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "12_large_live_set", + "metric": "freed_bytes", + "base_median": 63732784, + "candidate_median": 63732784, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "13_large_eden_survivors", + "metric": "heap_used_bytes", + "base_median": 444976, + "candidate_median": 444976, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "13_large_eden_survivors", + "metric": "heap_total_bytes", + "base_median": 61865984, + "candidate_median": 61865984, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "13_large_eden_survivors", + "metric": "minor_cycles", + "base_median": 3, + "candidate_median": 3, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "13_large_eden_survivors", + "metric": "step_cycles", + "base_median": 3, + "candidate_median": 3, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "13_large_eden_survivors", + "metric": "copied_objects", + "base_median": 382868, + "candidate_median": 382868, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "13_large_eden_survivors", + "metric": "copied_bytes", + "base_median": 21804904, + "candidate_median": 21804904, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "13_large_eden_survivors", + "metric": "promoted_objects", + "base_median": 387152, + "candidate_median": 387152, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "13_large_eden_survivors", + "metric": "promoted_bytes", + "base_median": 21975560, + "candidate_median": 21975560, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "13_large_eden_survivors", + "metric": "freed_bytes", + "base_median": 108045936, + "candidate_median": 108045936, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "14_grow_then_churn", + "metric": "heap_used_bytes", + "base_median": 429408, + "candidate_median": 429408, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "14_grow_then_churn", + "metric": "heap_total_bytes", + "base_median": 23068672, + "candidate_median": 23068672, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "14_grow_then_churn", + "metric": "minor_cycles", + "base_median": 22, + "candidate_median": 22, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "14_grow_then_churn", + "metric": "step_cycles", + "base_median": 23, + "candidate_median": 23, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "14_grow_then_churn", + "metric": "copied_objects", + "base_median": 330, + "candidate_median": 330, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "14_grow_then_churn", + "metric": "copied_bytes", + "base_median": 1277072, + "candidate_median": 1277072, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "14_grow_then_churn", + "metric": "promoted_objects", + "base_median": 405282, + "candidate_median": 405282, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "14_grow_then_churn", + "metric": "promoted_bytes", + "base_median": 147967848, + "candidate_median": 147967848, + "base_spread": 0, + "candidate_spread": 0 + }, + { + "probe": "14_grow_then_churn", + "metric": "freed_bytes", + "base_median": 119549744, + "candidate_median": 119549744, + "base_spread": 0, + "candidate_spread": 0 + } + ] +} diff --git a/benchmarks/native_property_get/evidence/gc-ratchet-receipts.tar.gz b/benchmarks/native_property_get/evidence/gc-ratchet-receipts.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..4e0492c2cd850b05d7ce92d27f84ab009b04846a GIT binary patch literal 34882 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

{bb#AXl#hoNt0n=w}Kjqonx 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�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�%ND$rl*QG46y zmDRM7m`v*X0?6`IeuI+lWTUv|l13jL1%cQX)?&z`rVP4ZrbgJQEb@9Ra(54aFBns3 zEnqrhuw02PMQd%U{4IWmcLeA$T1AW&sL6<_dZ*wgNNN=tHeRr6tgy{_hDF*2u! zB{@`(w>_5%++_V}b`+PoB0P-Zuk`b1#NQKo3l`%`rlmDtheF*aJOd=iItfY*s$fRVq|sN-G?jKWv8FhmAmx2#$(c9f(Agb zjdHFK`KjRb?G@p?o(O9F_`VlRfeWvcB~87u)A;eEfkZ>Oj(hqH>O$Lnjv0OT`Pi-QES0mVD4MXwHtn|wjkN%V;#ncxnpw_U zm?9?3BCJR^N(mgDdS65ny5l)_GoUU%jr zUyInSUi80CKj`@i(ex|q%PCQcvANkZ^-MpVl2W1?z1Ti_oY?tI96h8oC7x|UmL@IH zx+VAA6)WpF;hdKUzCBb07|NkzpTAwH96_hw@OUuYx4*#<)+|DizkAyoUHwmzWpkGZ z9zu1~R1fd*ZZ7SYs3Dzxfh2Ok)xaf_WOImI1sr+D5p%3|TgD z&4v{*8NUI?D&~o-x|5s+VQ04w`kt&N>wV%pm&giCniuZN4W>>J*>NAy z;A4J7Ix7IwOc8_-~D)~hdONHqC)<($x3hUXYX(%yGFc!eN^)r(c{ww-b6xr3bT+dADO-KI_$nr`*lN!2!Zb*K_Xv90?;7MklCkRBGM zVr8w8iT&_B+>vm3Zn`=HT^>_RU?8v<`4q{lj4IWx*mS*C=D#|;<|MqzcnKd8AQL?A zyY}^xc5oCyfw|`hL?ltYEi2q$MLBS#YMJEX1bo$MRP%YC>BNx`fitLIkPOL+Wk{%O zg9k?VA19u6gdH7DYg{Uy5oHMT(_u%FD3Nd?F`~rnX~f^otI$u|7MGHLiNC23XI)1s zMAz=o4<3U`9J6=F{xxq^qkcKtn0i^xxS|aaS9k=v@J9lCe&e|R_-L;`@MAEB@}~7w z?eN6pRbxR}rK?4TnYSbat{QaFEq?gtU;Wm}=F$J#w|aXgg-Mr6HZm&Hcai2M@RLm@`3g;7~{8hR*?0vh98b~kH+rsDXw*S#JYetCkdW4IW zG0S&PUip9(B#;CeGoQ*lpeFhufM4n}oO1t2Exal%@aFD(eTFIMrnjB6{|(+R4HfCi zfvVo3vPE~U4YZXy&pacmZ}2;5rVqauzrFH79Si$x&DGbL$xt*Lxjf5-3?nPT8670oYv*%pSDF) ze9b)Vk93CAhY`$9`j2+Hk1MBSnxp^pA~_Cm3)u6aK1W0;D9sG39jf|adGUnf>+YJYk*KJ<8d@;hWm;~Op`%zVE~vm+4t zf}43cZRbO!MZ#$5mKz`T|A?i42^qk*m+pHTzalQJRwtLy*I6>f{0>zvdaewKo@T@i{;b>d#*lVJ)epIote;~mNENu-t z8Xg^h9463o(6#w0b@BAO!kr{UFsP1Tuw1i7Ojk7(C-Z_P}P%3ozS|bsT7k@btk2Hosi;iF;`hm5b)-zB(?|7~cNz zrtFPH18;>Lz2rOb%yo6$(b%Ug`SMAx3n1pFCYbytNo<f62mrDDT zwyzQOuQ+xuv#ZE?!@@OQnRu7b~9y_BE|x4{-3*w5gy?2snB`@|r$g3VqY zY0p-niN(iIr5Nj|255V!9DN}*f5to{-P4M??=}+a@8;d88Rym$Y z5+Jm+$88Rh*4XpPp)Hd-Y=d#=*jnlg) zY%mqAZZM(BDG28IkXp3xKrpY#H~(?HQAUn>DH`K{`oA9e{+%l_Gov{z5>X10{{T>S Bh0_24 literal 0 HcmV?d00001 diff --git a/benchmarks/native_property_get/evidence/gc-stress.json b/benchmarks/native_property_get/evidence/gc-stress.json new file mode 100644 index 0000000000..6c852e5bbb --- /dev/null +++ b/benchmarks/native_property_get/evidence/gc-stress.json @@ -0,0 +1 @@ +{"node":"26.5.1","pressure_mb":"8","complete":true,"shard":{"index":1,"count":1,"corpus_total":86,"corpus_selected":86},"arms":[{"id":"default","requires":"scavenge"},{"id":"safepoint_minor","requires":"scavenge"},{"id":"evac_minor","requires":"move"},{"id":"verify_evac","requires":"scavenge"},{"id":"force_verify","requires":"move"},{"id":"cons_scan_off","requires":"scavenge"},{"id":"shipped_default","requires":"none"}],"cells":[{"test":"test_gap_repsel_canonical_i32","arm":"default","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_canonical_i32","arm":"safepoint_minor","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_canonical_i32","arm":"evac_minor","result":"UNVER","cycles":1,"evacuated":0,"scavenged":0,"reclaimed":27520,"evidence":"cycles=1 evacuated=0 scavenged=0 reclaimed=27520"},{"test":"test_gap_repsel_canonical_i32","arm":"verify_evac","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_canonical_i32","arm":"force_verify","result":"PASS","cycles":1,"evacuated":0,"scavenged":4156,"reclaimed":82560,"evidence":"cycles=1 evacuated=0 scavenged=4156 reclaimed=82560"},{"test":"test_gap_repsel_canonical_i32","arm":"cons_scan_off","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_canonical_i32","arm":"shipped_default","result":"PASS","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_int_valued_ta_locals","arm":"default","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_int_valued_ta_locals","arm":"safepoint_minor","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_int_valued_ta_locals","arm":"evac_minor","result":"PASS","cycles":1,"evacuated":0,"scavenged":12,"reclaimed":7320,"evidence":"cycles=1 evacuated=0 scavenged=12 reclaimed=7320"},{"test":"test_gap_int_valued_ta_locals","arm":"verify_evac","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_int_valued_ta_locals","arm":"force_verify","result":"PASS","cycles":1,"evacuated":0,"scavenged":12,"reclaimed":7320,"evidence":"cycles=1 evacuated=0 scavenged=12 reclaimed=7320"},{"test":"test_gap_int_valued_ta_locals","arm":"cons_scan_off","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_int_valued_ta_locals","arm":"shipped_default","result":"PASS","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_loop_bounded_i32","arm":"default","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_loop_bounded_i32","arm":"safepoint_minor","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_loop_bounded_i32","arm":"evac_minor","result":"UNVER","cycles":1,"evacuated":0,"scavenged":0,"reclaimed":26544,"evidence":"cycles=1 evacuated=0 scavenged=0 reclaimed=26544"},{"test":"test_gap_repsel_loop_bounded_i32","arm":"verify_evac","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_loop_bounded_i32","arm":"force_verify","result":"PASS","cycles":1,"evacuated":0,"scavenged":4136,"reclaimed":79632,"evidence":"cycles=1 evacuated=0 scavenged=4136 reclaimed=79632"},{"test":"test_gap_repsel_loop_bounded_i32","arm":"cons_scan_off","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_loop_bounded_i32","arm":"shipped_default","result":"PASS","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_specabi_polymorphic_coexist","arm":"default","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_specabi_polymorphic_coexist","arm":"safepoint_minor","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_specabi_polymorphic_coexist","arm":"evac_minor","result":"UNVER","cycles":1,"evacuated":0,"scavenged":0,"reclaimed":25208,"evidence":"cycles=1 evacuated=0 scavenged=0 reclaimed=25208"},{"test":"test_gap_specabi_polymorphic_coexist","arm":"verify_evac","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_specabi_polymorphic_coexist","arm":"force_verify","result":"PASS","cycles":1,"evacuated":0,"scavenged":4157,"reclaimed":75624,"evidence":"cycles=1 evacuated=0 scavenged=4157 reclaimed=75624"},{"test":"test_gap_specabi_polymorphic_coexist","arm":"cons_scan_off","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_specabi_polymorphic_coexist","arm":"shipped_default","result":"PASS","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_specabi_reassign","arm":"default","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_specabi_reassign","arm":"safepoint_minor","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_specabi_reassign","arm":"evac_minor","result":"UNVER","cycles":1,"evacuated":0,"scavenged":0,"reclaimed":24992,"evidence":"cycles=1 evacuated=0 scavenged=0 reclaimed=24992"},{"test":"test_gap_specabi_reassign","arm":"verify_evac","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_specabi_reassign","arm":"force_verify","result":"PASS","cycles":1,"evacuated":0,"scavenged":4162,"reclaimed":74976,"evidence":"cycles=1 evacuated=0 scavenged=4162 reclaimed=74976"},{"test":"test_gap_specabi_reassign","arm":"cons_scan_off","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_specabi_reassign","arm":"shipped_default","result":"PASS","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_specabi_recursion_escape","arm":"default","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_specabi_recursion_escape","arm":"safepoint_minor","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_specabi_recursion_escape","arm":"evac_minor","result":"PASS","cycles":1,"evacuated":0,"scavenged":4,"reclaimed":1728,"evidence":"cycles=1 evacuated=0 scavenged=4 reclaimed=1728"},{"test":"test_gap_specabi_recursion_escape","arm":"verify_evac","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_specabi_recursion_escape","arm":"force_verify","result":"PASS","cycles":1,"evacuated":0,"scavenged":4,"reclaimed":1728,"evidence":"cycles=1 evacuated=0 scavenged=4 reclaimed=1728"},{"test":"test_gap_specabi_recursion_escape","arm":"cons_scan_off","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_specabi_recursion_escape","arm":"shipped_default","result":"PASS","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_specabi_view_detach","arm":"default","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_specabi_view_detach","arm":"safepoint_minor","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_specabi_view_detach","arm":"evac_minor","result":"PASS","cycles":1,"evacuated":0,"scavenged":6,"reclaimed":2256,"evidence":"cycles=1 evacuated=0 scavenged=6 reclaimed=2256"},{"test":"test_gap_specabi_view_detach","arm":"verify_evac","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_specabi_view_detach","arm":"force_verify","result":"PASS","cycles":1,"evacuated":0,"scavenged":6,"reclaimed":2256,"evidence":"cycles=1 evacuated=0 scavenged=6 reclaimed=2256"},{"test":"test_gap_specabi_view_detach","arm":"cons_scan_off","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_specabi_view_detach","arm":"shipped_default","result":"PASS","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_specabi_ordinary_param_guards","arm":"default","result":"PASS","cycles":22,"evacuated":0,"scavenged":302656,"reclaimed":778253744,"evidence":"cycles=22 evacuated=0 scavenged=302656 reclaimed=778253744"},{"test":"test_gap_specabi_ordinary_param_guards","arm":"safepoint_minor","result":"PASS","cycles":22,"evacuated":0,"scavenged":302656,"reclaimed":778253744,"evidence":"cycles=22 evacuated=0 scavenged=302656 reclaimed=778253744"},{"test":"test_gap_specabi_ordinary_param_guards","arm":"evac_minor","result":"PASS","cycles":22,"evacuated":0,"scavenged":290734,"reclaimed":781580080,"evidence":"cycles=22 evacuated=0 scavenged=290734 reclaimed=781580080"},{"test":"test_gap_specabi_ordinary_param_guards","arm":"verify_evac","result":"PASS","cycles":22,"evacuated":0,"scavenged":302656,"reclaimed":778253744,"evidence":"cycles=22 evacuated=0 scavenged=302656 reclaimed=778253744"},{"test":"test_gap_specabi_ordinary_param_guards","arm":"force_verify","result":"PASS","cycles":22,"evacuated":0,"scavenged":290734,"reclaimed":781580080,"evidence":"cycles=22 evacuated=0 scavenged=290734 reclaimed=781580080"},{"test":"test_gap_specabi_ordinary_param_guards","arm":"cons_scan_off","result":"PASS","cycles":22,"evacuated":0,"scavenged":290734,"reclaimed":781580080,"evidence":"cycles=22 evacuated=0 scavenged=290734 reclaimed=781580080"},{"test":"test_gap_specabi_ordinary_param_guards","arm":"shipped_default","result":"PASS","cycles":11,"evacuated":0,"scavenged":295072,"reclaimed":678707712,"evidence":"cycles=11 evacuated=0 scavenged=295072 reclaimed=678707712"},{"test":"test_gap_ta_param_numeric_read","arm":"default","result":"UNVER","cycles":1,"evacuated":0,"scavenged":0,"reclaimed":33576,"evidence":"cycles=1 evacuated=0 scavenged=0 reclaimed=33576"},{"test":"test_gap_ta_param_numeric_read","arm":"safepoint_minor","result":"UNVER","cycles":1,"evacuated":0,"scavenged":0,"reclaimed":33576,"evidence":"cycles=1 evacuated=0 scavenged=0 reclaimed=33576"},{"test":"test_gap_ta_param_numeric_read","arm":"evac_minor","result":"UNVER","cycles":1,"evacuated":0,"scavenged":0,"reclaimed":33576,"evidence":"cycles=1 evacuated=0 scavenged=0 reclaimed=33576"},{"test":"test_gap_ta_param_numeric_read","arm":"verify_evac","result":"PASS","cycles":1,"evacuated":0,"scavenged":4181,"reclaimed":100728,"evidence":"cycles=1 evacuated=0 scavenged=4181 reclaimed=100728"},{"test":"test_gap_ta_param_numeric_read","arm":"force_verify","result":"PASS","cycles":1,"evacuated":0,"scavenged":4181,"reclaimed":100728,"evidence":"cycles=1 evacuated=0 scavenged=4181 reclaimed=100728"},{"test":"test_gap_ta_param_numeric_read","arm":"cons_scan_off","result":"UNVER","cycles":1,"evacuated":0,"scavenged":0,"reclaimed":33576,"evidence":"cycles=1 evacuated=0 scavenged=0 reclaimed=33576"},{"test":"test_gap_ta_param_numeric_read","arm":"shipped_default","result":"PASS","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_typedarray_param_read","arm":"default","result":"UNVER","cycles":1,"evacuated":0,"scavenged":0,"reclaimed":31592,"evidence":"cycles=1 evacuated=0 scavenged=0 reclaimed=31592"},{"test":"test_gap_typedarray_param_read","arm":"safepoint_minor","result":"UNVER","cycles":1,"evacuated":0,"scavenged":0,"reclaimed":31592,"evidence":"cycles=1 evacuated=0 scavenged=0 reclaimed=31592"},{"test":"test_gap_typedarray_param_read","arm":"evac_minor","result":"UNVER","cycles":1,"evacuated":0,"scavenged":0,"reclaimed":31592,"evidence":"cycles=1 evacuated=0 scavenged=0 reclaimed=31592"},{"test":"test_gap_typedarray_param_read","arm":"verify_evac","result":"PASS","cycles":1,"evacuated":0,"scavenged":4188,"reclaimed":94776,"evidence":"cycles=1 evacuated=0 scavenged=4188 reclaimed=94776"},{"test":"test_gap_typedarray_param_read","arm":"force_verify","result":"PASS","cycles":1,"evacuated":0,"scavenged":4188,"reclaimed":94776,"evidence":"cycles=1 evacuated=0 scavenged=4188 reclaimed=94776"},{"test":"test_gap_typedarray_param_read","arm":"cons_scan_off","result":"UNVER","cycles":1,"evacuated":0,"scavenged":0,"reclaimed":31592,"evidence":"cycles=1 evacuated=0 scavenged=0 reclaimed=31592"},{"test":"test_gap_typedarray_param_read","arm":"shipped_default","result":"PASS","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_canonical_str_locals","arm":"default","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_canonical_str_locals","arm":"safepoint_minor","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_canonical_str_locals","arm":"evac_minor","result":"PASS","cycles":1,"evacuated":0,"scavenged":71,"reclaimed":17568,"evidence":"cycles=1 evacuated=0 scavenged=71 reclaimed=17568"},{"test":"test_gap_repsel_canonical_str_locals","arm":"verify_evac","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_canonical_str_locals","arm":"force_verify","result":"PASS","cycles":1,"evacuated":0,"scavenged":71,"reclaimed":17568,"evidence":"cycles=1 evacuated=0 scavenged=71 reclaimed=17568"},{"test":"test_gap_repsel_canonical_str_locals","arm":"cons_scan_off","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_canonical_str_locals","arm":"shipped_default","result":"PASS","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_ptr_shape_locals","arm":"default","result":"PASS","cycles":1,"evacuated":0,"scavenged":4194,"reclaimed":2222616,"evidence":"cycles=1 evacuated=0 scavenged=4194 reclaimed=2222616"},{"test":"test_gap_repsel_ptr_shape_locals","arm":"safepoint_minor","result":"PASS","cycles":1,"evacuated":0,"scavenged":4194,"reclaimed":2222616,"evidence":"cycles=1 evacuated=0 scavenged=4194 reclaimed=2222616"},{"test":"test_gap_repsel_ptr_shape_locals","arm":"evac_minor","result":"PASS","cycles":1,"evacuated":0,"scavenged":4194,"reclaimed":2222616,"evidence":"cycles=1 evacuated=0 scavenged=4194 reclaimed=2222616"},{"test":"test_gap_repsel_ptr_shape_locals","arm":"verify_evac","result":"PASS","cycles":1,"evacuated":0,"scavenged":4194,"reclaimed":2222616,"evidence":"cycles=1 evacuated=0 scavenged=4194 reclaimed=2222616"},{"test":"test_gap_repsel_ptr_shape_locals","arm":"force_verify","result":"PASS","cycles":1,"evacuated":0,"scavenged":4194,"reclaimed":2222616,"evidence":"cycles=1 evacuated=0 scavenged=4194 reclaimed=2222616"},{"test":"test_gap_repsel_ptr_shape_locals","arm":"cons_scan_off","result":"PASS","cycles":1,"evacuated":0,"scavenged":4194,"reclaimed":2222616,"evidence":"cycles=1 evacuated=0 scavenged=4194 reclaimed=2222616"},{"test":"test_gap_repsel_ptr_shape_locals","arm":"shipped_default","result":"PASS","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_ptr_shape_barriers","arm":"default","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_ptr_shape_barriers","arm":"safepoint_minor","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_ptr_shape_barriers","arm":"evac_minor","result":"UNVER","cycles":1,"evacuated":0,"scavenged":0,"reclaimed":24896,"evidence":"cycles=1 evacuated=0 scavenged=0 reclaimed=24896"},{"test":"test_gap_repsel_ptr_shape_barriers","arm":"verify_evac","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_ptr_shape_barriers","arm":"force_verify","result":"PASS","cycles":1,"evacuated":0,"scavenged":4142,"reclaimed":74688,"evidence":"cycles=1 evacuated=0 scavenged=4142 reclaimed=74688"},{"test":"test_gap_repsel_ptr_shape_barriers","arm":"cons_scan_off","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_ptr_shape_barriers","arm":"shipped_default","result":"PASS","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_return_shape","arm":"default","result":"PASS","cycles":5,"evacuated":0,"scavenged":97226,"reclaimed":58552360,"evidence":"cycles=5 evacuated=0 scavenged=97226 reclaimed=58552360"},{"test":"test_gap_repsel_return_shape","arm":"safepoint_minor","result":"PASS","cycles":5,"evacuated":0,"scavenged":97226,"reclaimed":58552360,"evidence":"cycles=5 evacuated=0 scavenged=97226 reclaimed=58552360"},{"test":"test_gap_repsel_return_shape","arm":"evac_minor","result":"PASS","cycles":5,"evacuated":0,"scavenged":97226,"reclaimed":64787920,"evidence":"cycles=5 evacuated=0 scavenged=97226 reclaimed=64787920"},{"test":"test_gap_repsel_return_shape","arm":"verify_evac","result":"PASS","cycles":5,"evacuated":0,"scavenged":126583,"reclaimed":69032112,"evidence":"cycles=5 evacuated=0 scavenged=126583 reclaimed=69032112"},{"test":"test_gap_repsel_return_shape","arm":"force_verify","result":"PASS","cycles":5,"evacuated":0,"scavenged":126583,"reclaimed":69032112,"evidence":"cycles=5 evacuated=0 scavenged=126583 reclaimed=69032112"},{"test":"test_gap_repsel_return_shape","arm":"cons_scan_off","result":"PASS","cycles":5,"evacuated":0,"scavenged":97226,"reclaimed":64787920,"evidence":"cycles=5 evacuated=0 scavenged=97226 reclaimed=64787920"},{"test":"test_gap_repsel_return_shape","arm":"shipped_default","result":"PASS","cycles":2,"evacuated":0,"scavenged":100294,"reclaimed":60576048,"evidence":"cycles=2 evacuated=0 scavenged=100294 reclaimed=60576048"},{"test":"test_gap_repsel_cjs_iife_return_shape","arm":"default","result":"PASS","cycles":3,"evacuated":0,"scavenged":58092,"reclaimed":27481872,"evidence":"cycles=3 evacuated=0 scavenged=58092 reclaimed=27481872"},{"test":"test_gap_repsel_cjs_iife_return_shape","arm":"safepoint_minor","result":"PASS","cycles":3,"evacuated":0,"scavenged":58092,"reclaimed":27481872,"evidence":"cycles=3 evacuated=0 scavenged=58092 reclaimed=27481872"},{"test":"test_gap_repsel_cjs_iife_return_shape","arm":"evac_minor","result":"PASS","cycles":3,"evacuated":0,"scavenged":58092,"reclaimed":27481872,"evidence":"cycles=3 evacuated=0 scavenged=58092 reclaimed=27481872"},{"test":"test_gap_repsel_cjs_iife_return_shape","arm":"verify_evac","result":"PASS","cycles":3,"evacuated":0,"scavenged":34601,"reclaimed":25277088,"evidence":"cycles=3 evacuated=0 scavenged=34601 reclaimed=25277088"},{"test":"test_gap_repsel_cjs_iife_return_shape","arm":"force_verify","result":"PASS","cycles":3,"evacuated":0,"scavenged":34601,"reclaimed":25277088,"evidence":"cycles=3 evacuated=0 scavenged=34601 reclaimed=25277088"},{"test":"test_gap_repsel_cjs_iife_return_shape","arm":"cons_scan_off","result":"PASS","cycles":3,"evacuated":0,"scavenged":58092,"reclaimed":27481872,"evidence":"cycles=3 evacuated=0 scavenged=58092 reclaimed=27481872"},{"test":"test_gap_repsel_cjs_iife_return_shape","arm":"shipped_default","result":"PASS","cycles":1,"evacuated":0,"scavenged":31117,"reclaimed":36513504,"evidence":"cycles=1 evacuated=0 scavenged=31117 reclaimed=36513504"},{"test":"test_gap_repsel_ptr_shape_elements","arm":"default","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_ptr_shape_elements","arm":"safepoint_minor","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_ptr_shape_elements","arm":"evac_minor","result":"PASS","cycles":1,"evacuated":0,"scavenged":4160,"reclaimed":2951976,"evidence":"cycles=1 evacuated=0 scavenged=4160 reclaimed=2951976"},{"test":"test_gap_repsel_ptr_shape_elements","arm":"verify_evac","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_ptr_shape_elements","arm":"force_verify","result":"PASS","cycles":1,"evacuated":0,"scavenged":4160,"reclaimed":2951976,"evidence":"cycles=1 evacuated=0 scavenged=4160 reclaimed=2951976"},{"test":"test_gap_repsel_ptr_shape_elements","arm":"cons_scan_off","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_ptr_shape_elements","arm":"shipped_default","result":"PASS","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_p4a_holes_axis","arm":"default","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_p4a_holes_axis","arm":"safepoint_minor","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_p4a_holes_axis","arm":"evac_minor","result":"UNVER","cycles":1,"evacuated":0,"scavenged":0,"reclaimed":29200,"evidence":"cycles=1 evacuated=0 scavenged=0 reclaimed=29200"},{"test":"test_gap_repsel_p4a_holes_axis","arm":"verify_evac","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_p4a_holes_axis","arm":"force_verify","result":"PASS","cycles":1,"evacuated":0,"scavenged":4116,"reclaimed":87600,"evidence":"cycles=1 evacuated=0 scavenged=4116 reclaimed=87600"},{"test":"test_gap_repsel_p4a_holes_axis","arm":"cons_scan_off","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_p4a_holes_axis","arm":"shipped_default","result":"PASS","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_p4a_inline_tiers","arm":"default","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_p4a_inline_tiers","arm":"safepoint_minor","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_p4a_inline_tiers","arm":"evac_minor","result":"UNVER","cycles":1,"evacuated":0,"scavenged":0,"reclaimed":65560,"evidence":"cycles=1 evacuated=0 scavenged=0 reclaimed=65560"},{"test":"test_gap_repsel_p4a_inline_tiers","arm":"verify_evac","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_p4a_inline_tiers","arm":"force_verify","result":"PASS","cycles":1,"evacuated":0,"scavenged":4117,"reclaimed":196680,"evidence":"cycles=1 evacuated=0 scavenged=4117 reclaimed=196680"},{"test":"test_gap_repsel_p4a_inline_tiers","arm":"cons_scan_off","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_p4a_inline_tiers","arm":"shipped_default","result":"PASS","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_p4a_logical_numeric","arm":"default","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_p4a_logical_numeric","arm":"safepoint_minor","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_p4a_logical_numeric","arm":"evac_minor","result":"UNVER","cycles":1,"evacuated":0,"scavenged":0,"reclaimed":48968,"evidence":"cycles=1 evacuated=0 scavenged=0 reclaimed=48968"},{"test":"test_gap_repsel_p4a_logical_numeric","arm":"verify_evac","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_p4a_logical_numeric","arm":"force_verify","result":"PASS","cycles":1,"evacuated":0,"scavenged":4123,"reclaimed":146904,"evidence":"cycles=1 evacuated=0 scavenged=4123 reclaimed=146904"},{"test":"test_gap_repsel_p4a_logical_numeric","arm":"cons_scan_off","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_p4a_logical_numeric","arm":"shipped_default","result":"PASS","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_p4a3_numarray_barriers","arm":"default","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_p4a3_numarray_barriers","arm":"safepoint_minor","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_p4a3_numarray_barriers","arm":"evac_minor","result":"UNVER","cycles":1,"evacuated":0,"scavenged":0,"reclaimed":57544,"evidence":"cycles=1 evacuated=0 scavenged=0 reclaimed=57544"},{"test":"test_gap_repsel_p4a3_numarray_barriers","arm":"verify_evac","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_p4a3_numarray_barriers","arm":"force_verify","result":"PASS","cycles":1,"evacuated":0,"scavenged":4123,"reclaimed":172632,"evidence":"cycles=1 evacuated=0 scavenged=4123 reclaimed=172632"},{"test":"test_gap_repsel_p4a3_numarray_barriers","arm":"cons_scan_off","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_p4a3_numarray_barriers","arm":"shipped_default","result":"PASS","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_p4a3_numarray_growth","arm":"default","result":"PASS","cycles":2,"evacuated":0,"scavenged":5271,"reclaimed":6074736,"evidence":"cycles=2 evacuated=0 scavenged=5271 reclaimed=6074736"},{"test":"test_gap_repsel_p4a3_numarray_growth","arm":"safepoint_minor","result":"PASS","cycles":2,"evacuated":0,"scavenged":5271,"reclaimed":6074736,"evidence":"cycles=2 evacuated=0 scavenged=5271 reclaimed=6074736"},{"test":"test_gap_repsel_p4a3_numarray_growth","arm":"evac_minor","result":"PASS","cycles":3,"evacuated":0,"scavenged":15606,"reclaimed":12794496,"evidence":"cycles=3 evacuated=0 scavenged=15606 reclaimed=12794496"},{"test":"test_gap_repsel_p4a3_numarray_growth","arm":"verify_evac","result":"PASS","cycles":2,"evacuated":0,"scavenged":5271,"reclaimed":6074736,"evidence":"cycles=2 evacuated=0 scavenged=5271 reclaimed=6074736"},{"test":"test_gap_repsel_p4a3_numarray_growth","arm":"force_verify","result":"PASS","cycles":3,"evacuated":0,"scavenged":15606,"reclaimed":12794496,"evidence":"cycles=3 evacuated=0 scavenged=15606 reclaimed=12794496"},{"test":"test_gap_repsel_p4a3_numarray_growth","arm":"cons_scan_off","result":"PASS","cycles":2,"evacuated":0,"scavenged":5271,"reclaimed":6074736,"evidence":"cycles=2 evacuated=0 scavenged=5271 reclaimed=6074736"},{"test":"test_gap_repsel_p4a3_numarray_growth","arm":"shipped_default","result":"PASS","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_p4a3_ptr_numarray","arm":"default","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_p4a3_ptr_numarray","arm":"safepoint_minor","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_p4a3_ptr_numarray","arm":"evac_minor","result":"UNVER","cycles":1,"evacuated":0,"scavenged":0,"reclaimed":182864,"evidence":"cycles=1 evacuated=0 scavenged=0 reclaimed=182864"},{"test":"test_gap_repsel_p4a3_ptr_numarray","arm":"verify_evac","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_p4a3_ptr_numarray","arm":"force_verify","result":"PASS","cycles":1,"evacuated":0,"scavenged":4119,"reclaimed":548592,"evidence":"cycles=1 evacuated=0 scavenged=4119 reclaimed=548592"},{"test":"test_gap_repsel_p4a3_ptr_numarray","arm":"cons_scan_off","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_p4a3_ptr_numarray","arm":"shipped_default","result":"PASS","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_p4b_field_store_elision","arm":"default","result":"PASS","cycles":1,"evacuated":0,"scavenged":4164,"reclaimed":2227176,"evidence":"cycles=1 evacuated=0 scavenged=4164 reclaimed=2227176"},{"test":"test_gap_repsel_p4b_field_store_elision","arm":"safepoint_minor","result":"PASS","cycles":1,"evacuated":0,"scavenged":4164,"reclaimed":2227176,"evidence":"cycles=1 evacuated=0 scavenged=4164 reclaimed=2227176"},{"test":"test_gap_repsel_p4b_field_store_elision","arm":"evac_minor","result":"PASS","cycles":1,"evacuated":0,"scavenged":4164,"reclaimed":2227176,"evidence":"cycles=1 evacuated=0 scavenged=4164 reclaimed=2227176"},{"test":"test_gap_repsel_p4b_field_store_elision","arm":"verify_evac","result":"PASS","cycles":1,"evacuated":0,"scavenged":4164,"reclaimed":2227176,"evidence":"cycles=1 evacuated=0 scavenged=4164 reclaimed=2227176"},{"test":"test_gap_repsel_p4b_field_store_elision","arm":"force_verify","result":"PASS","cycles":1,"evacuated":0,"scavenged":4164,"reclaimed":2227176,"evidence":"cycles=1 evacuated=0 scavenged=4164 reclaimed=2227176"},{"test":"test_gap_repsel_p4b_field_store_elision","arm":"cons_scan_off","result":"PASS","cycles":1,"evacuated":0,"scavenged":4164,"reclaimed":2227176,"evidence":"cycles=1 evacuated=0 scavenged=4164 reclaimed=2227176"},{"test":"test_gap_repsel_p4b_field_store_elision","arm":"shipped_default","result":"PASS","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_proven_this_frozen","arm":"default","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_proven_this_frozen","arm":"safepoint_minor","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_proven_this_frozen","arm":"evac_minor","result":"UNVER","cycles":1,"evacuated":0,"scavenged":0,"reclaimed":27520,"evidence":"cycles=1 evacuated=0 scavenged=0 reclaimed=27520"},{"test":"test_gap_repsel_proven_this_frozen","arm":"verify_evac","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_proven_this_frozen","arm":"force_verify","result":"PASS","cycles":1,"evacuated":0,"scavenged":4150,"reclaimed":82560,"evidence":"cycles=1 evacuated=0 scavenged=4150 reclaimed=82560"},{"test":"test_gap_repsel_proven_this_frozen","arm":"cons_scan_off","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_proven_this_frozen","arm":"shipped_default","result":"PASS","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_pshape_tower_delete","arm":"default","result":"PASS","cycles":6,"evacuated":0,"scavenged":78643,"reclaimed":1235416,"evidence":"cycles=6 evacuated=0 scavenged=78643 reclaimed=1235416"},{"test":"test_gap_repsel_pshape_tower_delete","arm":"safepoint_minor","result":"PASS","cycles":6,"evacuated":0,"scavenged":78643,"reclaimed":1235416,"evidence":"cycles=6 evacuated=0 scavenged=78643 reclaimed=1235416"},{"test":"test_gap_repsel_pshape_tower_delete","arm":"evac_minor","result":"PASS","cycles":6,"evacuated":0,"scavenged":78643,"reclaimed":1235416,"evidence":"cycles=6 evacuated=0 scavenged=78643 reclaimed=1235416"},{"test":"test_gap_repsel_pshape_tower_delete","arm":"verify_evac","result":"PASS","cycles":5,"evacuated":0,"scavenged":77025,"reclaimed":603176,"evidence":"cycles=5 evacuated=0 scavenged=77025 reclaimed=603176"},{"test":"test_gap_repsel_pshape_tower_delete","arm":"force_verify","result":"PASS","cycles":7,"evacuated":0,"scavenged":406462,"reclaimed":867864,"evidence":"cycles=7 evacuated=0 scavenged=406462 reclaimed=867864"},{"test":"test_gap_repsel_pshape_tower_delete","arm":"cons_scan_off","result":"PASS","cycles":6,"evacuated":0,"scavenged":78643,"reclaimed":1235416,"evidence":"cycles=6 evacuated=0 scavenged=78643 reclaimed=1235416"},{"test":"test_gap_repsel_pshape_tower_delete","arm":"shipped_default","result":"PASS","cycles":1,"evacuated":0,"scavenged":0,"reclaimed":286440,"evidence":"cycles=1 evacuated=0 scavenged=0 reclaimed=286440"},{"test":"test_gap_repsel_pshape_tombstone_oldgen_delete","arm":"default","result":"PASS","cycles":6,"evacuated":0,"scavenged":78643,"reclaimed":1179760,"evidence":"cycles=6 evacuated=0 scavenged=78643 reclaimed=1179760"},{"test":"test_gap_repsel_pshape_tombstone_oldgen_delete","arm":"safepoint_minor","result":"PASS","cycles":6,"evacuated":0,"scavenged":78643,"reclaimed":1179760,"evidence":"cycles=6 evacuated=0 scavenged=78643 reclaimed=1179760"},{"test":"test_gap_repsel_pshape_tombstone_oldgen_delete","arm":"evac_minor","result":"PASS","cycles":6,"evacuated":0,"scavenged":78643,"reclaimed":1179760,"evidence":"cycles=6 evacuated=0 scavenged=78643 reclaimed=1179760"},{"test":"test_gap_repsel_pshape_tombstone_oldgen_delete","arm":"verify_evac","result":"PASS","cycles":5,"evacuated":0,"scavenged":68851,"reclaimed":546840,"evidence":"cycles=5 evacuated=0 scavenged=68851 reclaimed=546840"},{"test":"test_gap_repsel_pshape_tombstone_oldgen_delete","arm":"force_verify","result":"PASS","cycles":7,"evacuated":0,"scavenged":402289,"reclaimed":853896,"evidence":"cycles=7 evacuated=0 scavenged=402289 reclaimed=853896"},{"test":"test_gap_repsel_pshape_tombstone_oldgen_delete","arm":"cons_scan_off","result":"PASS","cycles":6,"evacuated":0,"scavenged":78643,"reclaimed":1179760,"evidence":"cycles=6 evacuated=0 scavenged=78643 reclaimed=1179760"},{"test":"test_gap_repsel_pshape_tombstone_oldgen_delete","arm":"shipped_default","result":"PASS","cycles":1,"evacuated":0,"scavenged":0,"reclaimed":284776,"evidence":"cycles=1 evacuated=0 scavenged=0 reclaimed=284776"},{"test":"test_gap_gc_ta_ctor_source_rooting","arm":"default","result":"UNVER","cycles":1,"evacuated":0,"scavenged":0,"reclaimed":34208,"evidence":"cycles=1 evacuated=0 scavenged=0 reclaimed=34208"},{"test":"test_gap_gc_ta_ctor_source_rooting","arm":"safepoint_minor","result":"UNVER","cycles":1,"evacuated":0,"scavenged":0,"reclaimed":34208,"evidence":"cycles=1 evacuated=0 scavenged=0 reclaimed=34208"},{"test":"test_gap_gc_ta_ctor_source_rooting","arm":"evac_minor","result":"UNVER","cycles":1,"evacuated":0,"scavenged":0,"reclaimed":34208,"evidence":"cycles=1 evacuated=0 scavenged=0 reclaimed=34208"},{"test":"test_gap_gc_ta_ctor_source_rooting","arm":"verify_evac","result":"PASS","cycles":1,"evacuated":0,"scavenged":4182,"reclaimed":102624,"evidence":"cycles=1 evacuated=0 scavenged=4182 reclaimed=102624"},{"test":"test_gap_gc_ta_ctor_source_rooting","arm":"force_verify","result":"PASS","cycles":1,"evacuated":0,"scavenged":4182,"reclaimed":102624,"evidence":"cycles=1 evacuated=0 scavenged=4182 reclaimed=102624"},{"test":"test_gap_gc_ta_ctor_source_rooting","arm":"cons_scan_off","result":"UNVER","cycles":1,"evacuated":0,"scavenged":0,"reclaimed":34208,"evidence":"cycles=1 evacuated=0 scavenged=0 reclaimed=34208"},{"test":"test_gap_gc_ta_ctor_source_rooting","arm":"shipped_default","result":"PASS","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_string_literal_operand_rooting","arm":"default","result":"PASS","cycles":10,"evacuated":0,"scavenged":253745,"reclaimed":74477864,"evidence":"cycles=10 evacuated=0 scavenged=253745 reclaimed=74477864"},{"test":"test_gap_gc_string_literal_operand_rooting","arm":"safepoint_minor","result":"PASS","cycles":10,"evacuated":0,"scavenged":253745,"reclaimed":74477864,"evidence":"cycles=10 evacuated=0 scavenged=253745 reclaimed=74477864"},{"test":"test_gap_gc_string_literal_operand_rooting","arm":"evac_minor","result":"PASS","cycles":10,"evacuated":0,"scavenged":253745,"reclaimed":104954424,"evidence":"cycles=10 evacuated=0 scavenged=253745 reclaimed=104954424"},{"test":"test_gap_gc_string_literal_operand_rooting","arm":"verify_evac","result":"PASS","cycles":10,"evacuated":0,"scavenged":245645,"reclaimed":83541176,"evidence":"cycles=10 evacuated=0 scavenged=245645 reclaimed=83541176"},{"test":"test_gap_gc_string_literal_operand_rooting","arm":"force_verify","result":"PASS","cycles":10,"evacuated":0,"scavenged":248097,"reclaimed":113731360,"evidence":"cycles=10 evacuated=0 scavenged=248097 reclaimed=113731360"},{"test":"test_gap_gc_string_literal_operand_rooting","arm":"cons_scan_off","result":"PASS","cycles":10,"evacuated":0,"scavenged":253745,"reclaimed":104954424,"evidence":"cycles=10 evacuated=0 scavenged=253745 reclaimed=104954424"},{"test":"test_gap_gc_string_literal_operand_rooting","arm":"shipped_default","result":"PASS","cycles":3,"evacuated":0,"scavenged":590263,"reclaimed":19895584,"evidence":"cycles=3 evacuated=0 scavenged=590263 reclaimed=19895584"},{"test":"test_gap_repsel_scalar_replaced_locals","arm":"default","result":"PASS","cycles":21,"evacuated":0,"scavenged":483784,"reclaimed":941744704,"evidence":"cycles=21 evacuated=0 scavenged=483784 reclaimed=941744704"},{"test":"test_gap_repsel_scalar_replaced_locals","arm":"safepoint_minor","result":"PASS","cycles":21,"evacuated":0,"scavenged":483784,"reclaimed":941744704,"evidence":"cycles=21 evacuated=0 scavenged=483784 reclaimed=941744704"},{"test":"test_gap_repsel_scalar_replaced_locals","arm":"evac_minor","result":"PASS","cycles":21,"evacuated":0,"scavenged":391460,"reclaimed":983839760,"evidence":"cycles=21 evacuated=0 scavenged=391460 reclaimed=983839760"},{"test":"test_gap_repsel_scalar_replaced_locals","arm":"verify_evac","result":"PASS","cycles":21,"evacuated":0,"scavenged":483784,"reclaimed":941744624,"evidence":"cycles=21 evacuated=0 scavenged=483784 reclaimed=941744624"},{"test":"test_gap_repsel_scalar_replaced_locals","arm":"force_verify","result":"PASS","cycles":21,"evacuated":0,"scavenged":391460,"reclaimed":983839760,"evidence":"cycles=21 evacuated=0 scavenged=391460 reclaimed=983839760"},{"test":"test_gap_repsel_scalar_replaced_locals","arm":"cons_scan_off","result":"PASS","cycles":21,"evacuated":0,"scavenged":391460,"reclaimed":983839760,"evidence":"cycles=21 evacuated=0 scavenged=391460 reclaimed=983839760"},{"test":"test_gap_repsel_scalar_replaced_locals","arm":"shipped_default","result":"PASS","cycles":12,"evacuated":0,"scavenged":439041,"reclaimed":982858416,"evidence":"cycles=12 evacuated=0 scavenged=439041 reclaimed=982858416"},{"test":"test_gap_repsel_module_init_canonical","arm":"default","result":"UNVER","cycles":1,"evacuated":0,"scavenged":0,"reclaimed":26800,"evidence":"cycles=1 evacuated=0 scavenged=0 reclaimed=26800"},{"test":"test_gap_repsel_module_init_canonical","arm":"safepoint_minor","result":"UNVER","cycles":1,"evacuated":0,"scavenged":0,"reclaimed":26800,"evidence":"cycles=1 evacuated=0 scavenged=0 reclaimed=26800"},{"test":"test_gap_repsel_module_init_canonical","arm":"evac_minor","result":"UNVER","cycles":1,"evacuated":0,"scavenged":0,"reclaimed":26800,"evidence":"cycles=1 evacuated=0 scavenged=0 reclaimed=26800"},{"test":"test_gap_repsel_module_init_canonical","arm":"verify_evac","result":"PASS","cycles":1,"evacuated":0,"scavenged":4146,"reclaimed":80400,"evidence":"cycles=1 evacuated=0 scavenged=4146 reclaimed=80400"},{"test":"test_gap_repsel_module_init_canonical","arm":"force_verify","result":"PASS","cycles":1,"evacuated":0,"scavenged":4146,"reclaimed":80400,"evidence":"cycles=1 evacuated=0 scavenged=4146 reclaimed=80400"},{"test":"test_gap_repsel_module_init_canonical","arm":"cons_scan_off","result":"UNVER","cycles":1,"evacuated":0,"scavenged":0,"reclaimed":26800,"evidence":"cycles=1 evacuated=0 scavenged=0 reclaimed=26800"},{"test":"test_gap_repsel_module_init_canonical","arm":"shipped_default","result":"PASS","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_pointer_publish","arm":"default","result":"PASS","cycles":5,"evacuated":0,"scavenged":19144,"reclaimed":77393952,"evidence":"cycles=5 evacuated=0 scavenged=19144 reclaimed=77393952"},{"test":"test_gap_gc_pointer_publish","arm":"safepoint_minor","result":"PASS","cycles":5,"evacuated":0,"scavenged":19144,"reclaimed":77393952,"evidence":"cycles=5 evacuated=0 scavenged=19144 reclaimed=77393952"},{"test":"test_gap_gc_pointer_publish","arm":"evac_minor","result":"PASS","cycles":5,"evacuated":0,"scavenged":19144,"reclaimed":77393952,"evidence":"cycles=5 evacuated=0 scavenged=19144 reclaimed=77393952"},{"test":"test_gap_gc_pointer_publish","arm":"verify_evac","result":"PASS","cycles":5,"evacuated":0,"scavenged":19144,"reclaimed":77393952,"evidence":"cycles=5 evacuated=0 scavenged=19144 reclaimed=77393952"},{"test":"test_gap_gc_pointer_publish","arm":"force_verify","result":"PASS","cycles":5,"evacuated":0,"scavenged":19144,"reclaimed":77393952,"evidence":"cycles=5 evacuated=0 scavenged=19144 reclaimed=77393952"},{"test":"test_gap_gc_pointer_publish","arm":"cons_scan_off","result":"PASS","cycles":5,"evacuated":0,"scavenged":19144,"reclaimed":77393952,"evidence":"cycles=5 evacuated=0 scavenged=19144 reclaimed=77393952"},{"test":"test_gap_gc_pointer_publish","arm":"shipped_default","result":"PASS","cycles":2,"evacuated":0,"scavenged":12679,"reclaimed":71143152,"evidence":"cycles=2 evacuated=0 scavenged=12679 reclaimed=71143152"},{"test":"test_gap_repsel_gc_stress","arm":"default","result":"PASS","cycles":12,"evacuated":0,"scavenged":557915,"reclaimed":468745200,"evidence":"cycles=12 evacuated=0 scavenged=557915 reclaimed=468745200"},{"test":"test_gap_repsel_gc_stress","arm":"safepoint_minor","result":"PASS","cycles":12,"evacuated":0,"scavenged":557915,"reclaimed":468745200,"evidence":"cycles=12 evacuated=0 scavenged=557915 reclaimed=468745200"},{"test":"test_gap_repsel_gc_stress","arm":"evac_minor","result":"PASS","cycles":15,"evacuated":0,"scavenged":553338,"reclaimed":462782912,"evidence":"cycles=15 evacuated=0 scavenged=553338 reclaimed=462782912"},{"test":"test_gap_repsel_gc_stress","arm":"verify_evac","result":"PASS","cycles":16,"evacuated":0,"scavenged":574419,"reclaimed":493711024,"evidence":"cycles=16 evacuated=0 scavenged=574419 reclaimed=493711024"},{"test":"test_gap_repsel_gc_stress","arm":"force_verify","result":"PASS","cycles":16,"evacuated":0,"scavenged":618428,"reclaimed":441028080,"evidence":"cycles=16 evacuated=0 scavenged=618428 reclaimed=441028080"},{"test":"test_gap_repsel_gc_stress","arm":"cons_scan_off","result":"PASS","cycles":15,"evacuated":0,"scavenged":553338,"reclaimed":462782912,"evidence":"cycles=15 evacuated=0 scavenged=553338 reclaimed=462782912"},{"test":"test_gap_repsel_gc_stress","arm":"shipped_default","result":"PASS","cycles":7,"evacuated":0,"scavenged":480130,"reclaimed":463768560,"evidence":"cycles=7 evacuated=0 scavenged=480130 reclaimed=463768560"},{"test":"test_gap_gc_spread_accessor_rooting","arm":"default","result":"PASS","cycles":4,"evacuated":0,"scavenged":11901,"reclaimed":39628704,"evidence":"cycles=4 evacuated=0 scavenged=11901 reclaimed=39628704"},{"test":"test_gap_gc_spread_accessor_rooting","arm":"safepoint_minor","result":"PASS","cycles":4,"evacuated":0,"scavenged":11901,"reclaimed":39628704,"evidence":"cycles=4 evacuated=0 scavenged=11901 reclaimed=39628704"},{"test":"test_gap_gc_spread_accessor_rooting","arm":"evac_minor","result":"PASS","cycles":4,"evacuated":0,"scavenged":11901,"reclaimed":39628704,"evidence":"cycles=4 evacuated=0 scavenged=11901 reclaimed=39628704"},{"test":"test_gap_gc_spread_accessor_rooting","arm":"verify_evac","result":"PASS","cycles":4,"evacuated":0,"scavenged":11900,"reclaimed":39629136,"evidence":"cycles=4 evacuated=0 scavenged=11900 reclaimed=39629136"},{"test":"test_gap_gc_spread_accessor_rooting","arm":"force_verify","result":"PASS","cycles":4,"evacuated":0,"scavenged":11900,"reclaimed":39629136,"evidence":"cycles=4 evacuated=0 scavenged=11900 reclaimed=39629136"},{"test":"test_gap_gc_spread_accessor_rooting","arm":"cons_scan_off","result":"PASS","cycles":4,"evacuated":0,"scavenged":11901,"reclaimed":39628704,"evidence":"cycles=4 evacuated=0 scavenged=11901 reclaimed=39628704"},{"test":"test_gap_gc_spread_accessor_rooting","arm":"shipped_default","result":"PASS","cycles":1,"evacuated":0,"scavenged":9032,"reclaimed":45685464,"evidence":"cycles=1 evacuated=0 scavenged=9032 reclaimed=45685464"},{"test":"test_gap_gc_static_block_this_rooting","arm":"default","result":"PASS","cycles":4,"evacuated":0,"scavenged":15092,"reclaimed":39261768,"evidence":"cycles=4 evacuated=0 scavenged=15092 reclaimed=39261768"},{"test":"test_gap_gc_static_block_this_rooting","arm":"safepoint_minor","result":"PASS","cycles":4,"evacuated":0,"scavenged":15092,"reclaimed":39261768,"evidence":"cycles=4 evacuated=0 scavenged=15092 reclaimed=39261768"},{"test":"test_gap_gc_static_block_this_rooting","arm":"evac_minor","result":"PASS","cycles":4,"evacuated":0,"scavenged":15092,"reclaimed":39261768,"evidence":"cycles=4 evacuated=0 scavenged=15092 reclaimed=39261768"},{"test":"test_gap_gc_static_block_this_rooting","arm":"verify_evac","result":"PASS","cycles":4,"evacuated":0,"scavenged":15092,"reclaimed":39261768,"evidence":"cycles=4 evacuated=0 scavenged=15092 reclaimed=39261768"},{"test":"test_gap_gc_static_block_this_rooting","arm":"force_verify","result":"PASS","cycles":4,"evacuated":0,"scavenged":15092,"reclaimed":39261768,"evidence":"cycles=4 evacuated=0 scavenged=15092 reclaimed=39261768"},{"test":"test_gap_gc_static_block_this_rooting","arm":"cons_scan_off","result":"PASS","cycles":4,"evacuated":0,"scavenged":15092,"reclaimed":39261768,"evidence":"cycles=4 evacuated=0 scavenged=15092 reclaimed=39261768"},{"test":"test_gap_gc_static_block_this_rooting","arm":"shipped_default","result":"PASS","cycles":1,"evacuated":0,"scavenged":7455,"reclaimed":45857400,"evidence":"cycles=1 evacuated=0 scavenged=7455 reclaimed=45857400"},{"test":"test_gap_gc_inline_ctor_this_rooting","arm":"default","result":"PASS","cycles":4,"evacuated":0,"scavenged":10087,"reclaimed":40131648,"evidence":"cycles=4 evacuated=0 scavenged=10087 reclaimed=40131648"},{"test":"test_gap_gc_inline_ctor_this_rooting","arm":"safepoint_minor","result":"PASS","cycles":4,"evacuated":0,"scavenged":10087,"reclaimed":40131648,"evidence":"cycles=4 evacuated=0 scavenged=10087 reclaimed=40131648"},{"test":"test_gap_gc_inline_ctor_this_rooting","arm":"evac_minor","result":"PASS","cycles":4,"evacuated":0,"scavenged":10087,"reclaimed":40131648,"evidence":"cycles=4 evacuated=0 scavenged=10087 reclaimed=40131648"},{"test":"test_gap_gc_inline_ctor_this_rooting","arm":"verify_evac","result":"PASS","cycles":4,"evacuated":0,"scavenged":10087,"reclaimed":40131648,"evidence":"cycles=4 evacuated=0 scavenged=10087 reclaimed=40131648"},{"test":"test_gap_gc_inline_ctor_this_rooting","arm":"force_verify","result":"PASS","cycles":4,"evacuated":0,"scavenged":10087,"reclaimed":40131648,"evidence":"cycles=4 evacuated=0 scavenged=10087 reclaimed=40131648"},{"test":"test_gap_gc_inline_ctor_this_rooting","arm":"cons_scan_off","result":"PASS","cycles":4,"evacuated":0,"scavenged":10087,"reclaimed":40131648,"evidence":"cycles=4 evacuated=0 scavenged=10087 reclaimed=40131648"},{"test":"test_gap_gc_inline_ctor_this_rooting","arm":"shipped_default","result":"PASS","cycles":1,"evacuated":0,"scavenged":7887,"reclaimed":46238640,"evidence":"cycles=1 evacuated=0 scavenged=7887 reclaimed=46238640"},{"test":"test_gap_gc_catch_param_rooting","arm":"default","result":"PASS","cycles":4,"evacuated":0,"scavenged":14153,"reclaimed":39335616,"evidence":"cycles=4 evacuated=0 scavenged=14153 reclaimed=39335616"},{"test":"test_gap_gc_catch_param_rooting","arm":"safepoint_minor","result":"PASS","cycles":4,"evacuated":0,"scavenged":14153,"reclaimed":39335616,"evidence":"cycles=4 evacuated=0 scavenged=14153 reclaimed=39335616"},{"test":"test_gap_gc_catch_param_rooting","arm":"evac_minor","result":"PASS","cycles":4,"evacuated":0,"scavenged":14153,"reclaimed":39335616,"evidence":"cycles=4 evacuated=0 scavenged=14153 reclaimed=39335616"},{"test":"test_gap_gc_catch_param_rooting","arm":"verify_evac","result":"PASS","cycles":4,"evacuated":0,"scavenged":14153,"reclaimed":39335616,"evidence":"cycles=4 evacuated=0 scavenged=14153 reclaimed=39335616"},{"test":"test_gap_gc_catch_param_rooting","arm":"force_verify","result":"PASS","cycles":4,"evacuated":0,"scavenged":14153,"reclaimed":39335616,"evidence":"cycles=4 evacuated=0 scavenged=14153 reclaimed=39335616"},{"test":"test_gap_gc_catch_param_rooting","arm":"cons_scan_off","result":"PASS","cycles":4,"evacuated":0,"scavenged":14153,"reclaimed":39335616,"evidence":"cycles=4 evacuated=0 scavenged=14153 reclaimed=39335616"},{"test":"test_gap_gc_catch_param_rooting","arm":"shipped_default","result":"PASS","cycles":1,"evacuated":0,"scavenged":8030,"reclaimed":45800184,"evidence":"cycles=1 evacuated=0 scavenged=8030 reclaimed=45800184"},{"test":"test_gap_gc_closure_this_capture_rooting","arm":"default","result":"PASS","cycles":4,"evacuated":0,"scavenged":5368,"reclaimed":31121040,"evidence":"cycles=4 evacuated=0 scavenged=5368 reclaimed=31121040"},{"test":"test_gap_gc_closure_this_capture_rooting","arm":"safepoint_minor","result":"PASS","cycles":4,"evacuated":0,"scavenged":5368,"reclaimed":31121040,"evidence":"cycles=4 evacuated=0 scavenged=5368 reclaimed=31121040"},{"test":"test_gap_gc_closure_this_capture_rooting","arm":"evac_minor","result":"PASS","cycles":4,"evacuated":0,"scavenged":5368,"reclaimed":31121040,"evidence":"cycles=4 evacuated=0 scavenged=5368 reclaimed=31121040"},{"test":"test_gap_gc_closure_this_capture_rooting","arm":"verify_evac","result":"PASS","cycles":4,"evacuated":0,"scavenged":5368,"reclaimed":31121040,"evidence":"cycles=4 evacuated=0 scavenged=5368 reclaimed=31121040"},{"test":"test_gap_gc_closure_this_capture_rooting","arm":"force_verify","result":"PASS","cycles":4,"evacuated":0,"scavenged":5368,"reclaimed":31121040,"evidence":"cycles=4 evacuated=0 scavenged=5368 reclaimed=31121040"},{"test":"test_gap_gc_closure_this_capture_rooting","arm":"cons_scan_off","result":"PASS","cycles":4,"evacuated":0,"scavenged":5368,"reclaimed":31121040,"evidence":"cycles=4 evacuated=0 scavenged=5368 reclaimed=31121040"},{"test":"test_gap_gc_closure_this_capture_rooting","arm":"shipped_default","result":"PASS","cycles":1,"evacuated":0,"scavenged":3346,"reclaimed":46783680,"evidence":"cycles=1 evacuated=0 scavenged=3346 reclaimed=46783680"},{"test":"test_gap_gc_method_receiver_rooting","arm":"default","result":"PASS","cycles":4,"evacuated":0,"scavenged":8330,"reclaimed":40320048,"evidence":"cycles=4 evacuated=0 scavenged=8330 reclaimed=40320048"},{"test":"test_gap_gc_method_receiver_rooting","arm":"safepoint_minor","result":"PASS","cycles":4,"evacuated":0,"scavenged":8330,"reclaimed":40320048,"evidence":"cycles=4 evacuated=0 scavenged=8330 reclaimed=40320048"},{"test":"test_gap_gc_method_receiver_rooting","arm":"evac_minor","result":"PASS","cycles":4,"evacuated":0,"scavenged":8330,"reclaimed":40320048,"evidence":"cycles=4 evacuated=0 scavenged=8330 reclaimed=40320048"},{"test":"test_gap_gc_method_receiver_rooting","arm":"verify_evac","result":"PASS","cycles":4,"evacuated":0,"scavenged":8330,"reclaimed":40320048,"evidence":"cycles=4 evacuated=0 scavenged=8330 reclaimed=40320048"},{"test":"test_gap_gc_method_receiver_rooting","arm":"force_verify","result":"PASS","cycles":4,"evacuated":0,"scavenged":8330,"reclaimed":40320048,"evidence":"cycles=4 evacuated=0 scavenged=8330 reclaimed=40320048"},{"test":"test_gap_gc_method_receiver_rooting","arm":"cons_scan_off","result":"PASS","cycles":4,"evacuated":0,"scavenged":8330,"reclaimed":40320048,"evidence":"cycles=4 evacuated=0 scavenged=8330 reclaimed=40320048"},{"test":"test_gap_gc_method_receiver_rooting","arm":"shipped_default","result":"PASS","cycles":1,"evacuated":0,"scavenged":3903,"reclaimed":46704384,"evidence":"cycles=1 evacuated=0 scavenged=3903 reclaimed=46704384"},{"test":"test_gap_gc_index_get_receiver_rooting","arm":"default","result":"PASS","cycles":10,"evacuated":0,"scavenged":173994,"reclaimed":208886184,"evidence":"cycles=10 evacuated=0 scavenged=173994 reclaimed=208886184"},{"test":"test_gap_gc_index_get_receiver_rooting","arm":"safepoint_minor","result":"PASS","cycles":10,"evacuated":0,"scavenged":173994,"reclaimed":208886184,"evidence":"cycles=10 evacuated=0 scavenged=173994 reclaimed=208886184"},{"test":"test_gap_gc_index_get_receiver_rooting","arm":"evac_minor","result":"PASS","cycles":10,"evacuated":0,"scavenged":173994,"reclaimed":208886184,"evidence":"cycles=10 evacuated=0 scavenged=173994 reclaimed=208886184"},{"test":"test_gap_gc_index_get_receiver_rooting","arm":"verify_evac","result":"PASS","cycles":10,"evacuated":0,"scavenged":173994,"reclaimed":208886184,"evidence":"cycles=10 evacuated=0 scavenged=173994 reclaimed=208886184"},{"test":"test_gap_gc_index_get_receiver_rooting","arm":"force_verify","result":"PASS","cycles":10,"evacuated":0,"scavenged":173994,"reclaimed":208886184,"evidence":"cycles=10 evacuated=0 scavenged=173994 reclaimed=208886184"},{"test":"test_gap_gc_index_get_receiver_rooting","arm":"cons_scan_off","result":"PASS","cycles":10,"evacuated":0,"scavenged":173994,"reclaimed":208886184,"evidence":"cycles=10 evacuated=0 scavenged=173994 reclaimed=208886184"},{"test":"test_gap_gc_index_get_receiver_rooting","arm":"shipped_default","result":"PASS","cycles":4,"evacuated":0,"scavenged":79719,"reclaimed":187084536,"evidence":"cycles=4 evacuated=0 scavenged=79719 reclaimed=187084536"},{"test":"test_gap_gc_closure_call_callee_rooting","arm":"default","result":"PASS","cycles":4,"evacuated":0,"scavenged":4562,"reclaimed":31125504,"evidence":"cycles=4 evacuated=0 scavenged=4562 reclaimed=31125504"},{"test":"test_gap_gc_closure_call_callee_rooting","arm":"safepoint_minor","result":"PASS","cycles":4,"evacuated":0,"scavenged":4562,"reclaimed":31125504,"evidence":"cycles=4 evacuated=0 scavenged=4562 reclaimed=31125504"},{"test":"test_gap_gc_closure_call_callee_rooting","arm":"evac_minor","result":"PASS","cycles":4,"evacuated":0,"scavenged":4562,"reclaimed":31125504,"evidence":"cycles=4 evacuated=0 scavenged=4562 reclaimed=31125504"},{"test":"test_gap_gc_closure_call_callee_rooting","arm":"verify_evac","result":"PASS","cycles":4,"evacuated":0,"scavenged":4562,"reclaimed":31125504,"evidence":"cycles=4 evacuated=0 scavenged=4562 reclaimed=31125504"},{"test":"test_gap_gc_closure_call_callee_rooting","arm":"force_verify","result":"PASS","cycles":4,"evacuated":0,"scavenged":4562,"reclaimed":31125504,"evidence":"cycles=4 evacuated=0 scavenged=4562 reclaimed=31125504"},{"test":"test_gap_gc_closure_call_callee_rooting","arm":"cons_scan_off","result":"PASS","cycles":4,"evacuated":0,"scavenged":4562,"reclaimed":31125504,"evidence":"cycles=4 evacuated=0 scavenged=4562 reclaimed=31125504"},{"test":"test_gap_gc_closure_call_callee_rooting","arm":"shipped_default","result":"PASS","cycles":1,"evacuated":0,"scavenged":3407,"reclaimed":46784976,"evidence":"cycles=1 evacuated=0 scavenged=3407 reclaimed=46784976"},{"test":"test_gap_gc_closure_call_this_rooting","arm":"default","result":"PASS","cycles":4,"evacuated":0,"scavenged":5372,"reclaimed":31121040,"evidence":"cycles=4 evacuated=0 scavenged=5372 reclaimed=31121040"},{"test":"test_gap_gc_closure_call_this_rooting","arm":"safepoint_minor","result":"PASS","cycles":4,"evacuated":0,"scavenged":5372,"reclaimed":31121040,"evidence":"cycles=4 evacuated=0 scavenged=5372 reclaimed=31121040"},{"test":"test_gap_gc_closure_call_this_rooting","arm":"evac_minor","result":"PASS","cycles":4,"evacuated":0,"scavenged":5372,"reclaimed":31121040,"evidence":"cycles=4 evacuated=0 scavenged=5372 reclaimed=31121040"},{"test":"test_gap_gc_closure_call_this_rooting","arm":"verify_evac","result":"PASS","cycles":4,"evacuated":0,"scavenged":5372,"reclaimed":31121040,"evidence":"cycles=4 evacuated=0 scavenged=5372 reclaimed=31121040"},{"test":"test_gap_gc_closure_call_this_rooting","arm":"force_verify","result":"PASS","cycles":4,"evacuated":0,"scavenged":5372,"reclaimed":31121040,"evidence":"cycles=4 evacuated=0 scavenged=5372 reclaimed=31121040"},{"test":"test_gap_gc_closure_call_this_rooting","arm":"cons_scan_off","result":"PASS","cycles":4,"evacuated":0,"scavenged":5372,"reclaimed":31121040,"evidence":"cycles=4 evacuated=0 scavenged=5372 reclaimed=31121040"},{"test":"test_gap_gc_closure_call_this_rooting","arm":"shipped_default","result":"PASS","cycles":1,"evacuated":0,"scavenged":3346,"reclaimed":46783680,"evidence":"cycles=1 evacuated=0 scavenged=3346 reclaimed=46783680"},{"test":"test_gap_gc_closure_call_argument_rooting","arm":"default","result":"PASS","cycles":4,"evacuated":0,"scavenged":5373,"reclaimed":31121040,"evidence":"cycles=4 evacuated=0 scavenged=5373 reclaimed=31121040"},{"test":"test_gap_gc_closure_call_argument_rooting","arm":"safepoint_minor","result":"PASS","cycles":4,"evacuated":0,"scavenged":5373,"reclaimed":31121040,"evidence":"cycles=4 evacuated=0 scavenged=5373 reclaimed=31121040"},{"test":"test_gap_gc_closure_call_argument_rooting","arm":"evac_minor","result":"PASS","cycles":4,"evacuated":0,"scavenged":5373,"reclaimed":31121040,"evidence":"cycles=4 evacuated=0 scavenged=5373 reclaimed=31121040"},{"test":"test_gap_gc_closure_call_argument_rooting","arm":"verify_evac","result":"PASS","cycles":4,"evacuated":0,"scavenged":5373,"reclaimed":31121040,"evidence":"cycles=4 evacuated=0 scavenged=5373 reclaimed=31121040"},{"test":"test_gap_gc_closure_call_argument_rooting","arm":"force_verify","result":"PASS","cycles":4,"evacuated":0,"scavenged":5373,"reclaimed":31121040,"evidence":"cycles=4 evacuated=0 scavenged=5373 reclaimed=31121040"},{"test":"test_gap_gc_closure_call_argument_rooting","arm":"cons_scan_off","result":"PASS","cycles":4,"evacuated":0,"scavenged":5373,"reclaimed":31121040,"evidence":"cycles=4 evacuated=0 scavenged=5373 reclaimed=31121040"},{"test":"test_gap_gc_closure_call_argument_rooting","arm":"shipped_default","result":"PASS","cycles":1,"evacuated":0,"scavenged":3346,"reclaimed":46783680,"evidence":"cycles=1 evacuated=0 scavenged=3346 reclaimed=46783680"},{"test":"test_gap_gc_call_argument_rooting","arm":"default","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_call_argument_rooting","arm":"safepoint_minor","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_call_argument_rooting","arm":"evac_minor","result":"PASS","cycles":1,"evacuated":0,"scavenged":16,"reclaimed":3133992,"evidence":"cycles=1 evacuated=0 scavenged=16 reclaimed=3133992"},{"test":"test_gap_gc_call_argument_rooting","arm":"verify_evac","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_call_argument_rooting","arm":"force_verify","result":"PASS","cycles":1,"evacuated":0,"scavenged":16,"reclaimed":3133992,"evidence":"cycles=1 evacuated=0 scavenged=16 reclaimed=3133992"},{"test":"test_gap_gc_call_argument_rooting","arm":"cons_scan_off","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_call_argument_rooting","arm":"shipped_default","result":"PASS","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_next_request_import","arm":"default","result":"PASS","cycles":2,"evacuated":0,"scavenged":5285,"reclaimed":2286656,"evidence":"cycles=2 evacuated=0 scavenged=5285 reclaimed=2286656"},{"test":"test_gap_gc_next_request_import","arm":"safepoint_minor","result":"PASS","cycles":2,"evacuated":0,"scavenged":5285,"reclaimed":2286656,"evidence":"cycles=2 evacuated=0 scavenged=5285 reclaimed=2286656"},{"test":"test_gap_gc_next_request_import","arm":"evac_minor","result":"PASS","cycles":2,"evacuated":0,"scavenged":5285,"reclaimed":2286656,"evidence":"cycles=2 evacuated=0 scavenged=5285 reclaimed=2286656"},{"test":"test_gap_gc_next_request_import","arm":"verify_evac","result":"PASS","cycles":2,"evacuated":0,"scavenged":5285,"reclaimed":2286656,"evidence":"cycles=2 evacuated=0 scavenged=5285 reclaimed=2286656"},{"test":"test_gap_gc_next_request_import","arm":"force_verify","result":"PASS","cycles":3,"evacuated":0,"scavenged":10033,"reclaimed":3627256,"evidence":"cycles=3 evacuated=0 scavenged=10033 reclaimed=3627256"},{"test":"test_gap_gc_next_request_import","arm":"cons_scan_off","result":"PASS","cycles":2,"evacuated":0,"scavenged":5285,"reclaimed":2286656,"evidence":"cycles=2 evacuated=0 scavenged=5285 reclaimed=2286656"},{"test":"test_gap_gc_next_request_import","arm":"shipped_default","result":"PASS","cycles":1,"evacuated":0,"scavenged":0,"reclaimed":281168,"evidence":"cycles=1 evacuated=0 scavenged=0 reclaimed=281168"},{"test":"test_gap_gc_rest_argument_rooting","arm":"default","result":"PASS","cycles":1,"evacuated":0,"scavenged":406,"reclaimed":3085224,"evidence":"cycles=1 evacuated=0 scavenged=406 reclaimed=3085224"},{"test":"test_gap_gc_rest_argument_rooting","arm":"safepoint_minor","result":"PASS","cycles":1,"evacuated":0,"scavenged":406,"reclaimed":3085224,"evidence":"cycles=1 evacuated=0 scavenged=406 reclaimed=3085224"},{"test":"test_gap_gc_rest_argument_rooting","arm":"evac_minor","result":"PASS","cycles":1,"evacuated":0,"scavenged":406,"reclaimed":3085224,"evidence":"cycles=1 evacuated=0 scavenged=406 reclaimed=3085224"},{"test":"test_gap_gc_rest_argument_rooting","arm":"verify_evac","result":"PASS","cycles":1,"evacuated":0,"scavenged":406,"reclaimed":3085224,"evidence":"cycles=1 evacuated=0 scavenged=406 reclaimed=3085224"},{"test":"test_gap_gc_rest_argument_rooting","arm":"force_verify","result":"PASS","cycles":1,"evacuated":0,"scavenged":406,"reclaimed":3085224,"evidence":"cycles=1 evacuated=0 scavenged=406 reclaimed=3085224"},{"test":"test_gap_gc_rest_argument_rooting","arm":"cons_scan_off","result":"PASS","cycles":1,"evacuated":0,"scavenged":406,"reclaimed":3085224,"evidence":"cycles=1 evacuated=0 scavenged=406 reclaimed=3085224"},{"test":"test_gap_gc_rest_argument_rooting","arm":"shipped_default","result":"PASS","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_same_module_call_argument_rooting","arm":"default","result":"PASS","cycles":1,"evacuated":0,"scavenged":70,"reclaimed":3135408,"evidence":"cycles=1 evacuated=0 scavenged=70 reclaimed=3135408"},{"test":"test_gap_gc_same_module_call_argument_rooting","arm":"safepoint_minor","result":"PASS","cycles":1,"evacuated":0,"scavenged":70,"reclaimed":3135408,"evidence":"cycles=1 evacuated=0 scavenged=70 reclaimed=3135408"},{"test":"test_gap_gc_same_module_call_argument_rooting","arm":"evac_minor","result":"PASS","cycles":1,"evacuated":0,"scavenged":70,"reclaimed":3135408,"evidence":"cycles=1 evacuated=0 scavenged=70 reclaimed=3135408"},{"test":"test_gap_gc_same_module_call_argument_rooting","arm":"verify_evac","result":"PASS","cycles":1,"evacuated":0,"scavenged":70,"reclaimed":3135408,"evidence":"cycles=1 evacuated=0 scavenged=70 reclaimed=3135408"},{"test":"test_gap_gc_same_module_call_argument_rooting","arm":"force_verify","result":"PASS","cycles":1,"evacuated":0,"scavenged":70,"reclaimed":3135408,"evidence":"cycles=1 evacuated=0 scavenged=70 reclaimed=3135408"},{"test":"test_gap_gc_same_module_call_argument_rooting","arm":"cons_scan_off","result":"PASS","cycles":1,"evacuated":0,"scavenged":70,"reclaimed":3135408,"evidence":"cycles=1 evacuated=0 scavenged=70 reclaimed=3135408"},{"test":"test_gap_gc_same_module_call_argument_rooting","arm":"shipped_default","result":"PASS","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_new_instance_rooting","arm":"default","result":"PASS","cycles":4,"evacuated":0,"scavenged":6101,"reclaimed":31032144,"evidence":"cycles=4 evacuated=0 scavenged=6101 reclaimed=31032144"},{"test":"test_gap_gc_new_instance_rooting","arm":"safepoint_minor","result":"PASS","cycles":4,"evacuated":0,"scavenged":6101,"reclaimed":31032144,"evidence":"cycles=4 evacuated=0 scavenged=6101 reclaimed=31032144"},{"test":"test_gap_gc_new_instance_rooting","arm":"evac_minor","result":"PASS","cycles":4,"evacuated":0,"scavenged":6101,"reclaimed":31032144,"evidence":"cycles=4 evacuated=0 scavenged=6101 reclaimed=31032144"},{"test":"test_gap_gc_new_instance_rooting","arm":"verify_evac","result":"PASS","cycles":4,"evacuated":0,"scavenged":6101,"reclaimed":31032144,"evidence":"cycles=4 evacuated=0 scavenged=6101 reclaimed=31032144"},{"test":"test_gap_gc_new_instance_rooting","arm":"force_verify","result":"PASS","cycles":4,"evacuated":0,"scavenged":6101,"reclaimed":31032144,"evidence":"cycles=4 evacuated=0 scavenged=6101 reclaimed=31032144"},{"test":"test_gap_gc_new_instance_rooting","arm":"cons_scan_off","result":"PASS","cycles":4,"evacuated":0,"scavenged":6101,"reclaimed":31032144,"evidence":"cycles=4 evacuated=0 scavenged=6101 reclaimed=31032144"},{"test":"test_gap_gc_new_instance_rooting","arm":"shipped_default","result":"PASS","cycles":1,"evacuated":0,"scavenged":3960,"reclaimed":46697904,"evidence":"cycles=1 evacuated=0 scavenged=3960 reclaimed=46697904"},{"test":"test_gap_gc_assign_string_source_rooting","arm":"default","result":"PASS","cycles":2,"evacuated":0,"scavenged":14777,"reclaimed":9051096,"evidence":"cycles=2 evacuated=0 scavenged=14777 reclaimed=9051096"},{"test":"test_gap_gc_assign_string_source_rooting","arm":"safepoint_minor","result":"PASS","cycles":2,"evacuated":0,"scavenged":14777,"reclaimed":9051096,"evidence":"cycles=2 evacuated=0 scavenged=14777 reclaimed=9051096"},{"test":"test_gap_gc_assign_string_source_rooting","arm":"evac_minor","result":"PASS","cycles":3,"evacuated":0,"scavenged":24490,"reclaimed":18974616,"evidence":"cycles=3 evacuated=0 scavenged=24490 reclaimed=18974616"},{"test":"test_gap_gc_assign_string_source_rooting","arm":"verify_evac","result":"PASS","cycles":2,"evacuated":0,"scavenged":14589,"reclaimed":9008688,"evidence":"cycles=2 evacuated=0 scavenged=14589 reclaimed=9008688"},{"test":"test_gap_gc_assign_string_source_rooting","arm":"force_verify","result":"PASS","cycles":3,"evacuated":0,"scavenged":23546,"reclaimed":19017816,"evidence":"cycles=3 evacuated=0 scavenged=23546 reclaimed=19017816"},{"test":"test_gap_gc_assign_string_source_rooting","arm":"cons_scan_off","result":"PASS","cycles":2,"evacuated":0,"scavenged":14777,"reclaimed":9051096,"evidence":"cycles=2 evacuated=0 scavenged=14777 reclaimed=9051096"},{"test":"test_gap_gc_assign_string_source_rooting","arm":"shipped_default","result":"PASS","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_typeof_string_cache_rooting","arm":"default","result":"PASS","cycles":4,"evacuated":0,"scavenged":703,"reclaimed":31529432,"evidence":"cycles=4 evacuated=0 scavenged=703 reclaimed=31529432"},{"test":"test_gap_gc_typeof_string_cache_rooting","arm":"safepoint_minor","result":"PASS","cycles":4,"evacuated":0,"scavenged":703,"reclaimed":31529432,"evidence":"cycles=4 evacuated=0 scavenged=703 reclaimed=31529432"},{"test":"test_gap_gc_typeof_string_cache_rooting","arm":"evac_minor","result":"PASS","cycles":4,"evacuated":0,"scavenged":703,"reclaimed":36755328,"evidence":"cycles=4 evacuated=0 scavenged=703 reclaimed=36755328"},{"test":"test_gap_gc_typeof_string_cache_rooting","arm":"verify_evac","result":"PASS","cycles":4,"evacuated":0,"scavenged":703,"reclaimed":31529432,"evidence":"cycles=4 evacuated=0 scavenged=703 reclaimed=31529432"},{"test":"test_gap_gc_typeof_string_cache_rooting","arm":"force_verify","result":"PASS","cycles":4,"evacuated":0,"scavenged":3051,"reclaimed":35989464,"evidence":"cycles=4 evacuated=0 scavenged=3051 reclaimed=35989464"},{"test":"test_gap_gc_typeof_string_cache_rooting","arm":"cons_scan_off","result":"PASS","cycles":4,"evacuated":0,"scavenged":703,"reclaimed":36755328,"evidence":"cycles=4 evacuated=0 scavenged=703 reclaimed=36755328"},{"test":"test_gap_gc_typeof_string_cache_rooting","arm":"shipped_default","result":"PASS","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_closure_call_prev_this_rooting","arm":"default","result":"PASS","cycles":4,"evacuated":0,"scavenged":5681,"reclaimed":31097568,"evidence":"cycles=4 evacuated=0 scavenged=5681 reclaimed=31097568"},{"test":"test_gap_gc_closure_call_prev_this_rooting","arm":"safepoint_minor","result":"PASS","cycles":4,"evacuated":0,"scavenged":5681,"reclaimed":31097568,"evidence":"cycles=4 evacuated=0 scavenged=5681 reclaimed=31097568"},{"test":"test_gap_gc_closure_call_prev_this_rooting","arm":"evac_minor","result":"PASS","cycles":4,"evacuated":0,"scavenged":5681,"reclaimed":31097568,"evidence":"cycles=4 evacuated=0 scavenged=5681 reclaimed=31097568"},{"test":"test_gap_gc_closure_call_prev_this_rooting","arm":"verify_evac","result":"PASS","cycles":4,"evacuated":0,"scavenged":5681,"reclaimed":31097568,"evidence":"cycles=4 evacuated=0 scavenged=5681 reclaimed=31097568"},{"test":"test_gap_gc_closure_call_prev_this_rooting","arm":"force_verify","result":"PASS","cycles":4,"evacuated":0,"scavenged":5681,"reclaimed":31097568,"evidence":"cycles=4 evacuated=0 scavenged=5681 reclaimed=31097568"},{"test":"test_gap_gc_closure_call_prev_this_rooting","arm":"cons_scan_off","result":"PASS","cycles":4,"evacuated":0,"scavenged":5681,"reclaimed":31097568,"evidence":"cycles=4 evacuated=0 scavenged=5681 reclaimed=31097568"},{"test":"test_gap_gc_closure_call_prev_this_rooting","arm":"shipped_default","result":"PASS","cycles":1,"evacuated":0,"scavenged":2740,"reclaimed":46856688,"evidence":"cycles=1 evacuated=0 scavenged=2740 reclaimed=46856688"},{"test":"test_gap_gc_regexp_receiver_rooting","arm":"default","result":"UNVER","cycles":2,"evacuated":0,"scavenged":0,"reclaimed":1373408,"evidence":"cycles=2 evacuated=0 scavenged=0 reclaimed=1373408"},{"test":"test_gap_gc_regexp_receiver_rooting","arm":"safepoint_minor","result":"UNVER","cycles":2,"evacuated":0,"scavenged":0,"reclaimed":1373408,"evidence":"cycles=2 evacuated=0 scavenged=0 reclaimed=1373408"},{"test":"test_gap_gc_regexp_receiver_rooting","arm":"evac_minor","result":"PASS","cycles":1,"evacuated":0,"scavenged":4417,"reclaimed":2186664,"evidence":"cycles=1 evacuated=0 scavenged=4417 reclaimed=2186664"},{"test":"test_gap_gc_regexp_receiver_rooting","arm":"verify_evac","result":"UNVER","cycles":2,"evacuated":0,"scavenged":0,"reclaimed":1373408,"evidence":"cycles=2 evacuated=0 scavenged=0 reclaimed=1373408"},{"test":"test_gap_gc_regexp_receiver_rooting","arm":"force_verify","result":"PASS","cycles":1,"evacuated":0,"scavenged":4417,"reclaimed":2186664,"evidence":"cycles=1 evacuated=0 scavenged=4417 reclaimed=2186664"},{"test":"test_gap_gc_regexp_receiver_rooting","arm":"cons_scan_off","result":"UNVER","cycles":2,"evacuated":0,"scavenged":0,"reclaimed":1373408,"evidence":"cycles=2 evacuated=0 scavenged=0 reclaimed=1373408"},{"test":"test_gap_gc_regexp_receiver_rooting","arm":"shipped_default","result":"PASS","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_staging_args_rooting","arm":"default","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_staging_args_rooting","arm":"safepoint_minor","result":"UNVER","cycles":1,"evacuated":0,"scavenged":0,"reclaimed":33648,"evidence":"cycles=1 evacuated=0 scavenged=0 reclaimed=33648"},{"test":"test_gap_gc_staging_args_rooting","arm":"evac_minor","result":"PASS","cycles":1,"evacuated":0,"scavenged":27,"reclaimed":50472,"evidence":"cycles=1 evacuated=0 scavenged=27 reclaimed=50472"},{"test":"test_gap_gc_staging_args_rooting","arm":"verify_evac","result":"UNVER","cycles":1,"evacuated":0,"scavenged":0,"reclaimed":33648,"evidence":"cycles=1 evacuated=0 scavenged=0 reclaimed=33648"},{"test":"test_gap_gc_staging_args_rooting","arm":"force_verify","result":"PASS","cycles":1,"evacuated":0,"scavenged":27,"reclaimed":50472,"evidence":"cycles=1 evacuated=0 scavenged=27 reclaimed=50472"},{"test":"test_gap_gc_staging_args_rooting","arm":"cons_scan_off","result":"UNVER","cycles":1,"evacuated":0,"scavenged":0,"reclaimed":33648,"evidence":"cycles=1 evacuated=0 scavenged=0 reclaimed=33648"},{"test":"test_gap_gc_staging_args_rooting","arm":"shipped_default","result":"PASS","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_interval_args_rooting","arm":"default","result":"UNVER","cycles":1,"evacuated":0,"scavenged":0,"reclaimed":48080,"evidence":"cycles=1 evacuated=0 scavenged=0 reclaimed=48080"},{"test":"test_gap_gc_interval_args_rooting","arm":"safepoint_minor","result":"UNVER","cycles":1,"evacuated":0,"scavenged":0,"reclaimed":32080,"evidence":"cycles=1 evacuated=0 scavenged=0 reclaimed=32080"},{"test":"test_gap_gc_interval_args_rooting","arm":"evac_minor","result":"PASS","cycles":1,"evacuated":0,"scavenged":12,"reclaimed":48120,"evidence":"cycles=1 evacuated=0 scavenged=12 reclaimed=48120"},{"test":"test_gap_gc_interval_args_rooting","arm":"verify_evac","result":"UNVER","cycles":1,"evacuated":0,"scavenged":0,"reclaimed":32080,"evidence":"cycles=1 evacuated=0 scavenged=0 reclaimed=32080"},{"test":"test_gap_gc_interval_args_rooting","arm":"force_verify","result":"PASS","cycles":1,"evacuated":0,"scavenged":12,"reclaimed":48120,"evidence":"cycles=1 evacuated=0 scavenged=12 reclaimed=48120"},{"test":"test_gap_gc_interval_args_rooting","arm":"cons_scan_off","result":"UNVER","cycles":1,"evacuated":0,"scavenged":0,"reclaimed":32080,"evidence":"cycles=1 evacuated=0 scavenged=0 reclaimed=32080"},{"test":"test_gap_gc_interval_args_rooting","arm":"shipped_default","result":"PASS","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_process_env_cache_rooting","arm":"default","result":"PASS","cycles":3,"evacuated":0,"scavenged":9615,"reclaimed":14699160,"evidence":"cycles=3 evacuated=0 scavenged=9615 reclaimed=14699160"},{"test":"test_gap_gc_process_env_cache_rooting","arm":"safepoint_minor","result":"PASS","cycles":3,"evacuated":0,"scavenged":9674,"reclaimed":14699400,"evidence":"cycles=3 evacuated=0 scavenged=9674 reclaimed=14699400"},{"test":"test_gap_gc_process_env_cache_rooting","arm":"evac_minor","result":"PASS","cycles":3,"evacuated":0,"scavenged":10543,"reclaimed":20892648,"evidence":"cycles=3 evacuated=0 scavenged=10543 reclaimed=20892648"},{"test":"test_gap_gc_process_env_cache_rooting","arm":"verify_evac","result":"PASS","cycles":3,"evacuated":0,"scavenged":9674,"reclaimed":14699400,"evidence":"cycles=3 evacuated=0 scavenged=9674 reclaimed=14699400"},{"test":"test_gap_gc_process_env_cache_rooting","arm":"force_verify","result":"PASS","cycles":4,"evacuated":0,"scavenged":10032,"reclaimed":29584704,"evidence":"cycles=4 evacuated=0 scavenged=10032 reclaimed=29584704"},{"test":"test_gap_gc_process_env_cache_rooting","arm":"cons_scan_off","result":"PASS","cycles":3,"evacuated":0,"scavenged":9674,"reclaimed":14699400,"evidence":"cycles=3 evacuated=0 scavenged=9674 reclaimed=14699400"},{"test":"test_gap_gc_process_env_cache_rooting","arm":"shipped_default","result":"PASS","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_symbol_local_rooting","arm":"default","result":"PASS","cycles":86,"evacuated":0,"scavenged":5,"reclaimed":31949288,"evidence":"cycles=86 evacuated=0 scavenged=5 reclaimed=31949288"},{"test":"test_gap_gc_symbol_local_rooting","arm":"safepoint_minor","result":"PASS","cycles":86,"evacuated":0,"scavenged":5,"reclaimed":31949288,"evidence":"cycles=86 evacuated=0 scavenged=5 reclaimed=31949288"},{"test":"test_gap_gc_symbol_local_rooting","arm":"evac_minor","result":"PASS","cycles":86,"evacuated":0,"scavenged":5,"reclaimed":31949288,"evidence":"cycles=86 evacuated=0 scavenged=5 reclaimed=31949288"},{"test":"test_gap_gc_symbol_local_rooting","arm":"verify_evac","result":"PASS","cycles":86,"evacuated":0,"scavenged":5,"reclaimed":31949288,"evidence":"cycles=86 evacuated=0 scavenged=5 reclaimed=31949288"},{"test":"test_gap_gc_symbol_local_rooting","arm":"force_verify","result":"PASS","cycles":86,"evacuated":0,"scavenged":8170,"reclaimed":31952312,"evidence":"cycles=86 evacuated=0 scavenged=8170 reclaimed=31952312"},{"test":"test_gap_gc_symbol_local_rooting","arm":"cons_scan_off","result":"PASS","cycles":86,"evacuated":0,"scavenged":5,"reclaimed":31949288,"evidence":"cycles=86 evacuated=0 scavenged=5 reclaimed=31949288"},{"test":"test_gap_gc_symbol_local_rooting","arm":"shipped_default","result":"PASS","cycles":85,"evacuated":0,"scavenged":8170,"reclaimed":31952280,"evidence":"cycles=85 evacuated=0 scavenged=8170 reclaimed=31952280"},{"test":"test_gap_gc_dynamic_construct_receiver_rooting","arm":"default","result":"PASS","cycles":4,"evacuated":0,"scavenged":10086,"reclaimed":30365064,"evidence":"cycles=4 evacuated=0 scavenged=10086 reclaimed=30365064"},{"test":"test_gap_gc_dynamic_construct_receiver_rooting","arm":"safepoint_minor","result":"PASS","cycles":4,"evacuated":0,"scavenged":10086,"reclaimed":30365064,"evidence":"cycles=4 evacuated=0 scavenged=10086 reclaimed=30365064"},{"test":"test_gap_gc_dynamic_construct_receiver_rooting","arm":"evac_minor","result":"PASS","cycles":4,"evacuated":0,"scavenged":10086,"reclaimed":30365064,"evidence":"cycles=4 evacuated=0 scavenged=10086 reclaimed=30365064"},{"test":"test_gap_gc_dynamic_construct_receiver_rooting","arm":"verify_evac","result":"PASS","cycles":4,"evacuated":0,"scavenged":10086,"reclaimed":30365064,"evidence":"cycles=4 evacuated=0 scavenged=10086 reclaimed=30365064"},{"test":"test_gap_gc_dynamic_construct_receiver_rooting","arm":"force_verify","result":"PASS","cycles":4,"evacuated":0,"scavenged":10086,"reclaimed":30365064,"evidence":"cycles=4 evacuated=0 scavenged=10086 reclaimed=30365064"},{"test":"test_gap_gc_dynamic_construct_receiver_rooting","arm":"cons_scan_off","result":"PASS","cycles":4,"evacuated":0,"scavenged":10086,"reclaimed":30365064,"evidence":"cycles=4 evacuated=0 scavenged=10086 reclaimed=30365064"},{"test":"test_gap_gc_dynamic_construct_receiver_rooting","arm":"shipped_default","result":"PASS","cycles":1,"evacuated":0,"scavenged":6185,"reclaimed":45917400,"evidence":"cycles=1 evacuated=0 scavenged=6185 reclaimed=45917400"},{"test":"test_gap_gc_inlined_ctor_body_locals_rooting","arm":"default","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_inlined_ctor_body_locals_rooting","arm":"safepoint_minor","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_inlined_ctor_body_locals_rooting","arm":"evac_minor","result":"UNVER","cycles":1,"evacuated":0,"scavenged":0,"reclaimed":108544,"evidence":"cycles=1 evacuated=0 scavenged=0 reclaimed=108544"},{"test":"test_gap_gc_inlined_ctor_body_locals_rooting","arm":"verify_evac","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_inlined_ctor_body_locals_rooting","arm":"force_verify","result":"PASS","cycles":1,"evacuated":0,"scavenged":4185,"reclaimed":325632,"evidence":"cycles=1 evacuated=0 scavenged=4185 reclaimed=325632"},{"test":"test_gap_gc_inlined_ctor_body_locals_rooting","arm":"cons_scan_off","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_inlined_ctor_body_locals_rooting","arm":"shipped_default","result":"PASS","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_optional_param_receiver_rooting","arm":"default","result":"PASS","cycles":2,"evacuated":0,"scavenged":8594,"reclaimed":11642328,"evidence":"cycles=2 evacuated=0 scavenged=8594 reclaimed=11642328"},{"test":"test_gap_gc_optional_param_receiver_rooting","arm":"safepoint_minor","result":"PASS","cycles":2,"evacuated":0,"scavenged":8594,"reclaimed":11642328,"evidence":"cycles=2 evacuated=0 scavenged=8594 reclaimed=11642328"},{"test":"test_gap_gc_optional_param_receiver_rooting","arm":"evac_minor","result":"PASS","cycles":2,"evacuated":0,"scavenged":8594,"reclaimed":11642328,"evidence":"cycles=2 evacuated=0 scavenged=8594 reclaimed=11642328"},{"test":"test_gap_gc_optional_param_receiver_rooting","arm":"verify_evac","result":"PASS","cycles":2,"evacuated":0,"scavenged":8594,"reclaimed":11642328,"evidence":"cycles=2 evacuated=0 scavenged=8594 reclaimed=11642328"},{"test":"test_gap_gc_optional_param_receiver_rooting","arm":"force_verify","result":"PASS","cycles":2,"evacuated":0,"scavenged":8594,"reclaimed":11642328,"evidence":"cycles=2 evacuated=0 scavenged=8594 reclaimed=11642328"},{"test":"test_gap_gc_optional_param_receiver_rooting","arm":"cons_scan_off","result":"PASS","cycles":2,"evacuated":0,"scavenged":8594,"reclaimed":11642328,"evidence":"cycles=2 evacuated=0 scavenged=8594 reclaimed=11642328"},{"test":"test_gap_gc_optional_param_receiver_rooting","arm":"shipped_default","result":"PASS","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_iterator_drain_rooting","arm":"default","result":"PASS","cycles":4,"evacuated":0,"scavenged":60,"reclaimed":50330880,"evidence":"cycles=4 evacuated=0 scavenged=60 reclaimed=50330880"},{"test":"test_gap_gc_iterator_drain_rooting","arm":"safepoint_minor","result":"PASS","cycles":4,"evacuated":0,"scavenged":60,"reclaimed":50330880,"evidence":"cycles=4 evacuated=0 scavenged=60 reclaimed=50330880"},{"test":"test_gap_gc_iterator_drain_rooting","arm":"evac_minor","result":"PASS","cycles":4,"evacuated":0,"scavenged":60,"reclaimed":50330880,"evidence":"cycles=4 evacuated=0 scavenged=60 reclaimed=50330880"},{"test":"test_gap_gc_iterator_drain_rooting","arm":"verify_evac","result":"PASS","cycles":4,"evacuated":0,"scavenged":60,"reclaimed":50330880,"evidence":"cycles=4 evacuated=0 scavenged=60 reclaimed=50330880"},{"test":"test_gap_gc_iterator_drain_rooting","arm":"force_verify","result":"PASS","cycles":4,"evacuated":0,"scavenged":60,"reclaimed":50330880,"evidence":"cycles=4 evacuated=0 scavenged=60 reclaimed=50330880"},{"test":"test_gap_gc_iterator_drain_rooting","arm":"cons_scan_off","result":"PASS","cycles":4,"evacuated":0,"scavenged":60,"reclaimed":50330880,"evidence":"cycles=4 evacuated=0 scavenged=60 reclaimed=50330880"},{"test":"test_gap_gc_iterator_drain_rooting","arm":"shipped_default","result":"PASS","cycles":1,"evacuated":0,"scavenged":30,"reclaimed":50328000,"evidence":"cycles=1 evacuated=0 scavenged=30 reclaimed=50328000"},{"test":"test_gap_gc_global_builtin_lookup_rooting","arm":"default","result":"PASS","cycles":2,"evacuated":0,"scavenged":42634,"reclaimed":89512,"evidence":"cycles=2 evacuated=0 scavenged=42634 reclaimed=89512"},{"test":"test_gap_gc_global_builtin_lookup_rooting","arm":"safepoint_minor","result":"PASS","cycles":2,"evacuated":0,"scavenged":42634,"reclaimed":89512,"evidence":"cycles=2 evacuated=0 scavenged=42634 reclaimed=89512"},{"test":"test_gap_gc_global_builtin_lookup_rooting","arm":"evac_minor","result":"PASS","cycles":2,"evacuated":0,"scavenged":42634,"reclaimed":89512,"evidence":"cycles=2 evacuated=0 scavenged=42634 reclaimed=89512"},{"test":"test_gap_gc_global_builtin_lookup_rooting","arm":"verify_evac","result":"PASS","cycles":3,"evacuated":0,"scavenged":36033,"reclaimed":469944,"evidence":"cycles=3 evacuated=0 scavenged=36033 reclaimed=469944"},{"test":"test_gap_gc_global_builtin_lookup_rooting","arm":"force_verify","result":"PASS","cycles":3,"evacuated":0,"scavenged":78667,"reclaimed":471000,"evidence":"cycles=3 evacuated=0 scavenged=78667 reclaimed=471000"},{"test":"test_gap_gc_global_builtin_lookup_rooting","arm":"cons_scan_off","result":"PASS","cycles":2,"evacuated":0,"scavenged":42634,"reclaimed":89512,"evidence":"cycles=2 evacuated=0 scavenged=42634 reclaimed=89512"},{"test":"test_gap_gc_global_builtin_lookup_rooting","arm":"shipped_default","result":"PASS","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_spread_symbol_iterator_rooting","arm":"default","result":"PASS","cycles":3,"evacuated":0,"scavenged":26,"reclaimed":25164576,"evidence":"cycles=3 evacuated=0 scavenged=26 reclaimed=25164576"},{"test":"test_gap_gc_spread_symbol_iterator_rooting","arm":"safepoint_minor","result":"PASS","cycles":3,"evacuated":0,"scavenged":26,"reclaimed":25164576,"evidence":"cycles=3 evacuated=0 scavenged=26 reclaimed=25164576"},{"test":"test_gap_gc_spread_symbol_iterator_rooting","arm":"evac_minor","result":"PASS","cycles":3,"evacuated":0,"scavenged":26,"reclaimed":25164576,"evidence":"cycles=3 evacuated=0 scavenged=26 reclaimed=25164576"},{"test":"test_gap_gc_spread_symbol_iterator_rooting","arm":"verify_evac","result":"PASS","cycles":3,"evacuated":0,"scavenged":26,"reclaimed":25164576,"evidence":"cycles=3 evacuated=0 scavenged=26 reclaimed=25164576"},{"test":"test_gap_gc_spread_symbol_iterator_rooting","arm":"force_verify","result":"PASS","cycles":3,"evacuated":0,"scavenged":26,"reclaimed":25164576,"evidence":"cycles=3 evacuated=0 scavenged=26 reclaimed=25164576"},{"test":"test_gap_gc_spread_symbol_iterator_rooting","arm":"cons_scan_off","result":"PASS","cycles":3,"evacuated":0,"scavenged":26,"reclaimed":25164576,"evidence":"cycles=3 evacuated=0 scavenged=26 reclaimed=25164576"},{"test":"test_gap_gc_spread_symbol_iterator_rooting","arm":"shipped_default","result":"PASS","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_element_shape_loop_clone","arm":"default","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_element_shape_loop_clone","arm":"safepoint_minor","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_element_shape_loop_clone","arm":"evac_minor","result":"UNVER","cycles":1,"evacuated":0,"scavenged":0,"reclaimed":66992,"evidence":"cycles=1 evacuated=0 scavenged=0 reclaimed=66992"},{"test":"test_gap_repsel_element_shape_loop_clone","arm":"verify_evac","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_element_shape_loop_clone","arm":"force_verify","result":"PASS","cycles":1,"evacuated":0,"scavenged":4270,"reclaimed":200976,"evidence":"cycles=1 evacuated=0 scavenged=4270 reclaimed=200976"},{"test":"test_gap_repsel_element_shape_loop_clone","arm":"cons_scan_off","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_element_shape_loop_clone","arm":"shipped_default","result":"PASS","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_alloc_point_no_move","arm":"default","result":"PASS","cycles":43,"evacuated":0,"scavenged":11590,"reclaimed":1200966696,"evidence":"cycles=43 evacuated=0 scavenged=11590 reclaimed=1200966696"},{"test":"test_gap_gc_alloc_point_no_move","arm":"safepoint_minor","result":"PASS","cycles":43,"evacuated":0,"scavenged":11590,"reclaimed":1200966696,"evidence":"cycles=43 evacuated=0 scavenged=11590 reclaimed=1200966696"},{"test":"test_gap_gc_alloc_point_no_move","arm":"evac_minor","result":"PASS","cycles":43,"evacuated":0,"scavenged":11590,"reclaimed":1200966696,"evidence":"cycles=43 evacuated=0 scavenged=11590 reclaimed=1200966696"},{"test":"test_gap_gc_alloc_point_no_move","arm":"verify_evac","result":"PASS","cycles":43,"evacuated":0,"scavenged":11590,"reclaimed":1200966696,"evidence":"cycles=43 evacuated=0 scavenged=11590 reclaimed=1200966696"},{"test":"test_gap_gc_alloc_point_no_move","arm":"force_verify","result":"PASS","cycles":43,"evacuated":0,"scavenged":11590,"reclaimed":1200966696,"evidence":"cycles=43 evacuated=0 scavenged=11590 reclaimed=1200966696"},{"test":"test_gap_gc_alloc_point_no_move","arm":"cons_scan_off","result":"PASS","cycles":43,"evacuated":0,"scavenged":11590,"reclaimed":1200966696,"evidence":"cycles=43 evacuated=0 scavenged=11590 reclaimed=1200966696"},{"test":"test_gap_gc_alloc_point_no_move","arm":"shipped_default","result":"PASS","cycles":39,"evacuated":0,"scavenged":12221,"reclaimed":1200967392,"evidence":"cycles=39 evacuated=0 scavenged=12221 reclaimed=1200967392"},{"test":"test_gap_gc_class_field_receiver_rooting","arm":"default","result":"PASS","cycles":9,"evacuated":0,"scavenged":35919,"reclaimed":176707584,"evidence":"cycles=9 evacuated=0 scavenged=35919 reclaimed=176707584"},{"test":"test_gap_gc_class_field_receiver_rooting","arm":"safepoint_minor","result":"PASS","cycles":9,"evacuated":0,"scavenged":35919,"reclaimed":176707584,"evidence":"cycles=9 evacuated=0 scavenged=35919 reclaimed=176707584"},{"test":"test_gap_gc_class_field_receiver_rooting","arm":"evac_minor","result":"PASS","cycles":9,"evacuated":0,"scavenged":35919,"reclaimed":176707584,"evidence":"cycles=9 evacuated=0 scavenged=35919 reclaimed=176707584"},{"test":"test_gap_gc_class_field_receiver_rooting","arm":"verify_evac","result":"PASS","cycles":9,"evacuated":0,"scavenged":35919,"reclaimed":176707584,"evidence":"cycles=9 evacuated=0 scavenged=35919 reclaimed=176707584"},{"test":"test_gap_gc_class_field_receiver_rooting","arm":"force_verify","result":"PASS","cycles":9,"evacuated":0,"scavenged":35919,"reclaimed":176707584,"evidence":"cycles=9 evacuated=0 scavenged=35919 reclaimed=176707584"},{"test":"test_gap_gc_class_field_receiver_rooting","arm":"cons_scan_off","result":"PASS","cycles":9,"evacuated":0,"scavenged":35919,"reclaimed":176707584,"evidence":"cycles=9 evacuated=0 scavenged=35919 reclaimed=176707584"},{"test":"test_gap_gc_class_field_receiver_rooting","arm":"shipped_default","result":"PASS","cycles":5,"evacuated":0,"scavenged":23387,"reclaimed":180415392,"evidence":"cycles=5 evacuated=0 scavenged=23387 reclaimed=180415392"},{"test":"test_gap_gc_index_set_bounded_globalthis_ta_rooting","arm":"default","result":"PASS","cycles":42,"evacuated":0,"scavenged":156760,"reclaimed":1098436200,"evidence":"cycles=42 evacuated=0 scavenged=156760 reclaimed=1098436200"},{"test":"test_gap_gc_index_set_bounded_globalthis_ta_rooting","arm":"safepoint_minor","result":"PASS","cycles":42,"evacuated":0,"scavenged":156760,"reclaimed":1098436200,"evidence":"cycles=42 evacuated=0 scavenged=156760 reclaimed=1098436200"},{"test":"test_gap_gc_index_set_bounded_globalthis_ta_rooting","arm":"evac_minor","result":"PASS","cycles":42,"evacuated":0,"scavenged":156760,"reclaimed":1098436200,"evidence":"cycles=42 evacuated=0 scavenged=156760 reclaimed=1098436200"},{"test":"test_gap_gc_index_set_bounded_globalthis_ta_rooting","arm":"verify_evac","result":"PASS","cycles":42,"evacuated":0,"scavenged":156760,"reclaimed":1098436200,"evidence":"cycles=42 evacuated=0 scavenged=156760 reclaimed=1098436200"},{"test":"test_gap_gc_index_set_bounded_globalthis_ta_rooting","arm":"force_verify","result":"PASS","cycles":42,"evacuated":0,"scavenged":156760,"reclaimed":1098436200,"evidence":"cycles=42 evacuated=0 scavenged=156760 reclaimed=1098436200"},{"test":"test_gap_gc_index_set_bounded_globalthis_ta_rooting","arm":"cons_scan_off","result":"PASS","cycles":42,"evacuated":0,"scavenged":156760,"reclaimed":1098436200,"evidence":"cycles=42 evacuated=0 scavenged=156760 reclaimed=1098436200"},{"test":"test_gap_gc_index_set_bounded_globalthis_ta_rooting","arm":"shipped_default","result":"PASS","cycles":38,"evacuated":0,"scavenged":155182,"reclaimed":1110715920,"evidence":"cycles=38 evacuated=0 scavenged=155182 reclaimed=1110715920"},{"test":"test_gap_gc_namespace_and_computed_dispatch_rooting","arm":"default","result":"PASS","cycles":3,"evacuated":0,"scavenged":10394,"reclaimed":20947824,"evidence":"cycles=3 evacuated=0 scavenged=10394 reclaimed=20947824"},{"test":"test_gap_gc_namespace_and_computed_dispatch_rooting","arm":"safepoint_minor","result":"PASS","cycles":3,"evacuated":0,"scavenged":10394,"reclaimed":20947824,"evidence":"cycles=3 evacuated=0 scavenged=10394 reclaimed=20947824"},{"test":"test_gap_gc_namespace_and_computed_dispatch_rooting","arm":"evac_minor","result":"PASS","cycles":3,"evacuated":0,"scavenged":10394,"reclaimed":20947824,"evidence":"cycles=3 evacuated=0 scavenged=10394 reclaimed=20947824"},{"test":"test_gap_gc_namespace_and_computed_dispatch_rooting","arm":"verify_evac","result":"PASS","cycles":3,"evacuated":0,"scavenged":10394,"reclaimed":20947824,"evidence":"cycles=3 evacuated=0 scavenged=10394 reclaimed=20947824"},{"test":"test_gap_gc_namespace_and_computed_dispatch_rooting","arm":"force_verify","result":"PASS","cycles":3,"evacuated":0,"scavenged":10394,"reclaimed":20947824,"evidence":"cycles=3 evacuated=0 scavenged=10394 reclaimed=20947824"},{"test":"test_gap_gc_namespace_and_computed_dispatch_rooting","arm":"cons_scan_off","result":"PASS","cycles":3,"evacuated":0,"scavenged":10394,"reclaimed":20947824,"evidence":"cycles=3 evacuated=0 scavenged=10394 reclaimed=20947824"},{"test":"test_gap_gc_namespace_and_computed_dispatch_rooting","arm":"shipped_default","result":"PASS","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_container_value_rooting","arm":"default","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_container_value_rooting","arm":"safepoint_minor","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_container_value_rooting","arm":"evac_minor","result":"PASS","cycles":1,"evacuated":0,"scavenged":4206,"reclaimed":1448160,"evidence":"cycles=1 evacuated=0 scavenged=4206 reclaimed=1448160"},{"test":"test_gap_gc_container_value_rooting","arm":"verify_evac","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_container_value_rooting","arm":"force_verify","result":"PASS","cycles":1,"evacuated":0,"scavenged":4206,"reclaimed":1448160,"evidence":"cycles=1 evacuated=0 scavenged=4206 reclaimed=1448160"},{"test":"test_gap_gc_container_value_rooting","arm":"cons_scan_off","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_container_value_rooting","arm":"shipped_default","result":"PASS","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_define_properties_key_rooting","arm":"default","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_define_properties_key_rooting","arm":"safepoint_minor","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_define_properties_key_rooting","arm":"evac_minor","result":"UNVER","cycles":1,"evacuated":0,"scavenged":0,"reclaimed":179640,"evidence":"cycles=1 evacuated=0 scavenged=0 reclaimed=179640"},{"test":"test_gap_gc_define_properties_key_rooting","arm":"verify_evac","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_define_properties_key_rooting","arm":"force_verify","result":"PASS","cycles":1,"evacuated":0,"scavenged":4194,"reclaimed":538920,"evidence":"cycles=1 evacuated=0 scavenged=4194 reclaimed=538920"},{"test":"test_gap_gc_define_properties_key_rooting","arm":"cons_scan_off","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_define_properties_key_rooting","arm":"shipped_default","result":"PASS","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_define_property_descriptor_rooting","arm":"default","result":"PASS","cycles":1,"evacuated":0,"scavenged":4387,"reclaimed":2193240,"evidence":"cycles=1 evacuated=0 scavenged=4387 reclaimed=2193240"},{"test":"test_gap_gc_define_property_descriptor_rooting","arm":"safepoint_minor","result":"PASS","cycles":1,"evacuated":0,"scavenged":4387,"reclaimed":2193240,"evidence":"cycles=1 evacuated=0 scavenged=4387 reclaimed=2193240"},{"test":"test_gap_gc_define_property_descriptor_rooting","arm":"evac_minor","result":"PASS","cycles":1,"evacuated":0,"scavenged":4387,"reclaimed":2193240,"evidence":"cycles=1 evacuated=0 scavenged=4387 reclaimed=2193240"},{"test":"test_gap_gc_define_property_descriptor_rooting","arm":"verify_evac","result":"PASS","cycles":1,"evacuated":0,"scavenged":4387,"reclaimed":2193240,"evidence":"cycles=1 evacuated=0 scavenged=4387 reclaimed=2193240"},{"test":"test_gap_gc_define_property_descriptor_rooting","arm":"force_verify","result":"PASS","cycles":1,"evacuated":0,"scavenged":4387,"reclaimed":2193240,"evidence":"cycles=1 evacuated=0 scavenged=4387 reclaimed=2193240"},{"test":"test_gap_gc_define_property_descriptor_rooting","arm":"cons_scan_off","result":"PASS","cycles":1,"evacuated":0,"scavenged":4387,"reclaimed":2193240,"evidence":"cycles=1 evacuated=0 scavenged=4387 reclaimed=2193240"},{"test":"test_gap_gc_define_property_descriptor_rooting","arm":"shipped_default","result":"PASS","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_element_shape_param_binding","arm":"default","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_element_shape_param_binding","arm":"safepoint_minor","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_element_shape_param_binding","arm":"evac_minor","result":"PASS","cycles":1,"evacuated":0,"scavenged":31,"reclaimed":35352,"evidence":"cycles=1 evacuated=0 scavenged=31 reclaimed=35352"},{"test":"test_gap_repsel_element_shape_param_binding","arm":"verify_evac","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_element_shape_param_binding","arm":"force_verify","result":"PASS","cycles":1,"evacuated":0,"scavenged":31,"reclaimed":35352,"evidence":"cycles=1 evacuated=0 scavenged=31 reclaimed=35352"},{"test":"test_gap_repsel_element_shape_param_binding","arm":"cons_scan_off","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_element_shape_param_binding","arm":"shipped_default","result":"PASS","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_element_group_numeric","arm":"default","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_element_group_numeric","arm":"safepoint_minor","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_element_group_numeric","arm":"evac_minor","result":"UNVER","cycles":1,"evacuated":0,"scavenged":0,"reclaimed":92264,"evidence":"cycles=1 evacuated=0 scavenged=0 reclaimed=92264"},{"test":"test_gap_repsel_element_group_numeric","arm":"verify_evac","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_element_group_numeric","arm":"force_verify","result":"PASS","cycles":1,"evacuated":0,"scavenged":4149,"reclaimed":276792,"evidence":"cycles=1 evacuated=0 scavenged=4149 reclaimed=276792"},{"test":"test_gap_repsel_element_group_numeric","arm":"cons_scan_off","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_repsel_element_group_numeric","arm":"shipped_default","result":"PASS","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_container_value_rooting","arm":"default","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_container_value_rooting","arm":"safepoint_minor","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_container_value_rooting","arm":"evac_minor","result":"PASS","cycles":1,"evacuated":0,"scavenged":4206,"reclaimed":1448160,"evidence":"cycles=1 evacuated=0 scavenged=4206 reclaimed=1448160"},{"test":"test_gap_gc_container_value_rooting","arm":"verify_evac","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_container_value_rooting","arm":"force_verify","result":"PASS","cycles":1,"evacuated":0,"scavenged":4206,"reclaimed":1448160,"evidence":"cycles=1 evacuated=0 scavenged=4206 reclaimed=1448160"},{"test":"test_gap_gc_container_value_rooting","arm":"cons_scan_off","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_container_value_rooting","arm":"shipped_default","result":"PASS","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_define_properties_key_rooting","arm":"default","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_define_properties_key_rooting","arm":"safepoint_minor","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_define_properties_key_rooting","arm":"evac_minor","result":"UNVER","cycles":1,"evacuated":0,"scavenged":0,"reclaimed":179640,"evidence":"cycles=1 evacuated=0 scavenged=0 reclaimed=179640"},{"test":"test_gap_gc_define_properties_key_rooting","arm":"verify_evac","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_define_properties_key_rooting","arm":"force_verify","result":"PASS","cycles":1,"evacuated":0,"scavenged":4194,"reclaimed":538920,"evidence":"cycles=1 evacuated=0 scavenged=4194 reclaimed=538920"},{"test":"test_gap_gc_define_properties_key_rooting","arm":"cons_scan_off","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_define_properties_key_rooting","arm":"shipped_default","result":"PASS","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_define_property_descriptor_rooting","arm":"default","result":"PASS","cycles":1,"evacuated":0,"scavenged":4387,"reclaimed":2193240,"evidence":"cycles=1 evacuated=0 scavenged=4387 reclaimed=2193240"},{"test":"test_gap_gc_define_property_descriptor_rooting","arm":"safepoint_minor","result":"PASS","cycles":1,"evacuated":0,"scavenged":4387,"reclaimed":2193240,"evidence":"cycles=1 evacuated=0 scavenged=4387 reclaimed=2193240"},{"test":"test_gap_gc_define_property_descriptor_rooting","arm":"evac_minor","result":"PASS","cycles":1,"evacuated":0,"scavenged":4387,"reclaimed":2193240,"evidence":"cycles=1 evacuated=0 scavenged=4387 reclaimed=2193240"},{"test":"test_gap_gc_define_property_descriptor_rooting","arm":"verify_evac","result":"PASS","cycles":1,"evacuated":0,"scavenged":4387,"reclaimed":2193240,"evidence":"cycles=1 evacuated=0 scavenged=4387 reclaimed=2193240"},{"test":"test_gap_gc_define_property_descriptor_rooting","arm":"force_verify","result":"PASS","cycles":1,"evacuated":0,"scavenged":4387,"reclaimed":2193240,"evidence":"cycles=1 evacuated=0 scavenged=4387 reclaimed=2193240"},{"test":"test_gap_gc_define_property_descriptor_rooting","arm":"cons_scan_off","result":"PASS","cycles":1,"evacuated":0,"scavenged":4387,"reclaimed":2193240,"evidence":"cycles=1 evacuated=0 scavenged=4387 reclaimed=2193240"},{"test":"test_gap_gc_define_property_descriptor_rooting","arm":"shipped_default","result":"PASS","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_uint8_buffer_callback_rooting","arm":"default","result":"PASS","cycles":3,"evacuated":0,"scavenged":8492,"reclaimed":17962896,"evidence":"cycles=3 evacuated=0 scavenged=8492 reclaimed=17962896"},{"test":"test_gap_gc_uint8_buffer_callback_rooting","arm":"safepoint_minor","result":"PASS","cycles":3,"evacuated":0,"scavenged":8492,"reclaimed":17962896,"evidence":"cycles=3 evacuated=0 scavenged=8492 reclaimed=17962896"},{"test":"test_gap_gc_uint8_buffer_callback_rooting","arm":"evac_minor","result":"PASS","cycles":3,"evacuated":0,"scavenged":8492,"reclaimed":17962896,"evidence":"cycles=3 evacuated=0 scavenged=8492 reclaimed=17962896"},{"test":"test_gap_gc_uint8_buffer_callback_rooting","arm":"verify_evac","result":"PASS","cycles":3,"evacuated":0,"scavenged":8492,"reclaimed":17962896,"evidence":"cycles=3 evacuated=0 scavenged=8492 reclaimed=17962896"},{"test":"test_gap_gc_uint8_buffer_callback_rooting","arm":"force_verify","result":"PASS","cycles":3,"evacuated":0,"scavenged":8492,"reclaimed":17962896,"evidence":"cycles=3 evacuated=0 scavenged=8492 reclaimed=17962896"},{"test":"test_gap_gc_uint8_buffer_callback_rooting","arm":"cons_scan_off","result":"PASS","cycles":3,"evacuated":0,"scavenged":8492,"reclaimed":17962896,"evidence":"cycles=3 evacuated=0 scavenged=8492 reclaimed=17962896"},{"test":"test_gap_gc_uint8_buffer_callback_rooting","arm":"shipped_default","result":"PASS","cycles":1,"evacuated":0,"scavenged":4427,"reclaimed":27340728,"evidence":"cycles=1 evacuated=0 scavenged=4427 reclaimed=27340728"},{"test":"test_gap_gc_fetch_method_value_cache_rooting","arm":"default","result":"PASS","cycles":2,"evacuated":0,"scavenged":9415,"reclaimed":11556768,"evidence":"cycles=2 evacuated=0 scavenged=9415 reclaimed=11556768"},{"test":"test_gap_gc_fetch_method_value_cache_rooting","arm":"safepoint_minor","result":"PASS","cycles":2,"evacuated":0,"scavenged":9415,"reclaimed":11556768,"evidence":"cycles=2 evacuated=0 scavenged=9415 reclaimed=11556768"},{"test":"test_gap_gc_fetch_method_value_cache_rooting","arm":"evac_minor","result":"PASS","cycles":2,"evacuated":0,"scavenged":9415,"reclaimed":11556768,"evidence":"cycles=2 evacuated=0 scavenged=9415 reclaimed=11556768"},{"test":"test_gap_gc_fetch_method_value_cache_rooting","arm":"verify_evac","result":"PASS","cycles":2,"evacuated":0,"scavenged":9415,"reclaimed":11556768,"evidence":"cycles=2 evacuated=0 scavenged=9415 reclaimed=11556768"},{"test":"test_gap_gc_fetch_method_value_cache_rooting","arm":"force_verify","result":"PASS","cycles":2,"evacuated":0,"scavenged":9415,"reclaimed":11556768,"evidence":"cycles=2 evacuated=0 scavenged=9415 reclaimed=11556768"},{"test":"test_gap_gc_fetch_method_value_cache_rooting","arm":"cons_scan_off","result":"PASS","cycles":2,"evacuated":0,"scavenged":9415,"reclaimed":11556768,"evidence":"cycles=2 evacuated=0 scavenged=9415 reclaimed=11556768"},{"test":"test_gap_gc_fetch_method_value_cache_rooting","arm":"shipped_default","result":"PASS","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_request_signal_rooting","arm":"default","result":"PASS","cycles":3,"evacuated":0,"scavenged":9682,"reclaimed":27271800,"evidence":"cycles=3 evacuated=0 scavenged=9682 reclaimed=27271800"},{"test":"test_gap_gc_request_signal_rooting","arm":"safepoint_minor","result":"PASS","cycles":3,"evacuated":0,"scavenged":9682,"reclaimed":27271800,"evidence":"cycles=3 evacuated=0 scavenged=9682 reclaimed=27271800"},{"test":"test_gap_gc_request_signal_rooting","arm":"evac_minor","result":"PASS","cycles":3,"evacuated":0,"scavenged":9682,"reclaimed":27271800,"evidence":"cycles=3 evacuated=0 scavenged=9682 reclaimed=27271800"},{"test":"test_gap_gc_request_signal_rooting","arm":"verify_evac","result":"PASS","cycles":3,"evacuated":0,"scavenged":9682,"reclaimed":27271800,"evidence":"cycles=3 evacuated=0 scavenged=9682 reclaimed=27271800"},{"test":"test_gap_gc_request_signal_rooting","arm":"force_verify","result":"PASS","cycles":3,"evacuated":0,"scavenged":9682,"reclaimed":27271800,"evidence":"cycles=3 evacuated=0 scavenged=9682 reclaimed=27271800"},{"test":"test_gap_gc_request_signal_rooting","arm":"cons_scan_off","result":"PASS","cycles":3,"evacuated":0,"scavenged":9682,"reclaimed":27271800,"evidence":"cycles=3 evacuated=0 scavenged=9682 reclaimed=27271800"},{"test":"test_gap_gc_request_signal_rooting","arm":"shipped_default","result":"PASS","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_net_once_flags_rekey","arm":"default","result":"PASS","cycles":3,"evacuated":0,"scavenged":8465,"reclaimed":11702312,"evidence":"cycles=3 evacuated=0 scavenged=8465 reclaimed=11702312"},{"test":"test_gap_gc_net_once_flags_rekey","arm":"safepoint_minor","result":"PASS","cycles":3,"evacuated":0,"scavenged":8465,"reclaimed":11702312,"evidence":"cycles=3 evacuated=0 scavenged=8465 reclaimed=11702312"},{"test":"test_gap_gc_net_once_flags_rekey","arm":"evac_minor","result":"PASS","cycles":2,"evacuated":0,"scavenged":343,"reclaimed":9419960,"evidence":"cycles=2 evacuated=0 scavenged=343 reclaimed=9419960"},{"test":"test_gap_gc_net_once_flags_rekey","arm":"verify_evac","result":"PASS","cycles":3,"evacuated":0,"scavenged":8465,"reclaimed":11702312,"evidence":"cycles=3 evacuated=0 scavenged=8465 reclaimed=11702312"},{"test":"test_gap_gc_net_once_flags_rekey","arm":"force_verify","result":"PASS","cycles":4,"evacuated":0,"scavenged":8805,"reclaimed":19925400,"evidence":"cycles=4 evacuated=0 scavenged=8805 reclaimed=19925400"},{"test":"test_gap_gc_net_once_flags_rekey","arm":"cons_scan_off","result":"PASS","cycles":3,"evacuated":0,"scavenged":8465,"reclaimed":11702312,"evidence":"cycles=3 evacuated=0 scavenged=8465 reclaimed=11702312"},{"test":"test_gap_gc_net_once_flags_rekey","arm":"shipped_default","result":"PASS","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_http2_pending_event_callback_rooting","arm":"default","result":"FAIL","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"output-mismatch cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_http2_pending_event_callback_rooting","arm":"safepoint_minor","result":"FAIL","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"output-mismatch cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_http2_pending_event_callback_rooting","arm":"evac_minor","result":"FAIL","cycles":1,"evacuated":0,"scavenged":0,"reclaimed":23800,"evidence":"output-mismatch cycles=1 evacuated=0 scavenged=0 reclaimed=23800"},{"test":"test_gap_gc_http2_pending_event_callback_rooting","arm":"verify_evac","result":"FAIL","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"output-mismatch cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_http2_pending_event_callback_rooting","arm":"force_verify","result":"FAIL","cycles":1,"evacuated":0,"scavenged":4175,"reclaimed":71400,"evidence":"output-mismatch cycles=1 evacuated=0 scavenged=4175 reclaimed=71400"},{"test":"test_gap_gc_http2_pending_event_callback_rooting","arm":"cons_scan_off","result":"FAIL","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"output-mismatch cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_http2_pending_event_callback_rooting","arm":"shipped_default","result":"FAIL","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"output-mismatch cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_interp_global_this_rooting","arm":"default","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_interp_global_this_rooting","arm":"safepoint_minor","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_interp_global_this_rooting","arm":"evac_minor","result":"UNVER","cycles":1,"evacuated":0,"scavenged":0,"reclaimed":22560,"evidence":"cycles=1 evacuated=0 scavenged=0 reclaimed=22560"},{"test":"test_gap_gc_interp_global_this_rooting","arm":"verify_evac","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_interp_global_this_rooting","arm":"force_verify","result":"PASS","cycles":1,"evacuated":0,"scavenged":4115,"reclaimed":67680,"evidence":"cycles=1 evacuated=0 scavenged=4115 reclaimed=67680"},{"test":"test_gap_gc_interp_global_this_rooting","arm":"cons_scan_off","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_interp_global_this_rooting","arm":"shipped_default","result":"PASS","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_string_copy_source_rooting","arm":"default","result":"PASS","cycles":1,"evacuated":0,"scavenged":7,"reclaimed":3148344,"evidence":"cycles=1 evacuated=0 scavenged=7 reclaimed=3148344"},{"test":"test_gap_gc_string_copy_source_rooting","arm":"safepoint_minor","result":"PASS","cycles":1,"evacuated":0,"scavenged":7,"reclaimed":3148344,"evidence":"cycles=1 evacuated=0 scavenged=7 reclaimed=3148344"},{"test":"test_gap_gc_string_copy_source_rooting","arm":"evac_minor","result":"PASS","cycles":1,"evacuated":0,"scavenged":7,"reclaimed":3148344,"evidence":"cycles=1 evacuated=0 scavenged=7 reclaimed=3148344"},{"test":"test_gap_gc_string_copy_source_rooting","arm":"verify_evac","result":"PASS","cycles":1,"evacuated":0,"scavenged":7,"reclaimed":3148344,"evidence":"cycles=1 evacuated=0 scavenged=7 reclaimed=3148344"},{"test":"test_gap_gc_string_copy_source_rooting","arm":"force_verify","result":"PASS","cycles":1,"evacuated":0,"scavenged":7,"reclaimed":3148344,"evidence":"cycles=1 evacuated=0 scavenged=7 reclaimed=3148344"},{"test":"test_gap_gc_string_copy_source_rooting","arm":"cons_scan_off","result":"PASS","cycles":1,"evacuated":0,"scavenged":7,"reclaimed":3148344,"evidence":"cycles=1 evacuated=0 scavenged=7 reclaimed=3148344"},{"test":"test_gap_gc_string_copy_source_rooting","arm":"shipped_default","result":"PASS","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_string_repeat_reentrant_count","arm":"default","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_string_repeat_reentrant_count","arm":"safepoint_minor","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_string_repeat_reentrant_count","arm":"evac_minor","result":"UNVER","cycles":1,"evacuated":0,"scavenged":0,"reclaimed":29752,"evidence":"cycles=1 evacuated=0 scavenged=0 reclaimed=29752"},{"test":"test_gap_gc_string_repeat_reentrant_count","arm":"verify_evac","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_string_repeat_reentrant_count","arm":"force_verify","result":"PASS","cycles":1,"evacuated":0,"scavenged":4154,"reclaimed":89256,"evidence":"cycles=1 evacuated=0 scavenged=4154 reclaimed=89256"},{"test":"test_gap_gc_string_repeat_reentrant_count","arm":"cons_scan_off","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_string_repeat_reentrant_count","arm":"shipped_default","result":"PASS","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_coalesce_local_root","arm":"default","result":"PASS","cycles":13,"evacuated":0,"scavenged":11792,"reclaimed":78358488,"evidence":"cycles=13 evacuated=0 scavenged=11792 reclaimed=78358488"},{"test":"test_gap_gc_coalesce_local_root","arm":"safepoint_minor","result":"PASS","cycles":13,"evacuated":0,"scavenged":11792,"reclaimed":78358488,"evidence":"cycles=13 evacuated=0 scavenged=11792 reclaimed=78358488"},{"test":"test_gap_gc_coalesce_local_root","arm":"evac_minor","result":"PASS","cycles":14,"evacuated":0,"scavenged":12223,"reclaimed":94898968,"evidence":"cycles=14 evacuated=0 scavenged=12223 reclaimed=94898968"},{"test":"test_gap_gc_coalesce_local_root","arm":"verify_evac","result":"PASS","cycles":13,"evacuated":0,"scavenged":34001,"reclaimed":89143280,"evidence":"cycles=13 evacuated=0 scavenged=34001 reclaimed=89143280"},{"test":"test_gap_gc_coalesce_local_root","arm":"force_verify","result":"PASS","cycles":14,"evacuated":0,"scavenged":26425,"reclaimed":97490336,"evidence":"cycles=14 evacuated=0 scavenged=26425 reclaimed=97490336"},{"test":"test_gap_gc_coalesce_local_root","arm":"cons_scan_off","result":"PASS","cycles":14,"evacuated":0,"scavenged":12223,"reclaimed":94898968,"evidence":"cycles=14 evacuated=0 scavenged=12223 reclaimed=94898968"},{"test":"test_gap_gc_coalesce_local_root","arm":"shipped_default","result":"PASS","cycles":1,"evacuated":0,"scavenged":8208,"reclaimed":36294288,"evidence":"cycles=1 evacuated=0 scavenged=8208 reclaimed=36294288"},{"test":"test_gap_gc_for_in_proxy_callback_roots","arm":"default","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_for_in_proxy_callback_roots","arm":"safepoint_minor","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_for_in_proxy_callback_roots","arm":"evac_minor","result":"UNVER","cycles":1,"evacuated":0,"scavenged":0,"reclaimed":85440,"evidence":"cycles=1 evacuated=0 scavenged=0 reclaimed=85440"},{"test":"test_gap_gc_for_in_proxy_callback_roots","arm":"verify_evac","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_for_in_proxy_callback_roots","arm":"force_verify","result":"PASS","cycles":1,"evacuated":0,"scavenged":4220,"reclaimed":256320,"evidence":"cycles=1 evacuated=0 scavenged=4220 reclaimed=256320"},{"test":"test_gap_gc_for_in_proxy_callback_roots","arm":"cons_scan_off","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_for_in_proxy_callback_roots","arm":"shipped_default","result":"PASS","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_string_suffix_cursor","arm":"default","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_string_suffix_cursor","arm":"safepoint_minor","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_string_suffix_cursor","arm":"evac_minor","result":"PASS","cycles":1,"evacuated":0,"scavenged":41,"reclaimed":116928,"evidence":"cycles=1 evacuated=0 scavenged=41 reclaimed=116928"},{"test":"test_gap_gc_string_suffix_cursor","arm":"verify_evac","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_string_suffix_cursor","arm":"force_verify","result":"PASS","cycles":1,"evacuated":0,"scavenged":41,"reclaimed":116928,"evidence":"cycles=1 evacuated=0 scavenged=41 reclaimed=116928"},{"test":"test_gap_gc_string_suffix_cursor","arm":"cons_scan_off","result":"UNVER","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_string_suffix_cursor","arm":"shipped_default","result":"PASS","cycles":0,"evacuated":0,"scavenged":0,"reclaimed":0,"evidence":"cycles=0 evacuated=0 scavenged=0 reclaimed=0"},{"test":"test_gap_gc_array_shift_queue","arm":"default","result":"UNVER","cycles":13,"evacuated":0,"scavenged":0,"reclaimed":6292440,"evidence":"cycles=13 evacuated=0 scavenged=0 reclaimed=6292440"},{"test":"test_gap_gc_array_shift_queue","arm":"safepoint_minor","result":"UNVER","cycles":13,"evacuated":0,"scavenged":0,"reclaimed":6292440,"evidence":"cycles=13 evacuated=0 scavenged=0 reclaimed=6292440"},{"test":"test_gap_gc_array_shift_queue","arm":"evac_minor","result":"UNVER","cycles":13,"evacuated":0,"scavenged":0,"reclaimed":6292440,"evidence":"cycles=13 evacuated=0 scavenged=0 reclaimed=6292440"},{"test":"test_gap_gc_array_shift_queue","arm":"verify_evac","result":"PASS","cycles":13,"evacuated":0,"scavenged":12456,"reclaimed":7871088,"evidence":"cycles=13 evacuated=0 scavenged=12456 reclaimed=7871088"},{"test":"test_gap_gc_array_shift_queue","arm":"force_verify","result":"PASS","cycles":25,"evacuated":0,"scavenged":44772,"reclaimed":2326064,"evidence":"cycles=25 evacuated=0 scavenged=44772 reclaimed=2326064"},{"test":"test_gap_gc_array_shift_queue","arm":"cons_scan_off","result":"UNVER","cycles":13,"evacuated":0,"scavenged":0,"reclaimed":6292440,"evidence":"cycles=13 evacuated=0 scavenged=0 reclaimed=6292440"},{"test":"test_gap_gc_array_shift_queue","arm":"shipped_default","result":"PASS","cycles":12,"evacuated":0,"scavenged":0,"reclaimed":13270688,"evidence":"cycles=12 evacuated=0 scavenged=0 reclaimed=13270688"}],"summary":{"pass":428,"unverified":167,"xfail":0,"fail":7}} diff --git a/benchmarks/native_property_get/evidence/measurement-receipts.tar.gz b/benchmarks/native_property_get/evidence/measurement-receipts.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..b2e1b158280306f6f2b35be6ed344eae56eeb91e GIT binary patch literal 41154 zcmYhib8uyE&@CKIY}>YNI}_WsjgyIuiH(WvWMWQiPi)&d=g#ka?^pM${%=>;^K`GS zy?57I-6XNFu*44Kb`T&(OH+4GH%muLCl4k!OLI$G7Y}!44^ua=%RpP_jj?na;R|hC zj((~8Bv;9p;`CSiJTEurd;TqCGw)dfL})0fbjm-NsBD{`Td(I7smwB~ZlZWwY#q>PuY%3%h9fI}0L| zvk=7&b>(RK3`y(>yAZvf+xow!Ps|3 zT4xEFz3WJfhm6}}50|fuYJF9WQc&}p<+x2H=k_&=?VVYS7M6lXz;NnMLXjO92e00mvZ12aN{e(SOl*?Ncg!;PS8)-?%7aYw z3g%W%t$$RdyR*KaNgWGM-0QU-pk~ zqTdNzzUK&^fMpnuKyb%R-JoEo5R`IE2qpZcUyON*ciJ8#k!7JoB~!|Xuzh0w6|@j< zeL)Xilis&!b0%e6n6Mo$abUO`>I2Y!T;r=GrUW;lB<8+l8GdSZ8VzmM+0(1FEZF2n z_SaS#Jg5p#N+Zxo+jj&8KUHR+Y`IZs221@ALmMeNKuQl5->je`BK%#P_R~7k)FuIG zSbsNzt2F*oTy@5-ud(VY*_npf;8_~lJVNMsDjBj_Znu_cXSl9IZ#W-PL~`@y4Gwl_ zO7_+9t{a>}$@?CjUggQFIwa-*y=F1#c|#BDM`JPEoh@%NT9ep*wyBaWX_DU6Pkhq` z0_9ZRa?(c`Tz^>| z1sHEVc+Qhr3`wguh_!fT7%u$26k!D&zu(Fvy&yMqv2j9g&c?d#Hk!MhQ$J~E1nG`?S_oTt&BsO$png+5+&eySLMvwYhWhB7N2iVj z@a^j>3IJ-J(%8)y1%>JdwkCRx8CA65BgSTmh_CvwOp{C&obSfpz z!=eAmT!1sG&G7cKTm}{rB??V%7?7W+NZaLWJa`a06q2mIc!0k)65vUYG(0?9eUY1_ zg+e@gv#@`}4S5|^e7RHv^ zEBm1wdCu6uqXRL zY!j)lB7-2e606)JJ&X0v-@is}0;d_D`h%N+ENMv8USF)!bZaItN9Y#JwF~7CanukSW zVeK-Ocf>a4G51YLYU_Ra@llNi+2v)6{(w+_fKz1R$(!P`d8m!WzQJlx%Svg4X*H1CRAM_Vvx9LIrX~Lh~XMy@YYmVprB4}9l z!0mWHH|Q6c%>FS8^k3X^zH?ETbqi)@L2e+4O3#+&3dN$cM3S#Y>QC-G*AC( z7tL`A7w5q9;Yhg7n1tg1ht`e8e)w`1W^jzZPB0fi7JTBP%vj4cKh>%4L#j8Lc1@LF zuaL5^BxezxXVeC>gOg5UiO~Lu@s0NWhinDoZzYGBa!qhpJw#cGusU+S)5jlpg3cDm zdj>%;Po{$2B;Vwwu&0de`FlRcTk9;`0UQO+Ccxg zBqGFgDu%Ax2?ZaKkYSX)^iikT{tcsbcQ8f43ML|J&}(tlZW-vXik+~+eK?glYMS#K zS~da}n{TCRr3nSWxH_|7ltOrbeh7j^m@Irp3sO-(Yq(`%XFdHH*{ENt0Ldij^jlYX zTCYe}O7~+JLQXP64tb*KA6Hz*XmQ(s>#3uqPd^t<12&bQ)M?}JH#q;`jwJ&3SKP+4 zj>)>o_1!C`4Q?g`*-aVCNfgIXj=j8ZnTn)clNB6H8#T`Rd#4FV8F-tMh|v4I_|mN= zTs|UhaY19aY#wH(BNnH_e$h|)G#7?rF4BUTJ}zXw4TWGc-runLUHE(@?ZGA@GYa~{k5dNxrAIHTxBU8y{B7D-!)RMv ze@jKJaWq;t`6lfv#k|N@6`=f-6_crH8Lsi@@8;~5XI~gkqa)b*P3P*s=1BKkpk-Y_ zw$dVGPp&6`qPGz(I`%FtFS=ag%aLtZn)lr}OU@}Hwr99O=w~HN-PJ0HYU4CXD$t%pJW7aT? z7EOUJV^MOA&cjT_^Jj^=@s<=Pt4m=ve|2rxz2-%HNqQ+ArZrh9DV5qRWEd)O25KBz zTCrwOpsyN>F2|`r&?>eYUc}sw`ce5Ilr2I@q@hvvgZ-Yw6h3iQNs0@7)*}zR+q}UA z6HP`?A|VqwRlqAEI*s0P!_TC~&bv{l2+vJ}RRX3k$RtAURQ@!ZrgOpSc@_!qI*qD1R;88$Jvrc$Qp(b+ym{rl zZCdMWo-LjeS|F5Ko&0axJXQQ7xQEc9U+`N*urel+RQIk!AVtD7l(aG~gxPd%P`Lv_ zK?$U1aV`c?1xc!S#~rTH6rmE|;C}t(3Vq~YUf4Y)<4k-KweILE8$uCpk&mlt0L{kN z@?2a*&m3S77mDN5OJwNAczXAotG?py+3f81eoi}%zBf?G>lOS%-zPD{V2I753lv=6 z*T9Ax9G)o&PmRPfgUH5N(7APUjGTO9T`#ULmo(as(LYP(94LhGu zr}=F%N(jv#Jv>Vbmz$&Aq_aVA#7sV{FRX6_tG@hcOoyo#3R6PcM04+QJ zD)D>N{t3~-zQzjr5!z82LshV%d)S3KquFL%4qr5z`C?|s1@E)<_0jG-Py&67BoHPH zygfyXLx%-_&Uv<7D%@6lORdPM_jLqCgI(D(-4_94B2vLF$k%a4H$>3}ZBF{xiqJbn-N37*ULI5*6@vf5VU~5=nWt_mVh%z3Nob6dP?qtej3rh#3 zOjgt&2(@QJ5ZngUV|`PewY?Ca_XqfHqYv#D=K^*a3)~3Jt>Gv>%VEbEst zVN|KV^WEi0gWoB_6?oO&LyF{G*t&H(d2hz!N5j@6wXH!8yNi1$hobNE^L<%{4P9E;W3eqf@u@NU`$4azJ+-D)02K+x z#A3vU^Ll@LN5UAfrGZ@HjZhCN`5g_y7pL+dYhwUe_rZ7M+A55dqR=`i#2+0kTfX2s zpD{RK;}RQ1_?uy+AEtD+YZm7e8_ryDa1#1Cfr?hjP9JG}Cq6PMB4kVrEhUF8e4I$gwN$sq0L$~% z5g8#xn@)KZ$Mv1_3*XKtt9y=Npc<3*vGGm=wS~H{=hn0$z`zuxvWYC z&)gcd***bRBvkYzY}5B^9>9WWtS03QvJ>vU%;JJae1_GQ2AU@}1trS`Yq0Q3mccH6 zrP%k+3X_I{P%ZmIfeo$>dJ^V-{(rK(SEK?UZ(j_WA6sdlE1q|M@XGGEycbV2d;#sg zREHkJbOrA@I{B3il5X*-X-~cCfzTWjJe0)|Uln`2$-*MVmm2I@nWlxa=0nNG+$A#k zkl8%!xH*JxQgRJ?%NrP*`@Yv{WD(tF!WfDZKa~T!)-Aw7EaH1f7CnmFAoU~>t7)8S z7z2}?aonU}&eU$^6;SypWcmY&evS8pQ~p*Dr_VlD!@mDsa^!(aSCHL6@;x3sL;c(A zSeIGH<+|CAu~+m+c1>1o8e&lu<7`573c)aDGxH9=DUO%zK;Z4&vq;w#=<8_b0$>>+ zmeyBBnB%O-4rkS^KWnC4znHUs&IIay-=K|VN#91paed#qzA>_RUPlVp2`cE6{*I48)N_TyX24Le83JdNp?AgaVrQkGZSPv65e_S6`fQzO*z zPep4f4j1RUuW&&JC#VoCu($Qm#jMhcDbJp>!eWhT{q$$YYU`6$I_NLZPM64c)B)UW zBT6LCu1#lst0)EcVW~Qhh9T_O65>VFf z=l!HopSK60fZ10@B|NE*Y?V7dwzKu7KY}|}u>6$U)3aaDprKC3AQy`W6vU+);}jn@ zLsS0Y@x1A)081;7U*w6%dT5*q_O<3u*8TDZg&yl2BL^s6Q~>Nptcc>|&l zeQh_S#9DKxGlU!7t0wynYl!_P*)T1ExhT%u_rGMncl)Hw4|7?YP5qazf`&1Z_eami z3YMC23(%Dppfm2k4p!khr>yIjagb&7ND(nrTnYXUhhNg>Qr8zYQJL87-i}E)c1F0 zi@=NmHzD7Qz@65tJcchwv)V#{=IX^eLun;9mf@-g(pg{Sl72n&`Dh7XbE(eXY4PhP z@C=_8Io^vQ14%7L0#dQHoXlLiwVS}miY*%#rV)EF`-3aj!O(FTg^gDASpAi5th4d+ zXN&MM=cU22z6{KmUJk>K#h#JXouTOuqMGLZ75t6~yPogW-FAb6W|&RjHenUQFw{H# zDhXoq`7tUbbiVryW%R5Zp)9JJ~gDIF;-ufLWz&JSz7mhO+^OkvV;nh^`-TGo$ z>u<4v8{EGdBRAkacQrSE&Y4xKB)^*9H$dGwTyr(fLV!^;EpLPumm=YLr9rzbc~K>i zt3N`ny3}2d?uoJiZX;y0eT1>^LnX0iqw*dMlBoinPZoX{QA8XRMKG92F_IYd3lkEE zhQC`^8xrqvnKfo5n*`j2V`99xs?pa0s&&7`Y)TX}ctRy^^IG3V9bVXesUpLGQ(&{( z1n<-qan|!x(@sZPahhf=`fNKevT!GKr<$~&Nq0pkp*+{1oGA7XCB>n%vQJt%zC(F; zi@u=I-Rtwh*XmllHR`m=EkR>v_%x~3P2W|fnTm6Z*ama$E+>_5<1?imW$T@`uI;*z z*J6z3i#vU-a5~K{&KN!kPWsjz5^UAQ)z7dad$?8J!~6jh>Vh<40$#2%7KF^5a#k$o;^jwq1TTQnxMOfG)R>5?-S|cToo!D5{dD zWV6I8%NKF*{9eu%X@42Hi=KL?*y@@`kL-kJ1U7P`yAyyrU45VV`&ZRP_R@4}e)=^C^`5 zIyDZWA|j+!5RA%>54Cigy1$#1t(Yr-x8zo`q8Vp0=7*A6?fwsY#}DO+f68}&yw66# zHxTcFK2}D{DkoZ$*kTQW-iayMgMoAp-WvQFM6X4=>aC;{gb!{kgG9ja!%P zt`^OrMh#RYchX}%hz5U;A}R(`#+z)Tp0|xEb8>v%h{;D;$BGL9((dkAk;~WLXTu#8 z^j@4$`knAF@?mgG#b+i@HHCmO`f(stI^YTIoygVi*Mc&)N?RqvS{_=kikLeQ!3>37 zG*SBlK&rHY^9skE2vQtqJ{x}oM0lWLTlgZ=waw2!v!(?@UD~Rb<`I%-QG%`_xhM!h zK2*RJ7Cjy$iB%=R9G;N#8nHbt(vLX%POy9nH*Ol=?x5>LK4O`pn+4C85|5j2#Z%>) z9mw0S?Y-1WjZcGr;uuE;H4(pKL-crdj>-7*74erZTx9!dEEu@YHAFn>?nt3S;Z1K< z6_mUhZ35o>c7JnF>92fp0!hdN)HJV9mmq>mIU<`2sJaJBG%n4P>-_iVU++uQKdn+^ zA07py&cGBcj8&NgW;KLum^C=rakQ|~xGkFaMm1EpzDeo!NEF90I!@|gCoC%yxE+BXuvx zVUK4v!1TK0Y9nN399u{*>_V4_7xE%l*4}nPkzroxCgiPY@2M{S~zfK_Z z9dHf3H0*xtP_zW~Q-p9k3xS6fhPEuW#^Ee*Y+Ijy)HU4tSu)oNp zsXkGThW6D;A#|81K0)_F^&-??7S>E-8VnK74o*n*`U=+JF}8_8&5aY9#OOJ%h~Pf` z9;UNH9M0vLf2=_R*x_3C@?BC5El!}-y0R#P78m0$yj z*)HhAkv!D1_Eq)S*g!M>EC`lkH5(mz{Ob0~Gkv>-c-~v18IngY_Fa-EpZ&p+iUFgy zE?ABC;DJrgr<}WHFy?MpAtT}-q}i9+;iRGqL=9s+kqVOrB$;dXg=8rsUc`&ty~+uQf^>sd)E)|+gpkFDBQttoNq^QK7$h3 z+UC2%OFbAG^y%szXqw$D4#}%{S0zy;&BNh*g%8yjE7?CO(4Q3d(r@p`HAqwR(3pAz zc{;_DpTp8e8Q+mJIn92d$;uA}1US)GCHs_JAnp={hX0D1YoZS*x6y5fyYmw3_B~JB zf=y+&`S{04HyTm}y^uH0b_@+qsJ`9x5HQ`9@-A1AOnK(by?&1HqmelNbbra*AkBzX zawwmp*CLU>e<$*k*Ys@55~N`eY!^Kl%!K+`^JB1CC%{zdfd*A$Ms;}o;P+vFi=G(zon;O8|=B9}BW_!Hqv`oErlXwl6 zeKDdp#psv;qI}e9GplO2A)$7m4oBVk{5Q3lh|=7+SM$!F*)Vo7rQ){G%!akSAUW4{t4I5zQX#2dWt2F_g1qK0Q7D<#=``g7|cl>;2O&uUp5jhL93yB2F4vCl;gE;3! zT}(6i24j#Lk!TOh6v1{8@c-(Vbo8RQkFuk*YQwz$zow5k+a*)@eBXJQrm%?nD`7RQ zv#O$=Ip3IQk43B|;@VjALB-KH4wVU1*YY<{T75P9-BLzfAU<8oUkYFiTIHaK_-3&^ zB5_ETM^E?3UM|^{#^Rq@N9g&kwEA3 za|qA&l`#A34T_avPdd(mVG=A9z(4u)Z;ri_5dvN!(296x(sF|&3%q8s4;?1eUywKA zY60uU;w8V%Iv26do+%;nO)`6WVCy*8*vq_LGj}s|++i7v89O2P#xKAbDPOb=6)v*s7E?I^s_X28vWuvqTLdGE-kf^i#L2@L@>s z1%EEp(^iAZNhz|x$rw)NOMMs>OVXA#Vove>)R0SDpv==VMB<1`n%Zb~oRGhn8(?6- zMCnA}d*1iB@0V1xUSk~zW<|8U{VJFXJc7@Z!&x3}9@1h7=G4n4Ci(|V+!n>ToOP@Q z&(IOwMC||ga=k+#99_aW$a>4Nc)m<<{H<&4&)09yIl8k+H#L1zG75y``n@>K);en_ zuMg6noexu_`0saIPNK<-I468B+y_Sh8WE1{%Z*r}_dozwpVD@3vPuWV>??Brcfo6Y z6q40@>$=u~=8aYyw{AgufeeM@OmGc+1@mTMXb4susO&zx-ZOh(3QcDWmSJFYoSWsrf zf$$#h@MGvi=NT~vQAY#7&2RlZDjx|+spM6I6?`JK@jVHLAu7_Qeu*gcBA|Q=`c|C68F*~Lj zyl}Ee@GtzydMc$C!+0zuM|mGR$u}r|q6ZbQH6Zp!hxCAm<`}&0b#3bYYDCJ&%v=_r zCo$Cr8Q2LVHHFE7%`%&v#`K2|*qPx?-{`Mm!m<*N^+)8MV?5B76)h8bspA6Gn7k%#h&`UEFnqr_fPno8wB6hQ}7m^QCmitK%fa&~dH=t~EcXh)>}Z&7Xh zTA3y@ZC0JgeQl+WULohWcMuB2*SzA=>L4=jplZxay}MzD!RsfUIXd1I@NMb(RCjtuKgaXG)*2C?2@4UB zfyc&Ruv3UgI|}iqSVP;Jihm@Z!V{WQR;`t_@T3nBgMuZarexB0$bX^=8Fr7`CN{x_ zPMnd6GH5Tc-b{(Z_c`CSWW?#f!pHBTV6jYzkNG3>Sp*C6`s?LOL6^y17}!xuP0FN8 z^27U_sfses6u=;LQnJ&q*HdO;9OKN=U63+5IRcnDK2Dn=4RISP*&%lR0RX<6fRsWe zNQNvI^PMb!Tr1?^NBrF(_~`sq5Qa8jz6~j#&b{5Je@j2pednp5cT%APC4r5c zs8F0RxM`cYx~pZcH0Of_5Ww!_1n2@ig074Dj0?-NoXY2cn=Lykf@hl`l$(|2wdIS) zvJSsVk$NDv{C;eyw;SZCzEjIV$HkDS9ejPOB$YbdFP$v*m^`)>H4_aoj+pg;DC9>N zV?>K#==W<4T#Oe+O&;xNcvAfTCNLtwEzeSTj&i!9a8J%~X$JDcR^%2 zx*%4#L$_jYBYA;!%oe=7y&V)B0j$)0@npM6la~``+!oV8Y)yua4IXuP*EAZN>}LS* znhvVIfkgYalrR*yf}iL5_sMiGGzQcL!cF8@&8oYRJ`h)6{YQxsxM$g6-5v0IGrjB?Y{@oMa;Ymlw0t$TRI;)^lNdeT+n2tT-b9`Wj68uz znUi>kr&3At{nJ;jq%P9gBk`n*-LO;R{5IWl!)=76Nmo6a43dxR@{a84R*e>J%)52* zy>3eCxEaGNalGB7YBMlt_||yo6$SnM2AKnyYGoZVxi{koceRGoqnNG+(mTA@7+FFT zPT~})6cOZGlv;X_9B+u7eh-*}Cv!gj4u9$Dc+T=4HOc+!$$jfK9cvqiwWr-Y_w$>1 z!2@BVsqogdOx%Y&fblS$Jccxewv=Q$H{;uZT>F%VkkF1hm>3l%;jGnc*m>Cb$)07; z8g#o=sWj7YF=fk|g*?o_=fdc_BjQug0Pi#Mo$%r22?|0q5xT&pIL@{<#kT;C+POq> z$sJmwT+xXwr?(Spr&)jhJHT9`@AddPY1QNS5f`!5$shtvP1g429g!g8JG+mn@^u1> z9g~igiQde9uLx0g0MZxF)WBJMxMWfq+1Pr6x;514>Q&GH3fWAD2I{-mt^nFIo-lZ? z5Ll1!K-u%2o$V4BVEUiNRhpF-W|5V)hU97Lsuez9_Q~)v961TNEpp7tJJN$yU!)c~ zzU4#sucJ*M_<5n<%(CpN}B_e&I7Hi$@p(s|6s>E z2%hMzF)+z6tZqZ}+!8`g-n0LPTO4!)7Cbb90&b)y&63CFf?$oEi}lsyyo3=Bq+`~b zSvxeyEXX^_I>!f=WNjpEQWGOJ_I+ISJ^a8>=-d=h>6D`MqV-|}ds|9wG{2-II7Bs0 z3W95bxf4$K^9#|2ATCen6bN&C#ye~Ne3UTtVyDxfP0ARAcgUBzg-*BAkmM0xja{zT zVysC#V<#gfEB+41Hj%|1Dt?^u=QKHAIsExUJIT%G#RE({fe;~q@J)sZ{e$w^SL2xv zBQ82pgMn}zaU&YS0C!Mza31}-^+7@(9=5y%H5Geb=L{^$F8ZITh_(jU>9ooU%a;6S zJ^^Zil_-eG^vQOOvS}_|7T_d_V%zKQ96{jIXd`QcAGlpmt4e&00tY@|wb>L#CC8tYjWmQ>sG5Z|4 zjOa{W(_KE(!|}=)v;!SQRgBgw+)Ra04AZKp(WP<3b&l0SBI8t+8A(L#jptemv{zx1 zU@DG8MVXkbCt9Na%3(HxyC`{|iN|EQg(i z@}tojW=C>vS38T5BW@QT0IROQZc`3m!FZB7Yuifd@-m$eKe#F|ukk=1DMB$$zy97n z`IkmK^*LH`o7>VjUVF|?k<_|t-T7e5>PNSU0`FdY(w#)?Qesdq8vK1BX`;Ng{TdVA z%}w7H;O!~p?rq4Kq%Vm5`dVc3(~W*;9RXa}S)8I*G@wX>4sC&PK3xP}kuuS?*wz&r z!G4^4(0=g3ZSP5I1Q)Ivu390h{|_R}c$9BNI`64F6@bXayNMBJv~7iyoP)gimz87x z{94NV-u4e;xjYPCX4{(Lfh}iPAvhrgUF(Ft{r^u+4j$31AJevia&?kN{->?NCBYSe z7l~0RVAaLricE3dbM z6#H)Dy6vajOxfIj)*W0qm0qGOH!az$Jpc0-Dp>~U{84N*#iW$539^BB+x_ui=@uLr zStWBxC#H-ipJEd)dB8vWgg^z#yM(05OtL5Z+W4Zb1BR@IWjCI;CS})f2?X7?uYojd@5T2UjzP^n5h5m(|AEf=dY(avVI{6X%72Te58?6A46T$j7 zZZ}9L+bg3Xsv)X&xt0$p>G_{Y-L9^SsWM9GvYRoE)C6XWY3@;x=0E>LLm*PXp4@!M z^a=lwrtB>nMI;vWUsnb83lIk}2s;?Xp=F=s_z>YkiM66k7C;j~!xhBCl^<0$A=zBx z-=YBxcbVu@16ekvd#l}VCMh8jaW!-GQ_*okjHC7ITFR<`NnwSXD2-&NYaSe<8LjT7 zn`n|s(B;9N>|zKuVoZ0jLi0}2;?dAu6jzj9yi+cO=qFlM;xN|zKy(%qa?|^!Mi^>R z^eudS&Me(JJ(;7co$K)xyZzg*{DW~s#`{*3Isv&p{u^cmUY8)=B-fnY@LG@mZMO7% z6mPgnLoI2^9*bK^)n;kL_y5ggFYX+5O?rz2aui4nZVo-F;sC0Jf7IG6-uM_+R>!=b z@4w-K$tEd?y0Nz)*9QnQ&;Iqs{WN zyrYo(aGL0{n)X;-Y9DI3p z+!I=P)-}%ukzr^~;~Qu94Br}}Og9=Qs_O>o!IRbCuz1D?8o`s!*gswB%#7BWH91gs~Y}tY?T##h)~wKEW7yNxpI;0*gfD_T|Jxd zHF8noUK%@SVyP0Nsb*819)GYR&}uN?8cRZl0F4+({Ge5mz_Y7@ihd=! z&EmGh%4pLnBDBdfIaJ$v;=IaZbRy;7q;1o~jc9>&X#vtFr9^FNaRdT+WiaNSUe$&{ zXC1o)n(D7!m8IzW4vD-E3y#I~$}#iGM|o4ABHB+%F`BdQHGxwrJ@7;PdYgm_=^Fzy z7F{~-GGdGJhAgpzP3GVn34NYDMnS|;%NvBj>1ZfK#Ev>cwGKVH_wFSRncsB%c;Y+% z4Wz){a8CY6LCzz<9Nsc;HDx2lNsKtx%UOCIu=RC|tq;}9d$`GrhXBi%Y!v=7HTf(w z{p;mJ4OXeFbo?UV`TF7fVjT2k5dgg17_Bde>-s?9>0^YhTtUGv$;RkEIne%{*XU{? zU=9r@7AOTc4qm-biHN)WvrecbfId<-zWol1f{9X^oHPKiqqy~2b zVK%fK;?cILrX_w|!YS>bWqOF+ZmH(t+a4TNp-%1Eht%nf86Ul0)i|O*&#hOYZkDGJ z!rc^J*yyU0?iedwu4IC;uJ4bXCya6_c$RQIM=E%9xLyB(*%&e9C;KJDEtt~@gXcBa z<}207uX9ZC0PXXMwwp7#9hH?41(!JGnh3sEG!)j49_y=$4mUQ=SIi}OVk-KMcQY7X z687?@I!bX{KueJ`0|jS($`nOhYzL%N#P4Xbh^ zrE@^69S{8*f|W&B#bnON{-*8sG6h!zBd*GGb5<@@LTxf3aSkhB*CE0Bf#Wp|$wJWK zP#<{~bS;ABnLeLq6&tLXTvZwrk?)0288mBAM`_wd*ouez6OFVB6ZWkBu`vEay1Eu4 z54_lQm}}mQLSDxQ?j=BIyf8r`A+r9>i@Sd#ePctA5HE?K&tj8(1`-uU-F@XIX%^CF z`OcP4#et@=Hx8}toCQA{d>;c8h82M(KwL(TPF3_jdT*{ce6+g&w~9i)s{(J|!W9tN z+c_fo1yzZT@G&1Xyz9(`2q|cf?B7;~R8Y#mndEL4x=$(P)-lBjM)f=UYDF%M%hGT- z9;KCzSiGn8PQ|9E#?YaqrzQo>`+#pq2xnQ~i0Bh6#ZB;1tx$*xD;4;qg;a(;Dq_~ek{F%3g?)erUT5?V|})u(Z7L%h-@| ztY3&qzWeK&bg-s4rZ}!_{F&?4Ly~{+&Bz2^sj*O1eW z>c4w14plHWG$i{os7?PYXx%u+gZ#Zea_%O}LHu{BHxRtXiRPB^j^v$=(N1<`xv6E- z*{~#pv%^GNukcAymME!)GLL0 zMJOfoKp4^Pt+$`_QW)N;3>kTjNW(Oghr<+q#vuO?42|1@#Z>uUx$152h8R0`-@x^M z_b2FQSd|bgGi&B)g~kp$RTAuvucG4nW}qZ<%<;8Zha45+YO7hHwTr-O*r|7T%$GFx zEm@?}qp$XUJ`!bQ41-&=Bl!|N)~!0HM=Cfo+dv-XZ&W_6}!}Hmz*|kt{K!0dc|Bd9Nw)E zTK}}EEL;fTecj4}1zRHWcYca-A}yw9=An&xK@57`lWn*n(NL1;g5gs2yS7DQxsZYr(W$Y`f;Y z7rsW<*jL!KJX2v|9xN<`=a2-%8(c<0DFWPfOiYR$WrOsPu{$th!Ry_qBUC;r14lTG zO0w;MFBfm?Pgl_1$-n>4O#$%j=o3QQ>JhCzWZbAn@y=%R zw%_?uDAHOOi0P{6d0Ri^khjjDiFyC?ab0iIeRWZpl~J0pCYpY$huPfkb3X(_ahJ=B9!tIg zN6H8GM6JhPm-#ywHFqAk_&(-$mnRu{Avd4+Vjr>Vo`-bd3Zd{VC?*)Tfg?3q(5m=3 z251Fj-ZAX`ILmqa%(7M$QY7)bYd^=hmCp$py^uH5T++sw9R(8&nLze1o`2Hbz@eZl z>0_w%DxY6!wK`C%9O99p(yQ$MxBiHWtqI6TKkvmvzg~EP@m=Vvvt>9lUVhY;S9hfE ztOJLD_~OxQefpo(N15b~|5edmc4!wqaLnera6o4wtT*Iv%&7>6@bgla#dRolC|X$#nDQwS^SSyssjRS=6OXNGn06>~E#j(hCF1K_4MuPTP|unG zNh2Hqs_TA!vXp;nXJ^zV^tOM_?vqu5QG(=vB)ULvW_?ehLqLvfUCey}3ExRIxI;Q9 zehO&(?R{0VR{6d!_ukmvz%Kqh_NcF4VgXF{ze~$LokQO1+VPp1K-vnxQHkTdA7_Z@~TZXZs!y5=r^~KXLYcIvchv`^hYi1C5#9X3aZMNWa>XL3+}_ z1E8_}vgc3GQ7XvppsCXHIRgZNBKNK>2ds|0?^C`9(cT*u{PXPkcDMl!t*D{R^d@rG zRb_1UYQ6o~rwn8`9|qQQ>Kg#7|Aj+xbhE?a(|{xEveWg71>9mo1^$)lnXhFqEOjkf z(d^N(Zx`cHH+9|a9eG4B9fUM2cDirVb>{jjuMenRy2yBX-)JA^l?5&W`$|3l%pm>v zh_ZG9$+5Il&;;CJUmGoG98~Xe-&eG(k8p2nyQH62_Luxy@S(^!=phM2q`9ciKkrI) z)TbBs_3zRC6-ZOcI0>YuVBeZ1oii*l4)~X61}Mg@(t}@Kzw`@GdI;dYraz$wHazTG zvAcZ$#Ls|Km_ZkYQpxwm7cDuCt(7d-AcE|_POBG8KS7kBmw(lfdaFSD17WEE z?WbqZ-*#+Pp1dOei@xVbNjUwWC+Km| z;v_&R?O)=jc~&y^#lZzAV5c^E653~A{~)*mP49@AE4KtTpFqu@8{^I7n`LdGQ!DpN!L=pjP?-N|^+dR=1XZI-e@_%sX&p$DV+Q zTDMp9J%B3r1&5%lF#zdVy8IKMiVl=!HUkFQxk{jL3Cc#E)Y2aN->7}ZK*|zB4m*-#SpQxM)kBdZ5L5oAb7kxv zNKf6qMK4DFzudO}12i9W7o;5kn!NyVKBY^)0jj7#&2IpAEpYBh(7OR}hx(K94S@MppL|L4_8)uz zYEXSKx5rP=aw>=%q*909&wOuu46lxK z?d(L*B7O@@^{L%ry*19%O~E|&e|p2`qfjLuTHb}tTOHme3Ovv1^oC< zBkTUKDdip~?u{Cl8`|k0g-0-?PUXaQ+py@!&5MQM702n7THy=(^yS8Lrk4mu#Vx#wnxb`Yb(tTOIlOZQCbDr8E25AYrLskV2-R4DZ0>|cM)4*mJ9)Zqvbw(>wqY`S)x~iu?ePSB`SFmqIJLY(&7J|+V zzlaz0tTq-etG%jm94D)RjS@OUj>hom$^7~R5+_9s(z`|q@ozGFjzRl7jv|KaPbg5y}WE-hweX0$~X zGc%LL%uE(DSj-kn7PDkAvn*z2X0VvKd)nvRf9_07#64QneK)vP3`5y_9aVFb`3Qmx)qZ;lafkT8MQghHW`8O0%}bcIKR@X ztmWs=KH}_~8@sJrnlvgmEBl3Y2pVYYZ;6qc%h-8|n_|oC7qvTTbSkQPgCFqaXKnh| z8oD70n-p}ddwqS7n^r5&yc?#}i&xFuy4{<4rc}s&0Hj_GC4uuC`W<#)>#CW_z&eD0 z)YDaz6Tb|wgzl^01^!e(DW{H`g3N=E!gAY3Y5DxiwDY-;Y$<$Z_FOxQC)tTlKUm5z zhEPo6si)A#{dA3?fA^P#@i0!GWmf$(q1znb6D8}bztyu}zv=WB!2QIEm)R{34ys?r zl6qc;WY^v8r3F^6Lz;jtLvP-K16SCY2nKR2EiDNFYMkXVdkmfG1LdTPzn%XTtd+^; z?oI{m?UC;&Q>xz`ylSYzg*U2x;fy=QNj z+0NJegXqyI5W(QF%Hb*TcR&EknGFgAWNQo-RKpunwI9sTem&oEe9dmn z`e4%^_nM_nx*B{jz>%+9Jv?PFP7Q`WC{y;M1cm{o)l&et8ra;v32f36k`;Ztdg!UP z^zZ5ld|STq_;dEOecAK=I{N&++Y%4L5qLb2I`{{11_UixWOlO@B7)lp1unlvTEf2r z!adHk&;Pi2tLb$e=4u8IQr`^D@xf{}w>UbTavwdj6cNx()#hHY!z&<0mNZEcFPCo8 zkq~03>GeSl#%8V!Byz=bxJ2@oVY+pc*uz{yOLDM=I6P^xCA3g3*U>2X1p#Yb!47d5 zPO}eTTdSX)+G}Tu$oa;Yu9Ep8F860#YeUpyF(LaLXGkhs1Dk5LJ2!8MeW}^gt&yR< zt^_E-h922lz_)8u#)c;vV!5H3Vpj(Zi_bXNz4XN#;HCAMiFu|xuC3bPlP;bFCe$(&5z3zA*PCs^2rVa5V>_&Hp&ghAr+Q|qsod-F~d zlx86V9Q~OEg1aS;ccFql)-d*HR`2 zI{D@9Lar#tdQ=6hNBk%F6ul$92oc6KH}7MGdgo!*`&p4Ht)ES5MA|Dd z-ND?{wqmY2z;Z4dO-SaIkRgW{Bm!8_Fp=h)`w6BKRvEIp+Lw+hT^S00v*N_ZA-YxR z&+0QGsyN1JE9-F+ZHm5`ROQ#^ZA3p5AtRiG+UvADU zo0hnz$}&AwGpYZ6iPPA<5*w3`>h$dE(^ED}54(8sukus1#pR!Dt=vL0zvjV;syr)_ z1D{8_Ev^Tv&&@RLQpjvjH|I`$Xu$4><-J${l~Vc3tf3gK;%aOdnWh~jtItn4#Q+j~ z$@fp&f)pk&-TOh3Dcg7k1I6ccu&*$eFb;ygA2z=4_ZNV>x;E@%H5oDep_sUK>y zuj`l3w7exXJGemd%?NiF&HmYi%%5@`Q)c_urZ&|> zl@EK0S7s!Hy-^U2fNQ0Gi$rW*aECf?)BZYJg}8@@XxTrcrw8!5?y5y?xp8Zs@Jjh_ zYfpaJY`(aA;qF6Qq}(dzViYVrEM)EnE7-M?M`LhFn(gJ+ zmJUYEt=VYiUu$1FhAAzIJ)k($j!-Z;PCRS*{O1%im&_H>;GMVT6+;_`QQcaM~_$j^+WKnXz*TmI=%!h4#`i z5?z-hzmIiXZDCAQgdab=1eb@dJP$je4Ti>nk5Rt)ej-^Ut}P}JIaWP%q-OKyLdsQ3 z%ae!1jjCu`CH0zIj%{72z=3>><3^K~iX5{si+(P6l=n|BRaruMIaKy}nU3RFT7;Il zobk4b$ym(Zi5s~g?CRPEsO-Br?zLV_C5!Vza*x0^s)Zdfvn|v5Tt!%` zenO3|BNE>D1IfJe;9Nx3tz`R>r%y3Cx`7UhWyEB1#}FoGlMsx|v|B-B+^2~|&(!t? zSnxaUzT2E|!Mxk=Mh594H1=WNmks)CKc8f?f`?vrq}P63pY$h`;zT@v)@4-z@fGx% zJoiFbmPfWaS6K#JiKinE>E+o&3UJzW788rffpv!}v&r`wM8ac_J8yj&4A3Wxz=3R3 zh))=_u5Ai2-=}UuQT{<5Pz6lrK~jl9MHAV6wOtJlwTf&j-B#aW5Oikvl4|^MO3oL> z-Uf5ZN@zh8KARey9i~5_r-&+y8pmQg$kB~(hq-q7D*>m^r#AjN$9BDuflQM0?(8N1 z!jq=60W1mLEG@2mLRq^c3y}j-vMDc**)I!K`e!ysmC44uwPhN^&FH))>aym`iS$!2 zA*yw#uPW~ObLI2#&M#qcadB52icBUTgjWKAst$))r0rtG*F$bjkvb!sxNP?gmen82I6g^+ z5<&~w4uUH=2@-uzmikDRO(RM^1phZvX>vIAJ`_N$s0D3aH*G7?v8#lK#Ou%J#AB6> z+#Jx)Da>xH4bxPz1H`o>L#EF4nV&P@qZ$b4+c zc?K(B90nd7pU*O<(VVXS2M!>LYV|*G03$D?$MtBzqny1qt?NMtE_Q)+Qn!xnmt*2J z-D=t@%t4I7oF67>B=IFfm+*Z%V&BWZm-Cp|m}7*Yum0Sn_h9`~7a1Aqqb8p(L6a(* zp#@S1RnL%{8f~hrT_l>WzIf;h-Fz#a-7Mp}54G?kxJ3&hD8rc2jqE$KSyzwm47LZBjPtyp0~mWRWm6FE+~VKp>NoW0MJm;xF;GFG zwfegPx+vY5e61}VreARTNBO1TtTkb5Z_d4O4CHl0By$xJE0xC<7uCDzZ%NgyVf}|{ zU`|dX-?A0*)ni6e8xQcToD5aGEigUe}>Y+F4-;G zP^^4f=R)&sW}JAEzof zt#!$=lwD9Okmq>+CnKc6KKb=I>}|P&`04*gAp4dw#0JRPs%yuZ=D+{ zPbNK*P>L)7{-;9U+`;u<8q`9*@+HdhIP zNpi3*3mgM$YcLu`6WV_uzDc7MZ9+&`qq4Ih@0a^nQnyoO z{eXhp`WRKG(A(oPU&H&%*5-`^uzQJT*)O`kIL@uoQh-MrO57Rk!UBT82;){*6=d1p zUw;^4R|Zht;Pbds|2pB^ejhZXPh3A4G2N-kynxS5VE zeJK#%j49iofZdhD$C~~c&vWWk2XDZM8eon;8AY*pg1w(-4<(!TiF?nj+=<@Z=lAYZX$T?s!^+@WSSC)92zBQzueCLp@BS%M zCN5>57ji<|IpvyJKTaP3gmmfyHl~ius(#d4ErwVgRYcV$X97*Z6Ii zP@FC5<5y~YR>G)W?WKLk1>kRr;<5_l6}!eK0_$FMy9%TfjIGD9?Ebu8$W)4{n4m6m^fGpRbYl?ng+N5AZ$S%$3VW{ zDzzun*!Bc66hSU|wU)@TlI>wtmNA62GKB?Kaq|0>p`EVYDi~7jFeC~sj^wYDuVM!Km{rr*$`Y!oZvHZ zO7plIQ5qa%#IWeYg@-)wmJv4eU%I+ZOjW6K@MM)mt-PCsM1dmjonpLW7W{g^1NOE= z&jU+#XL%x=8v+`UQxFWH*_D0ys;1siDvk(nAkX>jUrW`2((Hq8OA<-jmb|#U_`52_ z78?}(cFbP%*(AT3_a#NO#4W}lDQ)94?!^;oWUA-6XYD&lz8ST$>ewRy?#nRh?%+M< zbuVNyof${ZH1+-4;n=A9uRAFqCaFRwFU8WDnT@6-jTxjX?Y4A37t3^{^m;4nYfyb7 zy6kbYl#oS~=BHYTdo_yJj74Eqv9+?qWbO>QeE$4*LAn5LW3h5AIG^#s+ITy4j=%y* ze#3&7=M8mr%9}YYE1b9pnh2W5f=J@3$h$8u7|`%_`m8bo0~d{F#Dy?ZH7Um8i{=5pz#QX3G^-bw#!7 z{f(mfNCoqK`F5%*z#f{Kv&IOnb$?q}vCyIHy*RJ59 ze^)mi#;e)rB4!@n!eH-wdax)h;Tx|eqsSrgrEHY@B$1%ABK<;eH=KSwte|L$1oFot zOZkr~)J~n%ks<$tQw!k5k!FaA-s|No={fv7i~0o1a2Nb@#EFWH2w(5{CKE1l_?!J3 zs;5z_PfJFM3eel<=5_Kx!xZ&LB3gH^=iRK-UtGf8$#tdp@4vK!{FPWF!q6>Z>)nTUa6Eg}3GB0v}CF2?K1@VrJ5t0$v1YAR=c z$zXPy2dMwQ!KX^)0sryO%@q9~{<(PYKqwia_L`H|%8O`pm&pHQ{5ZP&S8ZAdbvh)9 z419T(m~FgHGn&Y3I4&o!2&2*iqZSF^+>1Ze)^x7mKMH|a!7`!+ z!I9VyKL?}@W&X|orr62)3CZ^#k2mK3;D-ek?Eii=Ot&nx4T%KX8>y`|5h2D^pejQb zwI0LTW^O?qp;5R$GN|iodB1BQ{U!$1uIYJh&1d?AJ`%BDy#@rO*bd$T9#qfRd6A1{ z4)jJpgoJ)gEke{9gAxFlHWt7dP-al`4=9N+WGHp~rrM?V29%lQ?zCh3j2V#e$ES+M zNms?1JZ~o;lEw0bHY?&ieS0Tzl zksZV_GBIF?B2@5KNbST*;%=;~p0vNaV55sA5)<9K9eE_houkjYPt9~l`!991CJQs3nvO>eX>zckA>~a84viMo$m6SP zo#EzO8ht2+C+=*HfsahKyGG~wcHD)%RZXoDQq(bwEJF?|O%dUCci3U$TfOP(V!_C9 z3ekEA5>pdPd-*@{Za9!WXwyvtWD=&Ph^HhgiLoAikRy)=yA24k`M!AY-<+JVTRF@v zh|Umgefgsc9b7}|_pkr1OC!K#8nl$z`Y^`HxE=ik4y_R3a8OUc)R0NBIp={BndQn5 zUd{r&c5(mAex+Yn6AMcN2tkw$+t+lFiDdVN& z*wbc@=H?>WPDEG2xr=j1K3Tl}~(=ffvP6x^|AVq$v=a)RfO z@=>ZEWA~B~om=`M0Y1OC{Tk%xTfX9ZR~zujeeZz%ZYwUMbU<=wy)_YZELCSJ5jN8Q zj9$G#{&LHp(b>b5LBS9hVxot5N1B1!iSvcG=WzK+QfmUA{M+5-zMP6HP;f0fclz@E zqeR@(mf+>!w~j?EN?5R#ZwSckNo%Yhgt9%BZ#XM@)jV^zp1~NWdN|!pib8Xk%_;lf zC3)j5p}iu$yrn01I*CZi5`QI*YsU4axyPT$RMCgpE8|7m@x-3n{p0%D)sya=!bMHt zOqqQs*X5c$@%$Gao|egQt|desW!v+4dNkiO{?Tu5M3`F>d~kz5c*%rzk*Hnr%=syF zA*2TAb`Ia^zSFIfjkPmI6Ai+g!Q^bMCe8CBwR8-BCcPfJND6P-sP^CzKU#ir2g_Io zFFt56gNE34`}M`2%R3U80PX}g1K6xbdidaC6ny{DK~X8Z+56sg0cIuF@5!FaZ>jemaEq(lle zbg&{Ehul_TKN%SqEz4W9j+uM@_P zpT8wft=7NWlJ84#kA23F8nB?VW6G`N(S~yy`8HZ~OsD09gbh`$_N|y=a|~@2`=Qo% zeiXfm@I{&NRoUM2^awCcnj4d~zI`e5(etK;owtdYcPG;ag6#$aU$oJ0e@Uxx)Z8Tf zS^uir+R0Ca0^ZUU8+_auMR>l==Fh`DK$5Cu={M0dy747p_b4y@p2L6xEpOn|qSc z?(K7<=YCnj*&Iyb9?~G<5n@S{mH32RuFhAc?rRgqW=tU-MXdx7MwISk*PJZ;VU?h| zhvcDYi!cqjPXA3bl-)I4;H}OS|C~qo82f#)r*|R)pP-v|a;h}rhV{2=M4~eL4to6} zvES~PEbfbvO@D@J-OB2&N9p3tCI9Hy(emf=oW|Ii2~Ph#oInKFn5>ZqP$}DijajGO zp_HYOg;^m4N&5pkfOyc~F}`CAY>aDcvObkD??EJEnyD!!K!1}smxQr<>e!rak^6-? zCQ^mjHAn3568d{uNHbkT*G=?Ug zD25u?C)U9d*K4;DX{>==5ioJ+KV`z3uh~}S<+u0nftKgNQWStq`;~!|qqaF7%*i;1 zkKy6`RavUGCi$!aT>B_@rJvHDr8M#pv_dgJ4DdS|{6>DWRv^vBHrLCRoZND=@L%{DxM)N@G|0K67~*O0W=ODjTpz?{z|rTzgnKxW`AZDVk}`S{ZKTtGITXg z9%!FB88p{f!RYDRTcJLTgG+~deuk1a(_BFMgMSuvO^L4LGa3;ZM~&^S)9vePa0WF( zIrp0e+2qj7$R|osLRxI|lFRu4x07arPO}S#b@w++VGnf4y2nT9)h$L&!O#g3e6%#T zG8s{NJd~AE7Tzl$WPxDxBd^!C*?ve*r%x|c`Me~7d!~MQ*rZ@S^Biiw@5ksw`y}p3 zo?GEux18+Tk1M>JGzx;9zjH~7qU*{pP|_U?|2U{1&+X;6o^$3c+2d3xIH+O~vJi9B zKX`^_I_OaRp6ip%ya-dT+8MrHN%Zz7+Pdp4d+u19Lh$@|J-QFx@p}v(RUP~4gC3=i znzBt{U%G@R1r$T1g}nL_%MD4ZN<}#OSBiR^ctDYa2}w{vdSSjDYB#gp%-r`vkfbn) z_8L-hhn2)<%-&>O3X-_UY-$alXYq)xUx!G^o*UEa0W}Yc;A983M&7G@0#(eMqB4Ii zw9|lh?D2Qdw#?a?pw#>rI+^lv>P*Fj3U%-Bc)z=l08!%S`uHhHQz4-*J!Oz+{~e}} z#-Z1+jemlMX+vYF;0Lqaui+&>urYs0K4#vTi%2n`F%1-(5|$uyQNptHvOqhxUYosT3bQMxyLa6U(5w7d~F4cZuAADul~wa@|E>c+9$4Vshb%({*tDSk4F&7XFjx zA*4Z@-);BrrnAik>3{!zqA8xQ27IoK%z$F9;>J{1lB&JjwM`BV;*H{sFIlH>gb|^n zQK2GglIw4KK{IvB0X4yq;T6jUn- z03xYEe|W&;gkorF{G9atKgpnowtWi>jbZFO00VDnHFu>;gv(!$iL-rFY*UakOfN1i z=AKneFr{9sr(|ql=N5Jfkny$ry(w!*{Csu0dDxNLoiUx;#`F9i8eXry{VQ?JXSc5^ zhWh+HynTkjMPQpf6-T*i-FW1q@A}qFe6c0frx$X?t9I^d-v8`ov0bD!)3E|Xf7vqM z_Amw}^L?CUHU|T;VlCu+irE)S3LsxkuYVSldw(qc-&B<4UIIH=-D&F2%oGW~fQR?P zl0we7^-TMeC*&BdC84^W|J(7D&jfNj*=4?jEmtNmn;es$b=45qsayH3pa?}s@{^rc z5YL*pG*jnT*`5fg!bw~2%WEwr#y&3WNh*GNDkd|18{NYdH@y&12F!Kv!D`9`w~Y#Ve$C2ukQ~WJq2%&xSckZ=TacTaFyPqZq zEqNZqPGdN_YaEmP40{+5kgMKi8%0Bj*R0gt&goM=(p zCGo3tXb#IB&u<2R&hBmlwQ31=^R@}3`Fa0&f_m!AO_>BrHYuw?aqUk9rJdj3I@!5N z)fJn)_5r&X#$q_sOgnleVUN}@%{j@Bk_)Til7xxY*pTrnzhHVZX6l25$2%s8+VQR> z*%dbz6+;s(cHjz+?|;|=cyQXJ4P4gz*SyS2=@>AiNa6<&=bOcLy{YnItoXo}ds)S4 z(g{55R5Ay)42QP1nFH=F@4_8H(_vJuT%qiW`z88b9#SnoE2_^6lIEASXAH;wT4|fm z%d*=c%D_@GQe9 z3LAH*XD``UvDY;+FT!BzF;c(AsGDTGuAAzsD5^ltJBq|bRBqU1y{~&j5`3{_ION&` z^k}Y+*F1|40|r-(kU9>BUa0L!mf7A`wk>ZQp`?3819Uuv3}laK135avGqW}%Tf8|(Zo5H<@3Jj#eE;t5 zzr}2V=?|CP6&i~uia-Uh3n>(R}ge6P%ehtU%|=$3`-*NQe1$Kg7IsZ zVv3Qr=hni1vALHp-DHFS8pg+LdT1ozyy_E?B2C`Ag79(BK;xgcDsM$WJz8Az@aQtF z8&^~Z0XU5jQnu&NCrVh%z%1~INW+h$P(l73B>o{TB`rvOcH7><+kEi5S~Kb%tQ{6$ zfX{aOW^>{%AOAP{wR>%N{6sW|&QD_`gQ>*R+|6ml6X)6_jCfGO@L!-^FpJD%3ww^i zrzmr1dE8E62*~JE;)dNRSU%&xyJ~W^SN^H2sCKYQv5k2N`B`>N`Y`+FdqS26^b*An zjck{A=by85vRgs!GLXLb8~wQ`q+a3EK!Ah+OgQuU>vWgSky34_K`?jBJj^aIsiAM# z3E=1l@Bw{p-aUqEUq3{aUC!>duNGdeYzF7F#PfPYO?mk~7>;}P4O;#E0X{9Lx7%*s zo3HOr(>GqR>3rz?$CNkmtLt>=m2I_9HlgYamcbL>g3>=LUZ#u*-5<;K&M1Qsiu}gM zYJ?5rA&SZk!0O<(=s?;c-oQj>Oid&1z0gN0qa_Z2mmKm8O=#2o9lnx4o>c|iGz267 z3c&(A!iVy>K#Q#(fV7TK;23qTK2`1tR4Y2LBQ*^83`om4<>mkYzuatdv{%2}T-P)h z+k-DW8}0)wAAyYh&ahqG`wJ8vv^Tj+af0R0PHX@^0)PiPFx$Uo2q;7YK#kp+0en19 z+iB^7aR8Q|f!a4cwpwxanIQzgD;xmxbOF>|Uysv!kEP1{cD>Cz&~&fIJQ(8CuM<4s z#yIxlpJP^UdK}X~x=q_P7+pOOfiE9dxkMi=zk$_ZK$N|n)1@1r&?f+2*jZ~2BrpTj z_P*w(X9zeQ2W&RQ-^`ysE?=0ZApm0M#tni5D^LskI6n9#>mNGY#JE%a<+db^O7&%6!CCYhuGqcIhq6 z=9yvE&Ff8TWq*H9h!ya}*s$DU3k1gP^*p@XZ0ipLd4a&Q{(xbUU%NuR{ypn#;U8;Y z|JH^CpxU)8bHO$dZ7aOD^dJC1r>H>zW(&5y*aCpP=UGg6FdXm8ezo%rSeEh|;P`%zwcLA)-Y__3-c|J*u=zr#S$97m76|G) znd=_MwM~&OK!C^1_UrAl;W044?RlHn{SEv1>K?XwweoNC34lPXXQ5uk)sWZso{nhX zW7=>)$3IOXw$%y(LJqTsZxR4)-+@-|9!odd6*s_!oq(Q3fa4=l zd|(xGEbsx)Q-cb8!+rxYDC4sj_y7IHnj4@}5U|-C9I)O*wrvaw7CWGW1Mv46s-l2T z49Y}q0K-@ysPE67fw=uZm-m1ZysjXD#y`uzjW6%hQ~DnT$G}#ay`D4Izcq#fJQm!r z0P7%FW7yIwpr_i@!@j}rZ?KwxK-y~{IPgu(!)oyc*bxO>(hLH+y#sCg1D1n;71seq zyj`I1{1b<7J3u2iK)?r}2UPFz-+Gn(0prb8ZtpD&4eK6f@1UT90=B>3v+sKIA>>)& z!8r2w_U-zd%l{f6_kOhp5L&MP^S4RB%aK#rcMp5Z8RC_XhxdT>KiXa0+Q-1fzx|&J z31s{h(d-X88XZ_w1NHYhm&1V;+ts~5|7DjBxA%YhkLvlV0HS&t*pu|^7(o4OI1KC& z1qRf1102^aTCNt3f&bi1xnMw0V;o4Sx-?0_TwAV%e1J;rNS2k;Z2(ly+#cXC)%z9C z!%I)@p(*l>ScCGo&)>Uf+xflp4mfGNT)qwT7``?X0zS=Wf^qHlXbS?DzkoXPZl_1r z^q(7U`MD+=Xo>nJ*6;|tq5<5!2<6T}v||7LBG97wH_i{G{|r8#0jR`_yC-xE za-tsTbOO<+g{Hir1A7Jka!@V z{%^NT2MBIp7NAc|P4AnVQW5maoS?$)7IDFaV+uJzd}A3}07jAqr5wHW%Pe2^e@GIZ zQ8%#k>0F)X%yKYvr%!1_lieNxSV7ixw(ZNu+L(QMCZ+zxmkX?O>K8>z|x3+WBgRc2`42#wV_pe`oga2!k8WO;XvUx$II4tl<&ugoz{ zf1DFCV8`PP(qn~#_%qz5zY!lMY|f{~_t89|$G2*pIEv2%?um!(iqnUekiV_@X)?D= zQu1ureTzsW1UxWYt7Z^rHbq*Nkzf1ikYGbbkn}vb@sPrr@f9az;0n3eH-ktYDB0>M zJqJdRmdiu(k+(BEYq&V|`CN!S{cTz5e&wusgjlgO_OTH0`m?~%B>f)X=-6~(ZT@xR zdHyWGUt+&;=2ln>-dJN5coeMH zRFo-RVkF-QOcDU9-Cjq`V}%fEX@CUA)KEaexDE}zW7EngzW>q*PeJs=4)lOEoAavd zXzk`*h10yV!P9;?rH>q`W5OBjcd`Bq=;lvCv}k(Pk+9Ea2x!D6-yl? zq2~m?JcZ`~*pUmG0>g>@NjOeKAfNmB<;r($$gSG;&5@$E4v&Y>ndUg)!cA_$2N#QQ z5X$Sr4XVckz;uHXu0^Qp-LVna`-#PV6VNaVVDoAEc+wU$=Ff;wJZ3jQ2=E}H{=M4P z<^I=A|*J^$8*%bH^9)3kl~LV;K7UTqfl(cr8T}c zFeBJzv15m*>UFzx<0Y;ml)Q3JT6Fbxw6r|tjQu!dE--CYs55QK4tgFpyu9E?n=TJi z<`_t_qF<41Z~5kU{LCOr`J(#_uGRNVs13`Ab!KWgj^|vfdPjrLnkW@67T1~m3zTwO zXG@agH_{kfI#xMT8?0Z|`mBkmX?M~LV5Vwcv?rz{Smk)5Pq1J_@cHejd`U`GbOWWg z)?dzMqmTDYnmuhJ#Duu}J4z9OdQg@s*PNj?^fPjr^M@pEIChIvI&cA*Q&0j>8(2i+ zT`k|xnWtOT#r3lonR*lk`NKZtd&b?}GU*h7_BSlapQ$lg`)x%tK=Z(^rp4Wh@VYoPoSh4djI-pVjW=lTMG#UQ60PYo3Xd9&J+i*Cthj7= z++FUvUc8#7r(uIZk@c@$x-=tVY#OIZV`IBQNf?0nyA>(5^2K4c3-2>gD}wF5$YvQk zquAi_G6!XB$nE){1qE=8(nG#o8ZwTzG(M(?QkqVXp>42+ z3s|t<`@;=iQi%mk>K4+Y$Fz5Y08hB*m2AS;DG2@rX153hZf74ZJ%xm&5~bn*32FsR z%93jMIzF#@aI_pu^oD0dW-K_Kh>SFBY?tHYv-DUSYNJSq|AfqMBVopt$MwB_ly!Gn5gH@B4-Q4W8Sy^)Q2A< z%o-BTpVbw6oer^xF^N%5eWLA+;;~KFlpF=8zDE7j6U(7GKvHg>2z!#@@>S;3Ezb?T zzr@tB^Y28Xl;A>}2*{f&t1q9GSmO6X6LUn|eqXUrZBV;w<>_UaLZ=wknwB+qdvw7N@7kiWQ&z14JV zvLr}<3a*!`wptY#tF&QteUTs98P&Jb8O0BBN7NMx?d#8!J~yyED&EO!LV5-1@##FB zU{$k?j#%&{d*?86!tH|VR7v>-j`03E(+9z!h}o?93A{=ri;2r>&(L{B6}>EbJnNlI zo>=L7|29I1gY)jY($D6ObnY<5kdeB5KQVZOC>s*qgBmX6;>baxuhEyWfgxc(2n02o z8owJ~H^Dd@1}6S%z|*|57P3z zzTnoyTk+rNtLqDFTqPkgAZ*AkckVcK-}UJ}L(_|Zb}k6_yF4+-hl`J6XlO{<)T_pc zWUaVf!_E^cN9^6w#vM4L{9z&Hb_vB-cv2Savlo>E8BV63Jq|9+>AhO3Gi1i%Y5h(>n?-6Mgs0V7MuPfo}jne=0e^C;3c*1-!O zhWjb06>VotaCY2Ja}Zu|u56sw_mCN%ZE&kA!77TQ3^&)kTs)Dwf~=ESwvr20pE(}X z-&odrek(2cKaXb(%(CAPrICn2Y#}o5>JpupV>Pg24Q?;lRP5y;miEYygoqZRFIe9M z1|=aV`ytFM56D=@rW4?!Le0%c&)G2y#im}*0wJ({nGmgcB^5h@Sa)T-^_m$8Tt|@@r1(U)B|T0y?>oK2@LDqQYuO7kOnuKMq?HUkc{@Q3-QnTWMZc!N69<5W+xp& z1)8|AJ{MW`mZ0l=O5(mL9khYLG>z6hKZ7vm7q^BcvT??@Ho1ykru7Y?&$~^57G|!O z$^12qaiZH8cHJ$Ks@qV!nL^zfIrq>RP($d0yuYmdlN}c>-x`avO|sH0xILRs{a4qL z?F0Q2iO{V2*^%wtK*T&&=O3%8nxZ%DiaEI0yQ6}en#PwJr_zTS*U}T5SOWWkWgQarW-770Qcb0x3n4&YLE>;-O!%DGoZWjjnux}+BQf`!c2EP5r? z)UGCR>hgyCQX-zjg>!F3ptzSoNW>~xu)^j*(Vu97U%SJ{#eiWlqQfR3fQ_DCCknFA|99=-B0;6~)HDc0oZ^}F}gE?uP)XD}j5x%-qtIJEkRPF7P2{&+35Tr6?L z`7Db`iZtkF0M*lt@KT~YT&l9+SOk`w2wND1J6&+<+d~fSh^zlVt+O>RCxMm1aYr#% zA|x&Fbxd(c;&GJ4%9|uVYMFH<95OV}jZSqai8EJZm0>O3BVq7R|5Rt*7d?1Kskcl* zk!ijRkv-&VtbP;5bj$31g7}VY8><0t0HS(UJ){dl!IM#)XG6)>R$*z)V~|o-Jzv#hrmxFOI4o+wn4DUm96JOl zSpBRjdv4El9BM8xz}NHrPwpGC++;r_f|V;vR13op+01%)H>}D)-K+_isff;%E(@&2 zH}-xciAzTn_VC*;aGysWAwtHnutd@nCDmO$sYVY1@gyDdkz3JaY`hZ84GDsW2DOpK zy1!(1^Ie&>@HKCaG%31ktHJM(%kQa?QNqGz9oojakncmJW8>j})XMBPz% zLSiE+(jv@mpsVM#Rlim__#REN=gH@g>kaN?0YRjxmNF>ZZRnOH=349x* z>u6-EHvM(btvgvSDQV7dx?jFsJ*BUD#A}!^{VVI3H&QeVqaB;_@XJ9a26M{@%%CIL zUKU9sy_-!3>*sR)6orNMIiI9bNbGhB(4I)_<&b>68#B8a`AWfEViK1XBbXqqKn%S! zffb=hD{pS8!q*Cgx>U0^$ClbUJ>)VsD5H$Z4c1{2Gq|%l+8j5ye#T?#-xFVd(?wk? z;<>?n8#QCV7_(JrAe5wF9&|}67h_1-rW#g4kx>*j;Th60k}p>B{LMtJ_Zj~u6%HLd zdm{#H`o#Ujy0otj*TSBgt7O4T8mvp=FiyWpYMI6 zcO$fs`p=`*3$9~K^i|sQk*cPqzB}HUu3%n;qS7N+BF&``BgR+j_u*#wC!=$2gU?#s zUl|Fr3+(Jnu<3C!>G*ly-|h@^1U|>knYfEk_5tYLVlE^ru^g|{B=*6_clBp%Xb)9} zzi0?jLw7oZ_J4K~$zTZcb1thhKi%wmN_`etAv~nV#Miro)p>+(?>i*7vqq&2>Y9ja zqzQX+En!r|(fzeNr4|TOC7RJzGiH%!Rb1iGf4*a5z%_V|mLYtiYYmkdGN>)-bdZf+ zaOCJII&Z>YmZ`JVlkv9`qd(*RO<$Z_w>4fzSt`Y>#2n{5-xOVmsbSC}*~P#XWoGtXiSnbZG!e+u z4)TM{i~q_pyA4{(X)#G{g{(RC$FW-9=hhwO&F98#DTAFGb?}Xy4p4RFZajqZ#j5p_ zd6dhP(pQw5gA23AduwG%tjWdmjdhdOf%yTWsFm8j8^jM~bbZ|y_N-``u76Zl@rq}t z`L%0xAZgV=_|OgWs)@RZqIfA5!5~>8GV%~}B*ZX*YMtSvtdhgFh+GQjy>5uJX7!q; zkl2^pt#Rj6?_TKLsw7*22!I8lDaPWYu8+L%GVeRX%tTStw`{=Gg{a)JsDe#i>~Tf2 zWdZ{E-~}zn8y5xi!CZsr{1um4_8eK^dIRpC!$OL zY=)Vu$1-MEV6<;KwBXA7qt2VzYt$h#!|grqTvsVh58MX3D3v&aJ)RZEDEx@0YNMU@ zgVu#}+MBS;0u(+^4W zbn;XNzk07Mgr6R1d~AYc%C@K&49TYwsTKu0(H$u?6S{_dcwF}`Wk{nUsZF)-vqGDZ zh$c^EI4;X;)t~Pq@1f3w&vLT~_IR-|scAnSva1rx0F6k0q}1wNM3ojW-h}9MOOvUn zkgJcT;+BvHv#K_P*HRrD?7ATuEb0O=#*fJRKEJ!U@sS)QNj2{oeRY)sT<|`cVXO+= z6+Uy>${!n42K($EFo;spjr*7>PGO#~Jg59DP>Gv5w|`!2k0p60TVKYUeI2N6(F_^* zqAJuUHT-1t2WwI3m^2=rkCOq-psRxSZ4I2=9+ZFk?*^{;V39 z3Gci!DuF&U7BVo;2u$^4JbUj!Gfgamb?$Xkt+x@f`>(0TkLqD&oQ!^sC2uthKlPyd z%~o6Vlv2v;%5HM~(FibPmc$^A9^B4p=skrSl^vB`z^0%`v7a!ac!Lsdvgbr2LVrA{ zQcn;$fsfX=iR$n&(EXf8Ku(Xk6@r} z?@?vy`EPJ*RHCNF=7|0>)!$&sJ6SxE%SjzHx+V`#Jxm+Bpt*b{3VNO$(tz5RP+2NtHpxDydG&(d z2=o18_;`pz`9BmS)W=0C1}!lN`!0!IZK-{EAa|LQaJo~#;Wgg6K`U=fL~854ZTSnY58F(j%Lsd*`;8wDzN#0=`Ya&bPWH|1%J7?^iU=| zsR5M!VEG2~<-=MEt#0;SWrFo&hs(mq z#g@}WHpV|?3k6DLJ1D%&g-$`6lnR~ua}*UXU5$gOpJEBTOq+u+9oA#ZIJ-2@s^HZv*b>ArXfb1?RUx19-Y&&)h2TE+m>%*0d=KE}A= z3u`lpL*C*y!+mnR4;f{8JX@fjFpj3UFq(3zTB0ysI%WjB97SMSa(7g=7xS-2n5{f- zt5p$#@;G^iNhP!$B!KZl0|1wSl8osJwcy|@w%q;Xwxi<796t}w-k!w*-J_5Z!jAPT0k($cn4=k z?LwoiWDj05v6F%j=H7{p3up*Nz#-tA$j56lO37ckqarW;pyASeRo#feM_`r#`x-p# z`}o9g5&UUs*f(1hfWyX&o(e@4)e7C9h0Mi!4Q_OCCXRl3@#>g1gFk-)Cj5VU&kmoT zXciecFzdca?&hHV&R!0DYm0BR23!9n36v1*fi+C+2Zn+%#a&1JJOh;kVvIHv$K^wvvULgNG3roDA}es(U{}v zk%}LUki(|_3I`YTJZKRQ?>343aW5rucVg0vR}q9vCO$2X!Uz0ediY2l}#B zXkS?3`|pK4*qV{0PatOzyV-L!K2`jLZUZqpmH*)f;TD=OF+M3rZ!}V3mJ|IB*>^S2 zmr%|3{l||V73#5Tk3I?hqZjtDoc0_lH*sB}^om=#H>tJ%)1QJV? z=>$Cf_{FP-hu+b%7yqCbMe{e3so&Vfr}dZC*7CAh&!YrS;sxgG;%YECDc_90eekWi zi&w`D(h-;?Fk3XXY7{2pk=(6sy(Ch%NwD1JG9+!Pc6tg=1o`D(f7Kh{-If}oJZC7d29Gyo+9j_p$3+!W9ySdPXoHPsL4=b_wqt8$lT%-o?864 znoOd_?lHI*;Q{V?-$i_iPjQzf2Axv2)TFS<1yDaNkb4p^!Ol4HX@0nI5axqa8I+lc zH@iqA!cKf3JoPg*CaEcdDzk}ki;OSWSxC>~xx!HJB`}RtozlR&>x@D|(d|(R|0(5_ zfOtqU)D!8-#FI;|Mm8&%bX*zbs8}9GXZ|EBH5&bryiH&j@>WXeJL|GmN<_hV=Eu!# zr;0~J%|(fpr-8@CxrhI?R~RHYa2T+ph1&atkoJ>@-tj+Q9(pf+{OjSv)?1&^fE)yH&MI?|{W zn%~JT8R}wD&R;4K%7q6U7N1N~Z~-ymGoFGII*oB*ZIWRz5)*Nl8U<=cmkHFwW0+K+ zcDJznhBd@22v&1GKrC0$^F=g?-xr8MYqa$%;7q%3Q%;uN6B!f8&LB|)g4t?G=a0op zqc|RE)~)?~Y`_FG-w#xbaJc>=;&-+QgxLI<%W{KoARjH}I zv~JBI*fh(I%8MmU$KSmuc}K`qt>v^n$=#bOj;dIHtx7X99OU{DjjrrKw3u*ki2Hy) zDbK1zwDtQ$7&qAzWC1S}C*wX|()<_bWAi(_)-s}LL=VdIbldi68Jt2iV5d+-1?td& zJ}WRp7fIxEKAAExFk%u+0VTzcVBVgi8&Mzz^Yo5mq^bs?{qavvkI>ZEqi{@&+qT#$ z21y|)nO=e#3MlKoD6(jLu}wzKSFWo(%(=;+& zQAW`E@*$n`Ga8ZMqZSd%IlTADrp!C~VLj_q5Bwt|v~&lokdd94l&LoXDDbc}dh=O~ zBW>&5pUzIzN}wmxc#F%48w5um6m{H>Y`d_;l3^WR^_L#4l1^coo12qsWjfgA0{B$d z+}0luBc<$r@mTOvR@ZIqRbL0*d={Ph!KG$0ldH#PlhHb8N)kztP>SUiY}gVpjA^2i z2-q?^S8y1Gr+BDacEAUPP$x2qD^G~qKo7xi0!{_V6(F5FPE#(egE!=(3zT<|Pp&em z>0wYLe@xV5>?Z<)W&~KAvg^#at!vVyQTQs!0R7^E6@s=$T?XmFKOXMt$F1!f$bZ<} zYPEXRKUdY4WkqeFt)hOZuJ-ea_eFjLv|a-wd7|U}4caL$v0oMJStHb{&_&tJqJLj8 z$eRbZG%%Tun$z|*+Iwr`2K~rwnNrKZ?R=yxEgLdMbTDazk3#9NEU74IJ4+dm;g~gI z6e?2LWDD>X|9vU45Cxqq`3P{&UvLOt4zJpFyG9LxD?g&v{3;9IFuCK>I@Vh} z$%0k~;$#kfia=NsxH33prH^(Wg*(pTB}K1jBg!6AD}+a6+BF__#+E6M`|Kj2m{%5+ zq2+oCj-iZg5ysq37Nl?FYjZU zFdUD^fi(_(=X!YFuC^*}_ib7g*VcN!D=zD*WH~uEd3Fy)7~0we4n*iz!U%K0*}m1U zdvVYBVWLr_xaI|FmsxIG`{be&j9D$l_qPWt=6;P~nMRf}vDw1Xt z^!_NCPIRcm-_7e+Xe9785rr}<`-;=Jv9U*>ln8iAt%h*D$t&8>NWna~zCjq3CRQ=b zmbUjm%}~B!M{4yF2Wm`^<)&4F!`e`{^kz_DMR<4>SO=ThYv(6KFnh>$@wA1-(u@A* zepBCGM2+N7kk?*^2jnG>;BTLXbu@|!=IZZjL8@xhRwvB$7YVNcf-%S8Ne^(?qqX1& zT>04o3?J$ben*z}XsRd_oaUwXXmSBoo0i6 z;~rtd)QjTy17bzO&{=B3EGUFz9f;Ar2yHyZW9Vc4ZhQ89nTvbRw z?rG5DfYu_z6a&{GaJ__C6beRGmJMApK7kbI9&~v+`b9}Nk3-(KP&N+a5aeEVm6)wn zVsdLm<<5mo+)5|!N(qjc0pNy ztmd4=chqwiSc%%!SV)_I>i|3(_+pnqm1(-{+J^Lk*R`}^aDafbZA)4~ZFZ`y%Z-zP zCpmolbFnyWEuZU?;LMMce9;wp zjR~fCXhRc*T;^0re@)G69nyjR7JRHaEiFj$1D_lo<35jv2hW}zjf7_O!$WJoSYuJ` zdppG~2{0R|1w6TVrtD^`%cF<b)+W1UETZLH-G^@YFAnQw2$Qs!)khUzJ zvp^~7MPm-~oPZrvhHHD{j;!@|4`iEKno}v3hPyZ@lOh|as#xDmE|(ffX~C40@b%$5 z$|WonEG?tpdXLbJzbj2F)&M_WaKn{K?-aL|cyqb>k>dFpg!Wk&PChtoF8I9`Z-LM0 zv|#iPH}d#Rrh%rjN&=vPQC6DVxNU5LO)8nsfRk&bU{}5_7i=@l6MYVq9xqPWCasR{ ze?_P*3sdHnU|Wopwy#=Eq3HB1iF790Xgua&w`{OnO~YSZW5yI_lyWN8XH(-$S3krP zcOFTp!W{^lK98#j7}0GMHT!?YGP{kHf$xrhQSaVlV_>;rF>T$;;m zEE+rgx7liD$UTX`{ee2hdE(a0`yq!+VQ5dc3fBeW`mgx4ZQDek;JN>wrEi#UwDbRJKqa=nGaZK2M3pEkg})$%0rVJ!FG;IX9I zuaVwcH!rqd zq4-9v{jG-zZ<^+Bc%I9TwOu&1q7Pam^%FcxQSV>l7v;W@da}}n0+}dKIBfQ#7S{C6 zY|Tq@8Qd~UN@t6iDb%SFLCz=RC@AO>(wC`R`@}c;YC8p1X+-LtRzW|3O|q^UOS@mp z_omtFdR^Ob_cn&}*nGhQQ5F^3E3U1_rLx*Q2$DHV$J9%DB_2?AVZL9mc)wd#tWIHV zHrvFAN0N;&;Rcu8nw$6~A06fOUCV<{pC3Cmom})AZg%E^`N&ks*>;em^`YAR*h2O+ z8u|*843-q1nVB+YEdEV1$X}%jAK>amdB9|eZT)1~R?$)3?6qx);aVR`BgW_P=tH&* z)@ta;6abb;1`-r<(ip06N252%X{w=nsn;dW$E=1AZtUubJHfQ>0Ce zZ6Tv7T$5EL|Hs6458Nz;j2T&FbTmv9!(j?-?v`gYtx>!ocX6#eo!CU@j={ftq@;d2%{_ssyufY^+W1Z(y@qj5Ja`Sb zckU;r)9B=0^-*PdW-C|J({brrAy2owDwuCVqs`fvZNa((wtGtwsS4AqfhYYg)E;x&yvnwu7JDN_^8+A!sj=2X5^$%o$b+=+qXHx z8wk;!G3c>MZT9IjohVd?lAUE+KCeAsZL2dD3rFf)r%x*MG|!E$p>Ih5laecItDM1# z0~boFs*wCsJpYYPe_&SP&dDAC8^z(CS5jVE`ldyQVz}wv_r!gl`c3P1R5bIF^M<0RLEBb^M^@!8Oso z=1tu4Ai^wTonF+SA3hro+EqmW&PQr_Ta;CS+#*z@Slq9)Ms01slIBZZb9l^JGo?WN zT05l;((8h}rPxYCswjIE(uU_5tl3n>S|z`2({Af6WKi?g^Wzu~fB>#nq7HsZt3hmM zf)?e&pD4hj_8LiEQA?e)vE+1iFW*F{f>M&$x2bpoW#6F2og1H!3*cq~Enn*RI^CaEs=&{RzWf z_67*Gi%4N>JjD~J{9rLl)6$WBw1tzJ9HsuL9W)%5ZOc66w@o-<89r~Wva zj%1pvWKrA%dS4#C5Ucm!`JSF{F&u zn-66tLUbfKJ?eGum1raVM!vI)->e2zr3zMVnq_TC4wSTLaEhuiT!2rSMkJ%n!4_b$2Co^$M8= z`-ggxeUFt9OIKwq4f3a znNmSKf}MJbyLF_E^WjR|z;0UIl9;7xpzu~EVu<}k5#u})In${B$uP)Y3S@)cmZFn8 zoNYcLFWV@o3?U*9(xcv1Od_QBySh4+zecz?nL?i%})WkDs8kugD9aV1#QlfMvoIZ*f|HK}mDwo8d4;u-n)Rd8MEhLa-xwPQ|u_Ygtj;qq>L9kV*br_es|3+J} zw_OQG)f1{+RJ1Iv&Q@*H%A-mEkRc=a2F*Y88KG0{|rGIEWv8 zmCr2G?UkM9_DPdGP`|ql{Z_dI1x)8cdvX#OxJ6@> zNpcUh`9l>eD>qvPcMbD8^U2~@U1)OzW;$XDo&_j{f@yy!KYw?)w?P7O5_*rjsNUpp zHCcf|m#O_p)^3yDs70?sN;2!ZS8ZKS3QhG$GM51s@Llre-yYF{T2|^5*&E-?_bN7YAm(&3Eoytxu zqJjh9v}MZK{D$G9dRcQ=SF5UB-)I0WqJoLG$pr5YvsZH6*!f}J1C<50Zm+p{p(-t| zeBFjTQ83er=*kyg01s9ESN*9!^{4*SpZZgO>QDWtKlP{n)SvoOf9g;DsXz6n{?woP iQ-A7D{i#3or~cHR`cr@EPyP7=ef~c^UE?tT015ybPpmKi literal 0 HcmV?d00001 diff --git a/benchmarks/native_property_get/evidence/parity.stdout b/benchmarks/native_property_get/evidence/parity.stdout new file mode 100644 index 0000000000..afc75a2cbf --- /dev/null +++ b/benchmarks/native_property_get/evidence/parity.stdout @@ -0,0 +1,42 @@ +inherited data true +shadowed data true +deleted shadow true +own undefined true +frozen prototype true +frozen own data true +own getter result true +own getter once true +distinct receiver true +distinct getter once true +inherited getter receiver true +inherited getter once true +data shadows getter true +shadow suppresses getter true +setter only true +proxy result true +proxy once true +proxy prototype true +prototype proxy once true +revoked proxy throws true +coerced key result true +coercion then getter once true +symbol key true +private-looking string true +long key true +inherited class static true +private field true +class expression static true +closure expando true +array expando true +array length true +typed array index true +date constructor true +regexp expando true +regexp lastIndex true +regexp accessor true +regexp getter once true +inherited toJSON getter receiver true +toJSON getter once true +toJSON method once true +noncallable toJSON true +native property Get parity passed diff --git a/benchmarks/native_property_get/evidence/runtime-source-sha256.json b/benchmarks/native_property_get/evidence/runtime-source-sha256.json new file mode 100644 index 0000000000..b694018dc0 --- /dev/null +++ b/benchmarks/native_property_get/evidence/runtime-source-sha256.json @@ -0,0 +1,9 @@ +{ + "crates/perry-runtime/src/json/stringify.rs": "9ca55d9bb6ce1903a6fb53958601c6e42fc952ab093d5cbd598768212f4041bc", + "crates/perry-runtime/src/object/field_get_set/get_field_by_name.rs": "7fdde1279dcc2ab18ef17dd59b55d483a47e40d14d64cd94352cbf1ddc174067", + "crates/perry-runtime/src/object/mod.rs": "7c5950f1320cd07d3dfbceb4e27a81c3cfe994fce92b8e0eaa60e0a7c25d79c8", + "crates/perry-runtime/src/object/native_get.rs": "cf4e83f0e00ba10a51f759ccf487c1a5d3aec2d00dce836e80a00f7b11f19727", + "crates/perry-runtime/src/object/native_get/tests.rs": "d423834bdf4a2a054efc1003fca777bdf2f8fb89c4d93ec4fe3f809c81507e4d", + "crates/perry-runtime/src/proxy/reflect.rs": "32c75ac50727e3bab55c9433a603c7debce999732d1316f4288493457b2f6f45", + "crates/perry-runtime/src/value/dynamic_object.rs": "c27f4e02c6b498ce70299ba782a9dd31b8dc38ba4fa4dca3d2e18ee558c59f19" +} diff --git a/benchmarks/native_property_get/evidence/validation-logs.tar.gz b/benchmarks/native_property_get/evidence/validation-logs.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..3550f98a82e626168d5039b0ccf0d078e83436a8 GIT binary patch literal 153331 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

!U{V+PQJR+NHb5QXN=ERVqR}6)tj#zQg5uSu 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ʻ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

L_!bEBPJY8 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

KSjNC8^H9NK$lj{fm?b4IR)Nd3IQ`^v?oaU&qf= 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 ynm= count; + result.value = index++; + return result; + }, +}; +const iterable: any = { [Symbol.iterator]() { return iterator; } }; +let sum = 0; +for (const value of iterable) sum += value; +if (sum !== count * (count - 1) / 2) throw new Error("iterator mismatch"); +console.log(sum); diff --git a/benchmarks/native_property_get/measure.py b/benchmarks/native_property_get/measure.py new file mode 100644 index 0000000000..e9b33defe9 --- /dev/null +++ b/benchmarks/native_property_get/measure.py @@ -0,0 +1,166 @@ +#!/usr/bin/env python3 +"""Compile checked probes, count Linux user instructions, and fold attribution.""" +import argparse +import collections +import hashlib +import json +import os +from pathlib import Path +import re +import shutil +import statistics +import subprocess + + +PROBES = { + "reflect_own": 200000, + "reflect_proto": 200000, + "iterator": 200000, + "thenable": 20000, + "tojson": 100000, +} +GET = re.compile( + r"js_reflect_get|js_object_get_field_by_name|js_dynamic_object_get_property" + r"|get_field_by_name_object_tail|native_get::" +) + + +def digest(path): + with path.open("rb") as stream: + return hashlib.file_digest(stream, "sha256").hexdigest() + + +def run(argv, **kwargs): + return subprocess.run(argv, check=True, **kwargs) + + +def fold(stream): + # Same root-to-leaf frame order as repro/tonly/fold.py. Preserve perf's + # sample periods as weights, including a shortened final sample period. + stacks = collections.Counter() + frames = [] + period = 0 + for line in stream: + if not line.strip(): + if frames: + stacks[";".join(reversed(frames))] += period + frames = [] + period = 0 + elif not line[0].isspace(): + match = re.search(r"\s(\d+)\s+instructions:u:", line) + if not match: + raise ValueError("unexpected perf sample header: " + line) + period = int(match[1]) + else: + parts = line.strip().split(None, 1) + if len(parts) == 2: + symbol = parts[1].rsplit(" (", 1)[0] + frames.append(re.sub(r"\+0x[0-9a-f]+$", "", symbol)) + if frames: + stacks[";".join(reversed(frames))] += period + if not stacks or not sum(stacks.values()): + raise ValueError("perf produced no instruction stacks") + return stacks + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--runtime-dir", required=True, type=Path) + parser.add_argument("--out", required=True, type=Path) + parser.add_argument("--node", default="node") + parser.add_argument("--smoke", action="store_true", help="compile/parity only") + args = parser.parse_args() + source = Path(__file__).resolve().parent + repo = source.parents[1] + runtime = args.runtime_dir.resolve() + perry = runtime / "perry" + out = args.out.resolve() + out.mkdir(parents=True, exist_ok=False) + env = dict(os.environ, PERRY_RUNTIME_DIR=str(runtime), + PERRY_CACHE_DIR=str(out / "cache"), PERRY_NO_TELEMETRY="1") + # LLVM-built runtime DWARF can exceed the host binutils reader's support. + # Keep this override local to the run, including perf record's postlude. + addr2line = shutil.which("llvm-addr2line-22") + if addr2line: + config = out / "perfconfig" + config.write_text(f"[annotate]\naddr2line = {addr2line}\n") + env["PERF_CONFIG"] = str(config) + node_version = run([args.node, "--version"], capture_output=True, text=True).stdout.strip() + if node_version.lstrip("v") != (repo / ".node-version").read_text().strip().lstrip("v"): + raise ValueError("Node version does not match .node-version: " + node_version) + patch = run(["git", "-C", str(repo), "diff", "--binary", "HEAD"], capture_output=True).stdout + (out / "source.patch").write_bytes(patch) + metadata = { + "commit": run(["git", "-C", str(repo), "rev-parse", "HEAD"], + capture_output=True, text=True).stdout.strip(), + "node": node_version, + "source_patch_sha256": hashlib.sha256(patch).hexdigest(), + "artifacts": {name: digest(runtime / name) for name in + ("perry", "libperry_runtime.a", "libperry_stdlib.a")}, + "probes": {name: digest(source / (name + ".ts")) for name in PROBES}, + } + (out / "metadata.json").write_text(json.dumps(metadata, indent=2) + "\n") + results = {} + for name, default_count in PROBES.items(): + count = 100 if args.smoke else default_count + ts = source / (name + ".ts") + binary = out / name + with (out / (name + ".compile.log")).open("w") as log: + run([str(perry), "compile", str(ts), "--no-auto-optimize", "--debug-symbols", + "-o", str(binary)], + env=env, stdout=log, stderr=subprocess.STDOUT) + expected = run([args.node, "--experimental-strip-types", str(ts), str(count)], + capture_output=True).stdout + actual = run([str(binary), str(count)], env=env, capture_output=True).stdout + if not expected or actual != expected: + raise ValueError(f"{name}: Node {expected!r}, Perry {actual!r}") + (out / (name + ".stdout")).write_bytes(actual) + if args.smoke: + print(name, "parity passed", flush=True) + continue + counts = [] + for repeat in range(3): + stat = out / f"{name}.{repeat}.stat" + run(["perf", "stat", "-x,", "-e", "instructions:u", "-o", str(stat), + "--", str(binary), str(count)], env=env, stdout=subprocess.DEVNULL) + rows = [line.split(",") for line in stat.read_text().splitlines()] + counts.append(next(int(row[0]) for row in rows if len(row) > 2 + and row[2] == "instructions:u")) + data = out / (name + ".perf.data") + with (out / (name + ".record.log")).open("w") as log: + run(["perf", "record", "--no-buildid", "--no-buildid-cache", "-m", "64M", + "-e", "instructions:u", "-c", "500003", + "--call-graph", "dwarf,16384", "-o", str(data), "--", str(binary), str(count)], + env=env, stdout=subprocess.DEVNULL, stderr=log) + if "lost" in (out / (name + ".record.log")).read_text().lower(): + raise ValueError(f"{name}: perf lost samples; attribution is incomplete") + with subprocess.Popen(["perf", "script", "--no-inline", "-i", str(data)], + stdout=subprocess.PIPE, text=True, env=env) as process: + stacks = fold(process.stdout) + if process.wait() != 0: + raise RuntimeError("perf script failed") + with (out / (name + ".folded")).open("w") as stream: + for stack, weight in stacks.most_common(): + stream.write(f"{weight} {stack}\n") + total = sum(stacks.values()) + get_weight = sum(weight for stack, weight in stacks.items() if GET.search(stack)) + if not get_weight: + raise ValueError(f"{name}: no Get frames; verify symbols and probe coverage") + leaves = collections.Counter() + for stack, weight in stacks.items(): + if GET.search(stack): + leaves[stack.rsplit(";", 1)[-1]] += weight + results[name] = { + "iterations": count, "instructions": counts, + "median": statistics.median(counts), + "binary_sha256": digest(binary), "sampled_instructions": total, + "get_inclusive_percent": 100 * get_weight / total, + "get_leaf_percent_of_program": [(leaf, 100 * weight / total) + for leaf, weight in leaves.most_common(20)], + } + (out / "results.json").write_text(json.dumps(results, indent=2) + "\n") + print(name, results[name]["median"], results[name]["get_inclusive_percent"], flush=True) + + +if __name__ == "__main__": + main() diff --git a/benchmarks/native_property_get/reflect_own.ts b/benchmarks/native_property_get/reflect_own.ts new file mode 100644 index 0000000000..e3f788f2c3 --- /dev/null +++ b/benchmarks/native_property_get/reflect_own.ts @@ -0,0 +1,7 @@ +// Runtime Reflect.get entry, with an ordinary own data property. +const count = Number(process.argv[2] || "200000"); +const object: any = { value: 7 }; +let sum = 0; +for (let i = 0; i < count; i++) sum += Reflect.get(object, "value"); +if (sum !== count * 7) throw new Error("own data read mismatch"); +console.log(sum); diff --git a/benchmarks/native_property_get/reflect_proto.ts b/benchmarks/native_property_get/reflect_proto.ts new file mode 100644 index 0000000000..fd45556cfd --- /dev/null +++ b/benchmarks/native_property_get/reflect_proto.ts @@ -0,0 +1,7 @@ +// Same read through two explicitly recorded ordinary prototype links. +const count = Number(process.argv[2] || "200000"); +const object: any = Object.create(Object.create({ value: 7 })); +let sum = 0; +for (let i = 0; i < count; i++) sum += Reflect.get(object, "value"); +if (sum !== count * 7) throw new Error("prototype data read mismatch"); +console.log(sum); diff --git a/benchmarks/native_property_get/thenable.ts b/benchmarks/native_property_get/thenable.ts new file mode 100644 index 0000000000..6ad27063ee --- /dev/null +++ b/benchmarks/native_property_get/thenable.ts @@ -0,0 +1,14 @@ +// A positive then lookup; the existing negative-then probe cannot serve it. +const count = Number(process.argv[2] || "20000"); +const thenable: any = { then(resolve: any) { resolve(7); } }; +let sum = 0; +let completed = 0; +for (let i = 0; i < count; i++) { + Promise.resolve(thenable).then((value: number) => { + sum += value; + if (++completed === count) { + if (sum !== count * 7) throw new Error("thenable mismatch"); + console.log(sum); + } + }); +} diff --git a/benchmarks/native_property_get/tojson.ts b/benchmarks/native_property_get/tojson.ts new file mode 100644 index 0000000000..532ffe260c --- /dev/null +++ b/benchmarks/native_property_get/tojson.ts @@ -0,0 +1,11 @@ +// A positive inherited toJSON lookup on every stringify call. +const count = Number(process.argv[2] || "100000"); +const object: any = Object.create({ toJSON() { return 7; } }); +let sum = 0; +for (let i = 0; i < count; i++) { + const text = JSON.stringify(object); + if (text !== "7") throw new Error("toJSON mismatch"); + sum += text.length; +} +if (sum !== count) throw new Error("stringify count mismatch"); +console.log(sum); diff --git a/changelog.d/native-property-get.md b/changelog.d/native-property-get.md new file mode 100644 index 0000000000..93a0099906 --- /dev/null +++ b/changelog.d/native-property-get.md @@ -0,0 +1,10 @@ +Speed up native property Get for ordinary own and prototype data properties. +The shared lookup borrows keys and checks shape and accessor metadata before +returning, while getters, proxies, class statics, and exotics retain their +existing dispatch. JSON.stringify reuses a canonical toJSON key. + +Linux user-instruction counts decreased 71–78% in Reflect.get probes, 12% in +positive thenable assimilation, and 43% in inherited toJSON serialization; the +user-iterator control was unchanged. Differential tests, Node parity, fault +injections, and measurement/validation receipts are recorded in +benchmarks/native_property_get/REPORT.md. diff --git a/crates/perry-runtime/src/json/stringify.rs b/crates/perry-runtime/src/json/stringify.rs index e68a0f40be..f768849c94 100644 --- a/crates/perry-runtime/src/json/stringify.rs +++ b/crates/perry-runtime/src/json/stringify.rs @@ -273,19 +273,17 @@ pub(crate) unsafe fn object_get_to_json(ptr: *const u8) -> Option { let scope = crate::gc::RuntimeHandleScope::new(); let recv_handle = scope.root_nanbox_f64(recv); - let key = js_string_from_bytes(b"toJSON".as_ptr(), 6); + let key = crate::string::canonical_key(b"toJSON"); let key_handle = scope.root_string_ptr(key); - let obj_ptr = recv_handle.get_nanbox_f64(); - let obj_ptr = (obj_ptr.to_bits() & POINTER_MASK) as *const crate::ObjectHeader; let method = key_handle.with_const_ptr(|key: *const crate::string::StringHeader| { - crate::object::js_object_get_field_by_name(obj_ptr, key) + crate::object::native_get::get_by_canonical_key(recv_handle.get_nanbox_f64(), key) }); // Only treat it as toJSON if it actually resolved to a callable closure // (POINTER_TAG + closure). A plain object with no `toJSON`, or a `toJSON` // data field that isn't a function, returns `None` → serialize normally. - let method_bits = method.bits(); + let method_bits = method.to_bits(); if (method_bits & 0xFFFF_0000_0000_0000) != POINTER_TAG { return None; } diff --git a/crates/perry-runtime/src/object/field_get_set/get_field_by_name.rs b/crates/perry-runtime/src/object/field_get_set/get_field_by_name.rs index 721af36d12..5032f7d384 100644 --- a/crates/perry-runtime/src/object/field_get_set/get_field_by_name.rs +++ b/crates/perry-runtime/src/object/field_get_set/get_field_by_name.rs @@ -27,6 +27,9 @@ pub extern "C" fn js_object_get_field_by_name( obj: *const ObjectHeader, key: *const crate::StringHeader, ) -> JSValue { + if let Some(value) = unsafe { super::super::native_get::try_data_get_by_name(obj, key) } { + return value; + } // Guard hoisted to the call site: an ordinary key is rejected on a length // compare and one byte here, so the overwhelmingly common property read // makes no call into the private-member path at all. diff --git a/crates/perry-runtime/src/object/mod.rs b/crates/perry-runtime/src/object/mod.rs index 2460f50b2f..3870a0d455 100644 --- a/crates/perry-runtime/src/object/mod.rs +++ b/crates/perry-runtime/src/object/mod.rs @@ -135,6 +135,7 @@ pub(crate) mod iterator_prototypes; pub(crate) mod map_set_subclass; mod namespace_create; mod native_call_method; +pub(crate) mod native_get; mod native_module; mod nm_namespace_hooks; pub(crate) use native_module::class_instance_has_member; diff --git a/crates/perry-runtime/src/object/native_get.rs b/crates/perry-runtime/src/object/native_get.rs new file mode 100644 index 0000000000..c674092e5b --- /dev/null +++ b/crates/perry-runtime/src/object/native_get.rs @@ -0,0 +1,171 @@ +//! Callback-free positive Get for ordinary data properties. +//! +//! Every pointer and key borrow below is confined to a lookup that cannot +//! allocate in the JS heap, collect, or invoke user code. A miss is NOT an +//! absent-property verdict: the caller must run the existing generic Get. + +use super::{shapes, ObjectHeader}; +use crate::value::JSValue; + +/// Read using an already materialized property key. String keys, including +/// inline strings, require neither ToPropertyKey nor another key allocation. +#[inline] +pub(crate) unsafe fn try_data_get(receiver: JSValue, key: JSValue) -> Option { + if !receiver.is_pointer() || !key.is_any_string() { + return None; + } + let mut scratch = [0; crate::value::SHORT_STRING_MAX_LEN]; + let bytes = crate::string::js_string_key_bytes(key, &mut scratch)?; + try_data_get_bytes(receiver, bytes) +} + +/// Raw-pointer sibling for the named-field ABI, which accepts both raw and +/// NaN-boxed object pointers. Reject other encodings before touching memory. +#[inline] +pub(crate) unsafe fn try_data_get_by_name( + object: *const ObjectHeader, + key: *const crate::StringHeader, +) -> Option { + if key.is_null() || !crate::value::addr_class::is_plausible_heap_addr(key as usize) { + return None; + } + if (*key).byte_len > (*key).capacity || (*key).byte_len >= 1 << 28 { + return None; + } + let bits = object as u64; + let receiver = match bits >> 48 { + 0 => JSValue::pointer(object as *mut u8), + 0x7FFD => JSValue::from_bits(bits), + _ => return None, + }; + let bytes = + std::slice::from_raw_parts(crate::string::string_data(key), (*key).byte_len as usize); + try_data_get_bytes(receiver, bytes) +} + +/// Borrowed-name API for native callers. The keys lookup is consult-only: +/// it never builds a shape index, materializes a key, or resolves a builtin. +#[inline] +pub(crate) unsafe fn try_data_get_bytes(receiver: JSValue, key: &[u8]) -> Option { + #[cfg(test)] + if FORCE_SLOW.with(|value| value.get()) { + return None; + } + if !receiver.is_pointer() || key.first() == Some(&b'#') || key == b"constructor" { + return None; + } + // Descriptor summaries use the same byte hash. Invalid UTF-8 stays on + // the WTF-8-aware slow path; no String is allocated for ordinary keys. + std::str::from_utf8(key).ok()?; + let accessor_bit = 1u64 << (super::key_bytes_hash(key.as_ptr(), key.len()) & 63); + let mut object = receiver.as_pointer::(); + let mut inherited = false; + for _ in 0..32 { + let addr = object as usize; + // Headerless Buffer/TypedArray/foreign handles must never be read as + // GcHeader-bearing objects. As in the existing own-field fast lane, + // require positive arena membership before inspecting the header. + if !crate::value::addr_class::is_plausible_heap_addr(addr) + || crate::arena::classify_heap_generation(addr) == crate::arena::HeapGeneration::Unknown + { + return None; + } + let header = crate::value::addr_class::try_read_gc_header(addr)?; + if header.obj_type != crate::gc::GC_TYPE_OBJECT + || header.gc_flags & crate::gc::GC_FLAG_FORWARDED != 0 + || header._reserved & crate::gc::OBJ_FLAG_TYPED_ARRAY_PROTO != 0 + { + return None; + } + let descriptor = shapes::object_shape_descriptor(object)?; + if descriptor.object_kind != shapes::ShapeObjectKind::Ordinary { + return None; + } + let class_id = (*object).class_id; + // Positive membership, rather than a blacklist of native class ids. + // Synthetic function/Object.create ids occupy the allocated prefix + // of this counter's range; reserved native ids are outside it. + let synthetic = class_id >= 0x8000_0000 + && class_id < super::NEXT_SYNTHETIC_CLASS_ID.load(std::sync::atomic::Ordering::Relaxed); + if class_id != 0 && !synthetic && !super::is_anon_shape_class_id(class_id) { + return None; + } + if crate::process::is_process_env_ptr(addr) + || super::is_arguments_object(object) + || (key == b"toJSON" && crate::perf_hooks::is_perf_entry_object(object)) + { + return None; + } + let meta = (*object).meta; + if !meta.is_null() && (*meta).elements != 0 { + return None; + } + // A data slot can remain underneath an accessor. A clear Bloom bit + // proves no accessor for THIS key; collisions conservatively decline. + // Same summary as descriptor_state::may_have_descriptor_entry; the + // receiver has already been classified, so do not classify it again. + if meta.is_null() || (*meta).accessor_key_bits & accessor_bit == 0 { + let keys = descriptor.keys as usize as *const crate::array::ArrayHeader; + if !keys.is_null() { + if let Some(slot) = + super::keys_find_slot_by_bytes(keys, descriptor.logical_key_count, key) + { + let value = super::field_get_set::object_field_at_with_live( + object, + slot, + descriptor.live_inline_slot_count, + ); + // Legacy inherited resolution treats undefined/null as + // misses at some class edges. Preserve that fallback, and + // the f64 entry's native-handle alias on undefined reads. + if (inherited && (value.is_undefined() || value.is_null())) + || (value.is_undefined() && super::native_this_alias::alias_active()) + { + return None; + } + return Some(value); + } + } + } else { + return None; + } + if !meta.is_null() && (*meta).prototype != 0 { + let prototype = JSValue::from_bits((*meta).prototype); + if !prototype.is_pointer() { + return None; + } + object = prototype.as_pointer(); + } else if synthetic { + // These are already-rooted per-class pointers, with no builtin + // name lookup or lazy construction. Declared prototype metadata + // has separate precedence and stays on the generic path. + if !super::class_decl_prototype_object(class_id).is_null() { + return None; + } + object = super::class_prototype_object(class_id); + } else { + // Default builtin prototypes may need initialization and can be + // replaced through globalThis. Do not resolve them under a borrow. + return None; + } + inherited = true; + } + None +} + +/// Spec Get for a canonical (pre-interned) string key and the same receiver. +/// The caller must keep both inputs live until entry. A fast hit is a leaf; +/// the existing Reflect implementation owns all handles on a slow read. +#[inline] +pub(crate) unsafe fn get_by_canonical_key(receiver: f64, key: *const crate::StringHeader) -> f64 { + let property_key = JSValue::from_bits(crate::value::nanbox_string_key(key).to_bits()); + crate::proxy::js_reflect_get(receiver, f64::from_bits(property_key.bits()), receiver) +} + +#[cfg(test)] +thread_local! { + static FORCE_SLOW: std::cell::Cell = const { std::cell::Cell::new(false) }; +} + +#[cfg(test)] +mod tests; diff --git a/crates/perry-runtime/src/object/native_get/tests.rs b/crates/perry-runtime/src/object/native_get/tests.rs new file mode 100644 index 0000000000..ddbbbc1bce --- /dev/null +++ b/crates/perry-runtime/src/object/native_get/tests.rs @@ -0,0 +1,272 @@ +use super::*; +use crate::object::{ + js_object_alloc, js_object_create, js_object_delete_field, js_object_freeze, + js_object_set_field_by_name, +}; +use std::sync::atomic::{AtomicUsize, Ordering}; + +fn key(name: &str) -> *mut crate::StringHeader { + crate::string::canonical_key(name.as_bytes()) +} + +fn boxed(object: *const ObjectHeader) -> f64 { + crate::value::js_nanbox_pointer(object as i64) +} + +fn object(name: &str, value: f64) -> *mut ObjectHeader { + let object = js_object_alloc(0, 0); + js_object_set_field_by_name(object, key(name), value); + object +} + +struct Slow(bool); +impl Slow { + fn enter() -> Self { + Self(FORCE_SLOW.with(|value| value.replace(true))) + } +} +impl Drop for Slow { + fn drop(&mut self) { + FORCE_SLOW.with(|value| value.set(self.0)); + } +} + +fn get(object: f64, name: &str) -> f64 { + unsafe { get_by_canonical_key(object, key(name)) } +} + +fn differential(object: f64, name: &str, expected: f64) { + assert_eq!(get(object, name).to_bits(), expected.to_bits()); + let _slow = Slow::enter(); + assert_eq!(get(object, name).to_bits(), expected.to_bits()); +} + +#[test] +fn own_data_is_served_and_matches_forced_slow_for_all_value_kinds() { + let _no_gc = crate::gc::GcSuppressScope::new(); + let child = object("child", 1.0); + let values = [ + 7.0, + -0.0, + f64::from_bits(crate::value::TAG_UNDEFINED), + f64::from_bits(crate::value::TAG_NULL), + f64::from_bits(crate::value::TAG_TRUE), + crate::value::js_nanbox_string(key("a heap string value") as i64), + boxed(child), + ]; + for value in values { + let object = object("value", value); + let fast = unsafe { try_data_get_by_name(object, key("value")) }; + assert_eq!(fast.map(|value| value.bits()), Some(value.to_bits())); + differential(boxed(object), "value", value); + } +} + +#[test] +fn prototype_data_mutation_shadow_delete_and_freeze_match_forced_slow() { + let _no_gc = crate::gc::GcSuppressScope::new(); + let prototype = object("value", 7.0); + let middle = js_object_create(boxed(prototype)); + let child = js_object_create(middle); + let child_ptr = crate::value::js_nanbox_get_pointer(child) as *mut ObjectHeader; + assert_eq!( + unsafe { try_data_get_by_name(child_ptr, key("value")) } + .unwrap() + .bits(), + 7.0f64.to_bits() + ); + differential(child, "value", 7.0); + js_object_set_field_by_name(prototype, key("value"), 11.0); + differential(child, "value", 11.0); + js_object_set_field_by_name(child_ptr, key("value"), 13.0); + differential(child, "value", 13.0); + assert_eq!(js_object_delete_field(child_ptr, key("value")), 1); + differential(child, "value", 11.0); + js_object_freeze(boxed(prototype)); + assert!(unsafe { try_data_get_by_name(child_ptr, key("value")) }.is_some()); + differential(child, "value", 11.0); + let replacement = object("value", 17.0); + crate::object::prototype_chain::object_set_user_prototype( + child_ptr as usize, + boxed(replacement).to_bits(), + ); + differential(child, "value", 17.0); +} + +static GETTER_CALLS: AtomicUsize = AtomicUsize::new(0); + +extern "C" fn getter(_closure: *const crate::closure::ClosureHeader) -> f64 { + GETTER_CALLS.fetch_add(1, Ordering::Relaxed); + 47.0 +} + +fn install_getter(object: *mut ObjectHeader, name: &str, has_getter: bool) { + let closure = crate::closure::js_closure_alloc(getter as *const u8, 0); + crate::object::descriptor_state::set_accessor_descriptor( + object as usize, + name.to_string(), + crate::object::descriptor_state::AccessorDescriptor { + get: if has_getter { + crate::value::js_nanbox_pointer(closure as i64).to_bits() + } else { + 0 + }, + set: 0, + }, + ); +} + +#[test] +fn accessor_bloom_guard_preserves_own_and_inherited_getter_calls() { + let _no_gc = crate::gc::GcSuppressScope::new(); + GETTER_CALLS.store(0, Ordering::Relaxed); + let prototype = object("value", 1.0); + install_getter(prototype, "value", true); + let child = js_object_create(boxed(prototype)); + for receiver in [boxed(prototype), child] { + assert!( + unsafe { try_data_get_bytes(JSValue::from_bits(receiver.to_bits()), b"value") } + .is_none() + ); + differential(receiver, "value", 47.0); + } + assert_eq!( + GETTER_CALLS.load(Ordering::Relaxed), + 4, + "one getter invocation per Get" + ); + let child_ptr = crate::value::js_nanbox_get_pointer(child) as *mut ObjectHeader; + js_object_set_field_by_name(child_ptr, key("own"), 53.0); + differential(child, "own", 53.0); + assert_eq!(GETTER_CALLS.load(Ordering::Relaxed), 4); + install_getter(prototype, "value", false); + differential( + boxed(prototype), + "value", + f64::from_bits(crate::value::TAG_UNDEFINED), + ); +} + +#[test] +fn unsupported_receivers_and_private_names_decline_and_preserve_results() { + let _no_gc = crate::gc::GcSuppressScope::new(); + let target = object("value", 59.0); + let handler = js_object_alloc(0, 0); + let proxy = crate::proxy::js_proxy_new(boxed(target), boxed(handler)); + let array = crate::array::js_array_alloc(4); + let array_value = crate::value::js_nanbox_pointer(array as i64); + js_object_set_field_by_name(array as *mut ObjectHeader, key("value"), 59.0); + let closure = crate::closure::js_closure_alloc(getter as *const u8, 0); + js_object_set_field_by_name(closure as *mut ObjectHeader, key("value"), 59.0); + for receiver in [ + proxy, + array_value, + crate::value::js_nanbox_pointer(closure as i64), + ] { + assert!( + unsafe { try_data_get_bytes(JSValue::from_bits(receiver.to_bits()), b"value") } + .is_none() + ); + differential(receiver, "value", 59.0); + } + let private = object("#value", 61.0); + assert!(unsafe { try_data_get_by_name(private, key("#value")) }.is_none()); + differential(boxed(private), "#value", 61.0); + assert!(unsafe { try_data_get_bytes(JSValue::number(3.5), b"value") }.is_none()); +} + +#[cfg(feature = "regex-engine")] +#[test] +fn regexp_expandos_and_accessors_remain_on_the_exotic_path() { + let _no_gc = crate::gc::GcSuppressScope::new(); + let regexp = crate::regex::js_regexp_new(key("x"), key("g")); + let regexp_obj = regexp as *mut ObjectHeader; + js_object_set_field_by_name(regexp_obj, key("value"), 67.0); + assert!(unsafe { try_data_get_by_name(regexp_obj, key("value")) }.is_none()); + differential(boxed(regexp_obj), "value", 67.0); + GETTER_CALLS.store(0, Ordering::Relaxed); + install_getter(regexp_obj, "value", true); + differential(boxed(regexp_obj), "value", 47.0); + assert_eq!(GETTER_CALLS.load(Ordering::Relaxed), 2); +} + +#[test] +fn borrowed_long_and_inline_keys_match_without_materializing_for_the_fast_read() { + let _no_gc = crate::gc::GcSuppressScope::new(); + for name in [ + "x", + "a property name longer than the inline copy buffer; keep borrowing through this lookup", + ] { + let object = object(name, 71.0); + assert_eq!( + unsafe { + try_data_get_bytes(JSValue::from_bits(boxed(object).to_bits()), name.as_bytes()) + } + .unwrap() + .bits(), + 71.0f64.to_bits() + ); + differential(boxed(object), name, 71.0); + } +} + +#[test] +fn wide_spilled_and_deleted_keys_match_forced_slow() { + let _no_gc = crate::gc::GcSuppressScope::new(); + let object = js_object_alloc(0, 0); + for i in 0..100 { + js_object_set_field_by_name(object, key(&format!("field{i}")), i as f64); + } + for i in [0, 4, 50, 99] { + let name = format!("field{i}"); + assert!(unsafe { try_data_get_by_name(object, key(&name)) }.is_some()); + differential(boxed(object), &name, i as f64); + assert_eq!(js_object_delete_field(object, key(&name)), 1); + assert!(unsafe { try_data_get_by_name(object, key(&name)) }.is_none()); + differential( + boxed(object), + &name, + f64::from_bits(crate::value::TAG_UNDEFINED), + ); + js_object_set_field_by_name(object, key(&name), 101.0); + differential(boxed(object), &name, 101.0); + } +} + +#[test] +fn class_statics_buffers_and_mapped_arguments_use_the_slow_path() { + let _no_gc = crate::gc::GcSuppressScope::new(); + unsafe { + let class_id = 0x0065_5234; + crate::object::js_register_class_id(class_id); + crate::object::js_class_register_static_field( + class_id, + b"value".as_ptr(), + 5, + 73.0, + std::ptr::null_mut(), + ); + let class_value = f64::from_bits(crate::value::INT32_TAG | u64::from(class_id)); + assert!(try_data_get_bytes(JSValue::from_bits(class_value.to_bits()), b"value").is_none()); + differential(class_value, "value", 73.0); + + let buffer = crate::buffer::js_buffer_alloc(8, 11); + let buffer_value = crate::value::js_nanbox_pointer(buffer as i64); + assert!( + try_data_get_bytes(JSValue::from_bits(buffer_value.to_bits()), b"length").is_none() + ); + differential(buffer_value, "length", 8.0); + + let args = crate::array::js_array_alloc(1); + crate::array::js_array_push(args, JSValue::number(1.0)); + let arguments = crate::object::js_arguments_object_alloc( + crate::value::js_nanbox_pointer(args as i64), + f64::from_bits(crate::value::TAG_UNDEFINED), + 0, + ); + let cell = crate::r#box::js_box_alloc(79.0); + crate::object::js_arguments_object_map_index(arguments, 0, cell); + assert!(try_data_get_by_name(arguments, key("0")).is_none()); + differential(boxed(arguments), "0", 79.0); + } +} diff --git a/crates/perry-runtime/src/proxy/reflect.rs b/crates/perry-runtime/src/proxy/reflect.rs index f90ce9b89d..646e934456 100644 --- a/crates/perry-runtime/src/proxy/reflect.rs +++ b/crates/perry-runtime/src/proxy/reflect.rs @@ -17,6 +17,17 @@ use super::{ /// as "use target". #[no_mangle] pub extern "C" fn js_reflect_get(target: f64, key: f64, receiver: f64) -> f64 { + // A data read has no observable receiver binding or key conversion. The + // classifier accepts only already-string keys and proves every traversed + // object ordinary before returning, so no handles are needed on a hit. + if let Some(value) = unsafe { + crate::object::native_get::try_data_get( + crate::value::JSValue::from_bits(target.to_bits()), + crate::value::JSValue::from_bits(key.to_bits()), + ) + } { + return f64::from_bits(value.bits()); + } if !reflect_value_is_object(target) { return reflect_non_object_typeerror("get"); } diff --git a/crates/perry-runtime/src/value/dynamic_object.rs b/crates/perry-runtime/src/value/dynamic_object.rs index 9b3b916ec0..ece7502fcb 100644 --- a/crates/perry-runtime/src/value/dynamic_object.rs +++ b/crates/perry-runtime/src/value/dynamic_object.rs @@ -311,6 +311,15 @@ pub unsafe extern "C" fn js_dynamic_object_get_property( property_name_ptr: *const i8, property_name_len: usize, ) -> f64 { + if !property_name_ptr.is_null() && property_name_len != 0 { + let name = std::slice::from_raw_parts(property_name_ptr as *const u8, property_name_len); + if let Some(value) = crate::object::native_get::try_data_get_bytes( + JSValue::from_bits(obj_value.to_bits()), + name, + ) { + return f64::from_bits(value.bits()); + } + } // A revocable Proxy value reaching this generic dynamic getter must go // through the Proxy's `get` trap. Proxy ids live at the TOP of the handle // band ([PROXY_ID_BAND_START, HANDLE_BAND_MAX)), so without this branch the diff --git a/scripts/gc_runtime_root_holders.json b/scripts/gc_runtime_root_holders.json index 40b42fb1fa..a9ee4cf040 100644 --- a/scripts/gc_runtime_root_holders.json +++ b/scripts/gc_runtime_root_holders.json @@ -734,6 +734,12 @@ "verdict": "not_a_gc_pointer", "why": "#9754 remembered set: `YoungLog` = two `Vec` (live + recycled spare) holding transition-cache SLOT INDICES whose `key_ptr`/`next_keys` a minor may act on. Indices, not addresses — a `u32` cannot hold a 48-bit pointer. The pointer-bearing entries they index are visited by `scan_transition_cache_roots_mut`, which is registered." }, + { + "file": "crates/perry-runtime/src/object/native_get.rs", + "name": "FORCE_SLOW", + "verdict": "test_only", + "why": "#[cfg(test)] Cell selects the unchanged slow Get for differential tests. Holds only a boolean, never a GC address or JSValue, and is absent from shipped binaries." + }, { "file": "crates/perry-runtime/src/object/native_module.rs", "name": "TEST_BOUND_METHOD_MOVE", diff --git a/test-files/test_gap_native_property_get.ts b/test-files/test_gap_native_property_get.ts new file mode 100644 index 0000000000..ef60b450bf --- /dev/null +++ b/test-files/test_gap_native_property_get.ts @@ -0,0 +1,110 @@ +// Spec Get observability across ordinary data reads and fallback receivers. +function check(actual: any, expected: any, label: string) { + if (!Object.is(actual, expected)) throw new Error(label); + console.log(label, true); +} + +const proto: any = { value: 7, absent: 9 }; +const object: any = Object.create(proto); +check(Reflect.get(object, "value"), 7, "inherited data"); +object.value = 11; +check(Reflect.get(object, "value"), 11, "shadowed data"); +delete object.value; +check(Reflect.get(object, "value"), 7, "deleted shadow"); +object.absent = undefined; +check(Reflect.get(object, "absent"), undefined, "own undefined"); +Object.freeze(proto); +check(Reflect.get(object, "value"), 7, "frozen prototype"); +Object.freeze(object); +check(Reflect.get(object, "absent"), undefined, "frozen own data"); + +let calls = 0; +const owner: any = { value: 1, marker: 13 }; +Object.defineProperty(owner, "value", { + configurable: true, + get() { calls++; return this.marker; }, +}); +check(Reflect.get(owner, "value"), 13, "own getter result"); +check(calls, 1, "own getter once"); +check(Reflect.get(owner, "value", { marker: 17 }), 17, "distinct receiver"); +check(calls, 2, "distinct getter once"); +const child: any = Object.create(owner); +child.marker = 19; +check(Reflect.get(child, "value"), 19, "inherited getter receiver"); +check(calls, 3, "inherited getter once"); +Object.defineProperty(child, "value", { value: 23 }); +check(Reflect.get(child, "value"), 23, "data shadows getter"); +check(calls, 3, "shadow suppresses getter"); +Object.defineProperty(owner, "setterOnly", { set(value) {} }); +check(Reflect.get(owner, "setterOnly"), undefined, "setter only"); + +let traps = 0; +const proxy: any = new Proxy({ value: 29 }, { + get(target, key, receiver) { + traps++; + return Reflect.get(target, key, receiver); + }, +}); +check(Reflect.get(proxy, "value"), 29, "proxy result"); +check(traps, 1, "proxy once"); +check(Reflect.get(Object.create(proxy), "value"), 29, "proxy prototype"); +check(traps, 2, "prototype proxy once"); +const revoked = Proxy.revocable({}, {}); +revoked.revoke(); +let threw = false; +try { Reflect.get(revoked.proxy, "value"); } catch { threw = true; } +check(threw, true, "revoked proxy throws"); + +let order = ""; +const key: any = { [Symbol.toPrimitive]() { order += "key;"; return "value"; } }; +const observed: any = { get value() { order += "get;"; return 31; } }; +check(Reflect.get(observed, key), 31, "coerced key result"); +check(order, "key;get;", "coercion then getter once"); +const symbol = Symbol("value"); +check(Reflect.get({ [symbol]: 37 }, symbol), 37, "symbol key"); +check(Reflect.get({ "#value": 41 }, "#value"), 41, "private-looking string"); +const longKey = "a property name longer than the inline owned string copy capacity, for borrowed key coverage"; +check(Reflect.get({ [longKey]: 43 }, longKey), 43, "long key"); + +class Base { + static value = 47; + #value = 53; + read() { return this.#value; } +} +class Derived extends Base {} +check(Reflect.get(Derived, "value"), 47, "inherited class static"); +check(new Derived().read(), 53, "private field"); +const expression: any = class { static value = 59; }; +check(Reflect.get(expression, "value"), 59, "class expression static"); +const fn: any = () => 0; +fn.value = 61; +check(Reflect.get(fn, "value"), 61, "closure expando"); +const array: any = [1, 2]; +array.value = 67; +check(Reflect.get(array, "value"), 67, "array expando"); +check(Reflect.get(array, "length"), 2, "array length"); +check(Reflect.get(new Uint8Array([71]), "0"), 71, "typed array index"); +check(Reflect.get(new Date(0), "constructor"), Date, "date constructor"); +const re: any = /x/g; +re.lastIndex = 3; +re.value = 73; +check(Reflect.get(re, "value"), 73, "regexp expando"); +check(Reflect.get(re, "lastIndex"), 3, "regexp lastIndex"); +Object.defineProperty(re, "value", { get() { calls++; return 79; } }); +check(Reflect.get(re, "value"), 79, "regexp accessor"); +check(calls, 4, "regexp getter once"); +let jsonGets = 0; +let jsonCalls = 0; +const jsonPrototype = { + get toJSON() { + jsonGets++; + return function () { jsonCalls++; return this.answer; }; + } +}; +const jsonChild: any = Object.create(jsonPrototype); +jsonChild.answer = 83; +check(JSON.stringify(jsonChild), "83", "inherited toJSON getter receiver"); +check(jsonGets, 1, "toJSON getter once"); +check(jsonCalls, 1, "toJSON method once"); +check(JSON.stringify({ toJSON: 0, value: 89 }), '{"toJSON":0,"value":89}', "noncallable toJSON"); +console.log("native property Get parity passed"); From e8d33005fc083bef47823c5764dbff6e28a1557b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ralph=20K=C3=BCpper?= Date: Mon, 14 Sep 2026 06:09:36 +0200 Subject: [PATCH 02/30] docs: key native Get changelog to PR 10248 --- .../{native-property-get.md => 10248-native-property-get.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename changelog.d/{native-property-get.md => 10248-native-property-get.md} (100%) diff --git a/changelog.d/native-property-get.md b/changelog.d/10248-native-property-get.md similarity index 100% rename from changelog.d/native-property-get.md rename to changelog.d/10248-native-property-get.md From cd981bb8e0cf522f96f33bf4c968be1d29476d2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ralph=20K=C3=BCpper?= Date: Mon, 14 Sep 2026 04:57:25 +0200 Subject: [PATCH 03/30] perf(json): count a compiled loop's whole-array materialization as traversal evidence Traversal feedback (#10150) learns that a program scans its parsed arrays from element reads in lazy_get_rooted. The element-shape loop clone (#10171) materializes a lazy array whole in its preheader through js_array_refresh_local_head before any element is read lazily, so a scan loop served by the clone never produced evidence: every parse built the tape and then materialized every record anyway. On the quiet bench mini records_array_16k:scan and records_array_1m:scan read 1.11x and 1.18x the better of Node and Bun, with a third of the parse samples in build_tape_into. js_array_refresh_local_head now notes one flip's worth of evidence the first time it materializes a lazy array. Its emitters are all cold arms that run about once per receiver, so the added tracked-header probe is not on a hot path. --- crates/perry-runtime/src/array/header.rs | 7 +++ crates/perry-runtime/src/array/mod.rs | 2 + .../array/refresh_traversal_evidence_tests.rs | 55 +++++++++++++++++++ .../src/json/traversal_feedback.rs | 48 ++++++++++++++-- 4 files changed, 108 insertions(+), 4 deletions(-) create mode 100644 crates/perry-runtime/src/array/refresh_traversal_evidence_tests.rs diff --git a/crates/perry-runtime/src/array/header.rs b/crates/perry-runtime/src/array/header.rs index 08c965df62..b832d073a5 100644 --- a/crates/perry-runtime/src/array/header.rs +++ b/crates/perry-runtime/src/array/header.rs @@ -1363,10 +1363,17 @@ pub extern "C" fn js_array_refresh_local_head(value: f64) -> f64 { if !crate::value::addr_class::is_plausible_heap_addr(raw) { return value; } + // Cold arms only (loop-clone preheader, guarded read repair): see + // `traversal_feedback::note_compiled_materialization`. + let materializes_lazy = + unsafe { crate::json::traversal_feedback::lazy_array_unmaterialized(raw) }; let cleaned = clean_arr_ptr(raw as *const ArrayHeader); if cleaned.is_null() || cleaned as usize == raw { return value; } + if materializes_lazy { + crate::json::traversal_feedback::note_compiled_materialization(); + } f64::from_bits(crate::value::POINTER_TAG | (cleaned as u64 & crate::value::POINTER_MASK)) } diff --git a/crates/perry-runtime/src/array/mod.rs b/crates/perry-runtime/src/array/mod.rs index dd08760e23..d3816eca98 100644 --- a/crates/perry-runtime/src/array/mod.rs +++ b/crates/perry-runtime/src/array/mod.rs @@ -64,6 +64,8 @@ mod index_get_exit_tests; #[cfg(test)] mod push_pop_tests; #[cfg(test)] +mod refresh_traversal_evidence_tests; +#[cfg(test)] mod spread_dense_tests; #[cfg(test)] mod strict_store_tests; diff --git a/crates/perry-runtime/src/array/refresh_traversal_evidence_tests.rs b/crates/perry-runtime/src/array/refresh_traversal_evidence_tests.rs new file mode 100644 index 0000000000..a930eda60a --- /dev/null +++ b/crates/perry-runtime/src/array/refresh_traversal_evidence_tests.rs @@ -0,0 +1,55 @@ +//! A lazy JSON array materialized whole by compiled code refreshing its local +//! head is traversal evidence, exactly once per array, and a plain array is +//! never evidence. Without this the element-shape loop clone (#10171) served +//! every scan loop through its preheader and traversal feedback never learned +//! that the tape was being wasted. + +fn lazy_array_box(bytes: &[u8], len: u32) -> f64 { + let tape = crate::json_tape::build_tape(bytes).unwrap(); + let text = crate::string::js_string_from_bytes(bytes.as_ptr(), bytes.len() as u32); + let lazy = unsafe { crate::json_tape::alloc_lazy_array(&tape.entries, 0, len, text) }; + let header = unsafe { crate::value::addr_class::try_read_gc_header(lazy as usize) }.unwrap(); + assert_eq!( + header.obj_type, + crate::gc::GC_TYPE_LAZY_ARRAY, + "fixture must be a real lazy array or the assertions below are vacuous" + ); + crate::value::js_nanbox_pointer(lazy as i64) +} + +#[test] +fn compiled_materialization_of_a_lazy_array_counts_once_and_a_plain_array_never() { + crate::json::traversal_feedback::reset_for_tests(); + let scope = crate::gc::RuntimeHandleScope::new(); + + let mut plain = crate::array::js_array_alloc(2); + plain = crate::array::js_array_push_f64(plain, 1.0); + let plain_box = scope.root_nanbox_f64(crate::value::js_nanbox_pointer(plain as i64)); + let _ = crate::array::header::js_array_refresh_local_head(plain_box.get_nanbox_f64()); + assert_eq!( + crate::json::traversal_feedback::score_for_tests(), + 0, + "a plain array is not traversal evidence" + ); + + let lazy = scope.root_nanbox_f64(lazy_array_box(br#"[{"id":1},{"id":2},{"id":3}]"#, 3)); + let first = crate::array::header::js_array_refresh_local_head(lazy.get_nanbox_f64()); + assert_ne!( + first.to_bits(), + lazy.get_nanbox_f64().to_bits(), + "the head was refreshed" + ); + assert_eq!( + crate::json::traversal_feedback::score_for_tests(), + 2, + "materializing a lazy array whole is one flip's worth of evidence" + ); + + let _ = crate::array::header::js_array_refresh_local_head(lazy.get_nanbox_f64()); + assert_eq!( + crate::json::traversal_feedback::score_for_tests(), + 2, + "an already materialized lazy array is not evidence again" + ); + crate::json::traversal_feedback::reset_for_tests(); +} diff --git a/crates/perry-runtime/src/json/traversal_feedback.rs b/crates/perry-runtime/src/json/traversal_feedback.rs index 55f3ea2d2f..bca5cd65a2 100644 --- a/crates/perry-runtime/src/json/traversal_feedback.rs +++ b/crates/perry-runtime/src/json/traversal_feedback.rs @@ -24,10 +24,16 @@ //! 1.11x -> 0.98x, records_array_8m:scan CPU 0.93x -> 0.77x and RSS 190 -> //! 163 MiB; every other cell unchanged. //! -//! Only element-by-element reads in `lazy_get_rooted` count (the flip, or an -//! in-order read of the last element). Stringify, -//! revivers, array methods and mutation also force materialization, but none of -//! them is evidence that a scan would have been cheaper eagerly. +//! Two kinds of event count as traversal evidence: element-by-element reads in +//! `lazy_get_rooted` (the flip, or an in-order read of the last element), and a +//! compiled loop or indexed read materializing the whole array through +//! `js_array_refresh_local_head` — the element-shape loop clone's preheader +//! (#10171) and the guarded indexed-read repair both do that before a single +//! element is read lazily, so without it a program whose scan loop is served by +//! the clone never produced evidence and paid for the tape AND the eager +//! materialization on every parse. Stringify, revivers, array methods and +//! mutation also force materialization, but none of them is evidence that a +//! scan would have been cheaper eagerly. use std::cell::Cell; @@ -78,6 +84,35 @@ pub(crate) unsafe fn after_cold_read( } } +/// A lazy array was materialized whole by compiled code refreshing its local +/// head (`js_array_refresh_local_head`) — the element-shape loop clone's +/// preheader or a guarded indexed read's repair. Every element is now eagerly +/// built, so the tape this array was parsed onto was wasted: the same evidence +/// as a flip. +pub(crate) fn note_compiled_materialization() { + SCORE.with(|s| s.set(s.get().saturating_add(2).min(SCORE_MAX))); +} + +/// Is `addr` a lazy JSON array whose elements have not been built yet? Read by +/// `js_array_refresh_local_head` before it materializes, so evidence is noted +/// once per array. Its emitters are cold arms that run about once per +/// receiver, so the tracked-header probe costs nothing measurable. +/// +/// # Safety +/// +/// `addr` must be a plausible heap address; the tracked-header read validates +/// ownership before anything is dereferenced. +pub(crate) unsafe fn lazy_array_unmaterialized(addr: usize) -> bool { + let Some(header) = crate::value::addr_class::try_read_tracked_gc_header(addr) else { + return false; + }; + if (*header.as_ptr()).obj_type != crate::gc::GC_TYPE_LAZY_ARRAY { + return false; + } + let lazy = addr as *const crate::json_tape::LazyArrayHeader; + (*lazy).magic == crate::json_tape::LAZY_ARRAY_MAGIC && (*lazy).materialized.is_null() +} + /// Should an otherwise tape-eligible parse go eagerly instead? pub(crate) fn prefer_eager() -> bool { if SCORE.with(Cell::get) < PREFER_EAGER_AT { @@ -96,6 +131,11 @@ pub(crate) fn prefer_eager() -> bool { }) } +#[cfg(test)] +pub(crate) fn score_for_tests() -> u8 { + SCORE.with(Cell::get) +} + #[cfg(test)] pub(crate) fn reset_for_tests() { SCORE.with(|s| s.set(0)); From 6ad863a767e94b6a9503cb89032ed476a9d305d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ralph=20K=C3=BCpper?= Date: Mon, 14 Sep 2026 06:15:45 +0200 Subject: [PATCH 04/30] docs(changelog): fragment for #10249 --- changelog.d/10249-json-clone-traversal-evidence.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 changelog.d/10249-json-clone-traversal-evidence.md diff --git a/changelog.d/10249-json-clone-traversal-evidence.md b/changelog.d/10249-json-clone-traversal-evidence.md new file mode 100644 index 0000000000..b1dd622120 --- /dev/null +++ b/changelog.d/10249-json-clone-traversal-evidence.md @@ -0,0 +1,3 @@ +### perf(json): count a compiled loop's whole-array materialization as traversal evidence + +Traversal feedback (#10150) switches a program's `JSON.parse` calls to eager parsing once its lazy arrays keep being fully traversed, but it only counted element reads in `lazy_get_rooted`. The element-shape loop clone (#10171) materializes a lazy array whole in its preheader through `js_array_refresh_local_head`, so scan loops served by the clone never produced evidence and paid for both the tape and the eager materialization on every parse. `js_array_refresh_local_head` now counts the first materialization of each lazy array as evidence. Measured on the bench mini: `records_array_16k:scan` 149.6 → 109.7 ms, `records_array_1m:scan` 180.4 → 132.6 ms, `records_array_8m:scan` 171.5 → 122.6 ms, other JSON rows unchanged. From 671ee8b8b8655edf27466915a96331596d6416de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ralph=20K=C3=BCpper?= Date: Mon, 14 Sep 2026 06:09:30 +0200 Subject: [PATCH 05/30] fix(runtime): resolve symbol props written to declared class prototypes from instances --- changelog.d/class-prototype-symbol-props.md | 1 + crates/perry-runtime/src/symbol/get.rs | 39 ++++++ .../tests/class_prototype_symbol_props.rs | 127 ++++++++++++++++++ 3 files changed, 167 insertions(+) create mode 100644 changelog.d/class-prototype-symbol-props.md create mode 100644 crates/perry/tests/class_prototype_symbol_props.rs diff --git a/changelog.d/class-prototype-symbol-props.md b/changelog.d/class-prototype-symbol-props.md new file mode 100644 index 0000000000..e7346b158c --- /dev/null +++ b/changelog.d/class-prototype-symbol-props.md @@ -0,0 +1 @@ +Resolve symbol-keyed properties that were added to a declared class's `.prototype` after the declaration (`C.prototype[S] = f`, `Object.defineProperty(C.prototype, S, ...)`, `Object.assign(C.prototype, { [Symbol.iterator]() {} })`) from instances and subclass instances. The symbol read fallback only walked the dynamic prototype-object table (`Object.create` / class-expression parents) and never the declared prototype object those writes land on, so `typeof instance[Symbol.iterator]` was `undefined` and `Symbol.iterator in instance` was false while the same string-keyed writes worked. drizzle-orm's `applyEffectWrapper` installs effect's `Effectable.Prototype` on its query classes this way, so every `yield* db.run(...)` in OpenCode's database layer failed with "next is not a function" (tracker #10107). diff --git a/crates/perry-runtime/src/symbol/get.rs b/crates/perry-runtime/src/symbol/get.rs index 1fa3794a4d..28d8648b1f 100644 --- a/crates/perry-runtime/src/symbol/get.rs +++ b/crates/perry-runtime/src/symbol/get.rs @@ -1202,6 +1202,20 @@ pub unsafe extern "C" fn js_object_get_symbol_property(obj_f64: f64, sym_f64: f6 if let Some(v) = crate::object::resolve_proto_chain_symbol(cid, sym_f64) { return v; } + // A symbol-keyed property added to a DECLARED class's + // `.prototype` after the declaration — `C.prototype[S] = f`, + // `Object.defineProperty(C.prototype, S, ...)`, or + // `Object.assign(C.prototype, { [Symbol.iterator]() {} })` — + // is stored on the declared prototype object, which the + // CLASS_PROTOTYPE_OBJECTS walk above never visits (that table + // holds `Object.create` / class-expression parents). String + // keys already resolve there; symbol keys returned undefined, + // so drizzle-orm's `applyEffectWrapper` (effect's + // `Effectable.Prototype` assigned onto query classes) left + // `yield* query` with no iterator ("next is not a function"). + if let Some(v) = declared_prototype_chain_symbol(obj_f64, sym_f64, cid) { + return v; + } // #1838: a class can define a computed well-known-symbol METHOD // (`[Symbol.iterator]() {}`) — class lowering names it // `@@iterator` in the vtable (class_members.rs), NOT as a symbol @@ -1226,6 +1240,31 @@ pub unsafe extern "C" fn js_object_get_symbol_property(obj_f64: f64, sym_f64: f6 f64::from_bits(TAG_UNDEFINED) } +/// Walk the declared class prototype objects (`C.prototype` for `C` and each +/// ancestor) for a symbol-keyed property written after the class declaration. +/// Accessors run with the original receiver; data properties are returned as +/// stored. Nearest class first, so a subclass's prototype write shadows a +/// base class's. +unsafe fn declared_prototype_chain_symbol(receiver: f64, sym: f64, mut class_id: u32) -> Option { + for _ in 0..32 { + let declared = crate::object::class_decl_prototype_object(class_id); + if !declared.is_null() { + let proto_value = crate::value::js_nanbox_pointer(declared as i64); + if let Some(acc) = accessors::symbol_accessor_property(proto_value, sym) { + return Some(accessors::invoke_symbol_accessor_getter(acc.get, receiver)); + } + if let Some(value) = own_symbol_property(proto_value, sym) { + return Some(value); + } + } + match crate::object::get_parent_class_id(class_id) { + Some(parent) if parent != 0 && parent != class_id => class_id = parent, + _ => break, + } + } + None +} + /// #1838: map a well-known symbol value to the synthetic `@@` vtable key /// that class lowering assigns to a computed `[Symbol.X]() {}` method (see /// `lower_decl/class_members.rs`). Returns `None` for symbols that don't name a diff --git a/crates/perry/tests/class_prototype_symbol_props.rs b/crates/perry/tests/class_prototype_symbol_props.rs new file mode 100644 index 0000000000..8dfd89194b --- /dev/null +++ b/crates/perry/tests/class_prototype_symbol_props.rs @@ -0,0 +1,127 @@ +//! Symbol-keyed properties added to a declared class's `.prototype` after the +//! declaration (`C.prototype[S] = f`, `Object.defineProperty(C.prototype, S, ...)`, +//! `Object.assign(C.prototype, { [Symbol.iterator]() {} })`) must be visible on +//! instances and subclass instances, exactly like string keys. drizzle-orm's +//! `applyEffectWrapper` installs effect's `Effectable.Prototype` this way, and +//! `yield* query` needs the copied `[Symbol.iterator]`. + +use std::path::PathBuf; +use std::process::Command; +use std::sync::Once; + +fn perry_bin() -> PathBuf { + PathBuf::from(env!("CARGO_BIN_EXE_perry")) +} + +fn workspace_root() -> PathBuf { + PathBuf::from(env!("CARGO_MANIFEST_DIR")) + .join("../..") + .canonicalize() + .expect("canonicalize workspace root") +} + +fn runtime_dir() -> PathBuf { + static BUILD_RUNTIME: Once = Once::new(); + BUILD_RUNTIME.call_once(|| { + let cargo = std::env::var_os("CARGO").unwrap_or_else(|| "cargo".into()); + let build = Command::new(cargo) + .current_dir(workspace_root()) + .arg("build") + .arg("-p") + .arg("perry-runtime-static") + .arg("-p") + .arg("perry-stdlib-static") + .output() + .expect("build static runtime archives"); + assert!( + build.status.success(), + "static runtime build failed\nstdout:\n{}\nstderr:\n{}", + String::from_utf8_lossy(&build.stdout), + String::from_utf8_lossy(&build.stderr) + ); + }); + let target = std::env::var_os("CARGO_TARGET_DIR") + .map(PathBuf::from) + .unwrap_or_else(|| workspace_root().join("target")); + target.join("debug") +} + +const SOURCE: &str = r#" +const t = (name: string, f: () => any) => { try { console.log(name, JSON.stringify(f())) } catch (e: any) { console.log(name, "THROW", e.message) } } +const fn = function (this: any) { return "called" } +const custom = Symbol("custom") +class A1 {}; (A1.prototype as any)[Symbol.iterator] = fn +t("P1", () => typeof (new A1() as any)[Symbol.iterator]) +class A2 {}; Object.assign(A2.prototype, { [Symbol.iterator]: fn }) +t("P2", () => typeof (new A2() as any)[Symbol.iterator]) +class A3 {}; Object.defineProperty(A3.prototype, Symbol.iterator, { value: fn, writable: true, configurable: true }) +t("P3", () => typeof (new A3() as any)[Symbol.iterator]) +class A4 {}; Object.assign(A4.prototype, { [custom]: fn }) +t("P4", () => (new A4() as any)[custom]()) +class A5 {}; (A5.prototype as any)[Symbol.iterator] = fn +class A5s extends A5 {} +t("P5", () => typeof (new A5s() as any)[Symbol.iterator]) +t("P6", () => Symbol.iterator in (new A2() as any)) +class A7 {}; Object.defineProperty(A7.prototype, custom, { get(this: any) { return this.v }, configurable: true }) +t("P7", () => { const a: any = new A7(); a.v = 7; return a[custom] }) +class A8 { [Symbol.iterator]() { return "declared" } } +t("P8", () => (new A8() as any)[Symbol.iterator]()) +class SingleShotGen { called = false; constructor(public self: any) {} next(a?: any) { return this.called ? { value: a, done: true } : ((this.called = true), { value: this.self, done: false }) } } +const EffectProto: any = { op: "E", [Symbol.iterator]() { return new SingleShotGen(this) } } +class Raw { constructor(public execute: () => number) {} } +Object.assign(Raw.prototype, { ...EffectProto }) +class SubRaw extends Raw {} +t("Y1", () => { const r = new Raw(() => 1); function* g(): Generator { const x = yield* r; return x } const it = g(); const a = it.next(); const b = it.next("sent"); return [a.value === r, b.value, b.done] }) +t("Y2", () => { const r = new SubRaw(() => 2); function* g(): Generator { return yield* r } const it = g(); it.next(); return it.next("sub").value }) +class It {}; (It.prototype as any)[Symbol.iterator] = function* () { yield 1; yield 2 } +t("Y3", () => { const out: number[] = []; for (const v of new It() as any) out.push(v); return [out, [...(new It() as any)]] }) +"#; + +const EXPECTED: &str = "P1 \"function\" +P2 \"function\" +P3 \"function\" +P4 \"called\" +P5 \"function\" +P6 true +P7 7 +P8 \"declared\" +Y1 [true,\"sent\",true] +Y2 \"sub\" +Y3 [[1,2],[1,2]] +"; + +#[test] +fn symbol_props_written_to_declared_class_prototypes_reach_instances() { + let dir = tempfile::tempdir().expect("tempdir"); + let entry = dir.path().join("main.ts"); + let output = dir.path().join("main_bin"); + std::fs::write(&entry, SOURCE).expect("write entry"); + let compile = Command::new(perry_bin()) + .current_dir(dir.path()) + .arg("compile") + .arg(&entry) + .arg("-o") + .arg(&output) + .arg("--no-cache") + .env("PERRY_NO_AUTO_OPTIMIZE", "1") + .env("PERRY_RUNTIME_DIR", runtime_dir()) + .output() + .expect("run perry compile"); + assert!( + compile.status.success(), + "perry compile failed\nstdout:\n{}\nstderr:\n{}", + String::from_utf8_lossy(&compile.stdout), + String::from_utf8_lossy(&compile.stderr) + ); + let run = Command::new(&output) + .current_dir(dir.path()) + .output() + .expect("run compiled binary"); + assert!( + run.status.success(), + "compiled binary failed\nstdout:\n{}\nstderr:\n{}", + String::from_utf8_lossy(&run.stdout), + String::from_utf8_lossy(&run.stderr) + ); + assert_eq!(String::from_utf8_lossy(&run.stdout), EXPECTED); +} From f6a0892a4bf4bd24b884a8b30020af3f20a791d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ralph=20K=C3=BCpper?= Date: Mon, 14 Sep 2026 08:40:53 +0200 Subject: [PATCH 06/30] fix(runtime): preserve presence and prototype overrides for symbol properties --- ... => 10250-class-prototype-symbol-props.md} | 0 .../src/object/field_get_set/has_property.rs | 8 ++++ crates/perry-runtime/src/symbol.rs | 1 + crates/perry-runtime/src/symbol/get.rs | 43 ++++++++++++++++--- .../tests/class_prototype_symbol_props.rs | 36 +++++++++++++++- 5 files changed, 81 insertions(+), 7 deletions(-) rename changelog.d/{class-prototype-symbol-props.md => 10250-class-prototype-symbol-props.md} (100%) diff --git a/changelog.d/class-prototype-symbol-props.md b/changelog.d/10250-class-prototype-symbol-props.md similarity index 100% rename from changelog.d/class-prototype-symbol-props.md rename to changelog.d/10250-class-prototype-symbol-props.md diff --git a/crates/perry-runtime/src/object/field_get_set/has_property.rs b/crates/perry-runtime/src/object/field_get_set/has_property.rs index e107abafc7..0a0be3f051 100644 --- a/crates/perry-runtime/src/object/field_get_set/has_property.rs +++ b/crates/perry-runtime/src/object/field_get_set/has_property.rs @@ -390,6 +390,14 @@ pub extern "C" fn js_object_has_property(obj: f64, key: f64) -> f64 { // semantics. Fixes effect's `Predicate.hasProperty(classObj, TypeId)` // (`isSchema` → `dual` → `transformOrFail`) and `Sym in obj` generally. if unsafe { crate::symbol::js_is_symbol(key) } != 0 { + // Presence must not call a symbol getter or confuse an existing + // undefined-valued property with an absent one. + if unsafe { + crate::symbol::has_own_symbol_property(obj, key) + || crate::symbol::has_declared_prototype_symbol_property(obj, key) + } { + return nanbox_true; + } let v = unsafe { crate::symbol::js_object_get_symbol_property(obj, key) }; return if v.to_bits() != crate::value::TAG_UNDEFINED { nanbox_true diff --git a/crates/perry-runtime/src/symbol.rs b/crates/perry-runtime/src/symbol.rs index 6725d3a010..b2d451ef8a 100644 --- a/crates/perry-runtime/src/symbol.rs +++ b/crates/perry-runtime/src/symbol.rs @@ -55,6 +55,7 @@ pub use properties::{ }; // Symbol-keyed property reads. +pub(crate) use get::has_declared_prototype_symbol_property; pub(crate) use get::{has_own_symbol_property, inherited_symbol_property, own_symbol_property}; pub use get::{ js_object_get_symbol_property, js_object_get_symbol_property_ic_miss, diff --git a/crates/perry-runtime/src/symbol/get.rs b/crates/perry-runtime/src/symbol/get.rs index 28d8648b1f..94922fa14c 100644 --- a/crates/perry-runtime/src/symbol/get.rs +++ b/crates/perry-runtime/src/symbol/get.rs @@ -1245,16 +1245,34 @@ pub unsafe extern "C" fn js_object_get_symbol_property(obj_f64: f64, sym_f64: f6 /// Accessors run with the original receiver; data properties are returned as /// stored. Nearest class first, so a subclass's prototype write shadows a /// base class's. -unsafe fn declared_prototype_chain_symbol(receiver: f64, sym: f64, mut class_id: u32) -> Option { +unsafe fn declared_prototype_chain_symbol(receiver: f64, sym: f64, class_id: u32) -> Option { + let holder = declared_prototype_symbol_holder(receiver, sym, class_id)?; + if let Some(acc) = accessors::symbol_accessor_property(holder, sym) { + return Some(accessors::invoke_symbol_accessor_getter(acc.get, receiver)); + } + own_symbol_property(holder, sym) +} + +/// Locate a declared prototype property without invoking its getter. An +/// explicit prototype replaces the class default, including when it is null. +unsafe fn declared_prototype_symbol_holder( + receiver: f64, + sym: f64, + mut class_id: u32, +) -> Option { + let receiver_addr = (receiver.to_bits() & crate::value::POINTER_MASK) as usize; + if crate::object::object_has_user_prototype_override(receiver_addr) { + return None; + } for _ in 0..32 { let declared = crate::object::class_decl_prototype_object(class_id); if !declared.is_null() { let proto_value = crate::value::js_nanbox_pointer(declared as i64); - if let Some(acc) = accessors::symbol_accessor_property(proto_value, sym) { - return Some(accessors::invoke_symbol_accessor_getter(acc.get, receiver)); + if has_own_symbol_property(proto_value, sym) { + return Some(proto_value); } - if let Some(value) = own_symbol_property(proto_value, sym) { - return Some(value); + if crate::object::object_has_user_prototype_override(declared as usize) { + return None; } } match crate::object::get_parent_class_id(class_id) { @@ -1265,6 +1283,21 @@ unsafe fn declared_prototype_chain_symbol(receiver: f64, sym: f64, mut class_id: None } +/// Presence of the declared-prototype properties handled above, including +/// accessors and data properties whose value is undefined. +pub(crate) unsafe fn has_declared_prototype_symbol_property(receiver: f64, sym: f64) -> bool { + let value = crate::value::JSValue::from_bits(receiver.to_bits()); + if !value.is_pointer() { + return false; + } + let ptr = value.as_pointer::(); + if ptr.is_null() || !crate::object::is_valid_obj_ptr(ptr.cast()) { + return false; + } + let class_id = crate::object::js_object_get_class_id(ptr); + class_id != 0 && declared_prototype_symbol_holder(receiver, sym, class_id).is_some() +} + /// #1838: map a well-known symbol value to the synthetic `@@` vtable key /// that class lowering assigns to a computed `[Symbol.X]() {}` method (see /// `lower_decl/class_members.rs`). Returns `None` for symbols that don't name a diff --git a/crates/perry/tests/class_prototype_symbol_props.rs b/crates/perry/tests/class_prototype_symbol_props.rs index 8dfd89194b..7f172e056d 100644 --- a/crates/perry/tests/class_prototype_symbol_props.rs +++ b/crates/perry/tests/class_prototype_symbol_props.rs @@ -21,6 +21,9 @@ fn workspace_root() -> PathBuf { } fn runtime_dir() -> PathBuf { + if let Some(dir) = std::env::var_os("PERRY_RUNTIME_DIR") { + return PathBuf::from(dir); + } static BUILD_RUNTIME: Once = Once::new(); BUILD_RUNTIME.call_once(|| { let cargo = std::env::var_os("CARGO").unwrap_or_else(|| "cargo".into()); @@ -66,15 +69,33 @@ class A7 {}; Object.defineProperty(A7.prototype, custom, { get(this: any) { retu t("P7", () => { const a: any = new A7(); a.v = 7; return a[custom] }) class A8 { [Symbol.iterator]() { return "declared" } } t("P8", () => (new A8() as any)[Symbol.iterator]()) -class SingleShotGen { called = false; constructor(public self: any) {} next(a?: any) { return this.called ? { value: a, done: true } : ((this.called = true), { value: this.self, done: false }) } } +class SingleShotGen { called = false; self: any; constructor(self: any) { this.self = self } next(a?: any) { return this.called ? { value: a, done: true } : ((this.called = true), { value: this.self, done: false }) } } const EffectProto: any = { op: "E", [Symbol.iterator]() { return new SingleShotGen(this) } } -class Raw { constructor(public execute: () => number) {} } +class Raw { execute: () => number; constructor(execute: () => number) { this.execute = execute } } Object.assign(Raw.prototype, { ...EffectProto }) class SubRaw extends Raw {} t("Y1", () => { const r = new Raw(() => 1); function* g(): Generator { const x = yield* r; return x } const it = g(); const a = it.next(); const b = it.next("sent"); return [a.value === r, b.value, b.done] }) t("Y2", () => { const r = new SubRaw(() => 2); function* g(): Generator { return yield* r } const it = g(); it.next(); return it.next("sub").value }) class It {}; (It.prototype as any)[Symbol.iterator] = function* () { yield 1; yield 2 } t("Y3", () => { const out: number[] = []; for (const v of new It() as any) out.push(v); return [out, [...(new It() as any)]] }) +let getterCalls = 0 +class AccessorBase {} +Object.defineProperty(AccessorBase.prototype, custom, { get() { getterCalls++; return 7 }, configurable: true }) +class AccessorChild extends AccessorBase {} +const accessor: any = new AccessorChild() +t("H1", () => [custom in accessor, getterCalls]) +t("H2", () => [accessor[custom], getterCalls]) +class UndefinedBase {} +Object.defineProperty(UndefinedBase.prototype, custom, { value: undefined }) +t("H3", () => custom in new UndefinedBase()) +class Overridden {} +Object.defineProperty(Overridden.prototype, custom, { value: 9 }) +const noPrototype: any = new Overridden() +Object.setPrototypeOf(noPrototype, null) +t("H4", () => [noPrototype[custom], custom in noPrototype]) +const replacementPrototype: any = new Overridden() +Object.setPrototypeOf(replacementPrototype, {}) +t("H5", () => [replacementPrototype[custom], custom in replacementPrototype]) "#; const EXPECTED: &str = "P1 \"function\" @@ -88,6 +109,11 @@ P8 \"declared\" Y1 [true,\"sent\",true] Y2 \"sub\" Y3 [[1,2],[1,2]] +H1 [true,0] +H2 [7,1] +H3 true +H4 [null,false] +H5 [null,false] "; #[test] @@ -96,6 +122,12 @@ fn symbol_props_written_to_declared_class_prototypes_reach_instances() { let entry = dir.path().join("main.ts"); let output = dir.path().join("main_bin"); std::fs::write(&entry, SOURCE).expect("write entry"); + let oracle = Command::new("node") + .arg(&entry) + .output() + .expect("run Node oracle"); + assert!(oracle.status.success(), "Node oracle failed: {:?}", oracle); + assert_eq!(String::from_utf8_lossy(&oracle.stdout), EXPECTED); let compile = Command::new(perry_bin()) .current_dir(dir.path()) .arg("compile") From 45f713d20176a4c3351511bf85b4ce9d7efb8ce2 Mon Sep 17 00:00:00 2001 From: Ralph Kuepper Date: Mon, 14 Sep 2026 06:16:29 +0200 Subject: [PATCH 07/30] perf(compile): prune pure and mixed forwarding barrels --- changelog.d/10245-prune-unused-reexports.md | 2 +- .../compile/collect_modules/reexport_prune.rs | 8 +- .../reexport_prune/forwarding.rs | 31 ++- .../collect_modules/reexport_prune/purity.rs | 139 +++++++++++ .../collect_modules/reexport_prune/scan.rs | 14 +- .../reexport_prune/side_effects.rs | 87 +++++-- .../issue_10180.rs | 5 +- .../issue_10180/purity.rs | 226 ++++++++++++++++++ docs/src/cli/flags.md | 19 +- 9 files changed, 486 insertions(+), 45 deletions(-) create mode 100644 crates/perry/src/commands/compile/collect_modules/reexport_prune/purity.rs create mode 100644 crates/perry/tests/source_graph_export_regressions/issue_10180/purity.rs diff --git a/changelog.d/10245-prune-unused-reexports.md b/changelog.d/10245-prune-unused-reexports.md index 78b14254e6..b204364c47 100644 --- a/changelog.d/10245-prune-unused-reexports.md +++ b/changelog.d/10245-prune-unused-reexports.md @@ -1 +1 @@ -Perry now postpones unused named and wildcard re-exports during module collection when package sideEffects declarations prove their static dependency trees safe to omit. Barrels consisting of forwarded named imports are normalized to equivalent re-exports with dependency order preserved. Cyclic dependency trees stay intact so pruning cannot change their initialization entry point. Export demand grows to a fixed point across later importers and barrel chains; imports used by module code, dynamic-import namespaces, live bindings, and effectful or uncertain dependencies remain available. The compile summary reports omitted modules. Set PERRY_NO_REEXPORT_PRUNE=1 for an unpruned comparison, or PERRY_COLLECT_ONLY=1 to write the collection audit without generating code. +Perry now postpones unused named and wildcard re-exports during module collection when package sideEffects declarations or conservative analysis of inert initialization prove their static dependency trees safe to omit. Analysis also covers first-party modules and packages without metadata; explicit effectful contracts remain authoritative. Barrels consisting of forwarded named imports are normalized to equivalent re-exports with dependency order preserved. Cyclic dependency trees stay intact so pruning cannot change their initialization entry point. Export demand grows to a fixed point across later importers and barrel chains; imports used by module code, dynamic-import namespaces, live bindings, and effectful or uncertain dependencies remain available. The compile summary reports omitted modules. Set PERRY_NO_REEXPORT_PRUNE=1 for an unpruned comparison, or PERRY_COLLECT_ONLY=1 to write the collection audit without generating code. diff --git a/crates/perry/src/commands/compile/collect_modules/reexport_prune.rs b/crates/perry/src/commands/compile/collect_modules/reexport_prune.rs index ec729cb5cd..28e2e02594 100644 --- a/crates/perry/src/commands/compile/collect_modules/reexport_prune.rs +++ b/crates/perry/src/commands/compile/collect_modules/reexport_prune.rs @@ -1,7 +1,8 @@ //! Collection-time, monotone export demand. Ordinary imports are retained. An //! unused re-export is postponed only when its entire static dependency tree -//! is covered by package sideEffects contracts. Later importers can reactivate -//! it; HIR edges are removed only after every collection root has settled. +//! is covered by package sideEffects contracts or inert-initialization proofs. +//! Later importers can reactivate it; HIR edges are removed only after every +//! collection root has settled. use std::collections::{HashMap, HashSet}; use std::path::{Path, PathBuf}; @@ -11,6 +12,7 @@ use perry_hir::{Export, Import, ImportSpecifier}; use super::super::CompilationContext; mod forwarding; +mod purity; mod scan; mod side_effects; pub(super) use forwarding::normalize as normalize_forwarding_barrel; @@ -170,7 +172,7 @@ pub(super) fn record( return true; } let mut state = std::mem::take(&mut ctx.reexport_pruner); - let safe = state.scan.declared_pure(from) && state.scan.can_drop_tree(source_path, ctx); + let safe = state.scan.module_is_pure(from, ctx) && state.scan.can_drop_tree(source_path, ctx); let mut edge = Edge { from: from.to_owned(), index, diff --git a/crates/perry/src/commands/compile/collect_modules/reexport_prune/forwarding.rs b/crates/perry/src/commands/compile/collect_modules/reexport_prune/forwarding.rs index ccad9a82f0..a875eaa82c 100644 --- a/crates/perry/src/commands/compile/collect_modules/reexport_prune/forwarding.rs +++ b/crates/perry/src/commands/compile/collect_modules/reexport_prune/forwarding.rs @@ -1,8 +1,9 @@ //! Published barrels (notably Remeda) spell re-exports as imports followed by //! `export { local as public }`. Normalize only modules whose runtime imports -//! are named bindings forwarded through local export lists, with an entirely -//! side-effect-free static dependency tree. Converting the complete import -//! group preserves dependency order even when pure initializers form a cycle. +//! are bare imports or named bindings forwarded through local export lists, +//! with an entirely side-effect-free, acyclic static dependency tree. Bare +//! imports remain imports; the cycle proof permits moving forwarded bindings +//! after them without changing the initialization of exported values. use std::collections::{HashMap, HashSet}; use std::path::Path; @@ -96,22 +97,20 @@ pub(crate) fn normalize( return None; } - // Collection visits imports before re-exports. Moving only part of that - // group (or mixing it with existing re-exports) can reverse the entry into - // a cycle: even sideEffects:false modules can read each other's exported - // `var` initializers. Require the entire runtime group to move together. + // Keep namespaces and bindings with uses other than forwarding. Genuine + // bare imports can stay in place: can_drop_tree below proves the complete + // graph free of effects AND cycles before any dependency order changes. + // This covers generated barrels that repeat their shared helper chunks + // as bare imports, as well as mixed direct/indirect re-exports. if module.body.iter().any(|item| match item { ast::ModuleItem::ModuleDecl(ast::ModuleDecl::Import(import)) if !import.type_only => { - import.specifiers.is_empty() - || import.specifiers.iter().any(|spec| match spec { - ast::ImportSpecifier::Named(named) => { - !named.is_type_only && !candidates.contains(named.local.sym.as_ref()) - } - _ => true, - }) + import.specifiers.iter().any(|spec| match spec { + ast::ImportSpecifier::Named(named) => { + !named.is_type_only && !candidates.contains(named.local.sym.as_ref()) + } + _ => true, + }) } - ast::ModuleItem::ModuleDecl(ast::ModuleDecl::ExportNamed(export)) => export.src.is_some(), - ast::ModuleItem::ModuleDecl(ast::ModuleDecl::ExportAll(_)) => true, _ => false, }) { return None; diff --git a/crates/perry/src/commands/compile/collect_modules/reexport_prune/purity.rs b/crates/perry/src/commands/compile/collect_modules/reexport_prune/purity.rs new file mode 100644 index 0000000000..31bba094fe --- /dev/null +++ b/crates/perry/src/commands/compile/collect_modules/reexport_prune/purity.rs @@ -0,0 +1,139 @@ +//! Deliberately small proof for modules without a package sideEffects contract. +//! Only expressions whose evaluation cannot call user code, read a binding, or +//! throw are accepted. Dependencies are checked separately by the scanner. + +use swc_ecma_ast as ast; + +pub(super) fn module_is_pure(module: &ast::Module) -> bool { + module.body.iter().all(|item| match item { + ast::ModuleItem::Stmt(ast::Stmt::Empty(_)) => true, + ast::ModuleItem::Stmt(ast::Stmt::Expr(stmt)) => expr_is_pure(&stmt.expr), + ast::ModuleItem::Stmt(ast::Stmt::Decl(decl)) => decl_is_pure(decl), + ast::ModuleItem::ModuleDecl(decl) => match decl { + ast::ModuleDecl::Import(import) => { + import.type_only + || (import.phase == ast::ImportPhase::Evaluation && import.with.is_none()) + } + ast::ModuleDecl::ExportNamed(export) => export.with.is_none(), + ast::ModuleDecl::ExportAll(export) => export.with.is_none(), + ast::ModuleDecl::ExportDecl(export) => decl_is_pure(&export.decl), + ast::ModuleDecl::ExportDefaultDecl(export) => match &export.decl { + ast::DefaultDecl::Fn(function) => function_is_pure(&function.function), + ast::DefaultDecl::TsInterfaceDecl(_) => true, + _ => false, + }, + ast::ModuleDecl::ExportDefaultExpr(export) => expr_is_pure(&export.expr), + _ => false, + }, + _ => false, + }) +} + +fn decl_is_pure(decl: &ast::Decl) -> bool { + match decl { + ast::Decl::Fn(function) => function_is_pure(&function.function), + ast::Decl::Var(var) => { + var.declare + || var.decls.iter().all(|decl| { + // Destructuring can invoke iterators/getters even when the + // initializer is a freshly created object or array. + matches!(decl.name, ast::Pat::Ident(_)) + && decl.init.as_deref().is_none_or(expr_is_pure) + }) + } + ast::Decl::TsInterface(_) | ast::Decl::TsTypeAlias(_) => true, + _ => false, + } +} + +fn function_is_pure(function: &ast::Function) -> bool { + // Parameters and the body execute on invocation; decorators execute when + // the enclosing module initializes. Do not inspect deferred function code. + function.decorators.is_empty() + && function + .params + .iter() + .all(|param| param.decorators.is_empty()) +} + +fn expr_is_pure(expr: &ast::Expr) -> bool { + match expr { + ast::Expr::Lit(lit) => !matches!(lit, ast::Lit::JSXText(_)), + ast::Expr::Fn(function) => function_is_pure(&function.function), + ast::Expr::Arrow(_) => true, + ast::Expr::Paren(paren) => expr_is_pure(&paren.expr), + ast::Expr::TsAs(expr) => expr_is_pure(&expr.expr), + ast::Expr::TsSatisfies(expr) => expr_is_pure(&expr.expr), + ast::Expr::TsTypeAssertion(expr) => expr_is_pure(&expr.expr), + ast::Expr::TsConstAssertion(expr) => expr_is_pure(&expr.expr), + ast::Expr::TsNonNull(expr) => expr_is_pure(&expr.expr), + ast::Expr::Array(array) => array + .elems + .iter() + .flatten() + .all(|element| element.spread.is_none() && expr_is_pure(&element.expr)), + ast::Expr::Object(object) => object.props.iter().all(|property| { + let ast::PropOrSpread::Prop(property) = property else { + return false; + }; + match property.as_ref() { + ast::Prop::KeyValue(property) => { + !matches!(property.key, ast::PropName::Computed(_)) + && expr_is_pure(&property.value) + } + _ => false, + } + }), + // Even an identifier read can throw (TDZ/unbound), property reads can + // invoke getters, and arithmetic can coerce objects or mix BigInts. + // Classes can evaluate extends, computed keys, decorators and statics. + _ => false, + } +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn accepts_only_inert_initialization_and_deferred_function_bodies() { + for source in [ + "export { answer } from './answer.js'; export * from './unused.js';", + "import './dependency.js'; export const unused = 99;", + "'use strict'; export const values = [1, null, { ok: true }];", + "export function unused(x = effect()) { return effect(x); }", + "export const unused = async () => await import('./lazy.js');", + "export default function () { throw new Error('called'); }", + "export const unused = ({ value: 42 } as const);", + "export interface Shape { x: number }; export type Alias = string;", + ] { + let module = perry_parser::parse_typescript(source, "fixture.ts").unwrap(); + assert!(module_is_pure(&module), "{source}"); + } + } + + #[test] + fn preserves_observable_or_unknown_initialization() { + for source in [ + "console.log('effect'); export const unused = 99;", + "export const unused = effect();", + "export const unused = missing;", + "export const unused = object.getter;", + "export const unused = 1n + 1;", + "export const unused = { [key]: 1 };", + "export const unused = { ...object };", + "export const unused = [...array];", + "export const { unused } = { get unused() { effect(); } };", + "export class Unused { static value = effect(); }", + "export default class extends effect() {}", + "export const unused = import('./lazy.js');", + "await effect(); export const unused = 99;", + "export enum Unused { Value = effect() }", + "using unused = resource();", + "import value from './asset.js' with { type: 'file' };", + ] { + let module = perry_parser::parse_typescript(source, "fixture.ts").unwrap(); + assert!(!module_is_pure(&module), "{source}"); + } + } +} diff --git a/crates/perry/src/commands/compile/collect_modules/reexport_prune/scan.rs b/crates/perry/src/commands/compile/collect_modules/reexport_prune/scan.rs index a24c61736c..2f9c4d5db0 100644 --- a/crates/perry/src/commands/compile/collect_modules/reexport_prune/scan.rs +++ b/crates/perry/src/commands/compile/collect_modules/reexport_prune/scan.rs @@ -20,6 +20,7 @@ struct Summary { dependencies: Vec, unknown_exports: bool, unknown_dependencies: bool, + pure: bool, } #[derive(Default)] @@ -31,8 +32,10 @@ pub(super) struct Scanner { } impl Scanner { - pub(super) fn declared_pure(&mut self, path: &Path) -> bool { - self.contracts.is_pure(path) + pub(super) fn module_is_pure(&mut self, path: &Path, ctx: &mut CompilationContext) -> bool { + self.contracts + .is_pure(path) + .unwrap_or_else(|| self.summary(path, ctx).pure) } fn summary(&mut self, path: &Path, ctx: &mut CompilationContext) -> Summary { @@ -54,6 +57,7 @@ impl Scanner { if let Some(module) = parsed { let defined = ctx.parsed_defines.apply(&module); let module = defined.as_ref().unwrap_or(&module); + result.pure = super::purity::module_is_pure(module); let mut opaque = OpaqueLoads::default(); module.visit_with(&mut opaque); result.unknown_dependencies = opaque.0; @@ -65,6 +69,8 @@ impl Scanner { let mut star = false; match decl { ast::ModuleDecl::Import(import) if !import.type_only => { + result.unknown_dependencies |= + import.with.is_some() || import.phase != ast::ImportPhase::Evaluation; if import.specifiers.is_empty() || import.specifiers.iter().any( |s| !matches!(s, ast::ImportSpecifier::Named(n) if n.is_type_only), @@ -74,10 +80,12 @@ impl Scanner { } } ast::ModuleDecl::ExportAll(export) if !export.type_only => { + result.unknown_dependencies |= export.with.is_some(); dependency = Some(&export.src); star = true; } ast::ModuleDecl::ExportNamed(export) if !export.type_only => { + result.unknown_dependencies |= export.with.is_some(); let mut runtime = export.specifiers.is_empty(); for spec in &export.specifiers { let name = match spec { @@ -252,7 +260,7 @@ impl Scanner { self.droppable.insert(root, false); return false; } - if !self.declared_pure(&canonical) { + if !self.module_is_pure(&canonical, ctx) { self.droppable.insert(root, false); return false; } diff --git a/crates/perry/src/commands/compile/collect_modules/reexport_prune/side_effects.rs b/crates/perry/src/commands/compile/collect_modules/reexport_prune/side_effects.rs index b7a1a463e0..ba3b75cd52 100644 --- a/crates/perry/src/commands/compile/collect_modules/reexport_prune/side_effects.rs +++ b/crates/perry/src/commands/compile/collect_modules/reexport_prune/side_effects.rs @@ -3,12 +3,14 @@ use std::path::{Path, PathBuf}; #[derive(Default)] pub(super) struct Contracts { - files: HashMap, + files: HashMap>, manifests: HashMap>, } impl Contracts { - pub(super) fn is_pure(&mut self, path: &Path) -> bool { + /// None permits AST inference. An explicit effectful/unknown contract + /// vetoes omission even when the current source looks inert. + pub(super) fn is_pure(&mut self, path: &Path) -> Option { if let Some(pure) = self.files.get(path) { return *pure; } @@ -17,7 +19,7 @@ impl Contracts { pure } - fn lookup(&mut self, path: &Path) -> bool { + fn lookup(&mut self, path: &Path) -> Option { // Stop at the owning package, never inherit a parent's contract across // nested node_modules. Type-only package.json files inside dist/ may // omit sideEffects; the owning package's declaration still applies. @@ -28,21 +30,18 @@ impl Contracts { prefix.push(component); if component.as_os_str() == "node_modules" { let Some(name) = components.next() else { - return false; + return Some(false); }; prefix.push(name); if name.as_os_str().to_string_lossy().starts_with('@') { let Some(name) = components.next() else { - return false; + return Some(false); }; prefix.push(name); } package_root = Some(prefix.clone()); } } - let Some(root) = package_root else { - return false; - }; for dir in path.parent().into_iter().flat_map(Path::ancestors) { let manifest = self.manifests.entry(dir.to_owned()).or_insert_with(|| { std::fs::read(dir.join("package.json")) @@ -50,14 +49,14 @@ impl Contracts { .and_then(|bytes| serde_json::from_slice(&bytes).ok()) }); if manifest.is_none() && dir.join("package.json").exists() { - return false; + return Some(false); } if let Some(value) = manifest.as_ref().and_then(|v| v.get("sideEffects")) { - return match value { + return Some(match value { serde_json::Value::Bool(false) => true, serde_json::Value::Array(patterns) => { let Ok(relative) = path.strip_prefix(dir) else { - return false; + return Some(false); }; let relative = relative.to_string_lossy().replace('\\', "/"); patterns.iter().all(|pattern| { @@ -67,13 +66,25 @@ impl Contracts { }) } _ => false, - }; + }); } - if dir == root { + // Canonical workspace-package paths may live outside node_modules. + // Type-only dist manifests do not hide their owning contract. + let boundary = package_root.as_deref().map_or_else( + || { + manifest.as_ref().is_some_and(|value| { + !value + .as_object() + .is_some_and(|object| object.len() == 1 && object.contains_key("type")) + }) + }, + |root| dir == root, + ); + if boundary { break; } } - false + None } } @@ -145,6 +156,54 @@ fn segment(pattern: &[u8], text: &[u8]) -> bool { mod tests { use super::*; + #[test] + fn missing_contracts_allow_inference_but_explicit_contracts_override_it() { + let dir = tempfile::tempdir().unwrap(); + let package = dir.path().join("node_modules/fixture"); + std::fs::create_dir_all(package.join("dist")).unwrap(); + let module = package.join("dist/index.js"); + for (manifest, expected) in [ + (r#"{"name":"fixture"}"#, None), + (r#"{"sideEffects":false}"#, Some(true)), + (r#"{"sideEffects":true}"#, Some(false)), + (r#"{"sideEffects":["**/*.js"]}"#, Some(false)), + (r#"{"sideEffects":["**/*.css"]}"#, Some(true)), + (r#"{"sideEffects":["[ab].js"]}"#, Some(false)), + ("invalid json", Some(false)), + ] { + std::fs::write(package.join("package.json"), manifest).unwrap(); + assert_eq!( + Contracts::default().is_pure(&module), + expected, + "{manifest}" + ); + } + } + + #[test] + fn contracts_respect_workspace_and_nested_package_boundaries() { + let dir = tempfile::tempdir().unwrap(); + std::fs::write(dir.path().join("package.json"), r#"{"sideEffects":false}"#).unwrap(); + let nested = dir.path().join("node_modules/fixture/dist"); + std::fs::create_dir_all(&nested).unwrap(); + let mut contracts = Contracts::default(); + assert_eq!(contracts.is_pure(&dir.path().join("source.js")), Some(true)); + assert_eq!(contracts.is_pure(&nested.join("index.js")), None); + std::fs::write(nested.join("package.json"), r#"{"sideEffects":true}"#).unwrap(); + assert_eq!( + Contracts::default().is_pure(&nested.join("index.js")), + Some(false) + ); + + let dist = dir.path().join("dist/esm"); + std::fs::create_dir_all(&dist).unwrap(); + std::fs::write(dist.join("package.json"), r#"{"type":"module"}"#).unwrap(); + assert_eq!( + Contracts::default().is_pure(&dist.join("index.js")), + Some(true) + ); + } + #[test] fn glob_contracts_fail_closed() { for (pattern, path) in [ diff --git a/crates/perry/tests/source_graph_export_regressions/issue_10180.rs b/crates/perry/tests/source_graph_export_regressions/issue_10180.rs index 45bd5a088f..08b755dbf8 100644 --- a/crates/perry/tests/source_graph_export_regressions/issue_10180.rs +++ b/crates/perry/tests/source_graph_export_regressions/issue_10180.rs @@ -7,6 +7,9 @@ use std::process::Command; use super::{perry_bin, runtime_dir}; +#[path = "issue_10180/purity.rs"] +mod purity; + fn write(root: &Path, path: &str, text: &str) { let path = root.join(path); std::fs::create_dir_all(path.parent().unwrap()).unwrap(); @@ -455,7 +458,7 @@ fn forwarding_barrels_keep_effectful_dependencies_and_bare_imports() { ); let (paths, output) = compile(dir.path(), false, false); assert_eq!(output, "42\n"); - assert!(contains(&paths, "/fixture/unused.js")); + assert!(!contains(&paths, "/fixture/unused.js")); assert!(contains(&paths, "/fixture/bare.js")); write( diff --git a/crates/perry/tests/source_graph_export_regressions/issue_10180/purity.rs b/crates/perry/tests/source_graph_export_regressions/issue_10180/purity.rs new file mode 100644 index 0000000000..820ba6a82e --- /dev/null +++ b/crates/perry/tests/source_graph_export_regressions/issue_10180/purity.rs @@ -0,0 +1,226 @@ +use super::{compile, contains, fixture, perry_bin, runtime_dir, write}; +use std::path::Path; +use std::process::Command; + +fn node_output(root: &Path) -> String { + let output = Command::new("node") + .current_dir(root) + .args(["--experimental-strip-types", "main.ts"]) + .output() + .unwrap(); + assert!(output.status.success(), "{:?}", output); + String::from_utf8(output.stdout) + .unwrap() + .replace("\r\n", "\n") +} + +#[test] +fn inferred_pure_siblings_are_not_compiled_without_package_metadata() { + let dir = fixture(None); + write(dir.path(), "node_modules/fixture/unused.js", "export function unused() { console.log('only when called'); } export const data = [1, { value: 2 }];"); + let (on, output) = compile(dir.path(), false, false); + let (off, baseline) = compile(dir.path(), true, false); + assert_eq!(output, node_output(dir.path())); + assert_eq!(output, baseline); + assert!(!contains(&on, "/fixture/unused.js")); + assert!(contains(&off, "/fixture/unused.js")); + assert_eq!(off.len(), on.len() + 1); +} + +#[test] +fn inferred_purity_applies_to_first_party_forwarding_barrels() { + let dir = fixture(None); + write( + dir.path(), + "main.ts", + "import { used } from './barrel.js'; console.log(used);", + ); + write(dir.path(), "barrel.js", "import { used } from './used.js'; import { unused } from './unused.js'; export { used, unused };"); + write(dir.path(), "used.js", "export const used = 42;"); + write(dir.path(), "unused.js", "export const unused = 99;"); + let (on, output) = compile(dir.path(), false, false); + assert!(!contains(&on, "/unused.js")); + assert_eq!(output, node_output(dir.path())); + assert_eq!(output, compile(dir.path(), true, false).1); +} + +#[test] +fn mixed_forwarding_barrels_prune_unused_siblings_and_keep_bare_dependencies() { + for contract in [None, Some(false.into())] { + let dir = fixture(contract); + write(dir.path(), "node_modules/fixture/index.js", "import { used } from './used.js'; import { unused } from './unused.js'; import './shared.js'; export { used, unused }; export * from './extra.js';"); + write( + dir.path(), + "node_modules/fixture/shared.js", + "export const shared = 7;", + ); + write( + dir.path(), + "node_modules/fixture/extra.js", + "export const extra = 8;", + ); + let (on, output) = compile(dir.path(), false, false); + assert!(!contains(&on, "/fixture/unused.js")); + assert!(!contains(&on, "/fixture/extra.js")); + assert!(contains(&on, "/fixture/shared.js")); + assert_eq!(output, node_output(dir.path())); + assert_eq!(output, compile(dir.path(), true, false).1); + } +} + +#[test] +fn mixed_forwarding_barrels_preserve_the_entry_into_a_cycle() { + for contract in [None, Some(false.into())] { + let dir = fixture(contract); + write( + dir.path(), + "node_modules/fixture/index.js", + "import { a } from './a.js'; import './b.js'; export { a };", + ); + write( + dir.path(), + "node_modules/fixture/a.js", + "import { b } from './b.js'; export var a = (b ?? 0) + 1;", + ); + write( + dir.path(), + "node_modules/fixture/b.js", + "import { a } from './a.js'; export var b = (a ?? 0) + 1;", + ); + write( + dir.path(), + "main.ts", + "import { a } from 'fixture'; console.log(a);", + ); + let (_, output) = compile(dir.path(), false, false); + assert_eq!(output, "2\n"); + assert_eq!(output, node_output(dir.path())); + assert_eq!(output, compile(dir.path(), true, false).1); + } +} + +#[test] +fn inferred_purity_retains_effectful_sibling_in_esm_order() { + let dir = fixture(None); + write( + dir.path(), + "node_modules/fixture/used.js", + "console.log('used'); export const used = 42;", + ); + write( + dir.path(), + "node_modules/fixture/unused.js", + "console.log('unused'); export const unused = 99;", + ); + write(dir.path(), "node_modules/fixture/index.js", "export { used } from './used.js'; export { unused } from './unused.js'; export * from './inert.js';"); + write( + dir.path(), + "node_modules/fixture/inert.js", + "export const inert = 0;", + ); + let (on, output) = compile(dir.path(), false, false); + assert!(contains(&on, "/fixture/unused.js")); + assert!(!contains(&on, "/fixture/inert.js")); + assert_eq!(output, "used\nunused\n42\n"); + assert_eq!(output, node_output(dir.path())); + assert_eq!(output, compile(dir.path(), true, false).1); +} + +#[test] +fn inferred_purity_checks_dependencies_and_honors_explicit_contracts() { + let dir = fixture(None); + write( + dir.path(), + "node_modules/external/package.json", + r#"{"name":"external","type":"module","main":"index.js"}"#, + ); + write( + dir.path(), + "node_modules/external/index.js", + "console.log('external');", + ); + write( + dir.path(), + "node_modules/fixture/unused.js", + "import 'external'; export const unused = 99;", + ); + let (on, output) = compile(dir.path(), false, false); + assert!(contains(&on, "/fixture/unused.js")); + assert!(contains(&on, "/external/index.js")); + assert_eq!(output, "external\n42\n"); + assert_eq!(output, node_output(dir.path())); + assert_eq!(output, compile(dir.path(), true, false).1); + + for contract in [serde_json::json!(true), serde_json::json!(["[ab].js"])] { + let dir = fixture(Some(contract)); + let (on, _) = compile(dir.path(), false, true); + assert!(contains(&on, "/fixture/unused.js")); + } +} + +#[test] +fn inferred_pure_dynamic_target_is_available_but_not_eagerly_initialized() { + let dir = fixture(None); + write( + dir.path(), + "node_modules/fixture/lazy.js", + "console.log('lazy init'); export const lazy = 7;", + ); + write(dir.path(), "main.ts", "import { used } from 'fixture'; export async function load() { return import('fixture/lazy.js'); } console.log(used);"); + let (on, output) = compile(dir.path(), false, false); + assert!(!contains(&on, "/fixture/unused.js")); + assert!(contains(&on, "/fixture/lazy.js")); + assert_eq!(output, "42\n"); + assert_eq!(output, node_output(dir.path())); + assert_eq!(output, compile(dir.path(), true, false).1); + compile(dir.path(), false, true); + let graph: serde_json::Value = serde_json::from_slice( + &std::fs::read(dir.path().join("cache-on/module-graph.json")).unwrap(), + ) + .unwrap(); + let lazy = graph["modules"] + .as_array() + .unwrap() + .iter() + .find(|module| { + module["path"] + .as_str() + .unwrap() + .replace('\\', "/") + .ends_with("/fixture/lazy.js") + }) + .unwrap(); + assert_eq!(lazy["init"], "deferred"); +} + +#[test] +fn cached_build_rechecks_inferred_purity_when_omitted_source_gains_an_effect() { + let dir = fixture(None); + let binary = dir.path().join("cached-inferred"); + let run = || { + let output = Command::new(perry_bin()) + .current_dir(dir.path()) + .args(["compile", "main.ts", "--cache-dir", "cache", "-o"]) + .arg(&binary) + .env("PERRY_NO_AUTO_OPTIMIZE", "1") + .env("PERRY_RUNTIME_DIR", runtime_dir()) + .env("PERRY_NO_REEXPORT_PRUNE", "0") + .env_remove("PERRY_NO_CACHE") + .env_remove("PERRY_COLLECT_ONLY") + .output() + .unwrap(); + assert!(output.status.success(), "{:?}", output); + let output = Command::new(&binary).output().unwrap(); + assert!(output.status.success(), "{:?}", output); + String::from_utf8(output.stdout).unwrap() + }; + assert_eq!(run(), "42\n"); + assert_eq!(run(), "42\n"); + write( + dir.path(), + "node_modules/fixture/unused.js", + "console.log('restored'); export const unused = 99;", + ); + assert_eq!(run(), "restored\n42\n"); + assert_eq!(run(), node_output(dir.path())); +} diff --git a/docs/src/cli/flags.md b/docs/src/cli/flags.md index 8e8b915f98..0154c8bf04 100644 --- a/docs/src/cli/flags.md +++ b/docs/src/cli/flags.md @@ -622,18 +622,23 @@ every claimed profile selection. ## Unused re-export collection Collection prunes unused `export { name } from`, `export * from`, and namespace -re-export edges by default when the exporting package declares the file free -of side effects and every static dependency of the omitted target has the same -guarantee. Perry honors `sideEffects: false` and arrays of `*`, `**`, and `?` -globs. Unsupported patterns, missing contracts, CommonJS, unresolved dependencies, +re-export edges by default when the exporting file and every static dependency +of the omitted target are proven free of side effects. Perry honors +`sideEffects: false` and arrays of `*`, `**`, and `?` globs. Without a contract, +Perry recognizes inert declarations such as literal constants, functions, and +pure forwarding barrels, including first-party modules. Calls, binding/property +reads, classes, destructuring, and other unproven initialization retain the module. +Explicit effectful contracts and unsupported patterns override this inference. +CommonJS, unresolved dependencies, and cyclic static dependency trees conservatively retain the edge. Keeping cycles preserves initialization order even when exported variables read each other. This pass does not remove direct imports used by module code or individual declarations. An `import { x }; export { x }` pair is first normalized to a re-export only in barrels whose runtime imports -are all named bindings forwarded through local export lists, and whose entire -static dependency tree has side-effect-free contracts. Moving the complete -import group preserves dependency order in cycles. Mixed barrels retain their imports. +are bare imports or named bindings forwarded through local export lists, and +whose entire static dependency tree is proven free of side effects and cycles. +Bare imports remain in the graph. Cyclic barrels retain their original imports +so normalization cannot change their initialization entry point. Imports with attributes, nonstandard phases, or package aliases retain their original resolution. Namespace and dynamic imports retain the complete exported surface, and existing dynamic initialization stays deferred. From 3e5d99caa13fbbfb8ec9cda7010d6eb285291b95 Mon Sep 17 00:00:00 2001 From: Ralph Kuepper Date: Mon, 14 Sep 2026 06:36:48 +0200 Subject: [PATCH 08/30] fix(compile): preserve lexical paths during purity inference --- .../src/commands/compile/collect_modules.rs | 1 + .../compile/collect_modules/reexport_prune.rs | 4 +- .../collect_modules/reexport_prune/scan.rs | 7 +- .../issue_10180/purity.rs | 66 +++++++++++++++++++ 4 files changed, 75 insertions(+), 3 deletions(-) diff --git a/crates/perry/src/commands/compile/collect_modules.rs b/crates/perry/src/commands/compile/collect_modules.rs index 30ff194fc2..cb0b2f13cb 100644 --- a/crates/perry/src/commands/compile/collect_modules.rs +++ b/crates/perry/src/commands/compile/collect_modules.rs @@ -1935,6 +1935,7 @@ fn collect_module_one( if reexport_prune::record( ctx, &canonical, + entry_path, export_index, export, &resolved_path, diff --git a/crates/perry/src/commands/compile/collect_modules/reexport_prune.rs b/crates/perry/src/commands/compile/collect_modules/reexport_prune.rs index 28e2e02594..74460865b2 100644 --- a/crates/perry/src/commands/compile/collect_modules/reexport_prune.rs +++ b/crates/perry/src/commands/compile/collect_modules/reexport_prune.rs @@ -163,6 +163,7 @@ impl ReexportPruner { pub(super) fn record( ctx: &mut CompilationContext, from: &Path, + from_source: &Path, index: usize, export: &Export, target: &Path, @@ -172,7 +173,8 @@ pub(super) fn record( return true; } let mut state = std::mem::take(&mut ctx.reexport_pruner); - let safe = state.scan.module_is_pure(from, ctx) && state.scan.can_drop_tree(source_path, ctx); + let safe = + state.scan.module_is_pure(from_source, ctx) && state.scan.can_drop_tree(source_path, ctx); let mut edge = Edge { from: from.to_owned(), index, diff --git a/crates/perry/src/commands/compile/collect_modules/reexport_prune/scan.rs b/crates/perry/src/commands/compile/collect_modules/reexport_prune/scan.rs index 2f9c4d5db0..d4ea1faea7 100644 --- a/crates/perry/src/commands/compile/collect_modules/reexport_prune/scan.rs +++ b/crates/perry/src/commands/compile/collect_modules/reexport_prune/scan.rs @@ -33,8 +33,9 @@ pub(super) struct Scanner { impl Scanner { pub(super) fn module_is_pure(&mut self, path: &Path, ctx: &mut CompilationContext) -> bool { + let canonical = path.canonicalize().unwrap_or_else(|_| path.to_owned()); self.contracts - .is_pure(path) + .is_pure(&canonical) .unwrap_or_else(|| self.summary(path, ctx).pure) } @@ -260,7 +261,9 @@ impl Scanner { self.droppable.insert(root, false); return false; } - if !self.module_is_pure(&canonical, ctx) { + // Preserve the source-visible base while inference fills the AST + // summary, just as ordinary collection resolves relative imports. + if !self.module_is_pure(&path, ctx) { self.droppable.insert(root, false); return false; } diff --git a/crates/perry/tests/source_graph_export_regressions/issue_10180/purity.rs b/crates/perry/tests/source_graph_export_regressions/issue_10180/purity.rs index 820ba6a82e..bb437d5dc4 100644 --- a/crates/perry/tests/source_graph_export_regressions/issue_10180/purity.rs +++ b/crates/perry/tests/source_graph_export_regressions/issue_10180/purity.rs @@ -44,6 +44,72 @@ fn inferred_purity_applies_to_first_party_forwarding_barrels() { assert_eq!(output, compile(dir.path(), true, false).1); } +#[cfg(any(unix, windows))] +#[test] +fn inferred_purity_resolves_dependencies_from_the_source_visible_path() { + let dir = fixture(None); + write( + dir.path(), + "main.ts", + "import { used } from './visible/barrel/index.js'; console.log(used);", + ); + write( + dir.path(), + "actual/barrel/index.js", + "export { used } from './used.js'; export { unused } from './unused.js';", + ); + write( + dir.path(), + "actual/barrel/used.js", + "export const used = 42;", + ); + write( + dir.path(), + "actual/barrel/unused.js", + "import '../effect.js'; export const unused = 99;", + ); + write(dir.path(), "actual/effect.js", "export const inert = 0;"); + write(dir.path(), "visible/effect.js", "console.log('visible');"); + let actual = dir.path().join("actual/barrel"); + let alias = dir.path().join("visible/barrel"); + #[cfg(unix)] + std::os::unix::fs::symlink(&actual, &alias).unwrap(); + #[cfg(windows)] + { + // Directory junctions need no administrator/developer-mode privilege. + let output = Command::new("cmd") + .args(["/C", "mklink", "/J"]) + .arg(alias.to_string_lossy().replace('/', "\\")) + .arg(actual.to_string_lossy().replace('/', "\\")) + .output() + .unwrap(); + assert!(output.status.success(), "{:?}", output); + } + let (on, output) = compile(dir.path(), false, false); + assert!(contains(&on, "/actual/barrel/unused.js")); + assert!(contains(&on, "/visible/effect.js")); + assert!(!contains(&on, "/actual/effect.js")); + assert_eq!(output, "visible\n42\n"); + assert_eq!(output, compile(dir.path(), true, false).1); + // Perry deliberately uses the lexical import base through symlinks. + let node = Command::new("node") + .current_dir(dir.path()) + .args([ + "--preserve-symlinks", + "--experimental-strip-types", + "main.ts", + ]) + .output() + .unwrap(); + assert!(node.status.success(), "{:?}", node); + assert_eq!( + output, + String::from_utf8(node.stdout) + .unwrap() + .replace("\r\n", "\n") + ); +} + #[test] fn mixed_forwarding_barrels_prune_unused_siblings_and_keep_bare_dependencies() { for contract in [None, Some(false.into())] { From 58a29c9ba73e64d723731239ac7d50533500df5a Mon Sep 17 00:00:00 2001 From: Ralph Kuepper Date: Mon, 14 Sep 2026 06:36:45 +0200 Subject: [PATCH 09/30] perf(runtime): prepare refreshable registry address index Refs #10110. Adapt the reusable index and population/churn witnesses from proggeramlug/perry#1 for main. Scale all three hash slices with the per-owner width and cover concurrent refreshes and address reuse. The canonical-wrapper owner is still on the campaign branch; document its required integration without closing the issue. --- changelog.d/10110-registry-address-index.md | 17 + crates/perry-runtime/src/registry_latch.rs | 455 +++++++++++++++++++- crates/perry-runtime/src/symbol.rs | 3 +- 3 files changed, 453 insertions(+), 22 deletions(-) create mode 100644 changelog.d/10110-registry-address-index.md diff --git a/changelog.d/10110-registry-address-index.md b/changelog.d/10110-registry-address-index.md new file mode 100644 index 0000000000..d1c6816fb8 --- /dev/null +++ b/changelog.d/10110-registry-address-index.md @@ -0,0 +1,17 @@ +Prepare the address-index fix for #10110: allow each registry to size its Bloom +filter and add `RegistryAddrIndex`, which rebuilds its bits from live addresses +as registrations retire. Readers retain three atomic bit tests with no lock or +allocation. Existing symbol filters retain their 16-word width and hash positions. + +Adapted from [proggeramlug/perry#1](https://github.com/proggeramlug/perry/pull/1). +Coverage includes the reported 644-address population, retirement, 20,000-address +churn, address reuse, and concurrent admissions/refreshes. Hash slices scale with +the chosen width so all three probes can use the entire array. + +The canonical-wrapper subsystem is still absent from `main`, so this is its +prerequisite, not a claim of the campaign's measured CPU improvement on `main`. +When that subsystem lands, use `RegistryAddrIndex<256>` in +`native_handle/canonical.rs`, admit before publishing the identity, and retire +after all three removal paths: stale identity replacement, finalized identity +removal, and explicit retirement (after `finalize_once`). Keep the authoritative +wrapper validation after `may_contain`. Issue #10110 remains open for that wiring. diff --git a/crates/perry-runtime/src/registry_latch.rs b/crates/perry-runtime/src/registry_latch.rs index 8e64271625..0dc12ae5e1 100644 --- a/crates/perry-runtime/src/registry_latch.rs +++ b/crates/perry-runtime/src/registry_latch.rs @@ -62,6 +62,7 @@ //! is what ships. use std::sync::atomic::{AtomicBool, AtomicU64, AtomicUsize, Ordering}; +use std::sync::{Mutex, MutexGuard}; /// A one-way "this feature has been registered at least once" flag. /// @@ -297,6 +298,12 @@ impl RegistryAddrWindow { /// here is the one the measurements above were taken at, and is deliberately /// not raised on speculation. /// +/// `WORDS` is a per-owner parameter, defaulting to 16. Issue #10110 measured +/// 643–648 live canonical wrappers saturating this default on a separate +/// campaign branch. That owner needs 256 words and [`RegistryAddrIndex`] to +/// release retired addresses; increasing a monotone filter only postpones +/// saturation. The canonical-wrapper subsystem has not landed on `main` yet. +/// /// **Bits accrue per ADMISSION, not per live entry.** Both tables this guards /// are re-keyed by the collector — a symbol or a prototype that is evacuated is /// admitted again at its new address, and the bits its old address set are @@ -327,32 +334,36 @@ impl RegistryAddrWindow { /// pre-check would let a thread publish an address without ever acquiring /// another thread's bit-setting, so a reader synchronising only with this /// thread could miss it. -pub struct RegistryAddrFilter { - words: [AtomicU64; Self::WORDS], +pub struct RegistryAddrFilter { + words: [AtomicU64; WORDS], } -impl Default for RegistryAddrFilter { +impl Default for RegistryAddrFilter { fn default() -> Self { Self::new() } } -impl std::fmt::Debug for RegistryAddrFilter { +impl std::fmt::Debug for RegistryAddrFilter { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { f.debug_struct("RegistryAddrFilter") + .field("words", &WORDS) .field("bits_set", &self.bits_set()) .finish() } } -impl RegistryAddrFilter { - const WORDS: usize = 16; - const BITS: u64 = (Self::WORDS as u64) * 64; +impl RegistryAddrFilter { + const BITS: u64 = (WORDS as u64) * 64; + const HASH_BITS: u32 = Self::BITS.ilog2(); /// An empty filter: contains no address at all. pub const fn new() -> Self { + // Three disjoint slices must fit in the 64-bit hash. Power-of-two + // widths keep the hot probes division-free after constant folding. + assert!(WORDS.is_power_of_two() && WORDS <= (1 << 15)); Self { - words: [const { AtomicU64::new(0) }; Self::WORDS], + words: [const { AtomicU64::new(0) }; WORDS], } } @@ -368,9 +379,9 @@ impl RegistryAddrFilter { const fn bit_positions(addr: usize) -> (u64, u64, u64) { let h = ((addr as u64) >> 3).wrapping_mul(0x9E37_79B9_7F4A_7C15); ( - (h >> 54) % Self::BITS, - (h >> 44) % Self::BITS, - (h >> 34) % Self::BITS, + (h >> (64 - Self::HASH_BITS)) % Self::BITS, + (h >> (64 - 2 * Self::HASH_BITS)) % Self::BITS, + (h >> (64 - 3 * Self::HASH_BITS)) % Self::BITS, ) } @@ -404,6 +415,34 @@ impl RegistryAddrFilter { } } + /// Replace every word with the bits of `live`. + /// + /// **Only [`RegistryAddrIndex`] may call this**, and only while holding the + /// guard that serializes this filter's admissions: the soundness argument + /// is written out on that type, and it depends on `live` being the complete + /// current population and on no `admit` running concurrently. + fn overwrite_from_live(&self, live: impl IntoIterator) { + let mut fresh = [0u64; WORDS]; + for addr in live { + let (a, b, c) = Self::bit_positions(addr); + for bit in [a, b, c] { + fresh[(bit / 64) as usize] |= 1u64 << (bit % 64); + } + } + // Release, so a reader that observes a word observes the set membership + // that produced it. Word-at-a-time publication is safe because every + // live address's bits are present in both the old and the new value. + for (word, value) in self.words.iter().zip(fresh.iter()) { + word.store(*value, Ordering::Release); + } + } + + /// How many bits this filter has in total. Diagnostics and tests only: + /// an occupancy count means nothing without the capacity it is a share of. + pub fn capacity_bits(&self) -> u32 { + Self::BITS as u32 + } + /// How many bits are set. Diagnostics and tests only: a filter whose bits /// are nearly all set has stopped discriminating, and a test that wants to /// prove the fast path RAN needs to know the filter is not saturated. @@ -422,8 +461,8 @@ impl RegistryAddrFilter { /// as unregistered. A test that calls this must restore what it cleared — /// see [`Self::restore_for_tests`]. #[cfg(test)] - pub(crate) fn take_for_tests(&self) -> [u64; Self::WORDS] { - let mut previous = [0u64; Self::WORDS]; + pub(crate) fn take_for_tests(&self) -> [u64; WORDS] { + let mut previous = [0u64; WORDS]; for (slot, word) in previous.iter_mut().zip(self.words.iter()) { *slot = word.swap(0, Ordering::AcqRel); } @@ -432,7 +471,7 @@ impl RegistryAddrFilter { /// Test hook: OR the saved bits back in. #[cfg(test)] - pub(crate) fn restore_for_tests(&self, saved: [u64; Self::WORDS]) { + pub(crate) fn restore_for_tests(&self, saved: [u64; WORDS]) { for (word, bits) in self.words.iter().zip(saved.iter()) { word.fetch_or(*bits, Ordering::AcqRel); } @@ -440,8 +479,8 @@ impl RegistryAddrFilter { /// Test hook: the current bit words, as a plain value. #[cfg(test)] - pub(crate) fn snapshot_for_tests(&self) -> [u64; Self::WORDS] { - let mut words = [0u64; Self::WORDS]; + pub(crate) fn snapshot_for_tests(&self) -> [u64; WORDS] { + let mut words = [0u64; WORDS]; for (slot, word) in words.iter_mut().zip(self.words.iter()) { *slot = word.load(Ordering::Acquire); } @@ -456,7 +495,7 @@ impl RegistryAddrFilter { /// filter already happened to accept" is only checkable against the filter /// as it stood BEFORE the move. #[cfg(test)] - pub(crate) fn snapshot_may_contain(words: &[u64; Self::WORDS], addr: usize) -> bool { + pub(crate) fn snapshot_may_contain(words: &[u64; WORDS], addr: usize) -> bool { let (a, b, c) = Self::bit_positions(addr); [a, b, c] .into_iter() @@ -466,7 +505,176 @@ impl RegistryAddrFilter { /// The word count, so a caller can name the snapshot type. #[cfg(test)] pub(crate) const fn words() -> usize { - Self::WORDS + WORDS + } +} + +/// The addresses an owner currently holds, sized from that population and +/// narrowed when the population shrinks. +/// +/// [`RegistryAddrFilter`] answers "was this address EVER admitted?", by default +/// in 1,024 bits. Both halves of that sentence are what the #10110 census +/// measured going wrong for the canonical-handle owner: 643–648 live addresses +/// do not fit in 1,024 bits, and the 712–721 admissions a single command makes +/// are never released, so even a filter sized for the live set would walk +/// towards saturation over a session. This type fixes both without changing the +/// hot side: `may_contain` is still the same three bit tests on a plain array of +/// atomics, with no lock, no allocation and no pointer chase. +/// +/// # What it adds +/// +/// The owner's live addresses are kept in an exact set, mutated only when a +/// wrapper is created or retired — 712–721 and 69–76 times per command +/// respectively, against tens of millions of probes, so the mutex that guards it +/// is never contended by the hot path. When enough has changed, the bit array is +/// recomputed from that exact set, which is what releases retired addresses. +/// Refreshes are paced by the live population, with no timer or workload knob. +/// +/// # Why overwriting the bits is sound +/// +/// [`RegistryAddrFilter`] deliberately has no `clear`, because clearing bits +/// could make a live registered address read as unregistered — the one +/// dangerous answer. The refresh here is not a clear: +/// +/// * Every `admit` and every refresh for one index is serialized by the same +/// mutex, so no admission's bit-set can be lost to a refresh's store. This is +/// why `admit` takes the guard *before* setting the bits. +/// * The new words are computed from the complete live set. For an address that +/// is live, its three bits are therefore set in the new value; they are also +/// set in the old value, because it was admitted under this same guard and +/// every refresh published while it was live also included it. A reader may +/// observe any mix of old and new words, and in every such mix all three of a +/// live address's bits are set. **No reader can observe a false negative at +/// any instant**, which is the same guarantee the monotone filter gives. +/// * An address that is *not* live may start reading `false`. That is the point, +/// and it is safe because the owner removes an address from the live set only +/// after its authoritative registry no longer recognises it, and because the +/// index is only ever a gate in front of that authoritative lookup: a stale +/// `true` costs the lookup that was always there, exactly as a Bloom false +/// positive does. +/// +/// # The ordering rule (binding, inherited unchanged) +/// +/// [`admit`](Self::admit) must run BEFORE the registry mutation it advertises, +/// and [`retire`](Self::retire) AFTER the registry mutation that ends the +/// address's registration. Retiring first would open a window in which the +/// registry still recognises an address the index already denies. +/// +/// This is a set, not a reference count: repeated admissions are idempotent. +/// The owner must serialize an address's complete registration/retirement +/// lifecycle, including reuse, so a delayed retirement cannot erase a newer +/// admission. As with the monotone filter, publishing an address to another +/// thread must establish a happens-before edge from its admission. +pub struct RegistryAddrIndex { + filter: RegistryAddrFilter, + live: Mutex>, +} + +struct LiveAddrs { + addrs: crate::fast_hash::PtrHashSet, + /// Admissions plus retirements since the last refresh. Only ever touched + /// under the `live` guard. + changes_since_refresh: usize, +} + +/// A refresh costs O(live), so it may not run more often than once per O(live) +/// changes. This floor keeps a tiny population from refreshing on every single +/// change; it is a lower bound on work, not a tuning knob for a workload. +const REFRESH_CHANGE_FLOOR: usize = 64; + +impl Default for RegistryAddrIndex { + fn default() -> Self { + Self::new() + } +} + +impl std::fmt::Debug for RegistryAddrIndex { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + f.debug_struct("RegistryAddrIndex") + .field("words", &WORDS) + .field("bits_set", &self.bits_set()) + .field("live", &self.live_count()) + .finish() + } +} + +impl RegistryAddrIndex { + /// An empty index: contains no address at all. + pub const fn new() -> Self { + Self { + filter: RegistryAddrFilter::new(), + live: Mutex::new(None), + } + } + + /// `false` ⟹ `addr` is definitively not registered with this owner. + /// + /// The hot side, unchanged from [`RegistryAddrFilter::may_contain`]: three + /// bit tests, short-circuiting, no lock and no allocation. + #[inline(always)] + pub fn may_contain(&self, addr: usize) -> bool { + self.filter.may_contain(addr) + } + + fn guard(&self) -> MutexGuard<'_, Option> { + // A poisoned guard must not turn a classification into a panic: the + // live set is only an accelerator, and its worst state is stale. + self.live + .lock() + .unwrap_or_else(|poisoned| poisoned.into_inner()) + } + + /// Add `addr`. MUST run before the registry mutation it advertises. + pub fn admit(&self, addr: usize) { + let mut guard = self.guard(); + let state = guard.get_or_insert_with(|| LiveAddrs { + addrs: crate::fast_hash::new_ptr_hash_set(), + changes_since_refresh: 0, + }); + // Under the guard, so a concurrent refresh cannot drop these bits. + self.filter.admit(addr); + if state.addrs.insert(addr) { + state.changes_since_refresh += 1; + } + self.refresh_if_warranted(state); + } + + /// Drop `addr`. MUST run after the registry mutation that ends its + /// registration, so no window exists in which the registry recognises an + /// address this index already denies. + pub fn retire(&self, addr: usize) { + let mut guard = self.guard(); + let Some(state) = guard.as_mut() else { + return; + }; + if !state.addrs.remove(&addr) { + return; + } + state.changes_since_refresh += 1; + self.refresh_if_warranted(state); + } + + fn refresh_if_warranted(&self, state: &mut LiveAddrs) { + if state.changes_since_refresh < REFRESH_CHANGE_FLOOR.max(state.addrs.len()) { + return; + } + state.changes_since_refresh = 0; + self.filter.overwrite_from_live(state.addrs.iter().copied()); + } + + /// Bits set in the underlying array, and its capacity. Diagnostics: an + /// occupancy count means nothing without the capacity it is a share of. + pub fn occupancy(&self) -> (u32, u32) { + (self.filter.bits_set(), self.filter.capacity_bits()) + } + + fn bits_set(&self) -> u32 { + self.filter.bits_set() + } + + /// How many addresses the owner currently holds. + pub fn live_count(&self) -> usize { + self.guard().as_ref().map_or(0, |state| state.addrs.len()) } } @@ -474,6 +682,211 @@ impl RegistryAddrFilter { mod tests { use super::*; + /// Synthetic wrapper addresses: 8-byte aligned, above the handle band, + /// spread the way `gc_malloc` results are rather than densely packed. + fn wrapper_addrs(count: usize) -> Vec { + (0..count).map(|i| 0x7F00_0000_1000usize + i * 96).collect() + } + + fn probe_addrs(count: usize) -> Vec { + (0..count).map(|i| 0x6100_0000_0008usize + i * 64).collect() + } + + fn pass_rate(index: &RegistryAddrIndex, probes: &[usize]) -> f64 { + let passes = probes.iter().filter(|&&a| index.may_contain(a)).count(); + passes as f64 / probes.len() as f64 + } + + #[test] + fn wider_filter_uses_the_full_width_for_each_probe() { + let mut high_half_seen = [false; 3]; + for addr in wrapper_addrs(644) { + let (a, b, c) = RegistryAddrFilter::<256>::bit_positions(addr); + for (seen, bit) in high_half_seen.iter_mut().zip([a, b, c]) { + assert!(bit < 16_384); + *seen |= bit >= 8_192; + } + } + assert!(high_half_seen.into_iter().all(|seen| seen)); + } + + #[test] + fn index_supports_duplicate_admission_and_address_reuse() { + let index: RegistryAddrIndex<256> = RegistryAddrIndex::new(); + let addr = wrapper_addrs(1)[0]; + index.retire(addr); + assert_eq!(index.live_count(), 0); + assert!(!index.may_contain(addr)); + + for _ in 0..3 { + index.admit(addr); + index.admit(addr); + assert_eq!(index.live_count(), 1); + assert!(index.may_contain(addr)); + index.retire(addr); + index.retire(addr); + assert_eq!(index.live_count(), 0); + } + index.admit(addr); + assert_eq!(index.live_count(), 1); + assert!(index.may_contain(addr)); + } + + #[test] + fn concurrent_refreshes_preserve_published_live_addresses() { + use std::sync::Barrier; + + const WRITERS: usize = 4; + const RESIDENT: usize = 64; + let index: RegistryAddrIndex<256> = RegistryAddrIndex::new(); + let resident = wrapper_addrs(RESIDENT); + for &addr in &resident { + index.admit(addr); + } + let start = Barrier::new(WRITERS + 1); + std::thread::scope(|scope| { + for writer in 0..WRITERS { + let (index, start, resident) = (&index, &start, &resident); + scope.spawn(move || { + start.wait(); + for i in 0..2_000 { + let addr = 0x6100_0000_0008 + (i * WRITERS + writer) * 64; + index.admit(addr); + assert!(index.may_contain(addr)); + for &live in resident { + assert!(index.may_contain(live)); + } + index.retire(addr); + } + }); + } + start.wait(); + for _ in 0..2_000 { + for &addr in &resident { + assert!(index.may_contain(addr)); + } + } + }); + assert_eq!(index.live_count(), RESIDENT); + for addr in resident { + assert!(index.may_contain(addr)); + } + assert!(pass_rate(&index, &probe_addrs(20_000)) < 0.02); + } + + /// The 644-address population reported in #10110 must fit in the proposed + /// canonical-owner width. The default width is a saturation witness. + #[test] + fn sized_index_holds_the_measured_live_population() { + const LIVE: usize = 644; + let live = wrapper_addrs(LIVE); + let probes = probe_addrs(20_000); + + let sized: RegistryAddrIndex<256> = RegistryAddrIndex::new(); + for &addr in &live { + sized.admit(addr); + } + assert_eq!(sized.live_count(), LIVE); + let sized_rate = pass_rate(&sized, &probes); + assert!( + sized_rate < 0.02, + "sized index admits {sized_rate} of non-members" + ); + for &addr in &live { + assert!(sized.may_contain(addr), "sized index lost a live address"); + } + + let small: RegistryAddrIndex<16> = RegistryAddrIndex::new(); + for &addr in &live { + small.admit(addr); + } + let small_rate = pass_rate(&small, &probes); + assert!( + small_rate > 0.30, + "the 1,024-bit witness should be saturated by this population, got {small_rate}" + ); + assert!( + sized_rate * 10.0 < small_rate, + "{sized_rate} vs {small_rate}" + ); + } + + /// Retirement must actually narrow the index, and must never drop a live + /// address while doing it. A refresh that kept retired addresses would make + /// this type no better than the monotone filter. + #[test] + fn refresh_releases_retired_addresses_and_keeps_live_ones() { + let addrs = wrapper_addrs(600); + let index: RegistryAddrIndex<256> = RegistryAddrIndex::new(); + for &addr in &addrs { + index.admit(addr); + } + let (occupied, capacity) = index.occupancy(); + assert!(occupied > 0 && occupied < capacity); + + let (live, retired) = addrs.split_at(50); + for &addr in retired { + index.retire(addr); + } + assert_eq!(index.live_count(), live.len()); + let (after, _) = index.occupancy(); + assert!( + after * 4 < occupied, + "occupancy {after} should collapse towards the live set from {occupied}" + ); + for &addr in live { + assert!( + index.may_contain(addr), + "a live address was dropped by a refresh" + ); + } + let still_admitted = retired.iter().filter(|&&a| index.may_contain(a)).count(); + assert!( + still_admitted * 10 < retired.len(), + "{still_admitted} of {} retired addresses still pass", + retired.len() + ); + } + + /// The defect the census measured is a WALK: bits accrue per admission, so a + /// long session saturates even a filter sized for its live set. Churn a + /// population two orders of magnitude larger than what is ever live and + /// require that selectivity survives it. + #[test] + fn churn_does_not_walk_towards_saturation() { + const CHURN: usize = 20_000; + const RESIDENT: usize = 64; + let addrs = wrapper_addrs(CHURN); + let index: RegistryAddrIndex<256> = RegistryAddrIndex::new(); + let monotone: RegistryAddrFilter<256> = RegistryAddrFilter::new(); + for (i, &addr) in addrs.iter().enumerate() { + index.admit(addr); + monotone.admit(addr); + if i >= RESIDENT { + index.retire(addrs[i - RESIDENT]); + } + } + assert!(index.live_count() <= RESIDENT + 1, "{}", index.live_count()); + let probes = probe_addrs(20_000); + let rate = pass_rate(&index, &probes); + assert!( + rate < 0.02, + "index admits {rate} of non-members after churn" + ); + let monotone_passes = probes.iter().filter(|&&a| monotone.may_contain(a)).count(); + let monotone_rate = monotone_passes as f64 / probes.len() as f64; + assert!( + monotone_rate > 0.50, + "the monotone witness of the same size should be saturated, got {monotone_rate}" + ); + for i in (CHURN - RESIDENT)..CHURN { + assert!( + index.may_contain(addrs[i]), + "churn dropped a resident address" + ); + } + } + #[test] fn starts_idle_and_arms_once() { let latch = RegistryLatch::new(); @@ -570,7 +983,7 @@ mod tests { #[test] fn empty_filter_contains_nothing() { - let f = RegistryAddrFilter::new(); + let f: RegistryAddrFilter = RegistryAddrFilter::new(); assert_eq!(f.bits_set(), 0); for addr in [0usize, 8, 0x1000, 0x7fff_ffff_f000, usize::MAX] { assert!( @@ -585,7 +998,7 @@ mod tests { /// was never given; it is never allowed to reject one it was. #[test] fn filter_never_rejects_an_admitted_address() { - let f = RegistryAddrFilter::new(); + let f: RegistryAddrFilter = RegistryAddrFilter::new(); let mut admitted = Vec::new(); // A realistic spread: 8-byte-aligned addresses across a wide heap. for i in 0..256usize { @@ -609,7 +1022,7 @@ mod tests { /// majority of addresses it was never given. #[test] fn filter_rejects_almost_everything_it_was_never_given() { - let f = RegistryAddrFilter::new(); + let f: RegistryAddrFilter = RegistryAddrFilter::new(); // 160 entries — the number of class prototypes `claude-code --help` // registers, i.e. the population this size was chosen for. for i in 0..160usize { diff --git a/crates/perry-runtime/src/symbol.rs b/crates/perry-runtime/src/symbol.rs index b2d451ef8a..5bab20ae26 100644 --- a/crates/perry-runtime/src/symbol.rs +++ b/crates/perry-runtime/src/symbol.rs @@ -531,7 +531,8 @@ pub(crate) fn insert_symbol_pointer_in_set(set: &mut PtrHashSet, ptr: usi /// Width of the symbol filter's bit array, for tests that snapshot it. #[cfg(test)] -pub(crate) const SYMBOL_FILTER_WORDS: usize = crate::registry_latch::RegistryAddrFilter::words(); +pub(crate) const SYMBOL_FILTER_WORDS: usize = + crate::registry_latch::RegistryAddrFilter::<16>::words(); /// Save/restore this test's address filter around a fixture that needs to /// observe a NEARLY-EMPTY filter. A reset must put back at least what it found, From 215b5c288b6fb07114f85484cc5c17dee17f2236 Mon Sep 17 00:00:00 2001 From: Ralph Kuepper Date: Mon, 14 Sep 2026 06:37:40 +0200 Subject: [PATCH 10/30] docs: key registry index changelog to PR 10251 --- ...-registry-address-index.md => 10251-registry-address-index.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename changelog.d/{10110-registry-address-index.md => 10251-registry-address-index.md} (100%) diff --git a/changelog.d/10110-registry-address-index.md b/changelog.d/10251-registry-address-index.md similarity index 100% rename from changelog.d/10110-registry-address-index.md rename to changelog.d/10251-registry-address-index.md From 45960e96590cff0b19d473e336e8f3e32ed903ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ralph=20K=C3=BCpper?= Date: Mon, 14 Sep 2026 06:37:10 +0200 Subject: [PATCH 11/30] perf(runtime): cache handle stack metadata and compact root slots --- benchmarks/runtime_handle_scopes/README.md | 127 ++++++++ .../evidence/api-docs-drift.patch.gz | Bin 0 -> 886 bytes .../evidence/baseline-artifact-sha256.txt | 3 + .../evidence/baseline-exec1.folded.gz | Bin 0 -> 169115 bytes .../evidence/baseline-exec1.stat | 3 + .../evidence/baseline-gc-ratchet.json.gz | Bin 0 -> 5926 bytes .../evidence/baseline-hoist.folded.gz | Bin 0 -> 98097 bytes .../evidence/baseline-hoist.stat | 3 + .../evidence/baseline-json.folded.gz | Bin 0 -> 42846 bytes .../evidence/baseline-json.stat | 3 + .../evidence/baseline-promises.folded.gz | Bin 0 -> 17523 bytes .../evidence/baseline-promises.stat | 3 + .../evidence/baseline-workspace-warnings.log | 163 ++++++++++ .../evidence/fault-omit-last-root.txt | 7 + .../fault-skip-cache-unpublish-direct.txt | 5 + .../evidence/fault-skip-marking-barrier.txt | 7 + .../evidence/fault-skip-throw-truncate.txt | 6 + .../fix-artifact-sha256-after-ext.txt | 3 + .../fix-artifact-sha256-before-ext.txt | 3 + .../evidence/fix-exec1.folded.gz | Bin 0 -> 162817 bytes .../evidence/fix-exec1.stat | 3 + .../evidence/fix-gc-instrument-smoke.log | 70 +++++ .../evidence/fix-gc-ratchet.json.gz | Bin 0 -> 5976 bytes .../evidence/fix-gc-stress-coherent.json | 1 + .../evidence/fix-hoist.folded.gz | Bin 0 -> 81767 bytes .../evidence/fix-hoist.stat | 3 + .../evidence/fix-json.folded.gz | Bin 0 -> 38105 bytes .../evidence/fix-json.stat | 3 + .../evidence/fix-lint-full.log | 104 +++++++ .../evidence/fix-promises.folded.gz | Bin 0 -> 18753 bytes .../evidence/fix-promises.stat | 3 + .../evidence/gc-ratchet-comparison.json | 12 + .../evidence/gc-ratchet-pinned-failures.txt | 31 ++ .../evidence/http2-baseline-comparison.json | 20 ++ .../evidence/http2-netns-results.json | 14 + benchmarks/runtime_handle_scopes/exec1.ts | 1 + .../runtime_handle_scopes/fault-results.json | 28 ++ benchmarks/runtime_handle_scopes/hoist.ts | 1 + .../runtime_handle_scopes/instructions.json | 31 ++ benchmarks/runtime_handle_scopes/json.ts | 10 + benchmarks/runtime_handle_scopes/measure.py | 74 +++++ benchmarks/runtime_handle_scopes/promises.ts | 9 + changelog.d/runtime-handle-scopes.md | 6 + crates/perry-runtime/src/gc/roots.rs | 4 +- .../src/gc/roots/runtime_handles.rs | 282 +++++++++--------- .../src/gc/roots/runtime_handles/stack.rs | 125 ++++++++ .../src/gc/roots/runtime_handles/tests.rs | 95 ++++++ .../src/gc/tests/runtime_roots.rs | 1 + .../gc/tests/runtime_roots/handle_stack.rs | 183 ++++++++++++ crates/perry-runtime/src/tls_hot.rs | 9 +- 50 files changed, 1318 insertions(+), 141 deletions(-) create mode 100644 benchmarks/runtime_handle_scopes/README.md create mode 100644 benchmarks/runtime_handle_scopes/evidence/api-docs-drift.patch.gz create mode 100644 benchmarks/runtime_handle_scopes/evidence/baseline-artifact-sha256.txt create mode 100644 benchmarks/runtime_handle_scopes/evidence/baseline-exec1.folded.gz create mode 100644 benchmarks/runtime_handle_scopes/evidence/baseline-exec1.stat create mode 100644 benchmarks/runtime_handle_scopes/evidence/baseline-gc-ratchet.json.gz create mode 100644 benchmarks/runtime_handle_scopes/evidence/baseline-hoist.folded.gz create mode 100644 benchmarks/runtime_handle_scopes/evidence/baseline-hoist.stat create mode 100644 benchmarks/runtime_handle_scopes/evidence/baseline-json.folded.gz create mode 100644 benchmarks/runtime_handle_scopes/evidence/baseline-json.stat create mode 100644 benchmarks/runtime_handle_scopes/evidence/baseline-promises.folded.gz create mode 100644 benchmarks/runtime_handle_scopes/evidence/baseline-promises.stat create mode 100644 benchmarks/runtime_handle_scopes/evidence/baseline-workspace-warnings.log create mode 100644 benchmarks/runtime_handle_scopes/evidence/fault-omit-last-root.txt create mode 100644 benchmarks/runtime_handle_scopes/evidence/fault-skip-cache-unpublish-direct.txt create mode 100644 benchmarks/runtime_handle_scopes/evidence/fault-skip-marking-barrier.txt create mode 100644 benchmarks/runtime_handle_scopes/evidence/fault-skip-throw-truncate.txt create mode 100644 benchmarks/runtime_handle_scopes/evidence/fix-artifact-sha256-after-ext.txt create mode 100644 benchmarks/runtime_handle_scopes/evidence/fix-artifact-sha256-before-ext.txt create mode 100644 benchmarks/runtime_handle_scopes/evidence/fix-exec1.folded.gz create mode 100644 benchmarks/runtime_handle_scopes/evidence/fix-exec1.stat create mode 100644 benchmarks/runtime_handle_scopes/evidence/fix-gc-instrument-smoke.log create mode 100644 benchmarks/runtime_handle_scopes/evidence/fix-gc-ratchet.json.gz create mode 100644 benchmarks/runtime_handle_scopes/evidence/fix-gc-stress-coherent.json create mode 100644 benchmarks/runtime_handle_scopes/evidence/fix-hoist.folded.gz create mode 100644 benchmarks/runtime_handle_scopes/evidence/fix-hoist.stat create mode 100644 benchmarks/runtime_handle_scopes/evidence/fix-json.folded.gz create mode 100644 benchmarks/runtime_handle_scopes/evidence/fix-json.stat create mode 100644 benchmarks/runtime_handle_scopes/evidence/fix-lint-full.log create mode 100644 benchmarks/runtime_handle_scopes/evidence/fix-promises.folded.gz create mode 100644 benchmarks/runtime_handle_scopes/evidence/fix-promises.stat create mode 100644 benchmarks/runtime_handle_scopes/evidence/gc-ratchet-comparison.json create mode 100644 benchmarks/runtime_handle_scopes/evidence/gc-ratchet-pinned-failures.txt create mode 100644 benchmarks/runtime_handle_scopes/evidence/http2-baseline-comparison.json create mode 100644 benchmarks/runtime_handle_scopes/evidence/http2-netns-results.json create mode 100644 benchmarks/runtime_handle_scopes/exec1.ts create mode 100644 benchmarks/runtime_handle_scopes/fault-results.json create mode 100644 benchmarks/runtime_handle_scopes/hoist.ts create mode 100644 benchmarks/runtime_handle_scopes/instructions.json create mode 100644 benchmarks/runtime_handle_scopes/json.ts create mode 100644 benchmarks/runtime_handle_scopes/measure.py create mode 100644 benchmarks/runtime_handle_scopes/promises.ts create mode 100644 changelog.d/runtime-handle-scopes.md create mode 100644 crates/perry-runtime/src/gc/roots/runtime_handles/stack.rs create mode 100644 crates/perry-runtime/src/gc/roots/runtime_handles/tests.rs create mode 100644 crates/perry-runtime/src/gc/tests/runtime_roots/handle_stack.rs diff --git a/benchmarks/runtime_handle_scopes/README.md b/benchmarks/runtime_handle_scopes/README.md new file mode 100644 index 0000000000..29e70d76c7 --- /dev/null +++ b/benchmarks/runtime_handle_scopes/README.md @@ -0,0 +1,127 @@ +# Runtime handle scopes — 2026-09-14 + +Baseline: `9fda98df68d9fac3c08b2385fae007aa9f5278df` (Perry 0.5.1563). +Linux host: perrymaster.skelpo.net, x86_64. The baseline was built from a clean +worktree; the promise profile was recorded before runtime edits began. + +## Instruction counts + +Whole-program user instructions, `perf stat -e instructions:u -r 3`: + +| workload | baseline | changed | reduction | +|---|---:|---:|---:| +| 100,000 promise/await iterations | 1,100,168,994 | 1,050,989,735 | 4.47% | +| 100,000 JSON round-trips | 3,190,619,152 | 3,132,631,719 | 1.82% | +| Original hoisted regex `test` probe | 13,773,038,016 | 13,003,278,589 | 5.59% | +| Original regex `exec1` probe | 31,188,918,430 | 29,854,497,805 | 4.28% | + +Every binary's stdout matched Node 26.5.1. These are complete workload counts, +including startup and input construction, without subtracting a loop control. +No wall-clock speedup is claimed on the shared host. The measured build uses +the repository's release profile with 16 codegen units, debug level 1, and no +symbol stripping; both sides use identical settings and package selections. + +`perf record -e instructions:u -c 1000003 --call-graph dwarf` produced the +folded stacks in `evidence/`. The pre-edit promise profile had 1,097 samples; +4.10% of leaves named runtime handles or operations on their slots. JSON had +3,189 samples and 3.98% such leaves. This classifier includes inlined primitive +slot loads/stores, not just function-call overhead. The corresponding changed +shares are 4.29% and 0.48%; residual handle work does not vanish in every probe. +Inclusive shares also contain callbacks invoked through handle helpers and +must not be interpreted as the cost of rooting itself. Instruction totals, +rather than these small sampled shares, are the performance verdict. + +## Reproduction + +Build each source tree independently with the same environment: + +```sh +export CARGO_PROFILE_RELEASE_CODEGEN_UNITS=16 +export CARGO_PROFILE_RELEASE_DEBUG=1 +export CARGO_PROFILE_RELEASE_STRIP=none +export CARGO_INCREMENTAL=0 +cargo build --release -p perry -p perry-runtime-static -p perry-stdlib-static +PERRY_RUNTIME_DIR="$PWD/target/release" PERRY_NO_AUTO_OPTIMIZE=1 \ + python3 benchmarks/runtime_handle_scopes/measure.py \ + --perry "$PWD/target/release/perry" --output /tmp/handle-profile +``` + +For the recorded A/B, `PERRY_BUILD_COMMIT` was pinned to the baseline SHA for +both complete builds and their compiler invocations. This intentionally permits +relinking the changed runtime while keeping coherence stamps equal; it does not +replace rebuilding both static wrappers. Compiler/archive hashes are retained +in `evidence/` and under `/root/runtime-handle-evidence/` on the measurement host. +The later GC stress build also selects `perry-ext-net` and `perry-ext-http` +to unify their Tokio configuration with the stdlib. Its runtime archive hash +is unchanged; its compiler and stdlib hashes differ from the measured build. +Raw perf data +and validation logs are also retained locally in +`/tmp/perry-runtime-handle-evidence/`. + +## Contracts and tradeoffs + +The live prefix is still `[0, top)`. Handles remain indices so buffer growth +does not invalidate them, and the scope lifetime and bounds/kind checks remain. +Scopes and handles cache a reference to non-dropping, thread-local metadata; +their `Cell`-containing referent prevents sending them between threads. Rust +scopes and handles grow from one machine word to two, while each root slot +shrinks from 24 to 16 bytes by encoding the raw tag in the variant discriminant. +The first push allocates 64 slots (1 KiB), and later growth doubles capacity. + +The existing named hot-TLS pointer and its offsets stay in place. The fallback +metadata can be accessed without filling the hot cache, preserving #9183's +initialization contract. A separate TLS guard owns the buffer, unpublishes its +cache pointer on every target, and clears the live prefix before freeing it. +Late scope destructors see empty metadata; a push after buffer destruction +fails through the destroyed owner guard instead of resurrecting storage. + +Scanners visit local slot copies and commit relocations by index. This avoids +references into reallocated storage, including a reentrant legacy Copy visitor; +a non-rewriting callback cannot have its own update overwritten. Throw restore +and scope drop both retain `Vec::truncate`'s non-growing semantics. The root +write barrier tests the existing global idle flag before decoding slot kind; +an active cycle still uses the existing per-thread shading machinery. + +## Failure evidence + +`fault-results.json` records all four injected faults: + +| fault | observed failure | +|---|---| +| Scan `[0, top - 1)` | Moving-root test: final root 256 was not relocated. | +| Skip throw-savepoint truncation | Real caught-throw test: live depth does not return to its saved value. | +| Skip root shading during marking | Marking test: newly published handle target is still white. | +| Skip cache unpublication | Late TLS destructor asserts that the cache pointer is null; process aborts. | + +All mutations were removed. The restored full runtime suite passed 3,802 tests, +with four ignored and zero failures. Regex-off checking passed. Runtime clippy +diagnostics match the clean baseline exactly, including its 12 existing +`approx_constant` errors in tests. The root-holder custody and raw-handle debt +ratchets pass without modifying their inventories. + +The GC ratchet was measured with seven runs per probe on macOS arm64. Both +builds match Node on all 14 probes, and all 126 heap/cycle/copy/promotion/free +metric medians are identical. Both fail the same 30 cells against the older +pinned artifact; this is a reproduced baseline failure, not a green pinned +ratchet. The two compressed measurements, exact comparison, and shared list +of pinned failures are in `evidence/`. RSS and wall time are excluded from +this comparison, as required by the shared-host profile. + +GC instrument smoke passes, including all 14 real probes and the forced +verification/evacuation checks. The full GC matrix matches Node in 595/602 +cells (428 PASS, 167 UNVER); every required collection mode is live. The seven +failures are the HTTP/2 pending-event fixture in all arms: its server tries +port 443, already occupied on the host, and exits without callback output. +An independently rebuilt clean Linux baseline produces the identical empty +output and bind error; `http2-baseline-comparison.json` records both results. +In a private network namespace, both binaries time out after 20 seconds without +callbacks (`http2-netns-results.json`); this fixture remains unverified. +The matrix JSON is retained without suppressing those failures. + +The full lint replay executes 83 gates: 80 pass, three fail, and two additional +CI-only checks are skipped. All three failures reproduce on the clean baseline: +public benchmark freshness, two dead-code errors in unchanged WebAssembly +helpers under the workspace warning check, and missing generated `bun-pty` +API documentation. The clean baseline compiler generates byte-identical API +documents to the changed compiler. The generated drift is retained as evidence +and is not included as an unrelated source change. diff --git a/benchmarks/runtime_handle_scopes/evidence/api-docs-drift.patch.gz b/benchmarks/runtime_handle_scopes/evidence/api-docs-drift.patch.gz new file mode 100644 index 0000000000000000000000000000000000000000..2914094f811daed3df388d2a6dbae2f365a7cfcf GIT binary patch literal 886 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�w27gWK?L-8OJ<-4>4H zi8%!$FBHswvQg7d)f~$XI3puLM9G8K==Fw$b7Y^UZ7pt7hV)Z+IQKtCJYZe1?3vla zzaP{3wrCr|Yt_q2@Lg2Co3(Bse&#?NP$_)~a#8cJ{!N%C_jf-1Ai}B(M}BQZ%J*MY zBlYm#sxdrYEykKIyHY_CfO49kP6X3=cMv`&g^sdM_`*E2uCJoQw7<(ik zz<$wSXvh0B<6@Zi9}D3qW>%ouMDO_F&~RrdZDGHoLHzWKo)@jSROW1A;(PFFaX9g4 ze*Pnh{Ny|MA>77Oe|aCOsOk;%hW3rVL8`4(i(qoim))0L43F9oC(KI`fR~wkt@ei+&AGC6vOuTbNgJIEA?R%^7T&ykVA4ZOE0U+XpOMxlAfzDDG9$}?X@nR0axu{xP6 zW+ZzV@(*}KJ>Xt(aR$F1b6(EG>(-A}5=!$Xjv4ki9ouCe-4Y2CXto!yWCL%v9QO}u z^v<*8-ew=%`EH+Y4H6yz$;>0gYIj(UPZiUM6k6$N)~gEk&oQZM&^$TUuOP_~$$a=k z{T2|V3ugERGX3mkhmSvI(z+(JE`O3unH^iO5BXze8g=RF?bc-%gfxb7r(Wk2N2N-G zID~V`dWN%(J#AJs=rI3EAC zFbR$c=j_!wNpd>!TV+id`8>}OqeW&bAlLbOgzY%oKdyGHftVvk80MPDW)bhV%U2By zvF0ecrd;6)nQoJllh@>=Y+}7;Vkc`8@)y2k=?nvgP%V-b?9Jbw(t65~Y$Nf@UzTp^ z+rzdi&_56n%T*}@0%zF_=)=c$bjlV~&F5Yew5gzmF^@a+yy)e}^u;n(inP>vj<)Q@ z(~!q7=V1Bsl-8H6=4{qoela;wF^sbavhGGi-hp!$+Z*!2wMP(nK*$S2h7{rHw4A}| zv`#hhYHt_(a|EUJ1bqwB9N5)NYhRLypx#t+2a0rfj7#E*#pmj3fCwL(^L&ww>wYf( zs<4WQ>G1_bNkq=B#^blqj?XQMteF&t@husc0&o_`;9ANy^i{kJw}P}-b2z!@77b*r zYiOY{cr!kpiFO;vFX|bQ^_is$f9=`F1{I@ z1$KrTLz5*J+7CF?N96Mse{(w*PwyfrJ)_e#i15;UEX5gQIZyZ*w7i+g#JXF*iMTJ# zVux|KU#`mV`JtMZ>D{NNn$E*bOX-@DdQ0)#r+qnhv!)}xJd{Ic*`t@_j&Da|c=m}N zj2!e%I{1We<$2ltMCK-a`)(%v!O{5T1TNs|;S#?&>J+NCRf#Vpb_$@ae-{ZhQQE@l z1Ip@ouO2nHBpafHCm|A+pg$EwI|&E}ja-lQBVV@9-M6XW{;9X?o{}d2#o|ZfE&ZKk zl`&BM%5%|9_j+S@OudC6Jh+JJXLBNQyeU};-uXV!OfARac?+4;P+Rh?`RM$A<#C~G zP}iOId-Yj1SNnmlOh0}4Fmg2y2+*1UI{4iIis1!DqlL4+sy^Vg864o3fwfyd2(P=k zM9YqM277e5c`1qv$b8i1y=futI%*5sdel_}#;M212|%)5Y2=mJz3mi+PVF(djlA0l z*y)RYnnZmm=|8vYSrHz5aq_4(R6Z@W1 zqKNxYp(`{|)jqErJeM^WLJw9(YiiMz1BI|NM4K6pmNG5{Op!Mz0X|4!MkVUkL5bQ^ z`hD~z4=I5O-~`c@drpWm8zGY5z0f)TOj8cF!A_v*x0 z5UfXCbbfg45OW`QjU6V^9Rt0Qe3%Q3B{NcZMF~9E+DQ}pi<)D)w5=K@zb%CC=+wKH z-exK!$50$k@eZfs+G20zK)Olsb8D3^45yKx4s8sg{NrYXv(RN?4PqmDK$1v> zH<5x186|^~K}T_c0M?2mQqULu*oeRU$A!~>jk$nJ?*hI|tb-(QoUyq&sGoi;EDwGN zO)nbx5Thi-hky_GHt%-O*a$e5AUeRUK9F%cFVQ4C(nu)@FtGuG&u0u^1&@gVvDakq`yd*jO0m<1bkx2G|=lg2Qf==e5r_y%6d3DGYj+A z(7{2n_AK9Le)vMyBcvC6^EcGqEI0Kv8anZIc-7yGB*8+`?7=tgv5Gf4QxgEgWPv4i zKg;x|W`JXoE1ym1Xk0;+9k=2gohi5V!zMX=fNdG0I?Usca?`C^w_RJ5d2$Y+cw4rt zpk7otF~3r!<;$dv7HMyift~)cL1<-RyobY2ny3b|yxo+)k&V~P?>^{j-qSVbF$0zb zvRrJ(6SMNYq>&GHs*=6msW5)I=WN_oqgQf|!C+W~PKiiS3k8-2|5` z34elHj_UFfC||o!M6knnHlf_%Hk3!;dn&h)jHp1nO%e~9H!0JpZM9@7*I6UMh#GYi z__R5+p}u|7OG_lbzf3=PX}3fYc&XlN<{btZ__Y4y1G=xHi%R{PnH1m6vD`2gH?YFL zl(l`}X|EiV%ZwXe9S9_DqV3#+RqB=%xH_By!Qs^j>$m*(*A9==f#Thgd*C@^*8j|+n7kdQT)Do5Yum< zeh9r(T?*=QHygpHCvtG4Oo1(ROm4L3N542COQMP73p=LKm1-$8Bd^ks#-0jMbQcTa zR-cr0*!n^0R4-vg+X4}6cL2tyv}ROdKjI-_H4?f%OoV&SU!YuTqPu}_|I`>@{R!2im0@7{8rgDZIdJ1?b?Gy`wEI#?_x$O3 z8Nt2};<9lW2$gNVcNYt&!n*-@md$=?M3VJ>+i2=CPbYm>1MK=gKEaq~NeL}0>#st)LeT6a zsfLiB4O;V3=~(HYf(!g`pp~3UidjEy+v?~z6zJMD*8MFGYH*PTcHil6b~ShBHJ)6J)BkMhq%!$wOZfE;McR zra|azVwe&d4X?MF#wf+waqYmuQbg;hF{yUp^Bv1?AX0zfUWWZ1o*kzqbdS%C;$qF| ze=yXH#^Zn|VY+2eX@#!=Nb^^bULHzD3`AtNL~+&b8a=(vuWxIwV~+6D!JZ0KfeF=7 zfD|z17w%ukCh3F5h9t(X@B3X)BJ`MaD!R4Nyu9p8xqYi(b7GdyJEAwiQFfdKb@5(b; z6Sx-EV#SA7e=s#ylRtbN?%u7qM59~$Wl50MXqlu7&MZYvlsUkuAp_Ggj67@JTke%B z(s^pE+K0xYTb#pIb>{o97pH@IEL#N56{)4H^0g@U9$cA2)5=YWUlO^jUwtlhMcvRa z_X)_s<_&hGs21daKX%1b%CK_k%H~f0Qs53JV@)3_kK|YdaaI5mVFwn9lzODuS z8V-6zYu%+!jt$x^#*)*r8xb-+@g_bU@>y*y4_(Eeg1MDahEEbrV;zD;DaI~BiHiqyUX;doZvWFX-;8%ts>h@l*>?%0PGfARufeZwZBt^^u@ zP2o-nk@zV5EeAbQb(WW0oB-TdgztPu55F6QaW2}G_SUK*RfOi$R zUyM$nX}nFKr|Z;S+mCkH&V)s*;S=i}G%lUF6l=sNXHs>n(VaEROkS+)Ee)GlEEvZg zB1J3cth5;IEBuCNwdG>o*F^ z85iq?8^;M`;mw?G#jPnrhMLCQvSVY1R*Pc-Pg9T;A%z#&SLGhUD^IsPP&!lr)Nr$_ zcuxYi54XV3YsyJBE~E!u3s29 z1EtZAsACjH4X!Y6g-A0>18j9pbv4Y_EI^!^BMu_TELzf_%!^u$^M7y)kzj?maZKlL z{Z`YnHpDR;>d{(aw@Um?vqCqRaU{f{N~Q7p$$T)3YzegZ((7>E0zTJS0$7cz;q*&H z!%**}Wc97&Iu%FxFT6vUpUag4+|vSVOb}Q2r3hh~BFE<(GFws?CdLdBMNK@q&!GD! zWe(%9S}L(r*P%v78PUEdrBu0e_iF!0uyhgSNmcl{f~8bRS3mL`g=W3r-9wUorvGT& zGv?=sOsYe~|AY`=CcRml3BPzO{1zXDqR4E!Non(euj$4?dtxT$(&A{k+y;HQaf#AB zl}Pbz`}Ug~G_uzfAEI&Up?zq1wPsK2(Prk#)L*Bocz5Ua*q;DCzr)_7E?O@cmq=;Q z5d)C1O0qfmVArTA9aXj?K33(s)q}!x`bvvlxf@hR zeeFV2$i-}}&R5YyHEfjKbKmys0y%nkRu48DohH)QRJWPh!H|KtO_h20NUD+mT&0z^ zL(4F~gNDRxa*oE^>30Vwd>@>~%8&m(Ec&nfC=afKyO;3SO49;NbQ*#|w;vL`JmvUD zetTmi2k=WTyeQ(7ajH91ZRz)A@9Ot;g)IyDr+V)6T9^Nc@t)kVz5ES6*n7ciP*LAN zmCcssRqyI1I$DG`s+Hb>p4$%oo#m;Lmn{)ZnjY18vyB{b8PEb1WmyXFe!c08M z2B_*xj%=q-05B9NG6bn6JOnAMMDLUkE?w`Gn}kE%aB0!m$qo1;O-Rf!yneLS&j!;n zyF;N>M8y^2MJ0@?G@IBVysFEE6?HcKIUf~JRXB65GVF2ZIUm;(U_-w$A!}`gTZ`^|4bFzzpl`r*q_}( z(W$XKmISd(wg0|FDIPio1YmDlXvQlRsSYz9HO7P(!kuFeQd*;e5$2BEW(-%oOr%hp)kua3ia^ADMr`TWNl^(Qltuh%-9k9|=JI%n zq#C8ph3~jKXoT2e*$D+H$LYuIgg#rX=fP33+{`kKx|ny{j~R(YUSu)K_UbjlkksBH zvP~m4WwgTW`7%mN!vkentgmI1m3c)gdYSX&`CE zWzl_!@miy3f-dHMID&FCl;UOMsca=^aARut9Rt5oZ`q_sgV33IfoT?jf0l>fo}a<~ z>R#MxR&^DylS-D7fq#+U?6}ZuNh3|8C?!|fe>9=f-B(y7FTz(u?+|Z{t+yQo#|y5o zk_{iGFBtF3tcbqqXYinqaWqZM%ZPV<(ziF8FE$bfmp})P?!b6I@A36=rU1SsF^rd| z!49ni!!AdA9MCM#eQ54Z+kMQAUxY1hFg4x~whMDF>IL7A=8cvU+f|Qio`TZ4R!H@4 zAsX;Xx(E{Qx9ZJ*lA(~$%(L!rx9=_f_?cSVlslwre{Tt`6JC_21=f+r|9vVNmbg3|ceab~Kpl&((!Yo3BJ z%WVvd(9;sD_7Zz)5!dgB;bK84dOK44O6EDKe*J9!e7*mi$)YgMHb>-bshI`=j8MGM zK@IQTHevAR?I3u(ny~6;tYv@tQ0F2b?7Tf)qIcXsSq=_^lWJ4gv`D^+gT-0mt-O{f zCx&jr&EWp9kagXEBX(Qqboyo-cggcu?-ArU@mRC5c5W(5YgK-va8f?CgJ`$BreXF{ zdc8#_SF?nF8jtUhp7F6`ZV$Q~zhghmgq6_ zz*?4j>-wP8odalfT@eQE=soB-E(icx-MRZJ4E6oI@_;+suRzqsnnEt(n6_7r#Oj2BfRvB&<7Jq`oz{ zr*cbA6Q994SJLUpYsfqt^aBP9EdurKB?UZ_`+ zkKL(cqX7N-R`Q2~u3=lgEL4p5n3)?2N^FIbd<{ABHec~2$N@e7$H7eOLBW+RhS1Dc zUl;B&G$3ER;3k&NB~4vI*3hE1Msh0xofrKyK}e9DJ?q9(HpN!JV^+-ZYo%rX4{hBt ziP;0Lkpl-oN1B?^BBlY41BYC{>aDenwA4u}>K{w!CS@LH9PM@-VGpgOTb?@8>>4?v zaJ&bkxE?@ctyf0TATtgKyBNzX7}1T4ew--!xB9+7rU)4NK(&w*y4s(>M)9+FfL4KT zz;D2l_{;@5Pu_Pdd?!p{>)&QAy)U5JV7!l@iEgvcBB&*hGNS&ik1Qx)3sMkM1V;Bs z@Au`i=>IY2Q3uRS0he)Hd=^{Q8QuSo`9}+QJQD;&zwrm(7Yr|5sZ7~fKA+JKGpWOW zXn5YIno#Cup#Tj}+LAxz-o*(!5;_l=r_Y*zUNjDoP zPrwGY)4?+R^cUHFKOt;z)I}mgIbnspu^Jpk{N__ypt>dTcDvx?vFwh5T}>a0+{BNu zs15|z^*v2Hkh!9t*6t2tRJZ#O`nDE56n*HRwLyWnGwEu&j#|He`GOv8EiT-DQZ!4d zC#R8TuC!ZPEY-9wz-c$f*amI<^GCChOge3pWT;wvmU$6pv2(6Oz?oupwN6Qvp(2`b zwc!1jf#HE*jv?F{3Hr`;m%YkR_IX$}w2RHTwB4{c#caT=*Q|J76Wt$JVHk?==Mi(3 zQwsFjHA-=g3I<1K)NM8~m$1^|*VX;%^dH>^cCkZ+?D_-%_g9^RoR-XI^G2~#RmSf* zyX=~0uQ9yB~Rxe1#qP@8Q_zW zhxonXX?(l1iHbgS@P8c5vKGooS&foX-eU-*3-pC`QLO(*kr^{IB={K??LrSNSY!zY zvhFgm_>&#y9}$aTLR6!*4P{%sFCb50zr$H+4rw(BNfdjZgFE`Xnd1+=g&7vE#2n)| zxtGt++LO83OQ2EegjEt`e9Z(hcr7~tC`a!hMT#`r3^J!aiA~#xp0Q3Ire;2w0NRW| zm09K{30oD(f=P-fz-B8Da%Bb768YYJ|7^C>o#YFJ6T#|i1>H|9!%ZP_Dn4UosN^Ix zeTEH{I69wZ3$78%YlD$;-LDzCGm4O}^=pJJ+@-k?z%uXUbw-yl@hD$GcWu*0y=8ct zQ?9W-Ll}2{yokAkf3<1&dKnJNx_)#XXeez?OQW0fi?>Jnq9gj*y-^4QM`BX)eF2D; zj?9@H9pPxPIvj_g-X)3_w{bUmhnz%Y+vri#s*AFk!hxqKdSXKbQ0@kH=?9eqSK(t( z5qaDBweQ}Agp}rGv$3(shQmeT@yLnY9fZMeXicI`#y@ULGfYDH9k8aut-AQwylY*q zqYK|!mKE1*1tjJp=OkQ6a17-IR+Bkzp{nG427wA4yxMaqkLj#6sR{uz5?76TEj2Q^ z6VX`|*Gb*+&ny(O+t=0?*eScSB<%^VKfe{YLE~cIVI)<#f-M%}x}o}`Y=$63VQz-V zgG3rJth&&1Vq^BKMsALa*G)Y6J)oV$ZlBV;r0Y2yD2EXW|H$4R{&EvrX=#tsV!cb1 z8aIB^1s)cFNeqh=^a(>YMpA0egFDpX#R0?R1WBU6|5T&U~T-o{*2Rfe|2>S@Wh0!>w0=U4e&VJyv(Jp7ay$8 zD`24S4;Y9nifL>lk>uQUC3Y$#Vgzznc^O9gc5}E-ipgK!0JRO^eLYy^s{^@R2F3=P zB=ms*X8n{U$m0WX!3q-M11bncOX<=zI8h{QC`C~APAKPUY9p7#Wg7JfE6g}AjXE#K z1eJuT#|e(Xe8MUfv?3|T_VQ1ebqo*le6X6X(CeH9#8xY?f@G@a-K7Ds)xxvp{L+$2 zY1Os5vXR!)7IN5g3bwAFP>zDohEVmdFbHb;a z^8;9@0Wz6xD382xn+B_DcZ6=7Zk?PDmKalnF+?8`&>v2OO1O`F@OWNQAL(%RAucPAZ50POB!c5zxdbr_)UFE_b zaUiem8K8fqZgUBDt!AU`)EFDRYr;W9yn786=9^KWs9SH-lKR)a_WLxz2^mN33!vJ4 zU+&5_?z~w60J-BVdf|E^e`JIdA$=`x<_;RWDbdRpy166QAzWq9i&5x~+a{CR1N@zv z;{U7S^?2bF^THX?8}hKm*P-3Qp4%lIP<>?&@2B32= z$TYJi;75bQ9pssXMBgU1J3A)sF+p5U=_4{b0Xfg?Gv3PxKpUbmfh^Z#wh0<*$phfk z3}N5k4q=z~4UfRHRgln0y38Yq<9m?2Z+OMzLqG4t3^P5Lq?B0vR5c?OG&6_(tpq;+ zvnOADJ$tkDt$=9>nQ7vC6C8nb`dxr$WFCl4P|2Y>9&H7=FloKChjPES<>kXfSwX!=F3j!A4`nxl|6bYVc!xC&A zJVNZ_-YvHY?a0UU{yqM5JpW*%ZJZAg#SY^IQV9aEZ%Vs&P6Rkh(5VKjmh}c-E7D}g z`FDn*4Ly&BG#-4k)>sQp9e6Xni~zB09(m;C;c+`%tobj%pfrJZ?3~vTb0J`Rv2P#`WxhwaIp}|eqKs4l`Xw? zx?5E?s)-QFnCb-i@0YtjMdPL7D+{Q18CCvg0G{piHem=C`bEKyI5ldt0EY}ydO)a2 z9pll%?peX=&C*S2f=AtZ*e3}7 zgRRMqW&?-t``rcyD4|2qjNeOWmXd%jQ7G|Tk^Fd>W?kg!x|s-6=*+$BZ_~Vy|XK;e%}7?cPapubF0ce5XgBFV`3**ngGL7ViD1gnrzc zAdDf&hkO1|BjLzRxWr^Xda;ztQAzlynT2@f^|Wy}IcM}w-+Qc>Bkj>b17N?v`GWf+ zR{J9$^4w2!!nHu-jn<`z!;dSSBXa&?3zge~P}6p&?6P`MyFKoJl*eBrRwb-&AE*VG zk!ruUFBBo<_A-`C8Ge^CG{zk1OxAZ;cX7zvUzVW@Vpb?8SK#x+rfJ8bb&<@rs3ijMXsVCY!drP+Rf8-WnsHEea`PU82T*Z&n19qS#DM9WMIpj-Kh2Ep;_$E5S3 zW0e!<>)n0@*Db>hq*aZHJru-?+RIy!VRJZ5RtS#j!)@_r;(3Q^2&EwmqaZr&QWA7R z`Jy1&3;Cdcq#3>ACg`7mHXwoCTeVCbbAkI4!+%>f52x&pR&Ap;{BNtK_6j(q8T=ynXE87r z23Lo$0&p@xe@*bdJe=O0)*;O3qnHhU7W*LZJ)9=y%+v}tzj1l!x*}r-+Q#pn#riX} zifyt%S1Pzfc3Yw9=KjIvgQ}eJJWk+-&)_vgn0uusU0`I4mi&n}*3ZZyH~jx`_Etf0 zc3rnN1Se>42?Pl4?iSqL-Q9z`1b26LcXxLuxCeK4*bRA}_j`BkzrKUNR#n%cyYD`t z?_P7vF|IjEqMon*Y?qvOqz4#Fkb2{SRA%hjru57_-z;#z*YfL5z%wN_0&8jP%%=*i zFz;*g3;9*TNiEb;nM@1HzCi7Y;7FSH&HbfNP{g>%%}SSeWde6GBG}L6$xxcOB3&;^ zI?-j5^E6l^(;eNKreZ6qL(H~J&1J@o8B9CpJydnl5=bL6Vc1QZ&nx{nVGvJBjl)nH zJHf*JWWqXS96aXX@lP&onwgeZhOL((e#{NWYXi2TCBHKuBmyPo7(zvSBpwKRZAB@? zF;QO+RSO3b!tqnMe=j|fMSGWf2!G`!!avZr2L?ItE`wLYJ@I!aF=eKE7652gIlAR0 z=^x`T-)gpIF{PNJ??!6EpaHoXyDZ`xz+~s5B+t(?>vN;G1vzdV^H21`e}t>fUJd>c zH+H{uU{)5bn|^fo9qMhPeYY7LcHk`S*j~PLp*xHA4CLd>T+iF}&We5E`gCns_@!IP z5l5my7yZg5nrv4+gnzA&sD;wnb{dVUTk{m@ z-S*hmD^^ZGX-jO$0Vr+X=tPR$z$U+6 zJnZk5$DP+5*b8R~9_aet03*2C*J9ZB1$6yax$@Ei1DwVWc)#aP$oA#&|_~@9+a{0R7PK!8}%d{l2tWJ)&+y-L^~mv*b>P# zr%``LAC27rnF7p9CO+3eJF3b?UeNg`Q>5)v#6{Yb3Zk7UwuQ*5$%nb21Ub~QmX8u2 zBk0KYN)dLZghz1byFS+Rkgj0F5f+23OXMI!h{3R#6&>Z<#kD6+mm_#P{drnfDfl`@ z>S)h!z!}Wx_9hn&K*K|GGs=9~VE<<}tU67=zxSnejQ9Hz;1xdT`|%Aj1bGBEBkN6M zKrHju84Tc}xA(Qd{!aJkaRh&NL)?#RgTS}b?;Wud*n@7&DLtAbu}fs0%ATP0q!R{W zJan$esKOcGP&L5PYd+{Cn}^TbeRnt<%K7IDpifOI_mM&iIp0EyFuNttMR}N(>Aulz z!)XfE&n&@}eNUl5WNE0N*sDCM)_o@ETdEfhr0rSjtnU$ZQw4<=IzQ(Fh0hok_6$V4 ziTg?P6!f{A6Q8`fCOm`_{6({pNik8BHV#LZ?1kRCr`%9B|5p$)5-HL2wq$PBDiE&o zup`(Q;lKat!Y_hVj(l+&QJnHsk#M92hx*AY(cwnR@uBXFq3+XeZPVs2f~E2j^J%m8 zo^~z?uslOg1{705bL=+TBE0aAh70ey4K*U~?$fpKlP1bX$I#AHnW$2{a&X<(0)M+m zSWneO_)t-_a^fXWhqDHW#_QoQJfGPUXG1N z<1QJU83rF^&Yy?v?c>vv&W$XlSBHj+nAsi7%P5TsApsGxC-_%WDuI!?`%_{RO4Z&U zQ_28Gvz7W4-ar+Il7YkV~OJlnB z&;6R2@#Wn0AC`&lG}Ox~3LgqkXe^L+hlkqn9o2TV63ZXCePHnrrx>OQcLK1((0yiyMZEJ%OeTl*Q)M#HT2 zLm`2UAwHKA8LBjgDJ-I+^`Wq9`aJrc=`K{X@ZVKkzhJ4%tu30m40b`|B!4J1@|($? z8;`V6uI^zls=rVvvQzzLu57fbH-urHt<>>?1u;j@+HhRz4-*Ko&P#BzG@9QQ8rK;F;J=LhwhZ2w>eqT z2S-s4U?qeaM%nfWlRA>5nUygYGHTow2P*KNl={dY!g2%v#;)FkB_366_v?J`_fVX? z7W-d}8J59kw$fu!6HjjCm@;3o1=3JU-t@^tp2(FVE}vMAIq*Rynr?lnL}=gCo&;HR z`mrn@#hilfD}wpZ%UK+{tB}IetdITlh@F0R=O8t-*(^U5Hnf$1Ov2MA^b@-ZSbu+9 zrfL6;paoSXJxE3uOkR!f^Tj_m6{Cz(SYPf;u#Vdm$3LrsgK0$8xXa~I_-!!@S(rHY zN_cwFN(GjJQtD8gKLrb73DmNQ<&zn#a?kWhqgVrTbuZi=UUHdEut-QT%SN= z&+>nnk&Mk1F-mxLi~6LAzA9^-jHn-3Ef`f!;6%DRRAb^_Yg9M9A6~l#SV!si%18}a zQx>ZU@!-{wGL0(^^UBX>X6V1(y)iv08?>w#aJ1FKxLdECXS+|fS}n;N6qTg^e>s)T z)z37}Rq`z1^@Pv8D}q(uol2PPj|d9;tD+97MR7?tp@`%s3L%zsjsAab{;M$H-+MPlRiK%uK9g`dbK6owHtFe#Do z)~V3Xf&5=Yge>BMK8M{rTpL(8yvWUL6n5*~@J@M68Le35(#y<3f}}h498s9^SO8pY zyWYexG{Pn~63v?rmS&EwAYKvUmu5hZkDcRw7QL*xvA<2b@1@{+T7s3>(TXt8?4%^Q z#RWVTz4U*j)CV0Iz0N09W<~`*Z8kb_)sSL*>W9)W@DKU9dfyq=FrFfk4FQ#h*CRw! zbUrN|e4Jq9e)4PP$XULufP3%FSe*;F}|o{!7jfb zeqW-Hm3@(5MltXc-(=$`@7ZSKP=%Y{wE2po=>&1vUDBj$IiIVaxqqY7>q@2X6?sC7 zFG!?zqJ1D?6`(Bh@Nyg^PQ;`;VRd~K6MD(lo2;fL;C`Ew^dj0?%#vntNYVC*9?U~R zk4mynAw~BDQ{Q6ba_b^<{cD?t{Y=|uVFicZ)+_irqw~jvVGYUIZ_(i})2A4j^_lB0 zVpOKW;DVj9>AB(3>d0a&FRc2T(dMaEm$&SI1Y_%daqU3J7C*va*!h^QmeF{fC_B~c zeLEK##JWgRL`d}TuSXwP`4U= z?Jd#LpyOi(bWULu&BZ)GAykoHp7rhwLg2RLTdk|a-Q>0%9c9{eSzWjRNszdqgwBXuUGw&H;Zw?EW8ltlD)4x?mf1&$ z_Pj_o?%JOu3x%9B=u_L@`rLhLt3Z2H(F{A~OKWvn>kTOfQv+aYqOXF&TU+oao;Wp1G=ewk_A0nQd+u>onXe)joU7+4e&?$ ze31?I7aC+g4UnA3%?!ej7Kkb(v{O2nct^UJye(v%XXijyat_f;@IY^4grv0gi&QR0 z*}9M2ycV60u)LHc(JvTzBujfZVqIuZ)IpCk)z^L>HGI=`(cURqL{L)~J@G5J(b()q zqsPSmK}}mX3?i~L9Ita%r=q+XP%%3#5bLg3YB&9|T5LJsjK;6blO<~-wo{5ohd>A_ z^TV3WC3Qw7`P#%X6T1~_DB~%dPfJaE9&gXFgCmvTZaSI;af$Z)GGj?7|2|8ZBSj58 zF=ulhLWrB?v1w*;4*d7tI zJo^u3XBJIIcAa;);jEtzTIh3V{}1s4Ulh8$qy*K%O1IDTWeu*;Dm<(U^8)vHRw-32 zW4PDk+;Ve7v5*)Z^I~QbP9r1aE4*f!Y-)A!z82_bfhUZ=-aMD)a-4My7mp8Gu#&`G z^mN(qRKh8MujGeJrx6c&TDq}mgl$B_Yb)rmRCLEo_i zW3qWt#N>@jU1CY|1rrlQ^%%u4i0+r44Kx=-%Zd{q#6@z00g*zwon=p#{4H`p3ET1< zF?#FMFTWrH)>boRR0*6K@)j!^xScYecL>wHSK2nU_}S6@9bx1t#A%i_3SmUJo_4&q z7L3zHzx?S=R1|}9u0HOrjRNlELxDtdXrZiz__JSU zSNWtJ0WOyjI5jq~<9l1w>MEmliSJ4lB`8>t!}DcC(LtfHZLpl4{lL-howQ1&cv7E;mOVW*0%-5y!$1Bie8+i@bTr(-aEH`~6^9>4sdSJRQ=L zIjxo_P3xBqe{8Ei>v_JfJBkmccRR~U*6z6ORpQQehUxU5@iL z2$;vVnetpfhNKa(@zaD|_0ky#Dcy~?iiL-O=jkx6N`;UdUPY}0o#9IQ#$?XtV?Rsv z9O!yBed`)*nSqg}Gs54l@(J(5*jh}ltzsSaOup?GeXWLcy32PbBU{jrV@$I@8Aokd zt{V2f^}1!Lzl}T%8%|RK|KWgUEI4L#cuNpH`co! zMXLpdF;a|O%H&_R_E+8iNN^783Rn*N??}26Ft7mRyOJ5P=EeBsOYMp%!Ie6#OrO&; z;}u<$>RzQCw(onZ4hqpKN|6NO%kgoNW&e_j1k_vB@T6qHlSilEqzneMnKxGlz^^PZ z5kB3^MuqKr3`C8)0zt;f9-tINAdGn<0IMk0b+9{_iUhHNUPSj{ua_z*IdTVSG+2KN_wV^ z2+E11^$W4}W>g+c(u#D)005uy?-z5f^|W3q)^R}@BuVn)pjHh%EB=D&4a}$>4?b5M zZ00n`;(J0s^Va-jFYml9+~LA6hr~+4v$R-8t>cN~7$*1zJdC5#4#xo`hFF(@K#=~Q z2S?PLrXPJ_nj96UMV~I0&C1&16*B|b$gMn^^TK_JBMQG5fS*e$=*0>;mr;B|D~n3> zs!!TWAxcAal&)zu(LN<~UHpN!l!${V;X%%D=Oer874f*-39h79uXHs>L8Ub?+RgRL z9r_9Rmh@O|p`cPqs*M4BBfMH)celyxaP6;gXkyJ}X)ZB&n4Z`<(KLctz+Q9od#T%p{sm0IhCR>7QBK~{(sYBdmf?+ciKxl= z_OO`->udqHJl`E%8GESa(zbS&sJ9KHhrxmbW2r3+!iU+=;*AIEhw0P;#E04Vvop{4 z(dY4#KSM1pP3~0QU(E`{pW(x71u$H>ElNH%%WaZ$+#BftJt~j8v<0=FcWrJQSb03< zkhmMW3rGw)#a!C-;N5*>9b^@sI^-{_S2;my)p8uj8%g}*myMg~8~biAg@(!p-i6U} zpSEWicfpcnqD|M1qF~Mg*Y`+6RPj`pG02KlZ3T2LtmcF?bCCOY^FPi7+>Som4@;}g z(~Pa53SmQl#O0dO((G35_el_egtb4svR4|UA> zW*TRWLo5MYPf{UQ?BBUzJ7tpx9Yf2`@xcjZ%%q9B6?gG~nIBRrYY}dQ88alyHKys) z9`5HoS=VUSC)-L7JjRjEgh2<-{s)&hXB9*ZMf?chyt`M@!8PCW&~^hV&z=(GtUO@X z=+QQr$>@Fy>{0BSQr_=Nanc6IZJl97lO|x~a3Muum$YXVkb72lCXwu^Hkq01L%>>2 z=Qg@Tl-&LE;5kvTX0=KPI4TzD!o-ka3ZhkT?2z_0X+oNzQIuI>5Em^UMfGRfOdVac zN+2EJJ}c}N)>}fyUDXcz;O6_Hpa+(d*I0M3yQST)9lajSG48zLVCKwY`PY^eE8w zl4BuTzlubbn8Y){*J@;zy3f=0xfGZhaS7u2GUM^L+67;g6Vp1L7daEa3icUP`CBda z`(~D9TKcHW!E|S}IJPID@OC3wfalO6l{FQiG2-C-k3KUi~c^-Q|e? zBo6i~mvUAC)5e5jVB{2t=#s2|;eSj<+qXr5EE*kXE}Y<^uhH+2oBml}R3iuzt_}U1 z+^?P*41vOA0LT;BIdnL2>^llo_|HbZy6PubMUJkHAXSGRjEJ$`2t7X67Tp}G{RCFg zhde+~33?#D`LUhzlJ_!yHr?t(Y0rzU+;V4!?l#WkJ5#6AnIz~&Pa!D+v-T1YEcf;> zFk?iMgXmH&vfo6NJ<6CBH;_yZ!1`h$>y^r@EO8Jk%y;!_pp~PU5p2Ed{BFXlT<SG%HN05(Zf#=pK*ejP9JMx+&OoNq_sh}o(CJpSzDouMh+9V8W(7Ots z%e_NdcQ6DT!VYve1h_lW@k2weqUlej#t@QZmNk)%-JgskoGHZ~+})I|GF}hLpt9ui ztwU&i5_(V3#bh|?qqLjI><~vZEiI8jVzlRSUeWMK>flB&zkw}A%6J&?`1SDjF%PdE zWf{tSZ??US@1LgT21ggKG@MvSrt}demmEWa4TD7m#w?u{5u5tuNF3!0(=gu2WLFc* zpvqCr-jBIl#^_~3=~m^9RnAYP`JEJ)lF6(4NV>1(6Uu~6u!KkUUKogMb0~YN>94)w zsL^NSWZ1!;_lX%akpXASm(~hV!6=fVBiY$c$zPs5#7Ido{@+ z+U@KvdHpN_;vo60K`fL|lrlJi@usFv3f{AN!g={q$_PTVAZz@`kV0Z(6f%MgVssp*I!D#)MsXBsP}7!VM#5xekU+5O5= z=rx`D@X!#KnHzMD)1~DndWIz8st>M{`^TYS-di@Ub4v5`3x}ITiex5OeoA$OEj*JR zEoL3=E6d9sqW?mMPY{qW&Fu@B0IU9~e5sP}9XDxCO~R7fsFmgc(}^0z2VC|lHE0z$R;QCfb~8%V0D~aP+K62Hrw%8H%2ZW z0Ra@NpxA4(6^BQexDz>z9m_RbzOSWd1tzm3}HU=i%L4J9leud^~?h zK0mx}0l8d%7h&R7%j28p$auhk5cm0}CAn<-hw%!?=R50!Sk(kJtiM|3C)A``GAMc}oYU{w4lPDM~*K{aMfra#SCK#9(`BFn*K zK%nS{{J>}528>5)ij{2oZbhbRHDu-<84F3BIZhuy6U7N}!u);5P&D#7e1NQcm@dZ> zJES*?nGBtLb1=}Zd@r&JIv3|)#Z(e~Oqnut%bF}&m@OC`MI}2ln`EeT3^U0eFylP? zzP|-ZPX{R$rccp;8aCJn%r&+sBM_=&YQ6jC>ht6K`Pt-iX`(OQh36_Dlj}KRR#sNL z>~1i>OT=C+l~1kMS4ZE>>hSFdlZ!JR@kN*-5g&xK9J*HWCW;H|`oip$bH5T+@n-(V zGJ5&6vP-E@?eE!vG29dC{>9P!oh4Joj-S|)ZgCQO594(~;PAPQLRn{2`sEsT=~jE? zR`Dmp2XGRaQ~uX@EEhXcun(2Rj<0nYyRL;j`Zrnw`3hKecg7RTC=P+Zw*2Vh7=)Tg( zUM95PqZ#G|a3T5VG3Anh#4k+_oNIRCW$qz=eTh_2>IEUba;ZP+_cZx_@YTart%OO@ z4eKhvrQ3~GS_cE_cywA{>=&l_5uib)H5Ctqen0*iWz~u7$16&-!8T+-i00=cm>cs1 zcSFV32ss+h=sy0k`tpb`MUpSq6+|~(D3$Tj94atz3u=Sv$4qu>fPBDNHFB(^3|a}v zRt5PN)ZX2zAzVsYO6o=%@oruoh{861=c(Dzt+&XqPU&KCMe7mf=Ze`w{dmi}5fC0~ z{FPH1T2NjVu6o;kf2#C&2hgIlwQGyrkY;pUeO~k$kcu3qcWRb~+^GcyRHE5*W4yP9 zDqugmq;F@Ux+!}6DQ2uAy?js{*qVf{cbfj{av)DsEADxcm$45~v8Q$tRVgG!KkdTQ zp&&1ydJ=;7)XA|r2H{T>_f0&G>jt?!6{R#(c{_=D_n98Qg%Y66wU!~!57N=gL0 ziCQwoger1fR&e}r)^2|MiCqq}`d!)1xjXfkZ&O4z!Th5$I^y*5v$wR_vh}Lb&q@)Z z_iIuZah`_|+FPpOK@PZB{Bts&%%d9|BWlEZpj~RKMf(`c6zU~YLaxrZknq==?bTyL zvt6tPAItG~Qse79B-vi$hWrzvZPK$gj2B+0N!t=irB->)7ozFieGPtw%!#azHDwzT zFZO!-hT1A`ITNXAjifnmQV*9z8DwOqIy0&{cPMHnFSI^ukt20vVsm=HH+0I-*tDIp zzZ~_9#_H zrX_Xc?rBARg+jFq%H5x0*T_dI*2`3pr!{8oVLS8Nt)?3s_NLV*Nf&KVmlL3}Cz*vK zSo^@Im&sjVP5!q!55c^Bq~yAUW_>9wr1?9oYs;247Fvaw2ZBSv7-%dKp*0?rRD??# zO^^}SnXHm52~~3;X0M%^?NS**oc1B2!nG%5$+;LIZun$`9B<72M||i6tsmx+MLgr8 z(KY-R?tktDrvS8Ioi0N|fgC8en1-)YgHk4HM(8m=nZ-=t=lWFz7IObdw6b6W60JKP z+`dilkslMx*fP09*5Y2~Vjn}~1G#ojZ${yD(lr5%9f{kI#tsd~Z^9iy)7vZECpoEH zOx_7;#5V;S;oLTxOm#fDF2^1+S@0}$BRYq;WwhAN_GyTK^zm%4Xes!I2rhwVseC%H zupmk!b5^|(49bA_jnY!m6I9b8P*rB&%gNHg!_*dj!iI3FHRL8A!0zmoi>Z?5wA@mN zVvcnl-NIjo-Kcfv9a;U-*k5?6E1$t1=QNOKJ& zI(NSA4it5_ppquTQRZ$6o8llGj7+*=WyM?c3l^4c1+)XYzsJ0bRUS046-p8+3$5Nx z=jyZ$@eYK+^4&~(7nE6mNWq+y+5?|Yufhjbc!ZXf5{pMy0q*WDb3U+Le~nF=U5S4P37etzv&<>&((S zYbt!hHac}yD7h3vfW=Q4%>GA?WSpJCOh*&D$L=?;KPtOEmDmW^U$&}(_&|_>-GA?+8AyPXIccc4ZhBt%B-pEs{q3>A}bt^Xx z8&z(r9v_-G<)9PE6%IZrP%l);dVa%+FIn?dV*8|du@i0OY*yc_IlccnYCGED&!~Ly zq%XyOCkP&Xh#Pm8x6Ba&P;A@Wh^w!`j{t!|)Uf9vq8-O;vxnbPoJS)*B|=Y4X-m(d z&-HCJuQ z>COLsc$cV~SCPII&EJ&&9$qREIsEfZo1vc|$ff|GPN_wpy7!HQ^$3T)h*PGzDe9HO zn#xXm&8pUdus50CraquRp+*bDSc(ZIy>+o#{5AYs6q5R<_;6n+&O7FiuHt)9ct&k} z`S-wR2|^zlNV@fP$O8TKGX!bUf=-zT-8>MSRpE8JB-%rIB(R{I?`6+JpNz6o%^U64p#%E$;%L70osDYq$cJbER?9R#a5;h~;c_K4L`gqHi|OR_ zD0%w3OWGvhOsC~>?V^c)eaR^FOyx#`Ib=l`P4d4I>J1SA zYYQiYiKp3X^E2^ulXZ2{g<~h1kU$j?4HqA^>3`$}D6HQfcfcdDuD>8GdoB34AoG~} za+93K16RS4Anwck}&FLtT2ZX)KOc{4GDfJ)WT^HfN)Wif&OW!SzHmih=3s)xFxZac!mb5ZH=G( zO9iqK&&elN1LJCzT(^T!1hYMs4E8cpYNcgXbvrWoYS%q^!Pp27k7$`wcJ=Mnrv7X4 z*QX?m7t@Co>>+}r+-~H1#;_(96nHX(;d;{qM&^Z(0bh?j{U_qZ$Wk)d126zB;|2^9 zjVqLN)At>j;h68ESlCVdfJ}3V4LCL(e2UE?WTtc~!l?!zw-C+94TDM{c)zAf3I|FB zGh#>$DQZuSb?$%)=}|o_zooDw)osmvw(LG)L)?#CWF7B$517g{?TtK-bduHkLma&x zdN+4Cl%>K^AifZ~r9+#TbRPvwk;s?;zFR_q)FSK{f&ZN@H7Qg2Z&j+!)g%#*mQUBe z7bXbf3;lP)!5FGA8!raKO4O)-TM!*kw7f8;FhXYuMp){K0KYGrM%~4&QRHCMw5!$5 zdkaF7HU$Ms_di{T_w2ILu$vtl;boFjZoF)q^tyH?KI^Yv5v9t~F%zJqAIM6#tLGQ z1^20v@B7M3JrbjI;28a2yPUE>at}WQYXxi{8&gY|T!jk3skOP{1k?V4* zJ)lnQDX%8nZ1JVtK8dWoMB=v-J1iG`oP{o=IiP9shohEvPzhDSm=>u}dxefqvBfS$}R&DZkGcnr}R3wLq6KLdqI-c@{DWoz#QmbU4i#czu3;*)DM0 zYEa5pf4z`YclW&6y&JpA&A4+(pOv{P|H^oCHwisCt$e6k6p}}!3MZyPVQ-d`Wgnrr zywPoe__SO%bCtszN?q(sWxNt_ijK|ON#&~n-U8!*aZI;hFu>}w@fD>VI=6!13O>dS znOva8B0BgR3_7==|MG65g-7V}?o0ff7Y0;;J_}(FDTd^bwdh(OsdEC=-tv|=jQ?gD zz&yEzQe-Y93*Nm5U#Dtlw0(MCjKiab>wh-C?%h980F(>1SE-#H6?%ieK6UHp*&@hA`6PoS{xE+R`6 zY}U?|{)ue~&V?~`qO$_*%1N|J$9l2zP~I5Tz6X5*+V2%ZM){r3pFxZ3`TsExDvp<3 zS2ScJl4B~A=jl2ei`J(soJDGEnOm4-ebu+gW|~K2a{oRcDy|^P{k8h|ixtE6Cwvgv zRs|v|hWIXJUUa-rgnlH%{>PQpp`y2N6j)?fQY!2N@mlONNAp33RG08Uoe9U$^!0+h zZ>*ToZNY2I)okV180NATe7}BI;ur*r9FOK1253BUCzU|2?*b-DC@vL0s{4~d^@rUp z_OZq{G<)%jn_bM?kN-g41N#L5(Z2R>NU8WRqL8&WhetNWWawZxXuUAii<;_${G z6EkSJsb@88OGN2@aoJ#3B1HgTLPh)sS~got)0d&iwKNceLG}w%$fGK@)2w)=+yTiG z`Nw|x@2O*n)m_3BPUhSNBh0~9Tq)1Blh_fqP8OYw!C2T_@hRE6@(CJ0`SZZhs9Gyf zgWi(IqCcDExOR&Hq3X6OaYtbf7mJB3Rxlu{SBQiH(%=nN-gySZMG9chL~m)Lub$Gm<&P$Ww&}Y^-rPHPi4E@6|7!@Hzp#i#a-L2 z@$M)zk+;%U=NpY&TVFix2a5oH1uL7GRtrdzUT-%98K8(ANt=wF-B36F_pr~ns{0&C z4d=?SYEiBQ!dd`X6EpltL(8pMLKe8V)!zRgW%$XD(AG1mTXCJ`?Jy0dI_5a?ULH3B_ztM| zmj^0rE6>4`l%f;ItrDruE?!M-Q-XE+Z+MVnsYDKbJ>VTbz3$AWEKy{%NrTnej<1yRZL3V`g9>-m~={q`yYR@-i@7i@=(m2Bl7 ztypNRO>E!P>kW(sV^YzuF~DM7Z;MI^pOx6x&9hnKd^ zUxp-1w^`)Yr*jBtkRhj=&3HL=+sjn*$6WDY?fLv!8F*y?#f$b2R&tgU4yQZqU{A}} z^ZY2IPugEF>^{lFxUm}ODC4~&G8SRpHd+;WuE`>0erydE&-f)5k?}_DNG`ny$`G&Z zRBc{8NxfGUO+qm&`c9yFaS*upqy*l{F*DTW}N7bE$rFN*3WUtHD9KKq)MeM6U`Ne|cOxKUFCp{FoZPTl9+*I+99^z9Giln(-> zbvl0_DiBXM0CJ`Z^aQhD^bRTYGxoma3q<`lF9_Ivw6&Q0jJrOHXAnOjKV#r63VDPd zwLtUOfLxA1AS&RZkH8?{-R~i!k8myJk6J)32T%1>DG=4+{K%?xtKgi(R|rEo#cK(4 zmMD{{j^CoXhgk=CN1kxjaoP(ebe~<{>57wwaqjY5^y+-A(t0N^u2IsWq>`Jaz~Tt( z7}al&#|iE~58*EXdo*DZGghM|ju=z$*#$o4!!qbU+fJlX7%n)C(zo@N`fIhkekZOl zOmgg|zlpRVKN@=;D0FHptv8L9h0JPd0%Mf-7vE!pXB-Tm?y$`STDkX=+E28+Ns}IO z55Ti3hn*XI%7r4J?1rkLv{(h$b*kpC9g&W&OxuHD7gh(a9gD>)m|;XjR!&8Kp-~IO zY91N!TLF_nu%m5|0V#D=L3Ao?G<)l5dzEzRAi<@)x8i`5yl+7oq5st<0DqeLek{O~ z@3Ug8QGT+y^=0}1m4AxRclyq!4qX1p8pW%G2XHS1RtNj&DuJkj^`LH$Ep&o34x9Lv z)DkGLe5puHj4`(J3l<$+56`Bm03&xK-7K7U9ns35V_LpO;{A=?sCZ$(y03t7~B=Arl2N@6)Y!%xw|Eta+ z)-rQ=cu@`WtOMJg+e#*`W+BLI^0Hl!_*@`6fs6r&FbR#%aHCqHo|dXHeqC@}=v%sea^<8)T;k-b5eEe?MWL4UuIPCo35Dq~}qM*Zb1 z4+4&Qrf?u$H-b)}^%QbauKsudQvby1jj;gfi{=^p>(ZAKI}v3?eP8Bar42CvwZd%h z#^cZ9P|mKc4f5AcNTW%R_f?P!QK{}v@dNeldkBjiYta*|gcNTx3xNfO7Fa2xHtduZ z!b@JsKJ^2o@6RnlT`o`B?R0|dg_bCeSm*d9G3-PD$hEkW>Yc}kKy4R40G$9uQkSnQ5+zUiaJCb-&?2`(_aEdsKYmMrW9FNb|Gx^c`Ds8z)@bKMs$tgV{12kS zCx2iV5Oi=F7;W@U8ZRB|r97Q=?5ACglN4%`Kl=Eq=S&?NEzefYHLVu{IhSzMlvjWm zgj?Jax?=Sku4U9}bg^<6*jbNa^QDs6P?eIMY`{mLrAYs^aY8r({fIOFro!+h3$IuG zvadN-Xfn)R+M0U98m#6tl09N^7~hw$>v44$!QH#;sMYZ%_~4)hfD_0!rR(=V$UaZUIV0@DWY6aQ& z3UoGU`@UIK#9U!{L$oIjH9qI3L-3BiXorpr+IDVEOcNdC#49_}jrOm?CI{Ic5ajLh zK%KhyN3SZ8Z;F)?z~;ME)%Q*Sw3rvbcqV$I1OiUqf9iwvhp{4R7!;eaE{6G=jE{&wPjB$@4bPi`aa;@Q-!V29f>3pPfybDp*({F9s zW1Nt{RXFPnBL?I2Vsz3svwr>A+ZX^lJD9(0%ExKpWD)^5^iWDSdmg4$no9zM{m=JeNb&02< zl$qqaZ+XdKhW?bxCgLBU)QqEmPu(<=CS1Yox>Xi1oC zkwCem{g<~R|H0e& zz4kn|h4>TCVWd*cf0gbyUZ>$$=PbU=DmF@n*itXz(Sl@qfxLZGTZ_`R;tzsYT=D1$ z*aw-2aH9O;Cbbg~%d68+)Dyj@-;}X`bO<3!0yEFc-JI3C6821CUurEPT=kHlyP~}3 zEK$9MMi=1*_QMK=K!>Nn(dOuM>Xg9>U$UNcxX)pl!Bm|GI1{3#5{dvYv(_lCsOF`z zuw>+GwosF5=04cRyo%rIa7n8FSOh(Tnj_JHD3ijv215vg&sf8iePz8 zxB^h5Kl*0=u&hCkk7hNgvH?(BOY2LxfFK=K`EruV&tx}QB9^8-(xbw!w;KFy6QhW4EA=N|bnz#q znynES_`8C?c32{qbfQDxkr!Rh>(nRrDH!Ozd|4J!-aIK__?Kc1N1N5981V6<*>YA4 z%MKXp5IA=0Wqsi(Q(G>FWznSh&z!EAYER*AQ`+< z5GHgNbV1HG!@OSID_nWO-nMEC@MUkwc9cmBsN1|0lak<$ltfiU!hUu<24~>R5)aU8 z*6{ZSib%ZEG{`SLRAqmKr+<%sbW=bXlBfe@h2-8n?hEJN0f^;39T74*4C5cP`fu)O z4coWo+aj^-BdGlrr5k?<=>8gc;3!$34u!+fkR0UUP#xnFD2Ol7d6F!ve#HC1QQbCq zoc&JX2e&j;5G+4J0l7lvbDAIm-{R19k|~tD#ZgNL+KTY(AaQvVlxZPAEnbAUn-|SR zS5jtmmEf#HURNCcqc4`fI6q2C1(fgZfRZMxZTVY)2hk^1!tp|Q5+OFV?8-67`PXg9 z{U=c~&O=$#G$^64U=rMy=kGZyj9`Yd3s zP9M*^23+wxjEHggmO1rw!~>x-xJ+Bh`+v^>5IOpnmQy%y8CPUTe?&_N2eXK@MuEv) zs_XbJIrr2V)1jWd+3mIKn}tz?ckeYXe~7^C-mS zl#~;NBFnrfmEhTkfN)8shsd5^;me@9hvK0~)*O6Yy}NojqUxIJjM9b5NK~lg%v6TTqvD@bp&24s@mdKt*h~u_4usv+ljbPcFh6SgkY} zEdiWRUMwn^WB=U#ERS1mxHuFhBMQcy#NJZV2BO}OE9oqOqdGtq(M#2DjKVY zec|h@R)_Y~3QE;Va3&OC^mJ7Mk0D4B9GYw~sJhKy|;_p^u@c#J{KEu#Q z*^mz46|L78u%^129%3ZTjYC6BAXD%eKmzufCRGvd*(CtdMeq3+; zM7?Mus7Ag|sKj8ryr@HKe9=ugD6kd9O+CBb)}xuOB4`xpZd_1LHln#D>=}KL6hKww zVKgsK$Hp#!IF1ilv)d)r!zVBRnH|lDVkt6wFyEVM9mK+8pF24F-eI`w2P~4lNQ(#~ zqVZhp$?9^E+GEj+9n%8??2?^RE+vXvAWu+W#Wlnf#*uN4YnYzl!b>+HHcjy-?And> z+D*0R&x5F)bX&e|kslMrwPn~|>F%tI1wB{Pw(4OsW}1u?^-wlRs0l^rb0j8tSl)oc zit8)$Modf~L+@k^R7FH{u2@M~>XI9Drq0xnhQt zaSSU2F_mZrR<_}yHXx(!^y%Tl>fU@*>p8leaFW?QWf`_q1~h<8*)U~m1XTTcDFn4N z^lo*J9M*a*>^GdX&@+_jo5wMBo|W`Hb2G_MZ9<>T|Gy9*@(*e6vGm~>p{@o7x7FIE z+d892gU^W^wn36D`>-)LXT1w$uu9x^>}g^6iJV?yVCrO4bf2hDv|$<-U>oImXn=j7 z08Yox)XCR!RV@#jMyxG&C*Fy#CPD6ykmI$?^p&;H>t$FlST;>V|iW%7GsLX2D?u zC=N4i+G~RDFiNyU^W)@Z4uZgbB_!`26Ff^FOA$*!160Wl0Ryx`({BPs1GJ$8+JXOG zLTdx@JOP6M{hjk+9sBEFv;_>%JKDkv*ozNZ8>ll6m<$pf$U4;*UQP(9WW}qS_#Q)A} z572UO?$AzWJk_5>oO9W~L>w->S)Y;iqnsC?TaTk=!k=P;wCRKii4)IGNb@UK{|j!A|C^U0QIrC|WnV1lp6Kkb z?pPT@GRmr6YiJ+7t?(Q$V1{G)<-zCh1`uLyV-JVZTM$16286%j9EcjN5Gp~0XS~RH zjX~}9e&2gcN(|JH>$jI|roXU3!z9X-kh<^{=YO03QjrM;9V7U`S6GR*G$i70|M-oR zS`T?yc>rW&k)k8n0s2JlYXGjiNSPJDH-YJkS|XQnq85B;{~rtH{L2R$C1fZa`kMx> z-JwKYHG+A3087-bkg)sOM$HiYPAkLSJF?J+kd)i@1GV_<;hm9scW$f;yDhf;V3g?A zHYH#vGDa=#tz)`{c4dRyPk!O4Z?z^FPPQEn_ou=58OEm|&ns76@;gRr9ypCPe+8UQ zqWL5wN@Zh&;%#{P5O~h?yk3$l=QP&1X5OuDLd$0C(+H+#2FyNtr*(3?Xhe!MsA(!$ zlP=yLJMy=|Nz~UT6kmz*nO@%bvcK4#8(n~*=J30P5DyC?9?WMh8Qd6(7F0q zhWmgS4c8?FCUD(2-~qe)HJ`kae$c?W|0v}dAk%M)H} zkyIw@A-DdhCDk)6__3uH{}M)!yG%GLN#GnLYLqIU@K~`=K#fwe{exe&43sg3LYI^2 z=USS>^HSB;SyPr_q_0H_Bn07)f0_#~ghi`cR51IeiAbL&FPmy4v3R9Iirv+k*=FtKu z;%icK3eF;ze8jVH;%iYR&j!ac>B2z~YV)x5p32E;Ukgl_TSgT;GaMYt!B|%TeH5C+;fRa|4(S61 zi9;bhINjLCoeHI{*5^eYLDH=2(__eKsEuw)3fb#f_6{&cGXTcu;7W93f5Xa={|IS5 zOWoc9T%!JjsZ)40Sg&)tR~Eco6OzEN-pgsTxX}bH!tEL0(}Hs^A)tYjdj8%K(Sp&t z_+p9nS<>wpa^CHB zv;PZWj%Y<+=@rt7YzU7Ks1QF%>AL%(VQjLtSVS!$$fx{qqq~N8x;=zL=~|3y^>a?# zD@MK8#6&^$&lS-}_EC;dOlBsXX1N!OGR3}}njbJU-2RN3M9U31ExB>DcWzIOLfTSW zhw^RHA+~XcF&pDs7Nw8^>JVn80UPBxv5N2s07iF5jWBY<6@!xr*yMaC@Po1sFGWD9 z9Ced?kq{LGrzK;@bR6A&-~KsTiBj_y6d1-II+1+RE*t7LOdouolHF5w-O)iF3dHkY z!GW5dPr-p{c8IlRgk7^ls~6*%Z-3R7Wfdj%T4W3vW{LTLlgZ*`VKiQU$*+$@-L z%Z~ZqF!FeJ|7GNv#MF=VQ$3#OP+n`lH%v`blXnqUKPXcPykW3r2qZfI(m{Lfm4-_|zugR2?RH70MG(_P5Wjr4LHbq% ze*rx5kLXS7+3&v%1?TokPtkS#=C8jNL0}aSe>KJW<_-^Hkl=?CPTK;j;B^4~gyF1p z!f&q(%B|Bv$l5IMZFgm{Dy`1qiqnjUc2T<0Wf$0|MiZJAN9gKAWk@ixq3GzKxD{(- zXo!;8@``oZuk+k2G;}{?hO0qr{~7`PD>rkmmoScj5tXtez*>O*?9k~y#T=1HB`Vn_ zgfkIy2i{an#c|mfjt<8z&eEJ=M~aCz^`i}!%LZH2;M}y_4S5A_1b&L`#%~Br0~OG@$2#IT4{xVtc5%RlU!ls6{;q!N7tkNpJ)K1 z{_tyP)CS88txf+wR~9^=D?A)G-?Ct+@s{3K4}6jaKL`5rwA?%ap_I7g_gq~n{1-x_ zR4uxyA@EA-8u}UC+c|d`3yzhL>*y67P2u+(mwU79RCU&bfR4D)LcC)~G_pbz5~*Hp z<@$6d;pSd#2{=!;r;pXwdfb*cqs_->lx{kZ*IxKd9$wz=q5vRUYphM3@5-AHXn_KR zBE`hA^28ZZNtQq#k63YOiR57&J{XoT z(kIbl@oBbwSL*sx7GY&~$b(Pg>?2?9;BsB*#ek1-v@Gwoio zhToPxg&_sV9UO#-w5H#dfIq}c2LzPIFup-S)qm*<>j1g}IODg~MdN%Yp_YVb$hOyZ7Q*q9!9afBhWd{Nm-jyno}?l^ZW}%+y>Z` zeb7Y%TB?Oh{ZN{03M}7}Jse=@F=c7P-bKrRjdq~=C)`6bU9OJEG?cNot= z7}c8QRcG&pkN}8$&!eX%@h~ptB6@3|=j%Tb&>pm9Gd1dx`^wR=yr2X{Y&&qSAXJJ@ zzNr^EY|tpq(zF2gn>c{`jR9u19Kihs343I})f7%$3U!&*Q7*a?e-at(f=|&(gaC$I53O{duZ@|MF z@V%xhGqrj8LIWY-J505#p8=F3AQWmGXbjRL0hH4hgGK$d*OVW+&tcF3>^FwrbnnM! z0C|NJMScbdQ!$O-bZ#%m?^OxloH{IyeOx8dRFCZ>Dknx$+WoWuO$s1@(j}-L2@o}~ z9wd;ICXke}`$@qi4y32T3`hi_5H~+VZ3NyNxQELFmv2+fzDPjLpTc6_F>&&YFj$oH zD2r@e&*DzTzGW)Ps}^U1ngI52 zA>IjOvNC-gmkTo^m$)9Irw8`fZt*`C4RU$kB96N!hDT3Q4}+>5G?lVHoDZ{WBpwFT zIh@Ywc@^0M_YjU;H_`i;e+()1dn3)EttiQV`^h+$uP9;nZnToC z6s4A?q5Vk2!Pp&emInH|1bmAxyMUvg6dl@##Pt^#-oqL$b1USRrfqKuuX7PZ<6ke=yUtl*zR>q%%d zCVPmJpfQnMy__fwz?6^mP5nizM80M%0SeX6Pm_OVqgpF=ez~$)*J0=?Hm&bEd-QjF-IUkNIaW=ygh(I5d&Gtu|0UqHm~1M30Z~jWNm9wHV2M1OWK)srdUK#AS$#Ww~|-VOK<=Wir4k$kbHzkMR8CJ*(d75@%p*34ysE zuesu5ZPyLOSEtkaA%uY$)h3SEoKO4!@<|I-RCN@yj3 zq5yF@!xnzWDQ~`MiFGt=pr^1qF7}*t;kL}8w=x!qx^Q<8AwQVc`Y`uww|U+OJF$TDb2wukbq)AzI(^!> zrZwc&H$3XjRtDM(PmQ;R_E!%xBE>z7+YNJSsrn7b%u>Z-qUK z>lAT3)}gpiD!<{E0Z9Zu6Y?tn_W?QD_!WL}gY1>k)78@jk^p-I5vOEjwle!HMFJ`i zmLQ)YPRZ<~#;V5Js|F-aNw3=*02B{p#6Yb|tqOQCG0GqK&%iHJ8&ewtk{I;Im`BAg z`@REAe19yU0Qhtk-WwSMjdtx<$b!vDdEd0>+Y=V z%!Qj_fw}p<4ZeRsrbV}88aply-hNF0`x*%)ar72vhGn^J=8SSlVJiNEUTACOK?w0K zFS$A~TTGpi&GI00XJtrGz zm1$QNQ!Z9r*DnL3e|f#dJTuisb(kS?hmV^}?9D`qvv~7=Q!;Ol@TkyCqJGm)ei^0? z)(xy7uF2w~F&^+WRgm1iyT~}g92A6BC0K+`gHiMEg#uN<_kjCMyc*T~LxZ3y#h|`1 zi4C)gt9>n@utBsM>&LOW%i`tM{MKnDV8pl;E>(Ce{uMUuv%w^4p}R8EaT!4$*9=*$ z!x&shX^_WQN=c;gp)NhN-Mvncql(EDK;@W}I-BAw`@tHn>Yn zU!18GckMzD^+J;PDcShbF{zgR9L88(rIxn0oQcT8Fk(SY8hA|@$I&h$!djU|Xz{E-pb+@%Kz)6}ApCZAOu?g=emg+4z;=+e zbhUIqeg3b&U*WJY|M_PEJaq~DGw|8Xj%%%It#-tq@Y$c50>J=JI;K#oR;vaI071Zh z!ut%ro!Z1YK-lXIHG&~ve{%y0@O0z1;}obggKHlrjx#@_fCdy_xvD&GxRsE zk#+y2dF-mbIT$)#?-S6_qZ`=%!K(3$!t*b3t631NS+LXO4zApSE{8{34{k^yU$gzy zCeljVFg4_1C$&aDe2BOhu6~`sM%2PxC4WUQSrm5VozH}rT>QHjWpN^q@;1CZnID+; zN*x?%i`5n4W8}77p2<~@SX=i;?SL+y{Nr*>(@ioBz|TAf_#14eJ$n}E`rM#K5uQ8Dx3FnzE7cK_|&1k0Y z3ri_z$vuJ$Hh*P^TTrRfYmDThB{iBwX{}Q`{m&vHEzZ*3Xdy7x`@}1#wMbA211BK6 zpZ!uuO9Jj}*lT^N+dOL=KZy^8`gte^T?p^^E$WSxzU0#p_)h}7e0b>+`My<{j?Y7| zI$NEVU|BqLg4*?Pv)od_VIpsnrvvm8QrtOEqo#ZbY(pvbkV9XN6a2v-5|GA`l6z|P zL>dL|u=8OF*LLhhu+BM?A;P7fwz&-Sf2)Tc#N&E1f_@F1Cd<36_U6(HL0K2oLjxz`9d4R(&xuo%J?Q>TjG}U+(rDV0to78Q^Nn)VsRw*lqTi?QTH#A%E zU7rR6spC;?8}>kRt#4BIvgIMiS*&LYpH;1PX}?|)LvM{g=SF zJQ&f94*pWCB`7z6^1V_$FoiS)N4rCKkWw_v31LafD*6}n=y(gh?1u#&Bm%-VUjYcuyk%DlP+Q3$r8t5~@)PkI*X!ri9g zT~(p}qLLE91Fhq=pf`-X2WvE~j@>obWgGIiJYjHlIASJo6QE&WKvIevmn({s0UQR6 zOZ{8V9|GC~?lUpxlHcO6QJ)S<`C2tL7(-K7uT$+0Fx3G<%nE4ywzf$P-zc zUHT*MUr6^~JEX%z46%ClViAUS{dhUUBJp%_1;ikK4dIi`O9e)+GlDMypn^RDpaEY& z5x)}7==_PLE7MT6!JS)5tuvaP*-6w;lJ(lycV*uQB8^ecyhQux%IrhzE5%O z=|M|Tt=WEep-%S0@pOG%dIWYaK%ug~#MZbS0xIlCKou)4a|L0ds3b~#ZxEsZF-S^s zf_IJ((n@tvtot1>6P=C&%oJz+TO?{oP>kKbU>|HcyovwP10n?2lst2j`# zp%uz9h1FdWb=5#wKh{;qO&awkFb>R%*krzSrITS;G8)1)&1`_^GAE4v(6!m{SO^c$ z!)~u~H-j>BR~;xo$My!XCR+P)CQ*>=t)7R__)be9Pq$$K63v2p4Vj=w1KNA;fV{Mw zFH)U!8t8MLRkQDfxXh*92P0`OWL{s*qAp$)BQZjz@m@$msz?({GdK-0t}->vk!f9t zI2iA&Z&F!g!ljj{b^FBx#j%fxkuoh(kecV1%vhle86!JnHcOEO7Flf^o!+FyE&qOp zH2q_b?N7uQ9Ow7 z4}09ZWSu@<&lFAMkd!5nayE;c9*k3Z!Y@Ns4LS3PEYL0)g%?X7HKNkn;Fj7^UeBES z8kzvp_To-anRhq!(|#t$-bBLpf;~H>8<;=XfcWF{=736*-=E!`qf4SRYnUb5Lh66xffW<})Q+8jqLVBYte6~901t0Rnyp%vYDMM`vbNE|KJg5uj2T5-myxU8yM zCXFi1uyZ&hSx&kOLCbvT?l6e>EM^iT7p*7gfjJ#H6t5J#nczG%4b0$30j5|(U!T2F zOkmebH`CR;RLyov+xO(s&lc!|FjwG)pRl+4L=6>?)%`IUhGIx26bj*)xay2z zz0#6tVw(=&)tsmfikyOO4yl7Nsmwg0^CVhab<4B#A0&2{Pv2)OO>+pMa12b~f?jLu z9%a8T{9tjRsLBcO|0i(M{c%6OvqgKh^kXR_{n?KQ%e!9sy%pscwK&ayC+SKRwTLaL zTX9cgO0aK9pv|^b=0^^PMsP-S4|(g;lAn2k6`za=8>7|<&cs3|`Ar}LBSDEa(l^yV zHs>kNk*AzvJ{{&Tz-5udeQ<&5H{ka3d-Mx5n^>O?X-QdL%=3j~Y+{9(lAA$PvVF(c z+#I9xrZqUo3VZJm4l6IeXAZC7j=1(b__1$8w#+csohh3k4Ee=Q(l$kPrh2S*s zXYzMIx4*yupQ+~+60xYdoI5rKZ$D5w(ReJl00wtae>v)SBgK%UR0 z0tlsfwdosyYrkrQG~U1xbtJs zw~H309HO&+O6u(@{)1V@FWPB&fRY(8F@>=^^iY+G>aqkH-{M?%;W)~<%?Zia7Z0&$ z(O@Jvz3T(_;3%ymlFzIcItSY*&l3 zz5w&91>mpnVZUP^QS`9p$ZcZmJtKXDdIW+(zxr|$cGh%zHg1MXOrSzNqDy#_3CfW) zzaYrV;!6nBxYj>zO=cUrTO7JFvjLV6X7yuV%+^T9eqD-ung0PsH{Qubf`@iESXTp486sPex4WVv<)*Kc{Px?t zj(#Qj8L7??U?6KVXCB5K>#R6zMAZw{}QG-S5Oi^3N6!) zPlscV4F)ERrOVbFec?Y_Os=0H;OaP)uzUp92rlr7LDNuuMqG>xE(WQcI zzibZ-?a|s$H%w8;uX@2jT(SuV(CZwi_FQSEp$L?G1EE#}EE<-zlh0-_Z-V5VO$;1T z%8BOC&zs#I^Ypf&KmtDe0RcPxfj_1P*o5(Q{#}G#NJwjv|Hj>hLFWN1shNMvb!!$2 zmIHidwT|iiliZV>cALS0fY|FncyW0kp4@teuVBFvJlZyXwb@u@vjQ0I9S?ziZI19u zA?!M5AkkG;1%zb8<>V3T(=n7c_KY0kAJ7LC!3N*xPp@1!itW)02{UDp7we?c^=FV3bK4}65IJEOwr~_<^xi@Ud zq`_cIdx0uMo!+v$hh3zKtA{Vz5z>JOaiv)f0?fux6 zLxT|)kx?(x5H`4Nu`^Ge);u)8FuBM3UgPHh2B=7ZxDq@5*imw{cB8m(qUWj9d=+Q-SZHHK`O5N_?nveanYR&xZT_GqX5<7gCm66j-V`SJp zN+IV##K4p7cJwjqV$qe8{o!6?<`I^bc%@|8rfScaF&dw>v2<%n%7_N(Pnt@e%};ne z3^)+r_0U5&De(*C{2ocb)3DNCf-;N~0T)?QwEuc31+*)chI(e|C zEB$s>yQe+rpy48%k2U7}JxOh;7AZK1yi$19@iQ?)fgn>coB(Oc?6#ID{bC*%Bpy$K z^g2?A+7OLFsUUZ}*wl7&_a%pOHPz?b;{*m6$i$I8BXAXa;xKyBYN`u5s9oQ<5N)O# z1%>(-rJ@B*48UL3Po;q%Qct1?MF2Ropm2@2l!qk=gRa}BtDPGaEZ5p0(4YqF`rsX! zNo>W;*kBhd&snjS7GlUTPde;4Xf{jb$BZH+{!OCg?RetF&Rn`QVfy&bqA!lm1fNFgp^pU54FM(6 zbuk5#bnWS%F4m(;M!#6w&}i|_O;0n9xpsm#*{AJ%1Vg@=oNVxF$r#5&{o6$kgL&MK z4~==fSaD-^uFT525KCcDNKCyRkH|p!QRT$?edA6iy=wVGI;H;7d12RREV}!?>U-SuP4wBI#*t_Q^~@x^`3?sugvT^J4*@Y(GrYKqo5ZPl&SEVc&Gp)=;UDL~F4T0Uz z1{j-c`o(}UROzM}$InD1Ve{qC*veKcB|p9M;wv`H#ub<>ax4@+3O^OE4sVf+xJ-1xyS>tUM&W&Udj^Qb*m05w1TQQ0Qby%<;h%spGy*fV|E~BjvNv<;p8d=}(nw1eu@rw5hb0rF!{b$TX>DJlH)&57qoMk+tP# z6fBLWs?Jz31uBcGhd!?_kK2PCkK5I}xR?&DGc*2(!5>-Q=h;If%;0-s$##sr45~Xx z+Lu1B2@7dpA7dcqFxDFrJb@!RrK_)3^3@hR=f9Wb7T)eHFScx;XLb8ced*%CpPu9~ z4J@l9mx-PeRk$w72s)0YnhU6vO5p1Ujn+w;LI!1YyG!xP;`d%1tGbp{`hS2|*!p%B zg#{eRl_DxH-*d58Py7;dQsOc?W}V(SS6~no*pBT?t&fZ;;#|@mgXn>u;$o4Y1HmA1 zLNK79i7-TAUPO3d))>1kYC)hy!6$VslN5ch@q>$CoHR(QH*|@Y!Os!k4fFzkhPlD` z#WZ3%tcAtg^jJ~W^*GLl1r|xn4wutc|^icI6 zn2ujX2L$Nr3o4jd`Ocf2xK?jGrMMx7Q7n(XoGg1=`%cS7ZO}}-CLA{*&B{fls0Wqf zb<&!dQHh}g4=V{;C*gU&*5)dhKP*HV$@`#-eMB{t0doIM2IcVa5fi#Ru7_i7CZL&n z0|1qDMZV6aGW+wOYtG1J{m$s@z|RD){`#dkY;HBJ=F3+g1R#7Mejvab4#*E^W{I=o zRtDmyED5H&Cn^kwwk3c zB`Mv@4aXeYX%Dozasz)3m9J(2PD};dw5}&Ybso)$`?XO*cwfA~-Vq$P(RhEY8>)A# zbrgdjZ$@w*=Zn-}RpI=rqWy;UnBMnfM6Y9kw&?pb zK+>NS(Z30#^L{?_CG&(_4Q)Kd-PqDwnXjXjxDUA7Ym5*bds$fBl6UhovuM{vg@n7E zT%Crq$ni&Iweb=~QYBm%*;tOw-mH0)hRZ-t>A4<~588YRT~Hn0dQl=IWPj0(UZo-U zHHRUAgu#+VYD~T69;Esthxs?%>J z45pBx=dxk+JD~Ifn>RHrG4PxFK#i}4ypm$wH+&dLc=u`&9qg|rQm0 zccjB@ebQq`1Ag~Aiwg_P>SIsW#zm^pGx1qqfK{HsS__MwC&b;#9qpdtB*gF!1w+SF zDKqO@_T^Tv1%x_8n!N+wJy)B9=|HE`ESmU}PA}tw=k3#DmmH2W&+QC%`mc`#e{25h+ICRmRq?d3s2{nbOj@rQ#1rKk<{ZF^(FFhv2?t$X+S(34o2LMl>#+RY;z#5e-PX~va`XsY0j%UWGrgB_1jJG9^ zeF?)?Zn)r9=NXfMrJc==N!FIG{pCR8vT3uS!mn-OCXzw_%;GoJ?+njY-P4sFzSllo$*Z9aq01bLX4+ky^xGS0{{ zzl_$6y`Rz}W3ulg0n#Fo^g?y}W1qgEt9T%v#!P+dkYvr|0Wig<8=<&btI60MH!YzM z;v}_~-sc+l^Tpbb^3R`w;YoKqnk%CVlED+mn@JSJ@`J)iSq*IeS$9`oR2D5NS1uuJIfwc`1G~-+u zG9QgHt@X-mR)+Ue%3rxYUBRH zO`0L#wqsdGEGG8|4ek2Tfhag{xjea9b_Lo8Dghr8@7Lo!Ls+Dp+sEY6Nj)D@nl<-R zE?hGPaR@6ZdxhG%E%sQ0XgoRQwT)7m{kcyhIy#tV#2`^U@~CLC^Jgjr9Od&=;?;P|Atv~ z9!JRMk3R!eZK+emLbcat2(s)gI}+IdXaGZOmcv<@sgclvzes>}r6exqE9vDqymXYr z;T6cP-WUtJXi}Z_*wOpdRV=zUX+B;=A`Oa)&P0h4o>fEI!H+`L+7}~Vn%VcYZ&g`# zwkRxd0wl*YvJzr;k_ON^fy43WngWQjNGRKC+>zEqx|RwnvtQ~$(`-T9gOh&8;7N6z z!EHe$&jqqmnw{&Wx7VTQgb*6dsGPvfGhspCoSB&7 z)=s6St=Win?Bk8cPM|99^or5?Cgf?5c05n|q^LXqaT?{#E_1;;N5(W27}MTm$zos6 zD#@f6;MVw#J5^XnKTkg`tDk)_ntYO*AggJpmu{Hel643_=?CM8=h(Bn;rm|rw&9Mi z;;BZZMir_?rF}Ssr(4bI?L)`g{eE-#__%j-dcVG1db-W3kB%i&tpt%y;oT65(t*)$ z4BrJ5Jj0;g+PGK@XD{`x$VL>uPf+z!cHid*7qH@2lg4&OI1}sdcteilwFS^Do*z78 zA`t^{zHh>tx;@pd4(puM>*o;@u5%smCvP0FC6Xt;88Se5tfO7~7TAzNcRJzuqNv(^3oChJm61U^ zo)Oyg52f_j?yg3MZ%|b0SwhA&Ic}!k*}5U1OI~|M@;u^Z3{fUUn$d+}= zm%ReG*YX2Mr)S6^FGTS7Trdtq&~ohOwBa2oha?49a-fnQW*je^Nofa_CR0YL9Bb{F^SBY!JI{?QH~>E*@V z(0U{#ZO_(IZ<}l@|EFO`kNbm<8=ay=qibomx8X-1xxWc*G;2%#D(LCW_*JIF7DiaG?S+!VxduL{0n@UcePo3K(3I zz1eOfPak=hG+L(fj8t~mXAO%S0>WVb9|WLg6Rr+UPnE+jOsb6ykG5gYc|RJ|7K2ul zfhu&HK|87tO$I-cFU-ifX+V?QqB9eo#ggW=^?`kEYcFP^wk~~wI#e=w;qV)<*1KHm zE+QUi6wA~EU2aoT)lXr?S7+9}3suhG_HsgVK;Co3m-?P05G>lZk^XE&r0O0Q%Mg5- z;yv2t3me)}VFoCpsSyNgm1xG6Zc8@m-L4aT>CXVfPFd+8uaCzBFzE-`EnJ( zEfqg|w2nG5!pH28!yOPNW@2k5$uSMO6<)nb5im=R->sJ*CRHDuLzTD&Dr^(>wfO~j zjS!8<&A`%_I%scSQax%J0@K*3C-n5ep&O!6O@f*D8B=WBGG32SK2RZt)NFgdZSM?+X>7o-jDFU|A7rAUl5Bt>D*7a3=S+bht?%X3J|tEJ^-|fhZA2^MdI;xupcO-{mibnpMWBsl39QQ48sC=$;{o@X zw867vK)UxLQTiV3&!LmK@}sANkgtqkw%NjJx({F8yJ@aX2%WBk*g7V_?Xr75%a^Xo z=AKo2V@LV3(`T`UyY*dQ^LU5>0`8#6}$4iuzSH0iN_4mj8Mq@`&DU zUAk`gbu;r9aKUSmxa3bH?xSemh_L4IU%7o{;pnBee;N6t^nn=1KfDE%<0DTaZYBgW z!x^-i3EUZs(_k_vb!n8wNDJ{YT`l5uz!@b=#h#a_A`BO)0t%w!wLFom()^#U`2 z@nsO;kibv)2S71NXXptofMJo%QpI9IIPg(ejEgJ;91e$Uk<&YjX_M5nQVHadte;&zmUMBT_{kY63 zd~G&sRgDvLHMq)CTXNWmYlT=JeZdsWaSL_uI-v=Y0{bzlT^nGW+Y}*)9hbET1uYD+9=`76Y0*z+py7t`(8RpPgdyFJ`IYA%RVt;q;OU3fLvEES=^9j$*4 z1OkLbnNO6ugf3P#11mC|G;t91HV+6!u5vIi05t1ayRF>uUS{ySx8Ls&RZ zfL)b1S3bM8+N;{@*R#M{-eJ_G5^qP|ZlA|{-?FvsC3t_n4>b`Wc%m^@0O(J83jq3a z%I5Udpk#i_Qk6f+*nNF_X1etBmWB$;Hx#{qVu2Be4J4|2$tutHD6Of`&thL@Rb6FyG5n)V*vg;z&9cg zlyq}Jo`?zZKKl?L3ufX|oO~2|u(4sU(_D5SBd*X#vnWEO@ZzO-CUB6M)m1QE_sq1` z&3=7zhGvOwe4 zm?~=-nxSm$+{3u4vO+td6J`V3K8LnV8;9iP%eVXzEZ*&R{J8*qmu4}1-Y+ZQ5)yvM zSVnUdkUCOC6nLS~kti7YC5CaZQ7w(i-iVA-#haB@{YN@-O>bi zq32&FjNd8 zw54^sXTJ2>6iJ)mQ5ZMXZRM+#YKpJf*$`W2s(pM$N%y3vgjc3wI(3{}WO z+IMBPxW5P$brpIWywz$cMJS;MsW!xIQl1p0<7I$MVlZaRgYbx1Pb7PrGD@2G4N2eg z`8fa-Li`F*c1OoypRJv6J{OKawNz_xOagY=xWq!1&n8)!o!Xn5?oLVwWj=W3T~?M# zA#+k2M~6yDrQO&LfLzuMxxCG#aXpa#1?yllFYbjJe8%aF%|({3 zqf#eOZqZNkA#a%mLOX?3*LXUl=T|a}CiY|`ib>WdmHZ12M=>C@rA|ur0o=o4*GvKf z?cngD2l0!n1Q%2>PRFLr@C(K}Ic)@x@TrARV+z~0A5uw}eCnrnJ#UXT;C!gFqmW_k z3zD=dS$&57pPa}MpNaB*I0_heRo>=3SU=A#_oOaBk+F?+b+9BtakXRn{Cp^Pl z&d|F`0=(Q6ZVqgU z)PwQYUGAvGu)M{WH`ODce5VNBI4-)T1-$w>^Y3ur%}I2^9)&g_+22v@HsOA0s@gs> zDrKJkGs<3U!E^n&M|Spo)9A=s6}&^ccvH`KoaF9_91tO!bm&+L}&fKbAmy~5y8fAU(ylS`0lJ>}gYr28|UDUcyR`8?;uPR60`p}V;NT>wmm!b_LbG3c22JaUf z#_zH3nsyuuaG@O#a2UM>rLBq8e+o^)0VDI5{eMR03lJ9cgCxjq9UM8kyo>JDuLR7e zD=^p?_C`PB5XD3RgHG7qE1ckGvq6|BO-_rf%qd{_e())YHI$(qJ( zpq~fc;o}ux2eVV_gu*`t$qAD&wM{(uEZgF$(D{0pFCfbbrOM~ij;6_kLmnvIg_wG~ zMm!r}CGawBVI0WN?m?~D^fv0ja?~Y#5@bp!WmD(HA4P85O=f#cc zvx#uUgF4(~$Nvi$-~RmvJ|8BTG5KadbBvwda4q|1WAK-&>q);^AzM!gkdI#-#*~Gp zNzwzsa8L3X_$tg0o5t}Y%+BVn#(Quj_Ql#MqDTMiELpK~EzV+c{}F+H2FF{Q-rS5Ps0_AmMoAw&ohFm^`%L2kJP=I7&3X9q5-2 z5I_VHAprhtfPkAwZMFjq_yQlzPj>V*(P5#mJjHU0XHk~FE<90MZsr4mfD|vSLVDQP z#Rau=JsE@Ujb5gCdA6oec;S|eFKYc;^Y;k)ZlZ^Rvl?=0x-ubb$>1tyc$DM^ef~JOfEX5}c(W$s-No8&Q!ww8AbyV4IM~ao54IU8{TpLvm?%p#)Y% zmMY`or%_`>fvv+14+k{%p`Mk3tL2y1%w|j43HX1Hvbu`^;TSw`97EZv~Z>qzD zB5ohvvRj;YqbE#m8#gzwsj0n&Z}+ZaN%z6T6rw>#2{L!Ken`Dvd}NTfoe5Wx2=%U)Y=b(yB!2u^PK#_*oj?llKPV7?=c)S3icX6EWko9)0VkKVmO$)~ec@pdEAhN6K#QP-xw5Q2@9zpK8npiM<1ar2?>~SKIs`y~f_%@_TEfb0OV znoMUEl!Hp-v_xpdlXY_Bh@0A;Zf37OM+Ed@fpszhIQ|zupn$D$6!N}DpW{D}+a@jU zACVed;^X9`HsJI7O^ciO2zU_;s0c|`8<6+*mVu6w`O8~o#pwVvX8(B0I2izMDdQsZ zBhM}*&SOrLDofU2FIPh;nNwjJ+q`XB^0XE1+qh(R_#4NBhsV$km0oXQ{`-T!0ik>O zXYq9EMrrF|r@T!9N%p)AT@d;83d>N+)#xR&_K&$`nJq-Kc3Jw{L6yArR_QN>M_O=+T+f#a3$F4XlsN3l2pGpTz8%5dS3_DnpRylq6B;?U$ zEV6;X8?n~LpPK}n(eKv5%U8R*CyS{T0PU8|t|Mrj6mY1X>qqxJzeGP_@((FQ0LX}g zZp)AwM}>L>7|vu4vrK5Te_aT(M5qqnwJFaQebjJUQzsaiR_stuN`Fn>kBaEN@cwLM`&dz_o?LS z>1Y86RXQA^#Gk@^!=`oCT|v0rB91$jDnFNQ;sAhBCfvl*Hw(6ZFewXHrq+q6(Tu`H zXbPP(aAVra=C*Iz8?f4$4C)mO%DBOCj2O@9%gvnFZ&BEt3n21@Q-W)3NOyTzkc|SJ z44~zRR^eWzAJxA7#?Y=<`1Cx}wGb|zb5x$I&TenjL0>rG2vnB<=x?n!hY#so>Jij9 z)`QkaTtatANch(Qs}U7?ogtiO)@P5DhYd5uTr!wDVSVFrHa5wG>o*coZ$Z87TzxXB zLX3NQOXBb9`UJtl$t7z!y7Rn%3 z$yEI4S7$g(hV0h%>&iowiT&+yAV9-D1w3L&$OEn&A_A~uQylcb7Ay0VZ@KZ)v;Q?G z?;)zHo{iBL9)>8)3Sgv>z-*3UcLCMC_-V`dWX!-$=vs;4C+SdsBBaWx_#cR|&*Ex? zUOx0k*%0BcCb2LM$r=KMx#na4$}#E<5oQsqL+~%aQa!Jq~c{GXzTg}^^6&_1U?UI?{g1%^MtiusIuZ(jL;XRH!`8d%4 zY(|;PiC%o&@=-jk=K`CmNZ(9dKmIK_C^Qr>8DwC!94+@eqW$V?n$JP*pWZ-ztVY`2 zecuC+2M8FvQS)Z?$n}P?4-rcV;|C2DHS718{Ccm&4zGIw{-$j7yqcPsQ;aU(v#azQ zv@CQqXdLP52>oc8Bg23@NaOwr%oZHOC>;-q4|X+M)kW}(RR5K@ruy1q%mhg^By{YH zs!XgnrFNIb<}NX}G`IRT~NAQC>ev*D8)jvLOMNTs4r z8&aCLWH0(x1+K*lZSap|cuF6-pg$>aRf77UNQshV2|D7h1A5Pv-N4@SMiX0MvRlO0 zazgVJ`Q0%mOxGfvSh#lou(|^B%z6H=g~U|-5{HD?ld>sP7P3c0Xij`|hDV!NO9vRn zYUrkI1d76>SOnpeb~A7`ir zPs-5!I`j=j#6HTJy$nw_>Bu$t$XC)W^H$;!PL(XFjT;R!0V82qn7qzKHo2KWiypyL za?Jm=YXQ5=zSIs-H*d%7ZTps@iZTwLD$8^qMRP3mGP4tv-PWyVb7dQX^Q!p!iRC)5!fN!4s$`! zeGKM>lc^@+^qC!1S{&k4TfT@0Q<~7TiGh4J`+_YKuq1}gQu{z<-&fq#qWg1+SHa%_ zyw0+=${=GuK8$@PxHNdz;Bz_dZeD+HK69^c&!zi}Tgg(T75gHxkE#0l2RJw_6&yUC zD~AVLvs4L;<2GV_O-&k}Fa0<$GmG9}wD_Ap(!rGVwj6r7MVhcEq}TkbW+?f^bgx$r z#vU?_RH{e}#7EqTQW(;HBM*!iG}(kYa`|?Z!nphH|0)d$$Escu`l_I(p*#6F=A|HQ;pNl+;|~n;FiZHT7TOUZ#{5@ zz?0@w)0XV{5P_9$U%0=$`}s4B`p*Cp?RB`e&Rx@_L;9umI`xw2+n69lw$p21oRR4M z=?o;gpuw7Yk%En=%|^<){mlZh;*AC4UiN`=$;w>b4rjZX`_qeto7?N|+WC3k?%Z)h zhxtZ0K%d=m>Fv^h&${%vO{+l6CUNIlV9^+PaJFR=PHJ2U;MGkM=W%L?WSn+Kv1V#I zTw8@gU;8QEb~@W8*Y%ro{07-6c+a*xU^!2zva0}!VW$6XU|F4EnfQ|7fg+xZyQq}# zHO-=-H)g&Fdspj+x!KNh#5nQcMlRYt^_O!K7ENPC54YnFCD}732j1B=gst=J1pitS zr(o?iSI7AgORz^w>$0|6nsR*xG#WRE(kJ-F{mv%F&)LqX4FOYBhd0TP$oXTi;XKD;hq?Hq4{< zvcn03-3X^P2cE`D!uGYyef6Cb6|cTo{=?#Vv`iN^wIm?*k;c%V@zyHaCGDv#fA<_9 z536De?IG{}fFT4^P|OxG$MLSfG&9<$j+Yuz1t&ME=+>;@!P z5#wld(af{HU1HH+kgUg>u|{gSQD=njC?}9VTkqNw1pDz0jWH+eD)uH}_v4$%`k;xu zp0rpQ6GxFNljrmA`N#Brs0IWjYlj-rEkMM2ki{BReVL}nRn5u)!^S>1;1YynZ59x; zocO=?6!)i}*%NVoEeR5$SeVAYsU3u#YRO%a>dSr}j1|O_6xiD{`YrSLiOOthZL)mS zXD@b_#)~V#6jt#Q4e`J`hEEFtYIzE4mL*jcICfgI=StuO#a;5uj#`fC0>bi3d3eQ! z?z4b)Q(%S?d@tD7fSJgj*HMsugqa+0tV>30Uqw&Q&7W;+1C3Wt_kNi!omw*EwQe+A zl=q!9#YjiU;B^Nx*4y2a{=_`^3Xj#dAzA@eqLS*T9sZ)Wlm&rUh zQjchnU0re(UT)HuKorheJ5WP`xGDFwX9v0U+lfc;ZLt9VjM`?t!_!ypRcUHRyJ4*?nd0T-S3MH8k6~6>7FfHf*+XXk0t{#v?9k8P{DfDg=DqRS*D)KU^ z=?D=Mz(7QN>Q;)M%WFX@YC&gJ5!m*Wjun?>n0^9Zlgpm_SY17X-1eu zRk3r|n>gs8pDHpyPP#5=8u~k#ifSk|gV@kaM0t16z#cdhtT?)Hi_+I?D%~i$O=70` zy&4cCVOEA~e^-7J4{=ec^3Q4H$|r-F`)f=;dA^xzy5D2IK8txmaPb&zTy>v33!=dD zOiT;huko6HK)92!N2%v-dUiuYs?B_n6J6cEU#l(0xtu3SdyG_;A>&X zc*79#87K%X3ZWsNoZm=iHq7Fil_+?Zg@{_=O*hZ z(7KSQIXm56cp)m{*L@bsFaBwo(RtyuNBAfeF)w>WrGuXmn4X>taLHuXbb?7eskv8v zUnX$MHyt*e-PxauK+O=UBR3L3e3!Ns;&-j_suvO_*a;6Y1w`N`=>sBg*$9frJo$Zc zL)g>#sf6~{MmT4biguC5=5AvEft9lHk}gc*KGR^C zVcJ%~k$Ii>IpUUiep@M0m)!+^zy<4=Y@#wszf&AEIY8u(P_$F|M-G>4(Z9mGtV88(!rwL#}J ziOH#xG`XYOcURBX)JzZy-1c4RYb>dh91;Bh;Oj&=6U*P~bta+JA{gd~_YGk2;0tAb zY)B;PNU&qc+j`6!QxH<< zEgKDQ8kqCMXvg%Xy3~%3W$1lS4bLc;N|-R{pnGdsw&I&d-(cJ)oZl8Q9B&!Us!ubs zdC*pd*{H2$U%`{EgBbKW;}8}}$V!K*%)gzrZzv6VSp zzyT^;m#vfg&G)52uXm`dc<{>;9}V0@L1*xsPf{JQ8>?&XETCSSUK2bAbBq+$%~C{B z7@vYchfeo+U}%#Gb{M{2vxvn})LOs)PL=ut>sM7e0AT%)e8|0Rjg<#R z8L@ZJP((-d7>C|b!;c*dEz(p%yxOyTnFrs=0uq|(UvJHR;@FQ>X{Qd_XQsDpd+qH> zqG*TT2JK7o=^pM)K;9{@;+c^gl|LKGfSniZ^+z22RDgxo|4HA|*eK%Z_3wUZTG4tw}t2A!fGa&?2|wVs4C$`4d>UXx(9*>Bjl*hSbE)x7sS1#|Ehl z{6a1%?<`Pma3AQ8D4$3_%S9+iDZkA|8S}X6a65TlfNp|!k05@c`o4^9b>gpk&dzcd z!OFO8N#$Vsk@5F8teb#dEZZIu;?4UI#hef?W@7QTGQ{hfwo->$(cMx}4vpwa^9DCXiE_S=sZ~qWpBVzH{a20 zOnX&N?EC_PD-a&J&Y-Q8(Z9DhkiEaBglxYxA8%`4ar1p!4Q)gWE&swzw1L`BnOZxr zJtRm9dzh?7RM|3hNNI{$0|IJ~a__8Ye69Kg=op}Vxg1B_PzZn%N>&zgx)zd05UkXT zEh9u%68_=|(ir_Hc6Ao>l>iI%;66ux)QDot!SDR05d-~K=LyLP0n+hc9drKy1rlVU zax-k*6_psVE+cTu_Ac^to?rFh@(YV)y#*k2meOtH)1Zshm|O9rFPo*`#`CyW2BvOJ>2cVDIbRExgaCc$u+>F3MTPZI_EZzg z3~=|w)p9?2swSWP8t$3>OY60VPS_G*)NNeN>ZIPWmWBWj+jI09kqSeDHShXk`V#}2 z4mFJIJP6zR2Et2*L4MR#MW>=nk6M`U^+m5sDg0s&3|2n*j*R&gF{hjWKL)3-emgYz z0es3z-w%|9^}%?N&BWH(K`7$rjX8h7u%}L=>S&_|q9Y~~9-*-|T;ReL4n$?U`Rbt) zxyLA-Oolza9qDJNkfZuQMq7XJ3u#qsSr7Su<0#~`dWBw(8#ETtH6ID^>NqYPkfgE^^jZIt&o%qfWi?rWE>T@JWk;-2yY^ zV_XCn<~29epJe^lzP8Xf=$`Z+u$=TShC?E-rXTkfC5|v`+3Q}{7R`t*&sBhVzU6VF zwA-SUE6#(IHwTvtukR9iMV-(P@$5w+bk%3`vgRx}kN{j7j&$zm9n?3z?rmv1Xp=3guC@RhRWKcAtTY@-H*OdIQ8YCj`CAaK|20 zZDQ`WXyKOT1uxV9nM+mZTKr^wR3pYj6Qi?>aCJKO(q@Xbjw&PF6PCh)3Hn6 zv~D3wIF(+zjt~?)E1!JlHgqeWL}e0lS%<6eHsd+{MTy2-Q(g}@#|r;C&yBH%y0$XG z`6^u_@_^86(RFr-8!L z7OTGX7~VsXQFz0A4KvB6_in~U*>ENg6HN$?SPDvsb~Oy~*1^_vf#GNdt|#H-o5X9w z)$+eRmU%4Iu31Kq!}gjm6^Z=X*Q5Fr5*`A=^q~$?a{Yz&f>>`AM-f$I|9@ zSAQ4WzVS+T*U23-uIr0Ko6?4XngH!&ID+w_p_~xwMqh@dKn&3nPh%nC{B9f*6~?Nl$<3C%OFY6K1Qgb+62h7H3tja45W5d9}G7k0m^vp+#pZ2M8OVq%fl}PZ322l^m4jWxx zNah5hr_Iv@rRnCPtk7@L44-`?#uK2`U8+150?sO4@?;w@yyUN}wKcGwT{=w;YB4a* zBut>F!iKAHIVezxX=j!x#?s_b{$D*JAX-1+96+=(<$&FnkW}*qLKhDr;ui$dNwR>Y`ISqZ3KYRrd$mp5c~|%$W6dpl z6~Wd2CvC(PVL1Bb0CG>SEPt8T~reKh1i;V zVVp<&*ZVb!l{Ss^)K7K9b$mX7$;W?(Ogo8_pyY|kea~6VpOvM$2--^)=&Ta{i#>P} zWdlM@ubIQQ^+yH%I3W4m?h!g0M$XG(M7rS9EA1~OKSn<Da$GS>$B*}le%~Wh!OAX1x^_(ZQAh@vO#N%hSSfMLw^99l7A_tn zw+=77C(|@hf*q~G_;8MJ-ZBZDBIkm*yh@D+@UD~xDG4w`;k<5mXlN%K(5cpITR<==^;jXb< zV-@2g1ZUqJOV^fdoynSDuzbaLt5Tca7{P|{{TK2f#vDMn`d!LqvnexRaDsM%7%w}Cab$7yp zIee|`nY0BCloa7DMpcm@@ysAnLxo_~TDcH1SnQBvV0L6o?Ov2MZ8N6+x$?i)h;u9@aG zWy}1ywF5JI0{BqMCr%$kAbfCaB28Bk;s4W86q}MJi%(M{4rXejlSx8NC$jb5OS_ID z{_wA(Xt~x)eolFibC%wCnVSXq%{D&0O(zsLW|b}zp5Q%?rs=ON1lBke%IA-BtZT0je{= zJN+Z-$4YIy8|@~YCQ!4lT0Or#fdzuuFY~8>Ub|X70IyxMhm5X(1N(6L{lmuxHA;r^v5KD}6@4{s^C+?N;Vph{8`PG)p|}$h%1xhjjov#Nq6h&gL!FhG{@-(_cMAbUJfm%1I}j z18s>vP@gYm2@jG4J_@hp08-!CovCfD#W>~$vXzp>=K(iyIXNPi<@j0h*<#iE_8!(K+!gAD#MX1UneA>wDEtyb@kf zIEvdWl_R8VC%}(8u?oBhQYhNCbW@1?Vtvh)s0P`{vC*)VcXQb8qi)BouceRWS*GP1 zkYfq4KI*pW2z+K=JzqP2)re`XWs-{E=Zj6^0L}wLwW-)3Axh!gmXx$pLE_4cJK;bq zK&-&LFhOpxfCG>$caYO_kXi&`=$J2rBtkL=EJA>#8=i2wAK~2ou-Zy8D__VoYUgZR zli1#BR?yWH&==-(8dFStr2hm4`8nK3-rA*MtR|mU*uUsP6~oq^w44s>d>)@DQLiU{ zL2B0T&6N~Yl|Nz0d?&are$?c2wIAow>m~0=LY6$rqv%yE`^!;_PCH-JDBC5ALqQ#h z0T?)AkwNU1sg5CVN7bGKig$w)iT|tYOk3@0T2A&anF`O>`P@>qxnGFB$5==b+h~}oFi*< z2|3HmSt(;}iI?dKE@R)AXC@BP!;dDdYmmL&Fg$Du^)RCs@o-7V0*=f2$r&;qq6OUz z|J#Wt*m~WgRi=X2tS;zL!3U_Zg9x`=$AN~z*454>q-08HTIXs1F%-u5MfA^nM+wRF z_k;ftV={-O2hdU2eERe$?^jkLk5n<(`1!cjS3aNF ze_oVVfO#mvo~!ZUWwsZ=}D+Fbw$7< zp}4-yBuj_6AQof#hQ%_ga%u6z3Nv^`XjS0X{=dN%BT_>&|J>gA8jS%iI8H;h$n?C6 zvvE}`%HL_sQ46y|pKVgD(l?5lkr?1KW*=FT+fMvDns!=>YyH!oX^g>mt(Zv%$HOMy z6B$LO`^&N#zfoC6TY}UsFw9iRQXpI6=LkXV%a^i^!%*r9gF~cPxBC4*LxECnHB?Dd6B_&& zUvxrjC;U#B4;r5?c$gWfKHgJ)J_@jB(%@PVmBTKzj+Z%a?^f&r5y=8tLC;jhh}@$r zTL}x>4|dnjYPIxq;Xt}#olM!TK)T{1SpstBmW*&T4~kkL7}Bdx@4}ImUsbxuy6Fryo-CcsWlwJyrmOZuZ4Eu$p(YNeyKSrcwA+2Aqfx*?H_&E}Ond#!)O3#`O zBYnQo3D@Bs0*~Q-L8q6O*p~B=Fo|*nbQ779L9k^^PRIt{uF>}fm@yp88%iwS{;NAT z4Wx9Kwzt&#T{zV?J-+9o>fT(+#w6N!IcqMHN4`4zHb&a?w@tmP(gs{iwY)fpk{hQl z(@;k6&2ho9vZm&G#%h#q)MY=Dc^=M|L1@LhsU@KewBuA_u$BctKs6>@bQh98Z_fDW z@d~64CI(@ru24I~N{H@wm!`5B%=r2oic zWHRe*!&$T^O6QOG`Sdd;hMxT&HE4a{_;S{tdBkCdl$G#hB}AJ}l6f08)t!oUulfKu z`N8IRKTbgusCwOgRN5UD6LC#D^nIndstiQ@6Qoil(2%@^d?A}*M|c<>zyEmKi5{Yb zV%_~mlH<15-#JLnHD?elaN>_(`6qtD6=?<)x^;jFOaP(nlnCx6_B^2|s#uX04(&hE zQVy;QGH*?&7m?1(O+_D7Q=v}4aT$i$9B@ALTM_gOvIFTqD@4HIU&Hiyhz=xR48}ve z)}%Hu80yCkq_4W&Uy(;pJc#~W4yb^C5&3JF4!Eo_Ob61Bi{FYi)gD9!sQ!qV)cVvp z8)z^3x``KI^dzluBx1UUm)ddf!s^rCpG6_5A2S>%Dw7DQj%En9@PveOv9yP0ofVbS z`Frn~fr~%W6B!jweKa)Ys?K0=3Gzja-@QI$HbE;^I^Nn?u-kv$doSRlCP3iCdpbMKhO-U;j@aDgxDtYJt=5pP@Oa1*Et#rEnXD%l}F7>-Bc=yI9hcKd4 z@-tbA?-{MIUP^Oq%P&0*F39Oo;Wlca&%(PN=~8xoB-A2R_lKU*wXH0ddRQYZH8o8! zl#?fci`-?SJ}Ag8~e(>_?_K#D1In zkEiFG^8%E*C_+zLjwcf-f9UJFA!=JbLUqL^0yx=27zZ!^lgkGzEjH+h6F>JA+U-2t z{Goci7c!`}qyLH=zam%A-zt7dNSx*7a(*h^gdkLirotuyL`SsV$DlS^cnE=U=I~5E z2H-dhE;FU1x3s2iwI7|gQo-(P11;sC?OxSH(N2qea+p%)Y{X;BiK`@PUM7BWQE9Yk zI=?^Yn{Lg`&t!E=yz&9i^4m!5r_|<}Q^&aT%=A}8LYv}6)!o*AffBZ9WIgqXvbPIYg=M^`r41D2U(W=r4h946l=;NJ6$DMx8A5YD}*x*cn}28?KsBp!vZHOr|>t z;Z1q~A~sJUUEr4yj5qF1 zkKg_u+A$ADce`7laLi4$A)kBT3RoQryYDZ;&%3r%rN6BDz#TpS%39>)*T~i5_Q+hp z#ChMqg68_`n}(W3o5%A?l^Tbmo(f#zEbooaZtswKOpUH~lQo{~c>tB=PFTTKUe(nK zf@Mb0mxaSdi2-}o@)>|J0$|_*^nc7@o5EO0Enm1eY^W+=qOZ5?(SY85kY$W$_>R7; zxj)>bP_Crco_?&+3F!+68K(RbGW-s|IsW+!c5@tr&&$dXL>7V?raK+q50vKzFtQ1M z6}=I+JN>`dNq73++#bOBzhNm{q5_R{Sq;A6fHOLNT7WM-!74i7Re$VC0q6dQJNe`Y z0glt1p03td6W3N!tifuFKA`~dXi4jsKfPwB6H#WPBMq^$Sip$qltjzO37x+5H>} z=C~$FRLLQzmuyE>{+$eW8)Ah#1NZbn`FdGK zY;s8lVKJ6@*2RVV6y-v@_z)wY0hr{|CtY3rX}{Ci^X8fF+6NWF(NMdcR+bwWwO5Y5m?UVkkU9SFzwIXR0a@m~%j2 z6@4{;nxs_L?}$R&&B@HvkHf{m*tx5wdG7A@_@*MCwr+l1S|lc;P5P41ua+Ki`~_i+ zRgd@Kk0ob$Yrrq!n~j{DPK9XwYWECgVYusRQ^6klkbg_Bc6f3r*%1FnwY}|~Zh3&; zWCQ>1BhYIyMUOKrz62-X*4Z0*1|2UegMcJyoW~iRY5F|XelHOD=z(n$v8B`bWM@Lx zUS93dO*5Sw5)-X6cSTgu##bO>SLYQ77~7V8d(?h!_)X9$n8$BSg+A;lzR3k8JsU(4;bY*>Kg zGL|FdMbmdMsR)sWLrfl6-0+C54tMAi9Ali-HbuoJ)S!DGMqTV7{ZL6UFFbkZeJ`84 z+hs2sfk#;)cYHa@EBn#kp61ozla71xqO}jn#<}=tUw3VL4wk)V2D=SzcOn2|%bZ3! zDCaB2aDmUCkI~!ZC&^Abhxf$rOViiQ+YMh9t`L`YPD{i(Ym=+TJ3x#9&-`xz{>B_o zVhl-kAJ@U5c=9p)90i>m%@p;Dx$`mfia)%9z4GP*bdA8$EAFZWT>ZyIRMDOu-CSG? zIA@7EWvhg(XJKz+QEt^u;hVUdBwVD9kG9L`W(4oXE*4q)jlnEeE0z1A{Y zL(zfWeMt|eIW9Sy$N|&kGn-$mXZEF{jZt0xu%p;&gIZaj+Gv1Pr>MU&=^)x5n%W@O z>u;U_FgQpIczP@&D||3xVEMuT?rn>Vi;R_A-Z1FoTUdblrZTekw4)0PshO>|x4HdC(E z*Oe>~43J-z0?OSdhOU)un4$~R9_&sx9P_)QtA^Q%ck7iZ*EO=ZpOA=g8mh!SX4F@S zzeiXZrPY@8jl%F8V;i$$hxh0upA(dIxQaU-6j6sx%_kZc8%V3j3iHV(e+~SW-YMHC z(p(aL!H6i_EBpj#&-f@<90>JG7WL#?bRrc40xpPek!QRTYGUFgQZO(^xabSk)Q-l9 zPvhv0ybs{!M9;-_g$u}?H0P8GIsyGX>-_J5f)eS&dc#eU---n}Ifn+FTmd&SL_2F5 z#hc4On`J%6*YFRoI-9Gxhq}qR-F6Q|;Z1D(aRsa^>k3ZFqM7$MOIDMvHNH7~gy+X` zgBKj1o63uSj|#R9-xoO_TcRKahg&IkiHG1%iGIRK`4Ja}=zf+K2E$qY8UY+&in<-tdCPa@^@5be0iM8GI=0^rS3IJ-8bQ~|34684uU;&nc; z62n7>BX{#fif_8gKgqjpc`4MyP=Appr>xnChL-17Qp&y)qG9F%mTZnl%+NKE?1sDk_EVhy8;eEXytwc(lBl;6`_ItB?uWv~boLrR#CL z%Yv}&<>(qTtDAiyT%0wwi8nx_-PEu=g-dvL$*5XnKCX8+dPj^Yw(a)uSPpNE6<8?e`qXP^?8& zg;GvsdP*vpNiI1$Div(CSxON^1^Ah8ScPqt32s>4-0RN=a;*?ToR;^Pd)4rOse5$)~?UnR1>D6b1iqD-Vi5_ z9kaSMq+0l}xL)B}@7*9C6`-HAuHwbP%DKkoQTDn8&#OFh)8MtAg7KP`C&4V+)0F{2 zvi2Q5$NN60KQLL{piyqNin(j|u{Lru95ee4OQkKQd;UYuCJHq$oE`TC95%xXH{_YeUk5j>h6Q4-M|)q zDr;BLw~<=)mijxv{QwU&>9tKwgXhcil(nNLS41MhO(|Np&rNQy2c5KvFRl#|RfkoF z3ykb!)M(i$q@*5sJPUFLHO=h7EO`0w=&}pYm-IODAy82K6?UY_AgP+6iOz;(ImLCbJe`6QO`19PHJj?D zALc|)X`58ZzAb0^9?^x#!_Wz1Dz9+NeX(-`0C0;r?iLb?BTwjKJa7X7c0IJA5aDi0 z)~OAw(B1haLixSV1iI;!a1f8Zd7K9}Ho&vK!$1uovVAzh1MrfDV*(WXJDwg^E zlWJIH-zQbKH{SIE>C6y@YrDa9zR%E!I83VRhg-~1)_B`o{oY|<=#W>Bdx(u@c-Wdj zgR9ixkKOYJJ$0j?Yb7J};ce3WgzL3>0<=c3N0#zR_iFe^d^Ymr;#;}>#ZLw0k|0y( zk^H-vxpeXiq;niwo93vSlLOh2ytsiJ@a|YohOP(OQ9bwzJ@|@Csv6Qv<`o#oreme5 z)Wl=L=WvK`i>c!YCwW7vlzXfx?=ORwQ&OQ+uNqRt1UTGF`k45R7hYp%5y>&X4mscODV@QpQp>`1~$0%(WwXe zsmn=k3eQ!FEnhg-V?Xb2vbv5x1U4H&6n#TJ_0${jh!tj7n`?jdYpO5RDOminia%1{ zUoa(?M!vxQ{K27gMah~k&*GZ3Rh>D_t4s|=(V?z5--{7-sQ&imo2;wVQsLB+(JsZi z#srULn`pRhQMianCOqZ4+0ucgI)?e_?sEP0uhaAd`yuVUk>@Ci&tnaf*{HQ`Hnz&9 zP(R^yqlr+KloVcr&G{`l=!<3_oA7YK5oz_WEU{JkMn6D;3h(BMvU7~wF%*wnmL#%5 zRoU5~`(+$ZyUh#_ka(Y-Ku61GUTq;%Cx;vk&iY9Dg3kMllQW;LwwgSP7!TSDkP<(% zSWIRRb2nR*_IG2ZKFeXgwQs(9C*Iy2>u7NZH-`MooN?06$aLYBnH~E?&ytuyC75xZ zckkRbj6q+XtaOwu3hu6a%2L8$4^kNhCV%b1p3TDVyzVTjV$I&Cp~;qD?0zWW2#mJk)e=;Mt620L#s`;c+f_g< z3%EZE7%{RFSdH*+w7yAd?~vRhE4rV%B2Sc}3qVoH#oRfRTJ-DMj5ZBlBGsGzFt+9+ z^mljC`#A$=tM?syR`_sn-&z1n&pA~XrUXWA7?T;MP|dkCiluDil3mj*`S%Y9HuB&p zx6f<%U&`ti@)2!C`yp@`PSxh=`F!TYA3U4p7k*7E&Nxx3Mz(c|=C_U(C6%nIuaI3g zDPyM=DbX+!k2)7Vu?l1h5w+sfd6bCcWuH}fS9;@^fYr&2Gx9O(VA7mo`^SgHzetgx znn%kcp{t6i6V{>GX2qp`Vb+GKEWaw96j(kYC#;{}jmv=BFt0G3`VLM;o9{+q z`>38OGLflvHkr+lEJR9dTo!3C|0Prx30m9~*Jr{zhcffbD{cQtM^W@Qp>zp1?uE|} zpC1{>(rWV}$Ay^A7jP;uRnsn9vQ4WpS)%v1d+F+4%Fw-<9~6(ZZ`lgh0vcZ|jQxB^ zFvbo92Lh<IqJhybuJ0pbTS{28v!y$R)qKaR1U7B*OCrR)GM-O1)Hu>Sou=C6^iZ zpOOq&oQIDw@BW0T{PTWK%vLSZy&jA4B;jOM`mnfd{wO`BfiV7<4DXFX2Hkd;@)Rp2 z75c>6X<9Zvk*~|lJ=un^S>$@2InBR_w7wASQ|xJ9>yK=+W0YX{aj`25^AcULzPo++ znPz?4=YHOf4Qfgo1H?>o;4ZQ4C~A5;>-pgiUN3YO@4AxBPgi01ADED=zWsf;e$Rt={|&a zMh$@k%?;Wgd6xBkV^4kh1KM%di_gNJl<9X3NDUX+ob!ys!n!9lHHPGgYBjsAzdudD zx83|s12MoFWlplD-qz~x3d^LT(}->8<3N^Gfo@kJw0Ts1pXhlgjj^!gR&Cdh@}9EfDi7Cp_ZZ5RhO?AfUY2MUZ6t!K z4c(smbY^(B8I{}3pKK@HTrW>c(3~I~V04v@XN6q#5%2kX4 z2}&LKUmmc-Y7b2srONHcLJ%$&C)ym@0@KE?ZBG(y72(YxLe~C-TXx2<>yumB{ByF9 zXvYh7a&&Eq!#on?DD(Ou?*bdbyi;b?1JSn4H#Imd^G!X`Ek)Pv>v+RF_!8Z&JOA2AIs@kP}{2>;CVt({WmkF?oKSdCc$I`5fZ=V_bi zu1AzbF;q;&o>hvX6HKZ=l_B>9?0&VMnt4R8&%7~K&u(&IN|1)3A@&W`pCBqL&pj&j z=DCmLAqa`{eO2d>Cjk;I*(1{J@DJ0aUz{3K#==Gn+xbscSN*F}?Uo4)t1XX$#!x@Y zS@xwveFf}NEEvaDK0qbb}to2^jwhX4yrkE9nP0q$Th zPr_Sgc`HKx*~VaVoQ8nIu7|51yTb%X4)+-jQD)4ZPo1h3LI}=Ssqnb>TQC};c>Wh> zZy8iq)U*rY?(QBSxVyW%yA#~q-3jil0fM_jaCb>?cXyvd^1k1_b8Bj9YO1UH?6s@l z&)MtjUfqwRY?dbrJ1(E8d`V|b@b))e37n-~+UN@%a2;@6Gi|@GByNt75PvA+A_3?z zW&YJ;q9i&b1cd&_E#gnOCZ?wACmU0!ag8R5TI>8CFK=oC`*UM@>`g-NW|3TayNF&QO*3Jxa4>5(JPPa1!aH zcvtGxB^j*4s3^b@qzr;ja4R2e5HXF=A>4b{YYm#E>Co- zzg9@VTw7&-+PM$QRPOH85d!~@;xx7wJdF!kL|5E4-2)$%UjYyhX12F%^8~Yd>0MNr zzc}q>hy!STb4h5##}aQNz~i{dvM#VOZb}(h(5PxPcrz((G~p^p7KIDLITR@E;tQ@L z@8WCPj55D|Wi?j8gda$iP8s}A?aC-iBE|7`UN2Mh#2=;d;Fy71Yt7GB13mHbXy~O^r zZAwM@WxY{9@NBeP0ZrBo%?;+1%QC#2Z~BvgAaXK_;#WXQ6IPKDDHi#kv`S26YAmaU zao8Ot)vt~!-Bqz}_Q^XSil8@oJ>ILcTq!<6L*?JWw`&fqee7&$Sp+;FvjbvA=|A&n zHf)cs_4jlYi}&|3n1Z!CTHM8Rg>OpB&(X(Rb;N#~beB_Fbn`uLNjyj0pY5=F*luDZ zt4F3ue$%AOJ?^!1(3S!-L^9!%x5)bPwUdEA*oVI*%Ok|(4EwjIF%jyT3ql~lA_&58 z2-JG`W(-4x(4|;QXx}(mFD^0?1hAn%mp~U%2l6~(FD_#-$Fx15bt!x)7RUB4!0h^) zdYc3<#bmgQ6#c=7-APFZh_{iOr~}za+(`r31K$JQ0XG59FdzcijeY~}qPat@yVv#N zHYTqA%Ir@U?YHkgSKt<%DEN53k`z5l!iTKL(1RJ(z+F`ol`6TE6PyPTp%s`1F+fm+ zMQQ~4Oq)Cf7+I*1o)P_N;!LDU*-&R!K2Q7&(!ziHOQ#N(qu-|z+Y8a$9gu&tr=WA% zJJfycdn0Jsx}n%WTxnocu8%W@&p01j8O1&Bk-O?xf#+j*y7<4U4p?)p6Gp;Z^zF@?r?n zrMH0ng)^OU*$1wghJ%Tf(;LfVNvzd!V=_+&0pDxX&4uGjw#1-Q|F|@Ynx&^x?6q;A zEc6l5Orhj`APaItRt4p4Q#AN$&l(%>{Q%ItWZ#`w&>eGt($M7t)8hL!>;)z#Q^Drv>en!0CrC_Y*d@W(SqS}0ZNkGNgT_F;wThZ zJC6-!)&4Hb#U$|p>2ELC4Vk*S5RMh?@8*%fB?Qhjx1s*-G(5SNJ=tmB*X5Eb|8jix zyMP-xSnEk+%_irTI1;_|9jPe?v*lRZiMG=9Tx(Bz2uF`ZEZu2LlcT|OO38zw$O9$< zr^wOK!GV;bgd;Tw2+Rp64YUUjsQklN`R#;yKX`<5BH6hFfJ`NzYn#aSm~dtjtnKE0 z{4yPvi3eju8E)7X;H;L7=WNV6>-T4JQ0lFBFSl5Y*zf8bs?ZB18PH+=WSukSzIR?J zU7&ypMnsG_%JJ(mLIv4Z8R?6~i#e(C_7379sK(vcecXg$lE4;S$bz68s`5zJSk+p^ z2P13|#|0x0S0U3uN*=~7gGA7NZY031c|^%WhW~CP6t4enB(nUz&y9q_1=vW(L14tt z_)N`2POweX3Dbb$kX7!x=5cXmbF`&YfnM9HG06`D|Q$)=Np?Pf4-hxr*&d{F}Jf99B^V# zG!O$6(2YH?fz+E>y@=|(A@i0&-0+Z|eu|b`FY~cH`m3%M!8rrgH1Ko)WC3VUY@a_~ z=s3tQjsG}E4;~XNQ9aQAo>W3E*lS-nqb&RktnZ)I9%gS8TxzD`WmIy?1#*3O?;RZC zO$v3vsp?rdJ#HQs#;DeQR-jPa7qCP-#W1Ne9F^YPkLceZL~5!u_A&cHVPdjxHNFoN zxP0qGEg#hrAJwGFoz|~avFL1g*OM5M!y1R?C&NU2rtdB^deZs%zz$DRBmd4J!2+!|*wSINotUbz1FAq*+#C4{>i z8ZOt@NI5ehSX9Pz>rfNL!MGEIQaKwCP$*k(;dT!>WKpnVNsh8T59tD4l7B&h#Vx~$ zXfXOjOrD=luPwKxv91L9r#G_rS@FkkYAi|>rd87pS3&@RuLSB;pb^(v2+wKd$C^rW zXQ0VELnj;OkM6Cdh52R`fccQgJ zIwShE-_-jTCUkEyw7@N)zHb>Wz1~9wiNQ*=H+J@tSj<@19$#Cy>|HjGdlmvJxGk%y z>bNeNsnu=31KWqREZ!;+D~apHX7Q8InKuGA>U{%gFNS92(a>y%^6aCc z*%9DHWZj}bZ0{u$OksRBcd;@<$1CEUWMe*zfzC5V3>oJMjB^-wM&0CBzIT34 zv*J^Z(_!2|zw1QkKG{6^zQv^g2e08_iDyUvfjS_P)ywkp;`<^KKpaKkZdy(3m-%MR zh~)N+{O}EhHvFOBzJughVC$(1or75tR~X$IPdh-AEJ7{!C;d4-rfa6&`tgg`u@wiU zUl&1b$e-4KHHUf4S1EU~Bm+2$5v!V_s=Dt`Fv>8i?>k%fFJl1g2e)Cm2^-6AH$GyF zvX{y5dZysQsSk4odlT$a1Rh$XA);78ydVw;2e@sl{@Qw!q5GO>r@6zoh6(PXpKl=? z<`=xgSzA?IbGmQo;E$qt$4>AnF(#Q3O%ZGUXe$!6F=#79`sP_iFHj3xdA{w+-K6a@ zJxSZ2lT^?%AV?f{m%l%zO->Xx013VogB9y;MSDpHy~NnlE+WC9j5SQo-FRVwl{*oq z;Rl1I;zG~x8K3f43FDfT{k5<_4|W)+XGlOS@xOsm2USK_di!c)gD|I@Nz(lFfQ7-z zdReX@aaJY;MWwU;+T24!5-NP)m+b-kDi+s=!bua~2Ppgyq<3pX{-rUCvLTmkuW=X8 zuk7}sxw&j*>da;s-ajnDfBYCaiTse9XwmzvFT5kYLT!5-6o0#5AHPmL)pDooK4j4z zY9;fCX;fxG-T6^Ed|CYd_1Y^rx&BMn7^>Gol7(V_(YaQ-j_!GeAH4x{?a=~1wm1{H z36wr~qO(+Bugt`cKm{j+ar{Yfm|tKZgBSb;uNMKh_vrLFD_r;XS8HDSxGuV6yTL%r zoA9&*YDP&*y#oQXp982)M``JQ1E?ufh76WE0&%p9S^2&%O8DFg*+V8}LjWB>D~S62 zG+QhK`abG0JmG(nr>%z-z!_B8$?%qVkVSnqJwrg>d3{_J%~P-qeXKcNesOT3I%|@g zaU^wl4N6f()Z4H6S#z$ZRJn(_x>UGTph4ZsZ41qU_+00MCTA6`I$$)6@)!V?4~81PXUau#_O zNs~W}0`qs|i6KLL9n*6HQtn^jyqQ<_*C^sXGg;h zT7RWvEzETjZ(8FFhalhjakqo&{_~gd9T0Jm^3sEtN|2NNRjGYh@lne94_YHwHrHkH zL47MMBn%wGd_qbZ7M;*7Cb-nCGk@*?C=Y35L+5m!B+iP;AqG=QiHoAPnW`z@novdWGug9iu zGRZ96ybD}~>qPQ`IYLr7okhEXr}!dB;$RN{ldgQkkTx_~$Y@ewLtUJ18laE9?EFCp z;P3br2jwQVWoaJdNpsju634t3Nr_M>a@mP?^Vx}OL#HohZ9)hrXaGqJWlF{i)uMp< zNcZ(kP^^lx2zSz9Gw)`s(T7q)FMY^lu^KO^Ji3&|adM-o+F@)bHi_8*z>qi&t2;wW z#BMi~YnQ*((L}oF0bod1bzTQ__u&w`^b71-0Qqsz?Jx^j>frWd&nicuRIgN3Y@f(T z4|HV}Fsat@(MhzZCOrmVb+{@l9mW7i?t1ij_PH04ThbAN^y&dQ_1`puVOMTR|21*@b4{i>C&9`H$6XJ^WhpgfaZ-(t zD7$O6#F7EFx@|6LD`N;e#a5msTbF6XC!reGFjbaF*=`atDXYfBF*}s;?avg+?0F_` zfQy!J$y_tQ zPBKR==1f^`*so2P+5CD+=-=%$e!L74GazZWVex5?*wtC373)D2ZEfa#<(9<*nNsvZ zLLCHb$uWD`(|g^c?FCX3W2}7f|62<}73oLX80A}zf<{tA2z1=ceYX-8^KmbZQ-byn>lDT@-BS_t_vb5{ z+XA5e2Jj~^dx;5@j=agZ?HiI?bI}tBoOEL)aGUK#S>O-&Is0SVPT33HPq z8Waz`CV4+F3dgg5sI-!`l!w!|*@3Ida_Um$_q%(ExI!apvF({j#bNQJ|7cMr(Z(k> zLkoSEGAWKk`Q!2Sg!*P4rbqszw>HIUf_$WIRa8y=iJyepC=&GpQK476AV#V(f z>Vht%jFzlvN% zdNz`a;!+PrvPWpxCV+_>IKFSBc3kp@jg zdh+WqdzCno2&^G8vK1(eev+KvpPH)af6*2c;Jp6P(AcPeGD>DREsoJGj&UWih0)0Z zKXW6;GF#DZ{FkUE6YIe$t*o7_p>D}zuDChtvninKgR8K3KWEUdI8^;gK<4<9Wl3pm z=jF9DX0~fHw++4~b*qvhx$a+;r_{!d)M>yW+hHxuSY?0?buK?UTcx>{)`^@Vhf=&_47qYot#AuDQ*W(UK~Fl5 zdToU%PRoJv4GnEs>&1ET|K0#vF;a?o|FoWCYAN>(5CK zb8E2BFTx2=4;y$qmn5%RJ(0cRCnzw5UeSz~5a*mQ~XcWRt5?c+_3k6X>4L7M-v15j>U$Ur{< zUA{swMRR9s_qc$v+STGGbX3%T3u_V`B6}ndNPH4|g>S6VNAuDmz1&QjIl_<)?5Q#g z>3U}rMbj0jF2Es8VYc7%LmlI+P=y(gI~~*Ql0}0T0gZXM=HnTFXq!*^Or+7&zCv42 zozW-9+I8|klqJQtAk;oMl#~T8Kfl1Alx3VIzb=H7C5w7f2lyKN8eIIF0zZe)&ffzP z;48$-7yKgth)pQ?zhevdQ_3wU_;%YkA`YQGFR0J&FLv5K7y^Jb1$_%5W%<`@0yCr0 z<`5DNfD}JWbP6W_s`RW%pNf}v@>*n!{x!YnwkY)ED-!|f4)Qb{1K!;SCZYkvj7 z5=BmqyAQ)bLUxO%j!!esGAL6xG<<~e=RS@;sJq`dHlL4La~r$hF>58e8Q5G!V%bd! z3Qe-fjofZv2{&^t%kL_VGz-C8%nRS{EfR%5eSS;swuU22d6$Kz-+Ll4< z#BS&N9HRARs>`6EKq#9#sJV%ycq@F#X+OU=H=8E5;ozS+%kI^4eq$bODBCZDz*q}O zv-~A-mEx%l+4VPA!p<7l#BnGFKI=30Gi(E%*?qJ1@y=^y5#9KB7OAf7Ar5S7_Cg0BbCjI4DJlDxdSzbldb$u53${NdevpiohAl#X+3l#uUWj7|DrI&FoKZdov#ML zU`+0O9^ls!V|)8^tnDf3yMeiz49>SKWS7&4+vx4_ zjR!_hUe7!FYL#o|F1V6kh)a=0dNM8%{ZbT6_+o??#+?7~lLpU>`-?k%NPc(0dj(~F z^T)r5w|}UAXchu|Ko=w%WsP6}JPZRQF4}Tl4+Qvs*47FJK_IwEkoAI`%uL;`#Lwno z;E$=mq}>bTJjWLy@5EQU2x_Gl56k#*@45iz$IhO2&}X1S&^$z-{X9f}K7*-ef1D`t zM4#YFrYG*)R59fQf@EO++akC_j$r~$ksYTMnA%Q+h6RR)A|Q_Gv{aEa)L+-F&~K%Y zo?Hf6LB8aH@1*JF;u3AhwP=wb9FaYWV6i0jXaR*#c%qw>AmZ`NZfNNv5`H{C3nfs| zN_Qv$ovGHs8<4;F&%Nag=9pi<^7zM_bjZGRj-Q@-1HgAIdDvC&DYB3T-@jqseVGzu z5%D($;}G*VW=Jz&XlF`$(skl01}&Gs8TI!HKb){n z)OUiU7e;Z`dJ4b^JrUi|-Xf1I2?aU6pihiJmPwQ_Dcy_E=FF5;HC38REDW#w#!_;l zd@Q#B9COf%oj!e{MDP!8)2SuG9w&lxX!Ta2uqxL+Ev8ZVjV<5jEg5MIH9A{7*?yL* zX>|Z-)W@Ht?A{5h?t4WCb@_aUj`qsx_P_x5GhPP2s!O#-^d8e_TR43})bHx=z8nef z1wJp2F<%Lq$~u(#WqijRpP~`fqE?g|MnP#ap{Y`fZUNox`?pQUee{At^WdSF02${c zPAE?eSPlqg`Do+fYrAd8$XrrSKdXXY_)0OG*nQ}hgBrA~fS28Gq6NSI4kd}7`^c!G zjQ=dd^9FZG<8uI@`oWKiRALWhQd}xbSshqcHZf)GPSJt*T>9J*u_Rf**IzbA0nh|a zLdI`#e+bnq`TJ|)%OLawFJS`JkuF_3K`B{Bs;9DP~>l0 zSUd3TRQLOM#|(wrPdi~FF14WkkkUblzsXQ%soj1EyY5Twe|DzBI))fI?jB6VPArG> zz5a_zJ|ME}NE)1#pGTtL2QeqIhq#33aN$A~WP6Zj8~eR+f%EcOUMF%uvh{=fNW~#I z;^MhJk!L#6`-y(itp7wbQllvRKWRC(Ga0F1{dtAZ#v;(a=w6*ZEJ!zFIReDqELi}e z@G^69cve~YcdRUSJ2L-#DT}xF-cweY;sGBQd>;{gHl)H3f8&hG^vdk*#t$GJzo-ouVzSyAE>S+ta zLe=7P0b}IBh#oT)(Fq^d(Upz4%5ZrMCzXgQ+m?W3CnS!P>^rtf<#iSR5;1Nr9*`in zthNxQeqI%BQosV+DjJZCO2nX`m9fF4(ZseV*;PE9;52T-P<}ABcsVw8<6dE#KARb5 zgKSNOTdhofT6i({Kw|e*3Yug>8ddWU{(Ns8s(C)D8+9z=TJ_TP5QF^t4g}!=du5K z@dhu-xixvx=Df=2!Ynv)aXIkjwxMh@YMYINm8t} z*FcyfzOM5P7xX2>0HBA`-3mK|*ERZ&fP;=`1&`NGRAhpEx1=YmO!|EBwW$SwYLhWc z!IV=HmN@e{*F8n%9o45x(tIbEZ<~kNvMnaS!~}H1)QP7L8EbGw?*aH6G=5w~Q48|{ za+|R0eJVchtgc@$&1?8RUv_zM1ns}!6|CWh&FX{YUuz%~FQ2%i*+8`B_LxB8T#>ZR zALTuc8|7zHZo_gd09;@M9~;FP<#mBR-kLKjykd z=PWJk(M~{NHwhemhmVQrux-~Nr^c+&;jX<1{NQAk(TgkR&}uXLNmC|I9jmksda!_G zlUFns88!4yRMtgeg(zz}P@T)ap+g8uY8=+#akEfp{>)ZBMb)MWKBo;kEq+kyHB{ZX zxNb;EowG2N+wgx!?)O?}&srys3IO2ysx~-;`v7z{71gnZ4uj@)3%sE2K()$Y#;CQL zTOEg*;OIK$Oasm6A0_Jk2X~dPIl;tCpTytMPkQ7p#&)3JFIPI7T!x0ztfdIz z2>CbMVs~xh9fnrPF6KwW@6CTV$r&F}lJ1U^*_b3qG1a{0mH&%QrG<<@E#XpWaw*)8 zQ#Wbtv8GzgLn!7?!2Ez9r2rtB$kAfy6Z>)NTZz!`bPP|c&TQ-?JJWSh`VG=@f8{B< zThCHwuOuY#+o+k!s^{Li%_Yl9Z%P%OK1?SyJ}xYp(p3^N68B?bTn}jQ+u)?BBQ(k; z+PU;Y&0X3nJXy-VOjYXYbQDhIKPe{|kBvE5|E89QosgM`6bFm?8UhLd35SqIfQWU% zCs2pyyz&sAIMEf(5BMi2`B~xw-<=$lb~dlnzn*fgyRFj95tnso$*VvecJ|+8Y-71NUj< zA`>87G_5YMW^lh?$jdwu$|j>ChlohsGTB<1$>8!>leI`^Co6%jXkv*qq^CU4hf z;pUJMVS4F7b0Q4aVb9y06ek0R_-;1*V$)3l(qOCeJqQ)@pbFC5)Xqb6tzqHf3tN7q zZEvuKgr{Bj^ZofkR*YDS7-td4E#>K@J73)Fh++DYcRF%vf>DN!r`3QVB`E5hy(=05l+ z8i(=@OT8WrS2oO%1M3>CS+E!MTQZkZHpd62ZkW}-k4mO~i!<=gZ)<=)#pmYkQ z?Zd)XvvUA?LTPTDjEIRuSrArpKu@%l2rW@&u*wlK5N27u2}TYm3y1@_CyEf5e%&~z zf+7dAD8I%n@-~tFWAS_Kqnc>@QDzyvjR&O@;n&{S3xo6n>*im;zIQ^AuE~Bt z&S93_Ct~057j~LF$!z=qY8n22K=;KXsE%~J`msE@kBJ?6rtmmDGBkJ7#euv*>Q@CuXe+76Uf=jr1Ip}b@S%!p!eRo%&piSc(evM z2Z|tx7SVT?-xh`aDv{3?Q(IjV&h)jUzEE(@5P7kol;Q@bB-cT=!MmvrX8eYm{&E+! zI_-@k24>4CoxJq%HJWG7cf0%|g8N}S!!YU6XaQwdZXrb0ZYZEnch4QV7RW^r!}Jq{ zzlfe~FKVHykTnC8{yj6MK~lUxX)DHpR)KRbg;k=Ul)Y;SJM$ZfZWKOWoCTkZ>&?Rb z9~Pr3i67p&+^MYa$RCcV@A_4DjX!P|SaNQxjp;8FzS28Q)~Onm|E}$1ib`3iO^-wm z+Ua8~i}{u=4}jG>$o+-Y=Z{#MCH@RK>6}i;EBVSqt4W#3%Bj%$-u^>GWjURyKU#eJ zF)SRL|BwSN3x)&Tp30dUJp__h(`M5UYlddM10H&h_DsIUo*27kgCPLV>g9% zc!#I8St!T_P!rZxR>uRR*o#Q1kXDDieml5?`?fx>PLrg@B0q}_4&`;d&_}CO8WIqq zw0}`5%8+^LES+$qg8c_&?#H%s@qos<1!*8|Xkkl~$FmG1lLhG3fFwktn!jEg(&Y@!4H>Kcs%K-N5DI? zxHjLH>b%G=Q#&k@VVZqc5*1Aw?q`_cf;kT-!hCg)`z=w5R}aRhCVV_F>37nmlk|CS zIF`Hh4w$C=rFIaII?%u2WKib>qP!Mo{bIN*6KD0GIN^;y0YzOVSN;0&NE?NUzVTrK zH2sV*q|UUMf1U8hH+9s4@Qi6 z@1~pjeJvkyZot87V{ePc*SlBk%rnzG;O(ixc{nSRG}vI_ld1-MncRKefwRP@7X#g4cF+Y;mrGwtZk}Q#0}4*kJ2mokFJnY zKZ#)`ZOZO>#!_6!r+FibAV0A7sdJR)2#30wMX_W4q-u*7Lj8JOuHaBGC72|w{cb%Vsk?@L9<)P;RgjXc08oF5t1(O8ug79ZlNkbVf0==w}n^WIG?WW}>3qlH{ILnFcFW)-n(W$H5gy5HWFgn`q@lvLD%a-w6CFhpF+G zNNW>75YR|~{Gz*EiCVL4E^+{}q#mV1#eec4>MobU8=^*_26Uw=yY3ei9ocyK#DOGs zf_eOYsWrCuTkJOV@`;jB$%caX2y1DCdM0GX4c~6T5vFx&>Q8_VvAEx z3awAN-=uzyM=8gbpX8Edsaq@Ni8t6wuq8DN>H$RU&`>iUoMPPCD$itfx=9v9s8ql? z+hSYE58`L50S>5zx!Vp&!#9d&NK136FQ*QcLf zwtPOju$|wH|F}VJFMZ6(j)SjjZB>duK<=|KxPia~exNnm4e>ZZCf0r2*zrb{I~W6u zL+s}znc5XEvt3Ao_Z%lA)>e6Jggi%DnuIqI>2Xv@xC`wY>qEhUPc$Ka^Tc5xZSxL- z4c}gw!rBN(9I)i;{-I7*Xv+^$wld+d^Jz4>c26JI{udkXuqtuL{xhw3{-e=)(~Po@v$bJGjiEDS!;=(<=DeEuLJt>> zdVM;yW}KU0EBK##I{95nxVHoOdye3{ilaAu;7TB~-t9Hr-YFcohHuBretRH&z7+e@ zbF+ZiVb`(R91s8PlZJB0nLBx;PZ*xQC-WeYi|8BD;UKNCLJmW8I#uJN>Dak1iaN#& z#cn)aL(5WM=X$^_hkt&MB$`Zt0Sb5`WtxbM6-uL8j>d=`7t5-Kmju=aD}9;7eg^gA z&9-O?7YV2EVrH>ymNmC$Y^eZ&$YW1`+#tM zRprI@*5=XvbPKbNZU-JA81zazpAdO~3`jZ{6Ep)PAdj%2t@e*gSugjHB?#hP{H)}j z&cAeK=e|?Gys9Wa{pDabXt76fR5uVPQG5^-1B46A24W4y&^#grb#)~L74M!XQtUTH zGA;El3=l{#Md)-uw{W1A1gw?>q@RFwsHn-gY#+H2_>pP3rSO^qK5QhwP9~!Zp!U0; zEGH~8wA=p++Otr**c*JRosBo3WnpHeCP1dqll{3Kb`w-1$jE7^NC5D9wMgFWf~&0D z(|$r*d{DDRZ)1g8z%uS8!xo1MQkv^5(HzBHBJTDYLs>{D;DYyP%M9>wfY&?@a~ZlPdUf)ehh)rCtjNuQ27EHHzp3)ICOE~T#h(m|*&V!5xeo-~=c#b2N2 z0vxkH5GwZEQ>XcaD$bkWYoVt+Q183G_^{nqgh!}OCf`ay2!MTtD+$Qm@wv^#-T#3s z@ew9KA_qjt4Y>^91iZ0KVbuyL1o1bTM27R2Kp24m@%4j!8I)c)u}IhNVUDd{()0}T zd~k8g^eKBt%`IVR!mraE1hpd@SKmF>3G5F>6K2kNkTwdo%7rx5mfQ zK_+c?ss5PwO8SK92(7MPD-mvt@_&1_>)ZY3qgN^fmqX3}dbPr(#%qdN9GyPO;?|yf zjc()yMEXSfrLtYIe83!^{HlxL*;3>G=;65fgTi-kN#Fuvr8SZ5-;lX!gR-TFqgs-` zL-?%f1_a;+U2)aIoBqPpBtMD+0hn1fuDSBs5?+5oCT!sT1K><}4@mA+8&u=#u7nG~ z9=j(?p+$55ZU+uG>2vx8^fd?|DH#7LDQHgOU}6f4!5}INdMnk>l=h<>1YmJhh0+Db z(W`xb{DuBPLku~px<8xPlBGb5^fQ4vh2zBhn32HrK{+ZovEuGZ2*?YIb{O$E3 z5>`JQc9+G#Fb>5o#lP0eyK5MK4{IlGy^7?el_HaA5Hg_^U=9x;uCTBv*E5vFm_Jv4 zv)0JLs*8Ow=F;ScNlevl(ff(m^hq^*B$j;*#*r*tG3T*51qh53YXZ~K$pCpm*m0~% zI6ne(M)3Un6S33(51kP+h>rj2jM$U`S7XYaRA^@!!PcRF%q z=6y>Abrzo{&(xfW#5e+oUZ;5}O$P;}AD`YSh`&NHZ4mA{L`e}w4%7#B_dCSy;0uo?$t%=V;~oQ_O4SQ2zENk0g4ZLAhJ~T$z?A#6FFweE`PPUz$Xy>4o{n!e;oxo{mlN{aV2_yi7QqG`tKs zw8f#T))~iwS^%_I9)K=rQxz`PGVZ)IaP$NC|8Qc}xAZ2ecckg745_rS<7DoCn4WVqpin{X%oN4h(*<9X@7c z@*S}~=cjxBL!=GwAYZnPz_eb>LQWC5;Upd868VjuUwevUVCuL0EGg;icT!GJG$I9m z0bmet0Q&|U>VFphb3qOb6Bh!qJB1*9N)HNzyP@et{MN|;BI*5I7}`BxEbN-~qkVe= z--~fgAj|=bD|%R@@UT@CA&%I3j&}$KaUQ>rTS2m5_03!ZDaPv5v2Q#=ZyP{#}3nx%cCx2H$}wmWtxUjubeN=q^vz>H8ioUM<#G~gm+MD zfBF@aT{t9Qte=uXb|aBlrLsy~dza%h)jdGz1idj@T&O5IZnO4D!9cJUa%WADGZBVD z_y<7h;Q|1Vsz!Mo>`)Py*wul<2;-5LPIns$7_&O7u7EAh?blrP@9eFRJniEHlHlBq z-`bTw2wDvF*XLK&W)z?ssp%(7VirRq4l2Sfs%lC0F4*~sT_a=eIkD1;yuBzeW7tp z&<=2AKhA-nKR0kt>X)S*(BDbRn}c3z`M#=&4;uxqT?aLDA4F}#d%%PeDLMmJ#JfYu zf_(ltwcW_gDt>tAk%Wl|SMJCgdHPy~pa)fiJgFX@&bK&XNJ##h!@%MQ9F9Hlps{$v zmiDKb@CfPid3>b-X&f1A(#y+9DJ=|N5grwVT|w~Y=gCEe&A>`XS-z8<8_}!MD&h89 zHTrlEHjPHashgAl-mL$`&8&55*ThHBjf+>~Q-&jKk=S%cMk-YLQ-KA`>(T7Pc_-CO zn_Bg_ZSlm6w$005)n@31zfY<^3wD&HA|bz|jVyOs18s+X_|^E`Wc2+p)nAmh=x3!Z z;B0_Mid_{`EoDl-mWrgK^DW8EHA#vxtymnG%4LzT0yMMkXiW)JgdH5Nh@&^8&7T*S zcWV2aFa%;1-2oIPzOa4y7$Z@i8zsG%S9K(!=FQ|@>L7K9YPj(LK-LlMjhM%>9bWBU z+DT1Rb2ey8sy6EFV#~V+DQu2bxqh2gh(ln!!u| z52Qq?pM?r*n&|lXT!)DTf%*n5fR@U!r3OwUTGJ$QjYC!~c#TAcD0m(BMvmC43A?g^ zTK@(BsM{xOk)6<1SRSM7730*0rx5$Vq-tf@de~xzaZJ9cWeYTx_1&SCS#7tYV~zh- zCc%@#GqfA+|C9?m`^JkI18S0v5G=fWSS91-uB_xwv?8F!~O$!RAs!IF;AZ+E7S6|79bMH^_noa3J?i&ud2MP zYZ}bu!$t74bG1(j-$i9u;Ia4!*Wu4@xk1KX?=8f>_Fb_nzzaQhm!vgZ304G8Fqm5p z45sL^jFa4sxd89QKU0YK(GuQhI3(97ior3P?g&;+hg)7dMSpu!ND^)FJb7HWcw(_& z)@qo}4@FelF=tx`FuKvl;h(Mb4)^PpUOamM1m zWj~E65@g)NBFqhYP%h8qN8k@t@ZDQ``k=NRX1YFM(z9g2D#{I!LVhIf-s#kuGbw?& zw3g;<1zB?NnD8)Bo;An1Ss}ZDN5eiGK$+&OjuU=)(Pke$bs1tPJ&Ef}B+Ple+zq4P z=Xqk3f4SWKf1I}bIM82Yb+@A90*v{h=kJIg@i_YRQbvt7uI^NiGI@Wd9Av02&}d^> zTfRT{1g?PqK*ATGhRuRR%HKutMaQkjClw84y6@}1av1FH52#uV-@Z{sQyb_6^jJdu z4DGSx23O<8(zB|bvnG9(e*6i_+;(KoBgYm5TMamuOZK;C%f%=>Ql%Bm-R}iiv;CQ$ zTKYf0I6+$&aLvzbf^4r@Qlb(X-bGFnkrPh9&W0C(G?A|hRwMc7?C~DdRk(C*x+ma1XQK8EgER57 z(roh2^Q1nP>G@<_%4K@v`;eA!9azvqaIj?_Ep&Rrl9c;$ZkKA!JE?F<@-s(DDG{U7e>4nudM zK&#L|Js2O=rDDK$7&*kpADa+(t1R9s1`iPJ>~ZvQ^p8LMpL@l@l_US5IRVSR;N*Y? zz)b))8G?^0%{gt=9}KVz&1N|5cMbUtpCPV zy@GV~`8#vzTd6h^?O#Y*9YBHtH;p?$CFbL)`Pcm253_TFCj>w@q|-QO5I!4X(6TvkFr`Mvc1DMtT|P5TkE!Ym>9H>=bT{d5Lqw1l<5nMeINebcEliQ5!~Z{h zkp^X$W}cY3Nw-rZN-6V#l6)CcrafR$mG7Utg&f=_;yuUTS#N_qD7X@$b1$+Ptot;X zC4KZ3<7;K^8j0ssxI&AwtGqsJc(?zV)s|^kvuLI$aMNcMg}VRlbi(u!0liK=#-*(l zc;*82`bS*Q(fL%>-)lPL`8bi`)ekxiOO#o-XCF12!KrbE;gI4WV=l@plWk?H^qp!w z*l79*qoI6+(b@}2)ek+)3H(5dto!^#{nmyTl5aPM5XpdXs?gOcckHRLRPTE7yk6;GNnOLH7Sj5jL z{qQ>$i%FDN(_vSgD7~cEh)UZQKInw_<#qQS%gnPzF|Xk1?f`i9V#5Bt`nx6nR!F+`}SW6JXM+q z;U}sK+hvsPYYTmQ3!58_jRhTm1l}V3d%1!mI+)5*=={Uul$0h#(V)%C&$GA* z_yWRVpAxSc780)h%P~ZPfDfqNPplB&!UQtU?=t|GpZm-N@>BCP{uBs?hm4!!*#z>x zCslK*osnOZA2$1PDq1{Y)I2&{TQG>~?gj`|m-Zq5S$ChqbTe~(OT)8l?oM&%N3R^X zmOI4g9_6-Gp(=x?H;(H_T zrN~3l!;jvncKmUk?KufOloIr-4Jw2(3p)x_fEYjO-D~aMq-Q<}{qGJ_)j@U~DKpA|D~} z!ROPx18If;EZ>LI5Trh=C$u(9Nj67#T*ZF;WxDvzq%QR6o8G`S(%P7yWZFK6v*L+FB~+ z%}22)CS`DbwZ(*BxO;FXr}KzS{A#Mprvq0870X>?YTm)zJvw}7e7vPFl1_>pQ#|k% zWL?a(SF_*Pk+k(H9UgF%|4QQaMMpJrI^D7lAxo>LT1|*=B%X_d?tWvL8#3?ermiYn zv=OLNp*=YdZ2D6ET5*E17$#0I!IvJu1YvfLZb0eMFxJrmIj=PqzQjX+mLZ&ir_WC0 z{PHO=H8w}JpSPX!5i$^xAXz#@8B7bFzLvepwBh`z;H9xCfc3=fa`^Qbvr|b-Gp|}R zYHjVN3@{Z=s`)%OsAYeMn$^11kA2;KFB!|Zn@sOPLx&U6jL(WC?;uli_%!`ff;pBr zOqKuM1^7yvdadfh#!EzD+B&$;yim~Q^7Q{U8i_errGy)zB5(1}U(2WC%fKfH< zAp}9isQKjzgNorSM`{U~Qxs=uhtz;@NQ4i(P;i%!(Nd4<2YCLmM>OIPC=a z!nm>QtZ8{9x567yrE)GCq0zXS9JzQ9J3&&YQEajEFiw7DPvuCxy%o2G{uG7i2J;jZ z#|;*T4tQmsi)DlbbQ?lHMe)7GZlV8+0Eq&B)y64={p2YMFpaB;&)Yy#9>1G@me~)G zJD`sT)^FEuC+w!b#tHz~9RPlZZu-xj`)e!#-Jv=mZv%kgdFv7M2CLrpyE$gA3Slx( z@sEStpQj$g+&MxD_ii%Vve7?GAp?VdnD$@;=Mf;R0;STnm}hSNjUwkL3g zyRO;i#>Kdj1y9Y7PS&_MC?5n?qfEso8`8Bt-m+sY~#e99vOydCgAH)CxFm7~B((gMNqQSdNZl^|qULT`6XAk|?bk?th;8sTX ziIuCL-vi9mgPr_clsb7%$Nr?+kvg5&w#ov@GN+g$D`^?ie*{A~*2>(}mF_v@C*_|4 z-@|{3-)^)80E`1T6)B5b5umpKQ-hM^;|oGa{n$kby3Aba`(Igu*Xc$e)oKek(?QJ! zz(%ri(#`RW8Qyfb@(l%-F~14%rxF#o~PDTBcU{os1E9wQca`SeS+7<%FNm z_HW-wv2cWaZ3p9-SCY#{gbo<7x20T{Eka?ve(U3?E~Q#yvYV0r{YRXqC&_uo%!|Xru@2Yjp3S+GNtvx9{#V#qp>=GfG6riiG9sYnwUehm zjN6raz0J$q7ak?Fz_vFCnnu%h#~->~b$PH449)nB?&R-ZF*HpHo~G^pb+UuN(zN_* z0~U3L{uh(6H^N_`wtoQFjaH}`2J}AvXIH4PdHDWrjbl$y0iC=60HOfu_zix)5X0uf zq|-%cPg+_3F@i-PeH{FMkKWorj$cIiMGCZtgWnG*?&W^dttxW)ywd3*IDfg+MMN40 zHK~4@mJp16;^CeR{`EKUk=HPY7-qW)ze5zFSn z)a^||q`jU+)`dC!|4QvrB`BuCbr;gR6z_7}*8?`cY?H-P!2$29Ympms7&uIl$*|8B zVGnaX<8_-#F10E{$}G*z7#83&^zO3{V8?KMgNTr5acTG28v9A)fZ`(7&Rn0Kqk}JT zv__N7(oZ?`XD`mJ3YeWgT2Zjz(c^0OJ#+S^A*~_Uo7=J*a8zWd>a|Dp?_ICwQvgwi z4{VA)!6f0mcbI}c)z*iARGANWlcGQ#i;<-+?HxEyOQI0xJcjSf&*E8hGEyG)H`1Q-Dgo_ZX)$~#|bYugIHd>o<(~`hL8rlg8 zPjxInU$A<`tQcj1-TCH#{lJ7Y3aOpzQWbF}Y78-0mG6)2BtI^`_1uq;cf4mGUASkT zKOcCN?;o+pAMR(}sR;Eu7W1S7;omdReesyd8w2PjBp_BI)3Eq}LHzO?`(cxCa(;(5 zu6A`4JFVmqI^+XP(^f+C_xpxKN`qd4uS=@mU5K+Zq*x&{Xdp6Ulm;qnW5ulo_ol84^ zBo#U($-9+{pE$xHYR`>uuJP>jHfTFc%!0QxjwMNRp>z z*%t2WyHsQDU2D$CoC%f8$R|@=9fN-h3M)2SR?O&6YpT{Hw9ZxDSnUI2HRS7zuKT+vSOiCU6PSEY}_|Qpxsth zc(u`aFbYq9j=RnVQtjIVc>@A;#MkDEv0R@<7Hg~EwGUmFhp9i&e%eUteH$Q4+%4xo zo3Bk?AS7NV! z>lr-qSqD^jKoHZ`if~h7c#%6V75v_ijQKQR+qzO_^+(r6mewrh{=at^7*^hoE<1qk zjQJflXzY3`9?%>R5iK5Sc=Vy%#I6-oR={z~o2dX4-1$~)Ux}GfGk@H!4H~jKt9!H#sJfZHgkrx}eDr>IO+a=ohw;d;~ zL>d8yGEbrTtb%K={|UV0353L?0b-r8ENq2AJk*N&kFyz2DVTJa#mJ6fC)hWH9vcjT zB5olk?dP9`et@S7{J_r(Hw!V|-;E64Ek#2UypEX=4_V6}BLW6pae9bAV~ zZy+!g+9vQPxyF2!#v=WrN1a1`VmDf<^cG>UJrlIr6O$E$I!whw5kxy|R!uputd6LP z$agKfB}E0R0!ErJh!#aNKtVec zZXxa^8R?=Gqi9>u={wXcA!YDj!zDuq$*t&BVyo)o+n>r9T>}1FxzoauNNb1y1g=*s z8%E6k|Iv1}_$6?9ARq`vXi)P2PI+J&pb^ z76%FS#=+SBg557Nw=V?Aj0-A7I)CjQ<&eEA{y17KkZCBWNLevZAXqC zxIb$j8ue62@OQtGGEoGuHn^6k)cR)tvDQOalXiDu0Q`4gCtgnaz*C5fv|`IhGZ_x? zyy`0hw$MiiYSND06@?}y)zQ9Q^uAuRww*J&Z<4w5ZV`73i*K!ocVSpWz*^Z{v8(66lZd)UQ|o(N zT-hsN5F%>ZvpW7+bg(91(_OMlE{t9V#ZMkk@Jw=H^<;N>a)d@`Xx>rHAxHrMdmdG>)Fl#tjyy$^K__hzY9p@#FyssrHr;rqtc6$K3L}nQs4;y0OF+ z7Rd8pAN#2vowZ*I3zPklF@#8%sKc~-FAsv602l5^?8BNj@;;qoNXr;U-{Lq7TbCq~ zji-&mskK%Z`><;9_pQ>VU%(<9bA6yCwC@2iBQfE0MMs<`2I|$t3xy%=xGP>jb#TLx z4#^qfC^d;J?EuA8l6s&y9qp!Z_QfjrI3prBRgzDN!BKnTdTbG{3dVuYs-q`!#Os7$ zLOb(fouQhGd&|&(Q~*#=+JN6JOfim_ZUbx$Dr^TR35t`EU>UXFXE7^=Ha(TMEfnR_ z;5Zo8{M$=jw$q1bQHit906l*)R(nH#RIKOQj1}{ zzNL%Y3)GZxor^C=o?#Iwe;96RK2wMeQde56oh5fxZ@npv(o$^FhO5ZXpu6{cpuRU> zc7q*k`#^uJiJbVn?8d^i(7s#6rYr>+MsJJ!$8Vgd0Smc84>Mj{P{OhfvxTqODnL#A zd&W4Dvj#Bg=5umHbFHw6mcJu}(cpOV_Je0oPmzn)k+ zIPPa{+s+7ILBiT%OQ7MjMdzI+!`f^o`N~2R;Y)E-0|3viaDU`ddcp#pNJ`79iUsFi zO^MHO-=*};o4UAmp` zgtugr;?toHSR~{+N9}Zp%xs5~2$^m*>R%qiZwpz_0>*1u2ctx=_iVE)^T936sj!_UtF&0*dqOgKK1 z7at?WpTEz7T6*YL6(@xJiB9eJh-UwruM7Ij*V&;XhRDp|@9VnxzqE??j$BTQYk8rN zn6!V#9G#4bnM9joYCm*nK_YY?%_x7oOp6E)TKPekfp3FP&t0!fBCx_Lpb_5Ld0lT5 zz*R_^|A5FEraBzDE0Pz?=02bz*0k@qZRvzy!XgtBtu62va_PeY6*5|4EM!L-)4=tq zX4L+ffSTkca0K2p+Md1oOJK>Rs>eLonZyd8vr6_`<6i+w3jfIJu#J6vyPlqZ@o4!0 z7!0f_O}xy$ZewBXF*5(~`)AS4UZXpWwSJJtE$6lx)|afUxI+Zid-F{9AWTt1H%)oK zr<|>@s8cLglRyD6o=aAN;j>~_TfXi`PAU7IXlz{28rXd!3_`7_fCx~b$sq@#2BNAf zo2um*1+D1}Q#D#@OX9(w+%JI+=B>X^u6J~M)agWIsiR0mWG?}qTGRVjY;Pk0C-2u# zg&46@jp?bujoAz8@E0lyid*G;6iavvr#}{J;jVxf?;j;he05u04)?9p3M$$;lEGqhvTLck}9@7@AeV4-hm%YBWXFnUoFRKKWbL2hO>@Z+Cq(w7h*$C|T zcLTY~kQr1gK96}s6qVep7`9W0fcPH?tx>|MJDy9Ax_f!%!CBtg-i9sQb^l>mZ(6v7 zxTgGWJW^^u2?@=2JF&2T@AkzKqobNqFC$s zfF{oYDp!ER?4)cx1Oq6Ijo1SmStwt5;C~;st2n%!%Su|}e8-NY>lAZJ}mSK zo`%w51+tKLN~$IrLq|&ntGPrU&QS-Hgc?#eQmihck2E;gR8=h6lli)?64Db2VFDSl z6#oVqM;<(QV=oGKR4qIJI>n>Rb~nem-Qv_zN6fax3)>1Y_)cuZE8l1^4%9!YxduQ7 zxdwjGU}ml|bg(wjoM*?DjerwXkE1AqJ=8a9S7t?LPm(>riHf+D>`XS!Kpervi1M=| z982@TOHlvwKvf9hh`51o+2%QhMu{pbDw^_azL1B)EN8`xO@er|)ZVu9fp@B7(7``m z_tpIN+gii(Ygq8|7mPU?NE6Guv90?_kNPFR_pH^kmoXN&2y`?mHZ>p%+uQRMT$!$h z!x@CK#8O7wNTdD>&z7u5x2y!^?Bp&Fc_h;0Jvy6lh8HB;{vJRiVJfyo|4*UsFoAF3 zopK}XF9n_f;|w3JqYD?VL+;(2w|!vEthcWz7(o`#mjRio;ewAmd=m(jPC7NJD#ii=o}Aif!_w!KTg(0K-Y&^siyjbQ+FH*H7)tsZe{u z^sP>veOM7!kEed13R{Jn$QFzkI?Q{+I56jFOkNo|)QNWNKoV6d=E!`UpPrOy6|Q2= zoPCpIzLLNFmapAPz_QO_GqBTUq`!!410Mt*_!CY6MB1t2Wh6vFngReyXrm_6Q7RG5k_}0Vtx^Yrn7f$vus!Y9CzDu6>i*w4 zI!oN*UCJfI@}u0>9^4dH9+sSC3(^BB|GDJL zl9i0d>|nNVqisn$gx*~&)UBFF@B`f|*oX@bha)MdH|XJognAaFXOUr4?dB1yUV%Hb znLQ(klNI1q^?eB*LeAWFI%i5N0<``LL4)eigskF&50eY2jP<6Z_nC)7g-5r9I+-V- zCZDP)Q*oy=*Z6U%A!oNtE~kr91@h29Vng!y9R@}YrKj^|Ec`}$w4eVSN4Q~nYkwJb zw1!=!ovPChn3>mg{+)mtB74cJ1f{*&qT-lG*$G0xJ2t-{y@7Ez5NnUZx#ivEd87G5 zja{6xKGu{3C#dwMyt@Qe$Em999n48rV6UuUgC>NN z+6J%I@#MCgU6h;vp2W6nr?sZEDG4g`wdpP!&gGZk5O3jND9&AzeKx+t7PID$BA(N7 zJn%U2X*RH^#$O42?_^O!ZeLeah#5ffEV5Wt>O-f#Lnvt17>2!^VF+)Ix=-lJ>*hf9 zK6VROx6ixGQ{~af#K|k`^>I)B>*~En^z`raLC|W~O8*sb<2&uAp+A($=2zZuu zb{(P`8N?8g5bLi%s7KSH#Y{&7bP>^TXNFRu``IyzR>{AaD zWYYy-R?R9PB=hVEIf+ zsYoMrSPodz$IBHe36{e`A37?*pNKqZ0GtS@<*2-e%a%ViEggMo%vsiKK`p)_sxQrU zrU<@(%Y1zaH}?#i6WS^_UzGp(sC*~0LU3{CJf?DMakscXeo(hvQI8koa--2yRbLPF zOjcR|=YnNLyC+`FA8o^{%i6FCD`My8GWl{4Xif5Y(I}nnnN>6hTe7v1hNvgrJKY1| z*~m0@;h*DYGOK~_?}g)>*FT5B+vRs+=Pb0?+#9W^;jH!o+9oggtDG9GTCEJLrM<~? zd+dyd!v3w#YY4x0=0YC?qZ)v`Y08FjuP4&T18EE}ll!n482pgu-XG|_*JW&8bcOOh z8>N=099j}&Dr!ueO#wqH+4$umvif?|;be38BgtX-eEO(l*~NVqlI)U;KRnfp_m^hj zQ6^_v$uD;)w5LwnOiMIEljDroRu&XAqq5(COZ(jGUed)zR7kP zT4P0UKB-}b^jO-v{+=(5EXL*{Ep)%V5e{~nPs7X^&xdr!L!Xwx$Xw&pAMe$*3dxBN zZC8*>N-!tu_$G+)r*oxOjxb(Kny|4OUeFr%w&g}n5G-fn^KgW-U*jk;oD^t zrl=#XOJ(@z;mZoq4r3YbF{IZRNpIdrhF62;s`##mcUU(R_n-fiQQY9)kyR*lt5j6j ziq00LlTg4P=NQcHe?3BRs=pV)q_o&ol4n;ChLG!^a|u1a<38!K@{5<cEt76Y7dsA08M!uX9S%6OE-8};_u}yU z9mcc`yY1F7?j>t?85euj7>IWMHjq(DTTwiJXdUkbglHlE@h-7H;C?>YV}-6W=vU+L zuT-Z`Aw3_lEW3Ldl*RZX;OABd+qbqr(h-br%LvyNw5Nfj#_Ff%O^%V#t8TyF( zeKGXn5d*>Ca3B*Rr!62m!2v$4Ai9xUZ@~L^FaZz%0;z`oBX18B8~T*Dry5FfC3j`tG&-fZwAE7&==oTkl4`}U>J^zKs#N?A}~7?n!9V;5_>Yd-Eiw5Ljv z^rMXf&aGKTli2Svkyor}V(jI}vf(UFlW%v3*HedE0c^shSlwhE3xeA~#eVGY+|-@& zYX(Ea$9N~~8gp;kt;?1*pW2E{)M}ANPhk>n^>t1&jIq#iVLH$~Lq~p%`TXxovskUx z!;EG|^04omi=z%;5cG_QYz;)l9MSBN?Onxup=rA$6omr7C{lIz3919v+Ce~Xr-^QP zr1v^Fx;a$3tl(A6;1xQMiDjoyoso^HKXI{uN!Jp+fsniuI|~eozuo2vu?=5$c7})0 zYHQN73*j?CTDGiw>h8jrT4{etKzqLOpS`tBK6XEOV1$rDmiF5nb0&kn{`M(M*x4U@ z{ps~QM!l18cI9}~+jfSJbSBoT=bVb}ALB;$A9&YR_O_9tU>MKjlrv*hyLM)2Y2 zBvQSdgsn&PwL4MeyZU6KGDHpr4WVID@cKggY%KS6t$ngfC)B1sr$1x*ei~$5FQwNe zp&gL|ro6^UEwuCPt;5u7UEOcV@Qa%ypM5-3g~2QnCVYzeX55T0+pwa@H%F{2?T}7pDq8y? zN3Mt@W?hmL#0_4Uo9@_84nERdcOIkw7yWJ5Q^-P-uxH67sUAL zy=|pDbiW2jzYJ=iMwa4cZv#$W@3=i?OnC~R3jJ%Abv`p%sx6<-`x}KPdGZwM_~Y%3 zSk)r=e7yorj#MM2=}L^GOwRtw^-3D=BAl3H>BSM}{)C-9XA$6F2faAfgkcjgdT8v8 zH_=S}RF(%cnZ!HOrGCY;+3opS?M#S#xd>?kW}>ZY4edZ?i~q5-MRGM9V}1bVT=urK zwNMle&PrNqm`_N}tsna)XNyHZ)^tS79#yzCfLZ4N!QkA0x)^I6f@@ju#CnG)7(akQ zl$4zGRvivZkw?a3vVolExDusAEbkGtE1DUNuZ`{J+WS7_@9dK*@*S}^v~a{@{~lK) zZ&BE}T25KJ$Yv3Fqf6bj)M9J9a8hG){erjHrh5jhIDqicF(xx z;v5ynu)p(wR#=y2rWfb%5~@9V4V6>kmG-O_7?YR{nsWF#1PRTYo|w?0i`j_T*A3e|Nz8@@uMnk`>;ii5B|wfNek-u6 z(wbdJfOSS8KU?@1HkYI@a*u^?{K2}hfZh%}`hGFv`*}HS7MH5QxfZUf-8~zoMe6TW zMJfL5ms-eRpTvnE1Qwn%J8sF0cH^>HVnYR#;P?(N?W_#F)=bR!cuDzEAMNY_N!REQD?Y%?4Z_zQ0kn6zciK)WzyecqZacl` zgc%kJO)Pd?pzDRKNjH)ln06v$=HqT0ev7p=(+mhukutJZ?JeKY`f>rh4Z8_;N#pC% zi`xmEzG1=4g5BlhFMFozYI*F^I&q9dTk$7$hPJR6&$;}Kt{%F5E>e5JttI5dwg#&R zU8Zzu^vK{oeKT5$LYP6>LrEn0wiSZfP=@D%Z4GD71L0U@ObywtEvHCF2vVtjnH`oL657_ zO2dyF0nhpRoI(@fLd3Lhn5L$=d49p*n4ceVBs?<&a#kZ!Og=z!VK_IC%TB#$7N1YJ zHv`ftJSs<@cCTdmW(1*+F#Ig=jbc-mQqK6tP6;SR^j9)R^4Zhr1cuuKrAaaoS$5nk z`DLA`O5Ui+A?43%Ty)vd)J05j@|-|7eVdD10}SA?JrI0gua*$7m=nN6)W<1{VM_;^p zFX}NrEP$*_>}k-=V@5v?j&jC^ymN2Y_DgsLDb8nmFGhYmUZ$F+(!UcI?W~`MPFe7a zcAPQfGSagSX*L~Vbo)HodpVGJyS?nZ*{JN^kFDYPZ18M*b}oTP%TSuXoX!<|=%8i& zNL!Z&pKFK7&B?+$j8-YVSq4~a=AO^Cs&$xr50f$9Qc0!h{!O6OYyc>1eli8XmtPqa z(4#a_(YS8dCaZUs?V3!MDc?MPjHk&uJ=4*IhG5W9l55YHQi=Uz!y}sX~9HVtdX@yaqw4J--li8UNTr?4& zdWwi zR7pHBfkD9k!ebBK!Klu%cRjOY(x}-)_Q3h-*O;fvDCBq}lq>681ZBl%k>*(Z}2kH=po{y}Qou+Zj*Ul$lQ*k(%_{VEZ6qt0YHHLc*IMGnhQnf!py}0-Ox#HI)=G zq$9ae;>{*Qky)+kFD$VCh5E~@(oXePJ)l0|Krl#X1XSB1-U&u8+F*36CM5`>z@hSR zS3K%cExM6`d8Qkz8;W?D4foLnTgo*>wu#EolSa!Hdx| z^=-p@0UuJs6<}P6{~vy5GkfVa{TC7Afch%(^Wj+`p&|N@*iI;31RCzDZq#M)s#&gJ zj-_|OR}~?kney8VJQh6v=79getFzgK_MkL2{o+RO`_fl%CA~9%q)ds5uPhZeh-d494Bv;wqC9ai_ShK!ZDr`}<)a5sjq2I;T^Y zxYOumWv{u(b-M6c9nk=Kvq3Z3zt{b$;+t4^SC0GU57}0>Jhc0eUz-3oynC`z>kR9` z(&7)&q7!UT#tIVbfHc%S(eLjp1VQL@>hS(&^x*#4Rc~TmCS{?7Em%g8SHZuRbrCWM zSOhGCmtkr#^cmM@W1G-A5dViJj3`USXtE^`S7z6{s*bjX=8k+bj)*;MMxZ=q3-w1+ zyt_?=ohgD_BN7j@>u7+9MteVM(OU4hmm;cg5A=J8myfKTJh;Nv^$%)SJnoc{e%QAo zzq@8kPvoMl&fZ>yy`x=zyP<%MH@jK%e~9#;%Y4IWNPsYkofBE$w5$G^3xVH<-zOpySpRm7-`QSKR(WTDIYKA1bhzixfwb9Bf_YkM9k`iw3Qv8=GHfMA&|Tw|ulE#YjG4cPWy8=~7B5_z^_ zChjYB5d{(n9Q`reYy++olm(Xsw_PjbN-=eF+P|rws^g4K-Ph;TS-Z|ma4;)9aiPPkV#a79?Mhng8zUqM?pq9Xnd5R*+1m~>v(-OWwW1uNj!s`h z&iNH8dAd-}vR{Y9f!ZZG8~Q$R6Q6tkiHYc0KT|dfwaJ`LwcD#97$gN66YwW4;&e@H z3I-7q?qk~jI)DVv}k2Fm5WIw}zCV&C-sR5aQ zp&Ro`^jj({K1y$tb(bthf`Y`gq9J=F%P}A{9En7~5gE(B+$Zau)e3MebQBEp>OkL> zAUnitXXG$_+qzq3pX)$rV!Lo*g<3YcLC_03Ht3qqql13!=NfHkxyMX3nHhSnloBXO zG+CBkcc{P@v~|};%yhOX@J>l{dv{q2{+Ki7;cU3xf5mNUHdG-~`CXw7<;MUN_={crg16)^yb2nf1lGtSePlhW`UJeELzJ79 z9o>}G4jg5_-H~sUu^Y1=Ie#ut-mt3rHT&SqT}&hLFf8^3<8*uY&yG>)%DQk6n@@N` z6GE9Iq<>hD?6~TeA{A`c{$4oHZxD(+#7G+HhB{Wm*QXT)4I>^HBC|TCXC1d1FyNS^ z@oxk;eUCC|S_f5P&*z4=zgVH6;Q@buyls=#b50cW7%4N6K2ER`M^L1QzHxn-So`x_WxOFigD$<||Jz6gT4V82s@?B__Ov(@4!yYMz`0I_i zgarob%^&nX>C3ZW^P5$Bb?R?0OU@R*YhNBaMv{|J5)6d%lYP{<8L+-Hii(*`c_^{h z7dWC?|Ij5If^_Ipnvo8mH1-d!4W>%Ayjg_`Ym-2=d~ejA^OVE`i=z##nLQdmo97=B z*DQ$Q*mvPgHZWqM7{tMtTa`pptiCJxVj(c27s#7$960Ci=I5)p%VHZly%DAeQen~^}j5*gjhdvf|6<;K>`XuYWr!QMu*dv%> zey`->KrU5F9e266<5eGT5;kf7N-gyBI70)uI)m7eJFTSTh`L&$#9Y=$8i_Y=DDGj@ zB+DPB)mRReNEOR-^0#N9V8wi2ORpYY?Q)qaLu8^wSw(T$nX4L`1rah*yjfx4nBO|K zv(;l%_dS)gihm=&d-n*D$|<63Q_3HdWi5@BTEDaU05!RrSRq06#@7gLnbV>3bO*ymALp*=7>hE_*BID?I4pW=tdD(6vI7D%wC2}~bf1gG(zCmYBuM7K z(d3^;MPbhM6W^x1nqn`Hf;JHGj>xP^+sEV(Trp+^5oQ`r3Ky@9D?_AKO0|4C@alOu zf2`t6M%6EWGyrERtMCnv%Ty@h8?VAM^yfq>7^*A?fphV(u>$V2z3+w5OzI+=_Z|q}{AUy0u(2u9ddoz@MS(r&ZZIYW9RGv-(9E7wJ8-j2?-` ziSi){h=Yu~fMQ9_I3CxEdQmi2YNe;P`-#RJQjx_hYqIyl;e{srP(^Cp)J_n#{Gn#t zfO4j(%p@2RN!$A|*2qIk;nfs%h$>91X~BV8_#PVGI=a!wZ6Kw@&Z1FkXe&9iYd)GF zmG#rMkBpC4`=_?*qw3?7{SKbgwvpuz%O1v6-|RwQF;d;Rj(BX-F4Zxl@01`Jqk{}) z8RzAD9nC<&i@K+R91U$@V_Lxr7rD+@yT|QGh;XA2zeK7t=9l3%mlf3pM-8|G*0Yg|f>=4g4u2fyxudbE$IHAjXz&L^aFC!~ZGXXtH z$!MZWQ9lUy{vs2>e@{csLigtSWWFOkbo@l!?+?5Ncc)Sowp%l_FFir4l2tshzZx9h zMC)tW9D$Yq&y=bUr=_-JYtK1oE&C+h(+6 zX6co{)M>-hHv*y%!0hB30d4hhV}GKXaYIis#gZ*wc)!2w5ZYfjQ{y-OgN*dL8dNVr zHLRDP%FAfdC<_FI*~+$2bTbi3AZM_Lfq;}x?H_pnTjcf#y&H}|LESTh7+W8|+|T7W z(p4*TFoTIJ>$H2ps$ba-s&gvUI*vpkj1lCBU`zsfg+sT_qu->4P6s-W?!4HRUEqy& zFqu5yUr^!u-Vw)G_VPtDGL$AxE0iZ<7dwZgw3M1_bkrIW^r zAg^BWDqUrn(@&o~o)`$?xC>JRz&ctr+Cr!11Io-MIY(P~lEup8%7kGQEi6Vc-24~w zaEJ5DIdL{vqYV`egk}gdjFDAbjn3%7juAqYV>GrElD|IgT>4$##^{jT{J{_(-2geG zE{Mhcnnispm>A@{q^lp%a09!cM9`f{e!u+VLZH``x+>6)j@_$uz_bjjwSd_DN~^LS zoTHY+d0zJfFb65pKTORof;-ZU=4ugDoz1Bu+l@+{ zts^`_{s++rXJdvo#>3bRbh#>*qhb_^{55kA%NkQD=tz|PVuTmab(H^b$L_F1V zEDhTA9jg>=+{GKh44X+LdLWn2G6Y7cZ zgn!NVJKz_q+;+%+IqZe+o$2`x&j+TBuz_-P&}{a>SEbm$d9)wGdER9wjpEFmsj2_a zinp$DTwd`r3>`T(B=37%U(c=e}mzV7KG)e^wUZDDu zP)yd{!VMhCjLLYc_FCoab_e3f%`fbespuY<+Hbn7*K>!m)FGtj4HwCl;nkQ%F|03C z->_*)7&cx_)*cuNhpOjqPSCRawDDeNLQ@GdM^)2YnP&}RJW>XB09SB=adi^0s_o+F zy9QKhUmxPk@LlO@S@_)(n9Z`6!6m1CT`LpXf`>Zlnut`E2ZbqZW-5LGgH+sR3eFZA zb=7nr4p4?t4r2sSo5iy=XDVc@YM9~MsJsY@HfA)>*TFKD$F-@*X(Ii~gGN~3pO~a} zHlLOpnX9^c-PT_@CZtO!G6)}*SnVPYHEC3%m;Oz~G*e+Yzm9n3-@dxZ#iNj}fSgpy zt0-iizc&zEU90cw#?EXq-=eggIAv}L6Bya66l}g(kA}t)Z!0IeKha+wm9R)RZQpvO zx@NZsA-YmJ$j2-#*^+7=c_|w}9+RI5`&?I80aeO$TB*?Fxb~;zV`m=5*uek2*xJ!Y z6bUvyIQCo6iS*t8y`kA8z0RMhNorK^FSORX3w5wN5c>So^C4@vKPPdvy62lZH|9AN z8lhx^nPWozG}4)BR;${=J(Cp038h|#J8=i9H4CNIdl z`fYqfGC@B@|0iF3IY`_a%Zsr%9%-)XBLDqeJz8WTYsE=USYB*BzBuIh;7H`EOlP19 zr;iDIf8g{duHqJv;DW(R&`(8WZ< zbP3=RMld6gznrAh8A*5<$2ZxMqH|{Zy=lvnD(o8k#^jzOGDZB0+?2es(~)JynuEEV zkA!&=x3`5-n{Y%B6sqj{+ zj>Z=mNq}nw{BGfCAQas7+0s?G&I=Qrr+j z3{!6=Z8A=?zzd?4Whh{?(a+ai30Fp6Ln!L_3%)+z?W~!(KFLgc&q#TgM_sdTNg$$i zb(N_t9k{;R*s3Wj>NZ`o{}*@z@bGNJLJix)Z&9*L&gi-90ds>77ApS7bF;F2vdWAe62?1l7^_}s4JcqxC_~C$4KiY;xKliS9X-fqBI?7#k}w3yZ4Y=bp|a!v zQ-|OYTWMWUyHvd{qrwnSPDC664o@csIO2$ z)zA^8bV}b*s-2Y+*Z*)Q%4Cx_x)vuO`3k}jI8|90|6PIz$IUaJNs=Y|MKQD>5HjK` zoZ>asTN_j6hIm5X`nUSow>lyC3=G}XJClnJsT>^qGdPnKZkK{{tP~^k#@epcY)Fkv z=-S?I)RajTiQ!8T(Q|;^ z$L`D5N3M^an8p>$JbJ=b)PQlHh%C<&uC=)F5V58H4LHObsBTW@5b=AURa(<}!DeH& z6JOTGP2Q^=AZS%D!!p;rn}PTlyxG}x&c$AlEbFq9VTY^W%_On{^dh!O|S}i+^0+;M+CWhUD zR@a$?q%f;3CmQlC@4++@;gHPbUt+eq1?tA*uzBO$Ti9j!0xs>1EFqUReeJ z9Wc>18;t-k>2RJA`Mj8@qRP_!zGElOW<90)q5c|yB+JkVl^gAOxDz)1ovQ)B3ffCY}JeHtJu}gl>3+9o>8vF zsM2~H?N}^I<)>Ull2MLKAm+tn9H?{oXR72~FneZv?~ev7?cZ?*!NpE+x_ZxL_cwVL znFQJxBqL`sv&0R4{n&~+b6Z`>GlWHQe-V+okV=lSqz}yz4IYJPZct_^T4@rVD)A1d zH&))ox<7nDUoA>oT8S(Qok0ssST+;HTGU|PV?dy1dV_npiy+G!=qk3&f`^CrVI)&x zIY{?7URKCxW$Wh>OC6*%y%fBf=-{_ZwxXS#0mf>sY~mzR7jEg4QbB~GaXa2*S`X_H zYalpMw~=ZYjXz9+R&L`|+U4og#TYUXIk9feh_?E6e>SerZgvw_7i{LWr=Md0;GuJh zl4)Z3&nHv51sA8l5fjk>y!kV{&@OJ1CN=>LcTk_O^CQjn;2Sk>e^XL4QZWZp|Kv{6 zOi5r=3H>AZK_B-6ToLLoX7GyN9YA{sV2Qy27~>IxKWl%EEI$;50EcxkJx2=W4hPV7 z!OdY>)2r-E+=LE5wOne!^Qywod*Iqlc?<&A-GqCkQ_3b|py6o&$m6$zxbsPx4a01D z1+7&-M2BbN2qA0v)bA_?{OU634A|3D`HdW*beyV}-+oTKM)-ERVN<0(Ex$Px3nU=- zf-7O8fh2+ww@Y6xFn=53_s_maFIp4EK>zqZuIo zY#_H2Ck(syjziYS9P{f4=y(v_OewyLO7*C8@z$Z*Ju%Qjj7tZ5D4Pn^IRp~L1?`;L zHUQ(YET{*mqYjuy=fpK2NSi`p)5)Iv!CDVzHQVY|vQD)pY)FXjvqNU{ zG%^g4qYD#KZh#h7htJH%2k&)p2-?V#%9U!N_I?I9lH0mik#On+i8*4=EL&mtTV$7{ z8k9j}aH=07s(zJk>NYc(Goa;Pz0<~qHFi<8?p=R>VKp*a`=x|nqLy+y_V&Ic;2JUV87ukayI-+)SAiocUbmLkZvfGw!Kkn{w z`)m|qzpZfX{8?E}k!h!u+KZMXn=>?voT z9BEKCp}&~#zRkbIfir`7qm_1^o9u)xY*+ws%)_WIHYFtzco*7V`UR)X+j77BZRdp| zNP({yYcBpo_a&f^3rEz!RGiZL{qbt-%(*J7`XQa6#P}DMntxA4Oqkl5TOoa+b|2%& zRtjyzq`KOwLIzJ<{pj45&Unr)mCDoAMZr@Oi4OBO?dsRC`vs+MGkgy}xUO{0mYF}B z5g5|#c-%cC^lwjl)>#gAc{_Q*4jrunM9;P$T$~asMRadGP7ShK-{KdT9Th1lV5}qU zD8#tc-3OXp3bvKE&`nI9*%G~xwL}l$B9Z1C=c+>TJAMe)sQsB6NK~#L&SX>=deeX3 zl5ehv-|K6=XO+y~z%uN0n$AZY+gi%5Q{7#sp0eodQAAgCMboRtE^$Iq3 zPt4VTHy4`SJp4bDy#-Jl3%4~I+zAp~6Wrb19fG^NLvVKu?(XjHuEE_2?(Qyc$jSNc z{qKL@t9rGon&|XIa-rBn(kyU5g>*a!e^t^gbBk{d4 zp31LzNzTaY0D>Ba?GeH2^nw`VJ(@=5=QB^GDM2bLRf`b`j!@z#3?V;LFbF(scbkju zZiuAbZitVQhJZ0ignbGrU4WH1rIgi}Q%6fgsXbG5?ik9u`((~SZG4X)V^gtE|lv_M@Eb>LkQ4}{<=6^c?) z)u{Np0U9}wj#sxP?JpHh%tZsfw-%SXVd;WPQ$IbvASZknF591XG%|ftol5i2(OCkL z5*l(}^kcBX^8ey*c3#{reTtS`%JjxHZJ8|UM+3<=5Z;$2ff__SYlsOhYafi)_EV|+yTjCHkp8qlSxR0VFY z1}*o=jq-&|nv8L-<(=yP zq?>U9Z9*+3lIT=Si4|Zc(mACWchw8%)paCFRxU=bYOz&1Lp!pWH`;@qz-uz(Zlv=v zqZS#$T@j7eb1)WW2w6loPjqX<=oB12mp^t$nhL=^4#>Co<>=i3@-I=Xoe{(H(MrGW z+`f(+LnLZzU4@L|?rY(Qh8>P<6#oA1)+R|EMl2uvTPtYEAj+-g@q^U_izN--zi)JB zml8~(TTHfLtoL}0y?3}Yb!@EnR$Gob@3I^#n!MPWtivu}+fR@pst&D3I_j@O49f6T z2i}OE7TGr$;p4o{l(??-Q391PuMyy}L#4K@?`wKl>%Jk3_br{2S+3ePIlLmV4;1ks zI0l>`WScQ&qoTOr=m(lg7qJpKl{$CwN~aY_35oABzu`=4d(0EQIIHhABzzl?HEoK| z)F@E6(ZNnEXqu}itNd2J5gNEw%IEFkGD9_Q2T}$MhUCLkUw`U=&k{9l*yZ}43WFlu z4?|R1L;cI$h$I`b?@%8{W-lJW3{?^RmZaqyreyPRkQLvz`qKpaU_ybcKOl4k=@{erj?pFW_?Er>@_gZG^ty87!yUE!=g`o%D1qU{G7Y zihx@uZR++?V+^`r@85f+kt7&#f5bRW|5zVc;^MH5mo~=v;>KA*!E z)tu~r55{i|kiqKmMk%6>2nh$gYUxq~0E1&kl@G7cRylp8gH!Q)W2WH6q>RDF*#xmLOD|Wbe z(~XCZ^00dW?q6GbT9+8F>sDad5vJn*BW7-F%QLQXYd>Z^(!OVKUWEv+3u;3d?p?>98DtM(88&+? z!_uTyK$y7{-hx<^U5{rq$qs)K35^*x(RPd~DFCs3o|wt^H~f;tVo5TC;>>Ww4Tv^} zk-cx^eMNCHlQ2Ir<1Q=9_A0Ct8{_U|oPd1Cx(zvpo5?M51lS4g$(sRA#ZQY`iO`wp zERWR!aB~_{C1+hYRP3bB0QNFz1cQWjGVpakSnYO+w6o{IL78gTzSne}Yx*nZvO$+6 zmIhS}i-QzaoMK`24}Z&xt2C%d zva?C?RUWnGX@y{j*PJP0^GGsIO0e=D&OE_&1=K3u<4BwpBhbiJ zZ@h!;$um%E_MBA_8<;Y12R#K0r^dvAXcyi2HC4>mm;gevZ7J0c;^%_UMSJfo_y1-Y zIEPTn^^jB!M=t<*tSMdr&-dzB=y^&$OWN#YWSS&L%Lu4C0b0gi|1&c1utU~H%vLK_ zi+)VClZxgJ^FNV+`a$x)pf%$6qpl$Tx zD5GzVJ2l>S;UaxZUa~+W;am7fG3g>3M8GtN&LQ5Oy%L~KlTpT-M8G2qDj7cRKJMKT zptGN~zUi2J6m5QB8T>T(N6{dDSa5F;`AR@Lhjbl)5khKxqb=_P{Hy_qkZpp0tpSNX ztN~$Z5U~N4Wq=n2!)+6k9*{7|?NZ?(S5DF!R}hZP_wY1 zUi{nMK}lUJ1<$^D*eHuExq>$Ifo&BTS#=sXz~MZPA#^@V;p#Ro&g7d}Y0ZCa*U`Ya zUh{gsx9KF+IJfv74tA~lKp58IE1jiFStkPwIfSbZY_Lq0ZJpM16U>`UB;}SANFRS0 z2k}LY>&b;c!0m_oYYy*XMQZJ5SW29jViWpxKsuioaQ5kiJd&*w;fm4@w^dM7c-

|D0EAy|9zaK6Xvp3&0_ORN|)=-h3X%a2}syX1c4^U}U zfQ(PcMhwS)`wVt;J&NhM&#?Y33KEOTszF05v&j`WvVKu4kg1S0tOzr;grv-^B=e*L zOP+7}jgVn5yf_Rt)39B~rBB~!TRHuX+1`W>7Ts*LD6-P_@^jhCI75~uxqA7CV{8~` zNF3(?UB|cC3wdyI8`AzEWK z_z?*=^#wih3u4&dC}By9y#w}@6$u#yLdF%zP@RhlPkMNR^&Exh>O;_Zsc}ixJ21ae~NEMzQc_Tz!^SH0&GyP7Er`I&71pAo`)(&`oH7P3byvb(^wo z)@xoY(9Yf=&BuTT(|0zBV%MR?mti44Bjom9oyM!|Ag%dJsH;%wdqI$tXsDBZYlIn zyMrpc<(2EP2k2Ioiw6aTI&K8ZG=)S)pJQwJC`!kdeash}DQL#eE?1q(80w6W)vrC0 zk(4p6gk#RKijrPYUos+DM@0vwe>(Bhsv}#>Q^s`34Pa`Za74q$;tykBDo4TNl(Utu zU)^T4jy;b!+0g7D~* zUaa#Xf~28do7tayD~>LB!Qa#YFa3s;dU%hI?QqoCHDoSw2t`7gmX)yq>OeiNGN3%> zSatDB?Gi*UATPA=Wj6i!v3r=3+pSMWW3t;9uF;v@1Zu4uCk7NMFJ(Yel9v5O%j9|% z8&zuqgHtoGI+4%9BKO^trDQL_<U&`VE;b&K2XTXwgQgJ9G3n)%BlhmomA`7%Wa$cGV_TP@UK$f2Y3Jk(%MH z&V)F>(wx$%l?ANL`HkGb-P=4`SIfSMaQO1X)jDgf{Yt2K9{a{v@(Ofm>uYIIUa&>j!kFMq%#QSwvKk9Uq0IW4UsOB;U6_k zQ+a#;-E1y#3#Bk3RxsD5=Cian?!oe_Y2~Ub=T}7>t~Eor*OOH_2_Cyon7%5HP&l!U z+*kG|&ibA(OpH|OYqyIEg-@GFV|>xJ_MRFwr#EDL4yxx;?b;NMHUm%S{y%>@L@Di^ zw!*uvNb_clB%{{QZHePofd1DZXXIPU$)iwWx!~`3nYuNg^og!>Z0( zdUhfJ=2}E;sw7uc?#vdofwv0F_`zFDM|ty1nryw(NjXsunRPPj2nN_uN*PWcmF^_^ z+f$NdQcB^;JT{>5?y1gPHX4%m$7M~lIxNUNd2h|&O4F9b9Sckw6#M7IzKKLFGBuv2Y-@Lk z2Z*#+dJrb7^D`})`72!L*dv46bHW?g&q?)rwfO7)?M#2nnGQ_KDud3D*<*}y?GBeA zx_FXHNd`UTu+j{~CU80M5SQNu{@A3{!=$BLU(O9bSp3DR{HL|;YB*x3PqqDj)Z!IA z4Y&pGmcdfawujI&6cQIYt{}xf@yr^N#ZQQ{@QsMPa;>A0_@xb|V3z6{Ypo#EBwI3b7k0q$is6 zg%dd-kx?^C{7}woCcceR+oct{zIn);^OvULDVWwFua>e)xoAD!qi{2l@l{#e1<3kN z*pfZP#M=3WN=9QB^?EcvzB*`)keo1~p_dOjn_&0f_IKc_$Gjm$3zi7y%E#%>GgD?FjGsmyXsp*oH zqi;w;U$qWL*n2T((B*pz+$yNsPRQ;UBZ-cW6W){I?ULqGsY)1RLm&tA$8V0w)(Lkn z{Oorm=jip@dZ6_XzrZq}K19J?PLZ5~Y|mw;8ZHz_m0 zKPsPPG_jWfw1qyuz9EFBL7IQ$yHHF)0`grvZRBJ1s;tljO*iBr zGT9$y`IZA@a3~#Zo`Pg>PV99HVE{rG>l10Fq#pwAhwkP~yVTY1$f+@%Ao;9lM>KNj&}1@-EV~k$Wo%Cp-%d z*2R$TbJP;w{y~;Q2xGFdeougTH-8)L_j2_@O4%z%D1Lq3sEDY!g|rB1Kam|<^&C3F zWG`udhPBdje3DWy(41NUB+kusoKR?)plUL)&>Tl;(N69YZr`fFxk#v2a48!tB$#v(b+zMN2GoS9@%(2Uf%{YKkD zRz;&b`nnlWQ`Ewk`+LbifN}lWuPQ(mK)>Jo22Fn%V)r7H$sl7)R$z& zeFmp@b2Vo(DWjh6vsU3TNRYN_E#jW*XVAB!WVR;qB7@2G;Bfad@VIm^&vpbGpBl9- zbbqkkbYOYmvaVlih$3c|widV(r5pCj+>Iblatzis8FePLeuMg$`;quD&Zmzf0P>WZ zWqAHz!Ty_Nqqu{)UvB>@0BjFFNb10By+qG8_*xD-9gl832y`-KYl}dLkO${$52~UU zu2lAIdF;hZ&~3%*>5bsAYipnvjoG)&eF+iR?uf1%#xyp?dL{lB|AJMx%4__Q+aVbb zA|MN;){5hwkzb3uR20XBFlC(a@&R zWvA;;YU=78Vjs=PQudJX=Xezk#?OECrq|#EU(unuMIn>?q7lOU#l!uD`MS7><#*Bc zIZW*9?MPEI->>fx++QIdTutC6-K^p*w}j^HCpLZDZ@Uie6tO9s-udR7m2YuSEi55L z@IdGEHh%Ru<2tLkrV&bS3y|dC>=j3{e!?|Jp?Np;cAj!fzF~i9@T+7dKQe2&0!>np z?8A`kJzP0TyY`QQ{B6ifVxHmO3_4*FIw5&(@=*1sk1tju#X6n zJ~Y#MvD20V4eeZ&$MXFPy20V<4??*;az;P>0;8WIpaJ9Z5L>L^5D=`aUEM(N@HRFF zM;nuAec@gY9j*n?Dd*Dl<3%h9(MvaLSIrzLYoR>_qgy<7*1eA5a)1oFQ`ETl*VzNU zl9Tvh`PhmZ=lJ)sk#%*3F0DZ2IM{>~Y;L$3ihK8KM`rVBsK`9_5;~ZrOnp>9T+TOB z?X^w5>o4Q-tTLPb_23qJT)tUX zjef3LWswMhYVLj*#a6ukdhqV5d0VXXq=)Jng(~w9=aa?WQ76IdKy6!@Sci18W6(eW zXXjb)J~vhiNw?(8z52D~gqQnC^uL2w0JfI6{$YO;n9r=|54mSVKk)IVy0lw_-iEVI z{FIAHpCEWndv7-9gDwFGUH8wp15R)ddRypj{YmForXeuL8)K2=J@3%+j%-*BN12!H zH*$(5;C$37`!q}ZMceoR7z9J z{>+W&K?`U?5QU$#uH=kjZ(oc20PjLOeG`;@xD~&fndhWlk&Az$qeH^wytu`Axf}i> zk^}g(h?tkJwZAd)7BAb za;i;=5FFL|^3@}9M7CvycqClpKH*$Wz77T{X&e!U)u>zj?m|pUV<@^;WCSP>?75CyY=61P5;y%@|mRLRNCgM zdkBIAFU|dbJjg6$drSh0?WlHHeVx4qccH!Q3DSGC=vMhU&XXA@HfFbw^t<2GJmRa{ z_iCTPo(G=N%TCmdh7jKb0U=>rgB`yA99-ZrTs;4`Zr<|n>Q)QR(N#^Bse#i&2S|^; zZf(+4;25slNxA%9cU-;{gnJUh3}-MXifkVI5!5*UO?dUYKL`02o@@NM>7*{p+0h4_Tm8CYwP3_4k)tY29X*Wgu1-LkUH3+NW?w4h zd^|bj(#Mip?%QpBC2~Zk@Vh6A7xfHF@8-00KQk}Mk1^QvcR=d)Df_cf){Alw=!^2Z z^!kf&l9P3*m~!9^!T9it7yAiV%L`=PT&PQGkh|LtUgqc~xV~G;8~C8;6Eh=WkBOTe zU!Q_ecbaS_B5vWd!RTSWa5yIB*~RbrAa>vN1;WF#mPOJzDebnNH=n=$RHrsbl)oJ` zKXzn}@Wsd;lzq|?3St4*WDRX_N>ca3Hp-yA_D?1OV1#=iF1{ZRzUqI=9?C#Y`4W8^ zvn82n>QZ!|HRT#FT~jog`s=SizWzM5e7*&kMA}p-Mky?!ka%V|$K;>eRO4)japd}y zvg7I3Q)@*HCK?@6UXN&Za)@K1F|_C?(mx7$$mg3M1;(n?SRVSGmOz|zT)SMD7uQx0 z3{*($azQIL5HTS!9)ws0;ffwQEM?H9Z(S%rv_TZW8i*(7p;=pT zau%doSO~R)&py_7l@*kjI~{-szu@1;KutDDL9;4%JbUcnqqcgFs-#phpKcA0s*qf5 z8eB)NQ%j6RTVTSOo;4!T&~owVF~dFT#w6N{UY+(ZZfmSOOtn)o>gky4R9*&IXrS4N zlleL9-l&9&CHlV%A}M7%L*{TWdr0bKt2*e*9PVi)=aw)7R@^8GbuLkCv)l3O#fk`F*wNkZ3y2{(4N>|D_W;9chvGInxJ zR6}wb7JdiCHp@m;v$dS&t#S1uo^!^<OvSm~J?|8jw~fj{ z3nPsM!$=^3`q<897Qjl5oLVJ@(HITj5k)_-(W4H5rKZ%{I104?%noVLJ?iRnc++X2R`pMlf2@i`e60NUvDelESpgSKjb%#W3Oy%1gaji0}FOs$1>#1aJi;N zTj50Zt31(~Ao)#RE;vO8))Ikle*!QA-^)yHnAfnTywn^~vy>0jm3Y442ubXC!HPHY zucHy=UV-cy)0&i+r(`U2m_B+jg5)Y0&$I~MvW!fRk(Sc|s@p@!pB~;H=2S#REYML^ zM+~a~b1Eg40k93NAF$UX0UrIWo`1Zl)+Y0(Xc|hqhVAhx8`V2p;R9-Q4WoR!UFO!j_Zb$*JTGBWzrXtCw-o9=%v-15(5AF>2QDw`2AfyIiBUg zVX|9bS)`s}fhB&~XF3du%x^tz^9BVN)^naUZF*Fn#zJF9oQ9q*1DqP2a3enAU(Y9Led6)Gzms*fZp0a=Ce7t(|Zw9WdJ%Rx+c5La~o2zzP&2zwz` zbs0;%Ak2;&H*?Rzj0`DN`b(X7`G$aN8)C5B)|NRgymC_G+cy_zOJ&l*F~^>}#ySc# zm|N|BChY`euDc`r`nypP5u@RmEg2up1J;@W*kJy{kLNcdtgsY^UrcR}3I%ctweD1^ zbL@v7kE%!ZxhaAm94^z4yWSVNclyhELCF{cbQ2!adW7L`BDRjbp%~|2lfMNn=lCPD zT%+>7iV4I762ggL#xN3^icWt#;S`q#VR$bWdIsnP4lD)z?iUn*DM4a+0Y7u@Hz0q5 zNID?;Q~MqUF(GW=fbuxtOu*hMO-i5mA9I4F(p2*whF`{(Aixtq*~wEz8%^hvP@Eci zWyJb^7n`UgPZq=RA8l`)Pp)nJFt*=;a&QG?5y-0oKaG4WtTabh3nUFzjQQdwU2TuWXPV`aN0DO}%SlyVm5f|sCA6kp2qs8mS}XW6p23BF7<`_WSXQ|4 zT^oRUt>^LgaAljREn5ulpzCb-l#!Hig$wuK(%27m7UC=EuI53%sbDB5CqDf6$6^F( z#24D2QmG_Kz=M>;>=F=Tq{g{veW_d`SAQkPMXd$c0T@Q2O-N$MAOoMQ^uyReZXqL& z3w~eZ)ddNFtD(o=!+H^kjt7d?LOewI2$506;C+pX2l|8W05BfF>GDSbp8E4Qfd%Ry zpac$@3<|}s1ny5i0NBS0DS;ape)K+Xd0pnW2| z?*3c@B1Pn84kvUR>p_3|2;0MxRi7}Naw(QUq^<5A5xttnaWtjNtCP%6ak_>2CxQO} zk2qQwKR&WtQr6EPIW_ywhp1AvJH)v{iR`CYiWmJ!8ll|QV{j=LsNYRrK4~+?h`SQ~ z$7#~%2>(j4b;j&@K4bY}38D~EFo4(ZqsD!~EuqPXEA;5YO|G>xZ1UL8x3*Z`%rMP5 z-5V<{&(yyWm?I+dCGq~L;j320wM7~JKGsT@KhBgGkgAdXu;c^?$bgEacl-Tjh>?k1M;y_AY}TFwmUIm}N!5%BDY3s)HYpNF0OI0`mE!z#L$ zjWiwy%5KLF*~W-BAa5va1%!HqFEAWP0jFWQAr7L9*)-i1zXz#ddUsrnXpp)Mpa-Tz z`jHz%v*B#P_F)7wbYXuSMH1QCPc?8!N1oo7rb>--kh<9lI5zS`R-zJ`PHnrW0$WK2 zLqH-t`s>a?={&8BwhFnyEKRqP(fhf3P0bnn*LmEVJDQOIM7@i*Mhe^K-P6cUx%*D5 zwc46~RnLn8v+Y@@GRFJZ_bI2@-H{&oM`c)-%~USRjD<>Ppk#T+uE&Xc?*I#tzH8QX z)Nd;&9g;U(Bh5d0u5D965nq=la5sM@okkgle`Rp`S%7jtlcD5Q?aV%J|HUk8a78JC ziBt89#1`B)Ld=zxKopmNft3Wu&S$HOr~ZXrVoLyjC^)!c>FnpqFqT>Nmd^3`5na&- z9#Ro8dU(nl*MZ^AJHwqVoJ8Qj6jXHTp+6e{${-M+*iZjqwl$aSqQeRVNOeJ%9yKue zLm^_Hc~ucZPxtJ%pXaL<$qgnl3B*b*7GJLtv!#3iH15qHLYo5B?hR4GU16Dc4BUzM z!))3-(Yzb#L=2&B9P!!Y(5LNBYw%9a2VXLoXbDV>ErGqcjb5FRRq#%qSa0KI7o7(i zFQ4FJmCjA71A}2rDKQc>i1gNRhbbC3T>1$CjNPVrL}gLV#kj?|!8S5mr2Z?`r8JB7 zT)oPIeYk87PnZjn8pJw6=|Rj~aG3Hbem@RytMB9Fa75F^8RqPB0uqOAQorDnaS!vK zC8*sM)bbgYSPCorfIlE$lq(0}#^@|hV<)GOzjw*w(MkMLzdzB9=^Unhf$%HfD+SNO z-9-H^Qcpm>54W5&_Oc9gK7ZSfXHC#5L!jPGt~P6B4Xfx1 z2jmZp#_-_P+w^}@XBOhf<)sr)nH^8_`U&7n?kQ5A!lBe`PyeAz@;@`8wqp05i0c7Z z2#I7;c_guxMBQfbY*M{~eefZ-Z~lFr7(d3km0W3eCG0T2hm1Lm-N|hS$1i=AAgUXj zQBj2{xg(^M@sbsmR(I$mwzOwYvgn!x8RQrKjIfBz2J=s$yS6Cqj^ z0IIGt*wi%$#!Y=;>*K|a_K;qy+ZyD+wBs11wu69?` zO}QI5Bgvx810b*Ao-o_=lwW-=-kx@p`OYvO(OB?cHk1=h1dxEmU-+CE@3&(THFm)2 z$I!C9x?u_pR~~=82o@q6jCCc}FvFkmW2!WeDbwp~qn^oL8Y%$ElbjYMF1tv{2jDmi zisLxhvAFz5T*P8^lRYo_Y&I6fOax-)x@OLo{r&21sSJBLSIzMQBG;A@9cD#xEmtJV z$`s>@&-?f9W+cQQ*5MaQ_`M)@>VWu8kb%xOYN$$A1qLTtvR7>{Wr}q;D?KGVBJ$~J z0_w#G-*fkdZxp5N8@@U=Ge_-Cf--Zy6)t7!V0lt@8%0JuWKzwVB$0FA@|X z=7VEf7ppV@c?0jmFOhOb3uj2aZCarG5&!@|X?Y0eg6o9r?tFY+1*=L(ldWgU=rZB{ zns`oCUCr0P@iQB|CRToA7nR0e98dA}8hF@wQC)hf)u9eS=&HR?;x$cuv<+O7Y&RMP z@EDW?Kf9C-9V#BNryA1Iz+?ermvRcO`3~Zw=IMWDutBR}$1x+o6qYCnTtW4B3=6n@ z`o>oCXAB#9lEoysS$IRZJKU9=sL^A28hBX-cGhzpc4OSw{|#@Hvco7eI{lw9EK?~{ zvhRaTBgXb;4x`pp{qA!zCyrv5jX4~m_L5ChhAQ)*{t{oJP~N5x`BOO|tLzmSrYiiD z*Fqc7Qi2P^!P%5g%UI=&J{+fU~juG`hL`X#u>6x$EPcxe|_C)@c{H_yoXu zj>bo-z?9H0mS4KXn~wIJ=K16g^TgG(Qz1;KV*?4RR0y++1p){H+>c5hfv`iq3^?Zp zcsk9klo~n-b68t34Y!O{^7e=Z(CZm<$WNHC9+_ik-bW}dc1G$*3Sg^d(eTiDJOc1J z2nN=q?rsY_c%u#Z@8x{;;B%O?5ObIc=7241cofQt2@UpczcrF=?msqu%qqR`TsyYy zHU4_GNP;lP)iFuz^eo6>wIa!UOMPT5KKn`Zgc*x?4NcX7*Y=|%F4|)~1|4p7DFgSz zyVDOP2)F$|Df}A%8zh6h6hIc-?Qs14e=$T_9*0=GtThZH<=3mf+>pHIo)?WI1|W)c z=zWJ?x9=Y_&lREHGUt7T2PlW-=;yC3(nZ&eXJqApW zwOZ8n-NJNH%*^kr6Q-sH;s4lHQs0sMGq`=?dsJFY_WmFVrZYd5d^K{L6sY(hMdDqH zQ&;~>iZno6OwRw;gBZU1|NZ{tI>c!F+R(OWE{N##*NPZN`YVNvVurwv#oFS~nNjpD zs6|I`@k%+b&seB{y_rMe>2hNrr(MlZ3^(4-0iDLN*3V$qR$mbQ8T7oK7C4x07E|aO z!zeE$+L+dxkNGRVpx>bVse8sl>v|H&g~k0KqJh3oyl;Ge%jxTTVdi&WPN2V~OT)Q& z`*V-+)}Z#rJLuoS2Kn55`{{u7Pd!9W*)CRlfA{@UR`+`{Qf?Jxj+f0K?TolQ0v$~w($S0>KJK&86TSZ-XI1$@{w?>V;veF}ZpyXIjM*me? zv3mLVc~xb*pP>i zt}?9nW@<%~%WLSR0OXxuSBDi<5Z{+*zj@&yUdTUU-m3cofW%qd%c6xYBi-iQVqb1a zjKS*|^lRz9$L*xDj-EiCWAH@{@bn?X2qo5N3`CmIr^YAS+uv6@pMPb|$n%Pf2EEpe zIa8axr@IKZFUtCIbC*B2nyyA48l+GbD@&NDb;;qtX>qZWZ!g2+Wq?W1A_i@27V*YT zg^gno4qtzbfab)oxy)S41RZKaDO>LRe0J2p8`(u|vc;X~JYnm1T|nhU*N@1_v@o4Yg3@ILPr&C`TC;t@!?+`v@2dh3Ttn834f zRr$)4Qe!VD;SC{9tz}4Z3KcFQWrIR>jO`Y}(jDh+)J4%N{tS_kD_^M=+`0}>meQZp-j6NzpYN&~3vW)13&Ue&F>J_ zxD~ZPaK+Fd6$RUzZU65*DeUT*>kaa-dn?l?+pwpMaw#XpJ7Ao#jN6@)6Id7tkbr^9 z<7QRn<~;DtA|97Pq}tL;{F{}kP_JvgfuF6l#m+}-;kk^-$>bP({Y;6Yb(M;ED*f)Q zDPo$&xxree zeNw##-aTt&@`WXz<>A-vjOzY>Tv01k%^52+)uBRM5Xp-$e5qnXj?I(5+gp|bJb|iq z)SfNuvCV^mWscmQq+RSTWG*IV_A`}7)mk z>#L*Q3gNxHL`9y4q;qQo)JQ5Mngb@pZj5DKZ+eSs#V$egRcn6tw$3)oi{0M=;WH9RKxe@AEI#qHhd8%^aFL zpk?;<9P#3z&B~-_4dSxtfOj_S0d=x;w22F@i;26t_xTkH(#3%NW1Oxcq?}rGe_Y>_ zNyF?om|UccEIuXPAF$g_ojN{AY_9f@6#sAjkcg6t4a|Y&zd3*|cfGZco+V7h`l_E2 zB8*>17<33zN=Z6?L>|uya0;X{n9cM`YXOWVM%VV1o>2(Y=kE6MXOne{EL2uCTu0Pw z5*;#M;;zX+Lcn|{iaRG_#{pY#%GTu!hmt?BQ9oRe+;%zdhJ6@;6)B!uweE+UCQH!F z=G@q&YSyA}A!Ru08ba44HHU8sn=NP=z=cE73`pePzMQDp+g?8G1+~>BjrCDBDKlWK zL!lh8;D;j+xDrOXt5Gs4TXT5pY7^ca>mv$%>&K#LtiU*vwwVBpN)tBP@W$s;;*e8? zlR$2}I&s;p*5kQ9L#SnBGa^m&{I(KR@omqjC5(2g7lw-d-Npr*=&z*mi~FFFp|gOt^>dAJ9Ds*^V!1W6)i}4^PTu!_K#Cb z{B@A&vzH#3(c1-pgqEf=Fx`^Y?EtGF`I%*`tUOzvjy{k>FU?h}T8<%_klFo@j+c+# z#{hT;GzN+gS(G?R5y+{YdWrwSh~tP4h<@$z+|e;4d6(Z@ zbYZB!qTA#xEF|*>V-LQ>-K3j|*bFyQtdotc?CdGGuQ(=}_f0sL)x)03l?*aT?!!mm z#6t&zE8>`O=9GIvTQpf~r9rR7D#er~7I>qkuog${MH?i8M}=-dG&yoHeKl4TJ{D9> zG(OhOaTu}z-nUO1%lHib7sX^OvPY5!fHp7Lyoy7jH_rDDPYB01n@ZQZmX6vGCD-8uOO)mrrz8v^{IS$4`7DYY&NxMqK>QTUx1FS(W;$EZ&+&}| zB|s{<-)l|R$Q<2^7JxXbgOr>U?rqGCW&X$?EPdIh@>AUuRsLA$H*N+dvaq>h8Yn;6 zGg}+i8bzgB_mYYN-)*Cg&k_#mAngM-wya|*|4^^xgTtjhU)=zB-@aP*pGsB5*VA?C zFSomfA_8Mkh8t+c9L=LD2`ApQ6u7m$|GIZqIqb^RRVvN0KO3XJn+=Y5Hwrt)PDv6* z*KLML@?z^)VcC7$&eF!KP`=fB;jPZeHsJbD*`BbLB(Kn@Y6^(dW3_ZkS?Ku{iKd=7 zpOQX|-^cpz>b<9zG`pw<-T2x%2yC#dzj3Y706^+eF_FgP3`$g&qA&n9?cr(qZiX<; zzOJ2mXO@CFvgXp@)Rxd=k!ATNaI=WLKvaS!HxLbsY300~YP5vec59sR3jl6zx|H@DL5_oTN*TQBC!%EMZayx*IYBdse%&jW@S z!V>)rBt58&K>BIkh^H0;D@w<>Z3KiLh$YmH<-hz%ae)6EEO7P7tUY+youi)^E;1VArK(k01$5g z3GuJGDOeih?_S$&alzqJw9&@DAU7292i+7=5}_W55C6a1PIe7H!)r&c+4|?`e0ZLu%cA0NjmRehWGTA{8n1 zDv5A2vsdNz>zV*2SU@aQ13XX{lWeI z8#*xRrY#k}zgeFm8$VM|FmyKNCM0~WoWGgi1Dd}V(8u*C68_HPZwC6$_26Xq_j*9i zL4I5hex|J$;A~7p7hpn2z=w6n527F7K?&lY>Ev@ZW;Gx}1#k+WQ>y!$`2z!{_a5Mxhucz=8zGMM-*fIp9)6MkXm;%R=%&aitGu8cNro`0~=AD#QkT zb}i6>KDAJx5+_Tzua|>F_qO@$lTNA6w=c{`N(>$-QG&wCSsxw$eeAxf;HEt%k|)kC zxdUT9K77ZIc9&-)NGLuuaU{SHJHM&_uW$YEk=AovY*QHhxoJMN_+J^=$X)HAwdG}& z*lztdMwb1D=QOd4EDH_9A(1**P~1RfKkMg>L$NDg@df|10k&tjB%E|opro(*b{ znRAO}zETD2{|BBhT%|X4Lq8v`s9V%?ae%qhab()6(ZUR|A0^k4H1sgUWV3rlSh?Z}IJ4Bj}I>dldD>j>`*l5f_rQ})h)^@wv$XX*~SV_GAW*sbX3XP=lLPY3e}XIz!v>JS|NOo9kW%N zqQMo|{KaYUuu`k&xz{`&-tJU-USIat1sp(*b=iPxQ7)l8`1RZo=?Zw0%qvDRHSu0v zsXbm(!BG>k5uR=mXB@P^^VGrk=RB3Qs@pK-RC6xh6^34Cl$916dUQA>1J(Oa7`tX? z+e<7j2Zh=S-d6ZDv@(j=&#aOZ`aIp=AFnos0#^!p|JTh^Y^Rl6C>-rT@wv*{&BxM7 zbaCw8*}1Ha)V&rWuao&l4I(uNyhJkur2z$5#^B=*q$RT}!<_SE^ARYC%SJJTsmj+f zs*V^Ha~BsYE8yhj&y3}~7K7=)XJ2dz0U)F_kP|cj?_(MXQ@zEQ-h#?sCk%Anhc`Ge zv1~E*qN>p*iG;fxH-jljlvp-{+JrYOgTBH1x?gk^9s=vaVAUYNPcACOxgkvsR; zbaP)xS&6r-YdDjSf&pu{VzywisE=JVn>%`_5dYnK#<6_7c=%Dj?_Z&`LUo??0d-&f zs@-YQ;URq|hqwa_s4b{pU=de~HH$Set%eY88zcS)`1Hg}&nBs=p0dy9qYOv=eZDT< zL=cp0IzvDb@H+4b*i}2;PNZ!Dn>a0pI4!LU1XR9p`{k7YgMs+K6t`geoQEVsKQzo( zLnLIujnWnbyYk^7RRp3st<{!k{Zn(_r55dm2n}Vd#_@sVQdreSN;#zRap9PiFxf_P z{}v(lmOeqry7J)n64I=K+rGj%5@b4Ae_~C!h~G-`7|s5Md|)-o6pE0|b%DErRBuVY zoF0+iP`&cW6)9*e{W-6Pk>cvT^ne-wn`8awP!si|p`u<1n5&%J808lYfIN)%P{Hz{ zQYWR4=HzlI@awXx;C>S@u27!xzuX?kZQC4vX&#pk2&(NGD)H{(i;<5Z#GI6=o4nMR zO2c<~_j&_F0;#w{qu~e5_mei|+@1MEUCEoYbo%MwN!bN~jo0^659P>J(T2U}H|XDq zf%e%!XSn5A#gv5j>j75vpo+Jvzj0uJqYVs*3zG;_3r0V^uHUCY(o?mIDX&Xl(vLzp zX<+wm@>40Z!|2L`2%pC(i=ERjpp2x{B`4IYQpjk|$Ujd>qz+*da+XZIeLcaml~_f5 zeF^u>cZJPXx{Ry^E?_7a? zSE`P3grx14i2iRe%qYglahNl-H z#S(9oH!wNWMTVQrj#z^H_aH;0U~E|$u~pm7{h7r|p@!83e?i4e=`jhxwzFH-na-4 z*+qdKX~goPlvzNl<=V~;^Rt*>4p~n_siRvn)f)-OwUI<4m1k%_BVEYF_MZgjncJNQ z-60a?uB|td2{5;(XgUh(@M`mF7lwB{-I-QK95>VbvgcPRqp4~DzB`V14Xo<5mYJ@~ z!#DY;XMB^5IiF>3K#k+n129m1zyF7`Zw#)q?XvDT9ouHdwmP@!QtxjZ3Yl< z{~rCKqq&snc`GJEn4HWGWBaUYZj{T}d+u9>J>e&;J`CT8hP@T-VaWz9x828i7Ec56 zf|xH~$-bkEl^o#mS~G|0y`Z-1`sTT|i(_T5_N%kNpAs&=H-h?uoCU90!gqR2c$i2N zWo7=QwWyw(YQ*=keKTIe$;TJ}Wx{p+C~dlj)7 zVgM?k+H^G-l}7Gl_Robi67(|;IC(7VN;i(uEDTzKDJ-*g(5Gq1^fm^z}>BS#JxNgd~yAk^y7&Bwj!`+PQN zpWc9GvF+HUHtX%9sV)eM0Tk1u!wZhuG?u<9Q*`ND337bg{aSa1v&E6oXevnQxryaG z-FyI*Ml$HfCUdAS*b9mW%00vjLI$3V|9Wkh6~scGlLe-`DP5y~H<{SxqfFkQ4^job zr^u*=7;?4OgK)8-{fqGF_*8Y@X~_lBR+02%hPczB0&mmXu8fb+C|0b--H0z5S z@}|Tr%x96bPpc}?Pvb0#2HxR|D4tZHmIGhaw^n_+0&FAql3)A9SwE*I!@oj{nOhWs z@3an>AaA-#?roE$+u|CmJ3#n3S>)xcw1rljRZqx;rU?%bM|%wc3ir%EW!)0**t;N( zc9MuDncVq)PK3eQUf%)lHkUimUZ4`UB!9F*rB~_Q)rovv2vx;pKX)er z>TC{vd5viiJ@~SaXk7LrwWN-yG1HSHRk8oNfH$1Q`Rx0Gg>Qq+(IDzPuImqn7N-^z zk1ma#p1XuGc1Mi7-Y>4e+(WU!8)|}a&vS+LTahJ~77y2iLuOY#Nu6G~aBP+N4Fu-I zFOfwU(wSuFJ()7O+M}U6o))U^wQjr?Zk6lL5fkwneZB~@i;l&Fqe?;h(3 zXTeK5mRI6cSAypsL}TXAfiQ8$@tLBdc0Sz^amU1*m9boiyq!V`JfgM(!=_j zLrMwiVcpb82}+Qt#xMBSi@l|nOXj=k#kvsk!O~?M!aA7!=Jqv!FjjC3ZI(T5{bW!T z2OH!Vl@(~>^)IGFYKOY&ULKh^Y*cDO=nYmIhh{*Ui}EJFRA-(3w#8&b&n+hje*;9gdh@1&lxnW50TsZ^37&y>HBN6P~GMRLIvFR$qSq+`eeEo z^|&%*64I%8}sYqcPMgPfyjRjd#V#DeZj_z!V;wzauE|&$ok3KdbvUK zT~91L(p*bw*8qzt^v{9Vq&vKydMSkq*P$zc?D}_CodVCG_fcO-PR%|grp-L7JUEup zUL?`a+uAEoMb!zHruRWVwew77RB89Gi8?} z2!jJMO1>kN7D7JF&Er8=7DplhgG^-1l_b>fc1=L9iZ5)X9JK2X?(KUUaL27Mkq>?| zjZ#X^v>e2t6X7?|?|X9w#mx2Y5Dz!%{r3_(VQM^mV}TamXlZ$$w?)mzH!+W6`>O%7 zurmOA(BSVlSbZfb66XSuZ*BHEy+9mS`6hK2G;OTv8t%If_}b4%O%s1$hWAghRJ(PL z6lAg7Mr!JY=L8=)JG;ES#Xmw7#3qb@h<7c`ir9t0A~7ThJi*V8J{8A6pQOM>k{PJ8RogX)t1I z1+?7M^Thy~!Vs2LzJnOJ=YdChUV%OY!79bKc87N!95ozOoJHEfdRy4$>g*95@EBpk zsq-tiY`u#RApcK40A2?F*BiKXtth4twyW|fGCrgp+L@l<7+u%f=mLwl_Wf!3f z%u<2fNmJ8@Fg1U&5W_nQp8`8A`UDZpL;rJ*Z@CuQEIQL-rrp!vzyHKGAfd6gz3h7f8MIq&np9ExwDo&A~N z50W$cV`wc z)Gnm~$rhgVLvQAuZ0jyqq888`$u2wOX;Qt`7*BekB)>r{?ghUNzYYX#;3fEJ(tqzm zVYEPV;C~_H2#KAQoi&WsUpTZDMh*e+_oT?Qzu7AQpBy0pe(w$9%{A)?X}mgnbhwlD zQ*#sB2HuS6x4Mbr1{FB?2iRZWk$%&>K$u-PHs~BmhWs+c_YZv0?*K77>#VQ;B5*1w zY4T)uF5a0G92V#waDZb4oC0mx|AlMf-rZavcDEEW+%5Oy26gr!%g=Nlk#;#u+4b0k zO%5Ck(VG?G4!9f|q7|Zlic4678h*dDZYQN~aoWMEVL8)D^l@8EL}Ba@4UMh1zP8D8 zW^p4~D`!*FZDXcu7WH{yPXmn$F@vf79Xj8JivP#9utN!RrsCS};MpNdV6%_mf|Xx8 zjICygY$^`ENsZ*B*SkxDK=wH-USfb)kN~_j;(33kad2PL5zjc7n~!*4Ksei1qzmL1jUwh z!{(cgcdK)^o9)3?QbyIZ>j*Dwi?${)XNH9;(`CN1SIjO6(7gSi&pz(VsxHe1KZD53 zxsfmG`jv>(fDG97Dm|zQzgZZZDNlUe7AfIc_0byFqr>m_GLt>KY!j1H2Rbn8&)mgneK%EQKMjEa%B%xXnEF zS1B5$N!iu%OBUI6J$Yc*f!{rZI0j{93B+c;cO~`T9Bbexm!GtjsXqu_PG38naYAah z#{c(C1GfHnhscEcAfB8mFAkjdTEw;ZMqrL<+#Z`YU+XwyKp1b z*bZeFTa2uXwYnB8BWx8oPYofU*d!-F%>+li*c-zPH$MK5`a<(f4Tne-ImomBhii-~U64xSJ<9 zZ|u>_0)BD2PXgOShzf5fi{C2*PYe08_5Zy7oU&f+X34;@fv#8MCHf{sLEjqo=wfia5re_3MYhdYTsfNO#3urGzN98x=Q0x^ zzJ{#$@~~|0{Dmq;0%OAhgBKH_0=FF%>QP{p5XN+K+C@v$WNq1m^5n$0bTN*9N~4qI z$3o(nEsc|Rx!;+-JQgHn|B?M_e3KjS?e`%;15{iXaOZ1nBikS7Xipxsmjo8l2L(Gw z)fO0fmEAhTX^cG-|0#k_p{fHT%lg@Fkx=G{g2ItfNOsI++`3>(Y#>YMu#1|oe_UGl zF}V4L>#19t=D>P-z!34(s7FVi-Z5>mZ5Gp~X*cBGt!PIe+kMa8V6q$LwCVPf z1|HIO1k*6w5=jDZ6>b%?q<1+3vlJ|t4-Jd+_mobC?Xf~|g%5+g7a|hiKZUQynRAdE z)!zuoV6zk03flT^ZvuxB{9bFYGh(7$(l&XAL^d27^&Tv^X?x!|>^7dlY94zN@!Pih zQoU;Toc)&#=%Yxo1_1?7j(dRbm(MTKBl2bnEnJF#wHhZ{hP4SBEF`hZ4Oy59RQ!(6 z)hY8{&t>CND^zXRF+p@tjpPRw{7?KcTEC)Mq4|F1dGhL3Rip$(^Uf61qi8|wRlfa7 z5yZ%08`8j=mazE%k&S+G3yTf?x3q@*Il1~=UxP12^bwsVyY$wLw{lm$D|_+e%4zx@ z($i7?w%kOeYShXj3+LJ0yAeuMBDi?JQX$De7VWua->%Sc82?%Pt>mh~0meDkBx*`Q z-mBecqpWX485*_L;=J~rUwX$<7925r%xXG0D0@YkmgqQ}xj4|A*SnmFU|}6uJg;w$ zL1sPgWaQoBJxWWVEVt;QwiVa_8bOQayHr3s#2MOF2pAi6lYV+Cw#tB6<5kBFeK2Z# z22+I#^3&`jDnk^f?6!$%?v47CZ!kG}-w0AC7Cne04CFPQBCyfMNrz};9h!emogqA| zG3|1<86gN@{b%P80aHVz-tFzenJf4Mc6Uk7lRdhrGzUif@s%cygDak8=kC*hMX*X}okrryR#_D`w&$B5vYu_sCirDWj&~|6<7ZYTH%3|9 z7J2)h)WFs1sWCvCzDD;kO_?p8Ghblx56xmeiNo=EDc-_-Ea)F%3f&u4!pp9mujY%L}b{8XF^NVE4EP&2WXa+6p#GGjv%h^BlN z94lpaB;r&EumzFw_Q8gw)mIjHn6K}g?xedbgmACDXac-e00y96lM|w`2>hwd+x(~A zXmM*49=JZV2G|x~z~L+44Q!EFhn!Hi7jv%P1T|(NxuQp4%$+}2YG*~6v5{+ z_sP(cb&F_^7P{YSvkFC{GZIBSO@wz&!F#*AR}xvH(jL*sm)}Q(&hcZOY`gu!vHnhn za&13@wu;4dF`4{D1a@cWam@#hf3ZBjA^b%W;W7)~M$Xl`r0DCR{&IM|1X0#6Mj6c% zf68DDp_uZZ4F-kX#FA#UR7)nB79i_=Tx%zV`6(q2>YMwTI$7D^ey23ihl;Rqb)+kRKZij_ID^=p*9e>8xa!6KQ~cc0{ny9LfIhrEq0(kPo1%9> zqDv8-D0^*i14fDHBxZ&Uap@%GT*bljhOg35?c8OP6#tWM0;Y=luz~vC&W`KmtMA<| z=NG$QimO9P+Ulnn#uO@iwx`}3 z=WMO`t15PX{Avl+X$dDKL~PA#bPabd-LdgLE=`#W$@dmi=Q_AMp<;da1JSIrLBV+B zroYIr0U5d4-Sp^h@IA#|WzEcvgf7Rph%sArYA^VWClJp)?=MUX&r^p5?3$7B`+8FG zcLEK~978uNV|xXtwz?+cm zh_oW->&W?d5-T2XBb+)%bvxukQx`dpmF|-4ez#yqY{?c*+vr_J(^`{5J=GywUx7`} zsdHEAZb+iVYqPe2{&zBg=drs`)M61|MljgwSUyv-A1^LDW%C_(*QpMdh;f^!7lv_+ z;O`<83BzP;WvRn{S6|1-Bdj`kXt~Rtc_&FjyoiGt z?u{Nx4=qC_?f4!KW!fmdMd6jl+}p%uT0vz}vPW!MGLi+S#XkZNLE>^DbMWRv7^@Zz z6fvYYI}anSoeO$S%c=V=fUPFbT4v~1J^g)4H0EFyU?J^yH6M4Vwl4KvId2sA%R2k9AgiHKIX{E`{w`CCB$a+R(jt8xUfXHaXS&L< zfE3ui7R&pUV^t6S2`?d{e1Bg4n1_n=qml2(>UTJLoGqOzBeY1Q8AAiH+;{Gocx?vXS+ zI$?_Za${i2wFJ2Xy?95_Yoz@2^{swmLFMESZke^_!=4MC0o(wl4`U3c43AO z=Hv7A3nHnJ$-g*XGOnb$9^>R0k4MUXhwrD#832ib4Q{B!p>pz{h5imlQ2l|%pd2^Z zEKsw^;$72_6Cm;1pWD zPsqCUUFutqSXJcVF0VDmAGx5!kVXHepHO0(B3`CA=de<(4fz7`cGTEPjyB14 zr8~Rz-u7pQK!w@U=0#V*-@v@Al@o96>Ir20o(KQvIf7cLxGbDRrVchEKct}{BVr9q zLBa39?wnVSN`ZgFZmo6vCFl@P%C!Q&IuH7cQz|uax{#TxDIhQdQ0I-ne0B2O`VS6c zRsfT)s=KSredYd)KaSL?8Z+;NrF*c@@2fZkMsezBtqw-10aq=?`PrR8tDKNWM*4rY zoEV^x;|JAn;|8);w{Zo!*I+?_|5APKV?Vn_w!ZCt%iNR?>58)UL|R3IYAb965jo_2 zNCPT}`M&6gS!8Smc79$xf0{n$uWO)dbRjaDd4|pQXnp=27y?;{_&YPO5OLQSAr?>$ zB7nGu6o`<4m2NTPIlqDaP1}Qp(HwAqP+8Z1kFu)x46_>AHp=>36cw3PzR7K{rAF{x zfNMSAbd>Ss^T5?CAdD&=)xjP%W?s{pJ{cW6-UTA4$aubCeB;X3WP9@rG=pV-H^z-E zy#-=1KUWf@G`KEe85$2;iN*1>c040&KSDSbeq{dT%ruEQr`x|AVU%V^Utyd_Lz1&1 zEo5wBi7L0G0ZQ^al$E93j{65;k!^NI@CzCf#68ViqbzIk8L#2+K>P zy;<|T9R-5F9`%-nLVsHQI-PAv)MTv;1CnxUclV_?zedbEcoqQZ_v9f6ab`BBiv{!C zg2kW3fOgR+^H}S9TGUKO?DqaTze4D|1BP|u5n(N?^m>z;<;3%N9dHFf zbczpov0ef%V}5^`esI7HvWIgjs*z8B0&k^|(rAqil1PL^zB4!Q1gI6}K31@teXW-J zy{ZU4i-uiWaq15#bOm?YTujAg4#k%OZv2Ix^IpSRrl$|4tuKDY$}itM$uDpyj)2^> zwT@tXvv2=2Ce{z_GzaxfmQ61;b0=z6Qx7^$F0CkG(haW$j=2*yl?87>$B~(3A!fK4 z1lkNNXXG|aBMOhEi5~)!yZ)wC=F#g)dH<-#hn9>RNQ%cIP!&i`kNxd*7vA=lk)FD1 zuR9y)Ymf0;9bZY0;2HAk0rH;PedAtjz2?4zh(9#~x} zPsrB7mhdB^d!dzX84gUyo4N;!Ys&j5aNn+oMRT*8dHD;@sWj!6pX}dqz>}1?v3Ww2 zCj-Ek(=zaO>yI)X(dCUerUVD9mS>X}iR99zs53S95*5=u3|cG#eaP%JGKLgbfZk&_ zZ7VvwPyjjQ_g-84{`>LO$4-UCPMgtgs!dP6EQ{H`TA1RuJ@0#J=V$IDzmKjm_lr~@ z*0E9aHgo3F17xvWAQK=hlDa1Hf_@%@sVsBu zoUAY2r+9Pr(qFm$bmAAS+|v;;rqHJr&2uX|kl|G|1*~Bh(-9JDpw^cC-dhYi2^q;7 z$^U;IjdwyfV~g3@6|x3Ig*>?QoGuI}F}L`hY<^== zc=XE<;)la2tCV*9uc%Z`_ta<#JJe3_J}#$ooR2*Z<6N5i(nGs#!K(u$03M2?~nD@ zp&HM^@OI&@W4@i42z69NB>)E-%b-RXEF|H`B4`)uI+jMGEXe%(o{&{T-{?)CB5z;B~mk}^8j2Ffe{gr+)$Cdt8 zZw58~!!0jnb>=64wgpVzxI1*?s2xG1aYbVw?C=zT4z(#S;go09K%(Reu1(7wFs9u4 z0sl>$BXg7yYiMo9eN6Q_5z8o}@LlZ}5)4OD;X3;XT?>0^AO*+CjHsHXZqaw;eb1w5 zxnv<=;{$o`7m+dxjRDiOk` z#6~4$aVH4@dD9xRm;2>=@)_-5eJT9TaYodbBz0(IpZPLB{e{vKgEz|WFG`MSX>g8mWJ^+nUoShiUT_-mrzG4U4 z=hhuV!u(0iilju~U9Tb>DrUf7_8i(!rNKK5JOj`}=2j%{tGx2@41V!mu+{Dwi)&ua zgz#!E&dr$O;g6$<$5L8lK!p=)tM+%6PhX?K6+1f0&EGWj>iy8U9tI1oY}px`)MfV) zb4QlwK&^v(j`?xV!Pe;4}-2QHGS^;kJz#zAoGB_&L=e zXL%C+#G{_)w2b3V>yH9w||jjIIk*r{*T z$VB}bX0YUju_M>xXcDP@FiK0}On}1~`fN?{_JU+2eeg;0?QCr00Kt1HAaIR=X#X~Z zy~kVW=811Vzdp|(a~}hg(w|8}~*tvLaLBXcPp4U>Qz~E*{ z_1YLHqVJi}re5Roa@x-r5xr{;_mFG)ye91aRPcbjS~;xS2$?=^x~l|iinq;)FHO>8 zn3*~~wNAq&7V6or%k6%BH-3~E?s_WE^%;=BQLQTWgBr z&0edpI#}Z=`yp@Z0~$-SA)$8?1;unCxB(*GVx@A1(k1OAJ9=!t*dFX$Ub&Q{tyrSH z_>BuSF`?|PkWpDdR6I*OYq&jkSX=+=B0_lup`C}lhiuC5vOPQto9Z2>L2A#=Vm6eP zd9f0+x-Zbs`l&*R2H{oDh+b)S%?3&$7~qGmzN+?@uRwVh(+b0m}M>;X`d)%cs_IN@vD&E;>I>m#j zBsnN9#{sR{u=LO^*n zepy&gX@zg*AvcI6EX_TD{oc$F+Nksh;g;-@9CxcB{#gNQU-W=zto4s!tAPDHs_Tyu zDTD2OZyl*op0R;p#7RhvfErW^@wZ`X#rl63wji!sX>#m5Z;mO+s$Q=yDRJI_yc_{M zE5#;^yc$M!*!S@cEw4wn4s z2Zy;zPL|7p>R`&uPhCw`+-4#|EH;At`6J$qjAQq{iL4>q2iDQfq}ineV8BozY!VR4 zkl8y1lrfweCn8z$f6BrBF|{qFq+;i+k+_5B4jJr?#AM7w8AVM}8YjbDUMXqIPZjp< zHxC|7^^WoOQKHpB-@F&HY*OT!jquw>&YykDuS;J4J2zxHav_L772 z)aNz|Z0neD29d!Ho@3#{vO%W)gRKs*~alyWx zp*$?}j@O2)IK7U&MqB%UufB;Vcj{jnUaG!R)yRylavfUfgw+Pr&fKa4y~ezIOuciq zyqSVHz0w&UN#7sY#m2cQ!A1B5CtH!9c5M-&s7so`AQO7q)Q z#s(Zl`sraJA6B-{ej2lN~I6Wx_A;5wtb)j7hzo{c4# z=*-=!O% zEV!I{Q^iHRUaB+hz5XDk^w+lvK1n5W-*_X$uyL7VBTWf4pC0>-8_L-qIH&TCb_LYe zUdTyI?#F(|OWewp>eQViFpdcu!JCZjMz<2XX$%j#XaY6C8@(WH z+zsJC8Fa>oMUQdyO3L>{>nk`98E2N!3o3QLs`AbZ%vkiF&Dc{V+ig4?_DAD`=!{OP zq@;J-Nyo`T({Q-m8AHg8#NXA~d`-h)=dg3w+M{>e+UpwjkLS{tu~~PcR!2xqoT4a- zR;m5h!o;l@7~zhy_pr`X9oCRcX)NoMBGiM;oVpT6pae8tdt*?{l%eM6f?iZ2>v$m) zRMs_!i;SOi;J*n?^Hhyl>cpM3Z$}&obO8$4F;UnXU(1$~;vo!+6aDh{~<{`7Ct(V>hL^sr24FklMSS+}?W(U_NF%{9`^&`eQzBVSm>9R~>Z< zl0Gn@(%mlFrWcc-X4Cmi@(=~fU8l+ws@(ahfSJ>qY@A78bv#ON*KUn99R~u=0uYH1xjE+ zB#%>|gcwKF$XaMYWQ*?)jI8_Q2LKRR5V6uUvIZoy)UhW?Es0HmBm&iyP_nhn=psQ) zsw79LaE*Qm%?NP;5xRacFe3~>GceOXKoEpxsQb}#&8)!QaGkt(u>la=V0H!Dhs`EH zpo;L`--rUKLu7+py*EPf(nWtdFI+Q>XPwAgJPq0&ZSZ30llOJ@KW?h?FWj>{#yl2RwKk&Ap-;?6xk2W_ zZ=%7xEazj~E8dJIgYIzZNxBoa{nT-Ug>Z-f;_yp(TNLMn1PK~-0_A*X37;lYe0Ad8 za3k>Aq_WsLxN7S9hb$8D$? zqG_@m)6zxr5jAOTD^7BNy)P;?)0T+I5n9}#?t=_QUXG^GP5F4=UuGk!bi@W?1Cm@dB{5y}$$I zD;c8Cvt!S)dQePw&*a!s|$y`7z%Q$WhA1e)e z@Gmvk9QCz+VUkGO0c0vF+I3|f7noqJ26|KaHOr%zqe_tJ%;3Tl-*Kf*uB1+WOp~yZ z&Ikr+e>CT^&_iEQ=dt1#;gb!~T8h$rYCgV|E%ZHbPHFT~#|mgIbaKFB%Ss>3^TfDw zOp>#VHaDA{f(n;ohPhaCV{hrs3Rxd@Wd-X)LDM~G1vUn&aAMi|IXpz-`ke1l?O`NW#7cgaIK5A;b$N_*+l| zciiiO_7o%@&@c%c?Ms`*M5tEO^q#-La_^Sw6G*JuioK5hY}m+$^=_yr&Yvs;Awoz% zFRglpBMql9t9`N>B1T;1U}&R)3|YH)8gtm(fE)C&>< z0RxYLN6$Tuk#RQSbn-1-mh8Y2nutE}k0+;sdjdBVetIGU;hwEQ&p;+hoY^X+jIyf( zv#Z0bX~Uw*hfr<=M#~fPbmPX{ImHjp!OFkzi!4w^j%^0f;LqaE4|}J$!&4=mBte#G z-;;^~k#{sP>c!=c6{zO0n5LfN+p$d_`t=5Dj$f%dT3%a~bmH7HnHaY56H8U%rW|iW zIvPfTxniEB!WD-6N%l%1>!HK+x{)>@%tn(T6J`n$K!Dr{`u&2E?A*);qVR0a26 zuyeeF8xr~vPJql$)-%RW79e$JWSrw2A+(Pam#n^0NNeEf+j~I&IT1^V;cdMW=kPil zKum@ZX^i}hb4yRycvP8jt>k<}bR`Lvvc_-&(7me5Np5jy$W8Kr5rg{;c>C6UGHt`A zNT;%#Wka#g1fxrO59?3Iq!j1qS@&b#)ZVB2c&Rdx6Ok00U(iwcHEn-p&UC7e+gC)o znym9VKhyT9C{hYoPv-#4HbTPJX1$NjDQ>@UP{k&zZNjgaNfUjkHj{^Z$9f&Ud?%mD zW)z{=kHF&@1yylnXHNTI&FONBH{PI528Z8!ETtMMb|PlESUk=(QFO@(%VMv^6bB_$ zHq*4nL6_X1Si$a#fzYZYz<{zXSgQKKc{j#-frg_nw8s#M6B;q%E=61*9sfZ7H*@mX z5dBgSwmx;S;>d(Drum^-;#I`7_5rc_K2Y`ygAq#>=1GsiL0TGxlf6&hmF}li6(aG_ z=TTU!5CTP+0L;%lJQ%u#z!2=>0Cs7uBRMV!XwIWor!sqo%-^edZMh#8*mC)@^K&wXcPfRL>K15T2D3Vq?56Ne2kOLZ03dA+=2Iw5sbT(LiP zWxVEgUJxg}3)Y~AC70ow&(MYG9fS zN~f9)O$h(E^7XZH6fM+_QPzRGfV8t!hSCEwJ2Y~*?&a|?sJ0O_mig4{eHc)rbv^%|ltQn#ZAXAw$&wH0FiVRd=u zit0;%PJoVp600cJcaC5a3g^fLN(w{-O;GcN2wLv|LH$b{*h@6Eo%OT-$fB8xQuH0r z%(1683haRx3Q=G*v=#P^KKHm6Mt>YDz|mn5f^^KP%%k>FXWm|LEQ|jjxGK&A`LA0Z z&IWb4^_M}k3>ykk`)`V#9v~%zh3G1qplA@<@*gi?#kzLk&Xh@N-Z!$=4+`4*hQn9| zN@4s>O-rEW)&d`i16lYuVxYDliXJm2jrCYBIh~v4U*qZG0XjGCK9lz-L8jthbp1r3 zGdwD{TC0nlhW%&stL>Vv;ej3Ca7hFsQ#8;gvpAzGT;_}JwC#>KBWJTlv}mY=04i#kr;e z@XkBtC(?B8Bwn=+<)00&{K+|#-wQZ&^fq7wg5Bv@O+*h%|_F084M{ z=MFN4t+(;zHiVeo*6qWX+8!x9^a&;qHmk0_hKZ_;<7hy$u1DYi1}s9MSHZ^ z-5%%(@d$T;yT;YzYInJ{(cMlwcYd|On$NMzJcNt>wcCu zSUcAS4yk`$21Q=ely!9;p- zmy9UM6A7Yz)}Wd&jThS3Zz>cCZ0AmY7R}*oP5OHb0~g!XE{2b@xu|Rb)c!@ugSd0G zW+7w)m#Y^mZ@KuVm3V%k+d-foKdZvV%I>#X`)(;X@h1X~W=UikCEg_l0;A1v7-ElE zXC>=;iqT%@y~qu?-c0pB++qX#w&UOzRENXWK<$Y|;A=4J~Brg{u< zl;e|q5he^^0mtGC*Q(m{YOOD*95Yw%H!2VHNa zh6%b&gd(WnVp}x9f{BzYpPm1nT-PY|CA0l7P8b+no=@T-EOgn027ehz7|o3UrdluP z=uzKL(!S+$)Xr}mO_&Q4hiCaVmn9b{01Nf!K(EY+q?jMgf#9`%c2XQ|u(Bi2IUg&s z?^p=(J7q?vhJe0&Zc;>(4`A%pBJC|-sqo74Ud|#)4VTjGl%R?zrgDYJV`q$}DUeu3 z#+Ayr0v|6JSGmoGS_`jKO{JPi_{Un5(oNnp|*wxz--X*)hiF zBWJAp@7K5EhRIV>wxZG)e4A-J0wsaZ;u9?q#|?3yuXuO2kuZ!*snWqOqo$~6;^D*w z_XtezCD~0)PkW*G`7FMspoA_^ORU8?6m3mU-!lzwO_hM_zt$i>$@JMCLEc_`^ym(9 z>EM3X-Y|JJ$wu>{b>7=#ao^P%fI0@7Zbw|lo^IbZ{z@k)#K3LSIkFON6d^nIw|azk z`@JYm!MHWBJ4Eo~)_SKk*l94AnYUN;v|e*GFTxAJXrZ z_>X>6RcZ%R9yl#OzT_Kc$BoF`+ZI>$jjkv1%~U#{#xiM+;`q4u1+7JwA*@tPupa%9 z4yyRgEKropYV5rJHVT>Pm(_x{%_)&{5go6ry=Jcm@~*>3Hx!0{c%RrU5;eBb{{oBdyTZ%f+V z<&lGrbh!6UFF04ErueRO&@j9UlBP27T~C3ed4jb;6dU`_=40&OwJ&C3tucNC5Rj0J z&Iy*#NDV@XxIp!Wa3dtT(v@04 zeBnxNg=YneTwvFgFHS_Gvc*i--i_DgH!^m`6^pN4bL>5af>*Cq6n4)DCe6f_((08U z2VIeM>|Eh5dtW(ZA#Vek%xGD1bB~c(-WvQCL1OO3+qr z*ivwqHhTpmZ^TwEBrg;o;TF1;%Rcf4fX}QWw{qpS2%nC`LGhir&*$y>bq#Bs#j@&t z(%%R+g%Qv$hl73o+!pA|h5-#_%K?S}p?zt5wGG&-Ml6eQJ=|2m^~dwq9&p2Qh`iiM z_dn<9EL|Q9C4f$=`mb&(N-dz9N~$G3D>@e`KIVi~+=L>w8V<~Rj*ebUr?o%6AwOJYU-!|NvP?`Ic(OYrzX+4`P3cl*NQsz>VNO? z^x*%3MTv0J>v^EMXQw$`ak2+L`Jl`D3J`M30YdIJ@geK>#qH_{mPMC0kFUHv1WpMc zP)0;cJ=eF-`6C0bO?H$wR|Mm=ZvXwS&^>L0SYbf2(4-$5-lY)J`&TWZroMK&aLzVn z?=Xt;Uv&qe`e3D5OW2*NOC-5{RH-bb4wxSF9(P5kn6J>G9h)bYqd_i1$-l||EAmm? zpK3t4E=K6tCvR@6-Dk-?FR$rX6yvGY?I!Dp*T#l{xv3~;6;KW-+Bs3I8n=9DMd z*N6#z>2>+NHqG~R%E@|Uge^VLCH{T(^Mc}-Ka%5^!NaAu8L&nHHiSzKIEW|4o2Kpc z>%>ztsUZ73saXW_Bnd+gvQ`6m)WIv0`;mY-Th@~9GrNMP{?-9(8&IhL? zFu#&kdo}8V2OxXw`g?BT6JLtcbkHbjo^v`&=VIsW=4&R+m&S@_^+u2#=WM|!*zHK2 znN<}s1)Al&*Ts(qV%`-fMID*dKG*N)+5_%xmT%FOQ_J+@QTL=&72!#8J^w`hsIn3D zi6e6DEnNoXM5Ha8+U)tvZpdO3qv;@>g+ebI z>drYftDgaP>y%u0ct21s?>s*+b@&{~SQ@W9N^ZC^YxA8Yd6+N+G8GAOTMTY~WSvC` z`TsR`&d+(a{nn4$*h!Nnjdewh)ikynHMVWDv2EM7ZQHh;G~8F(`+jCW@4P?kSu^Jx zbN&Md)>@zMOa7U$=?vE!l}#`BiA9mK^e_lGC^!KpE|?HLC$6^!Q3S%&G{G+94|NbX zP&eTJ3cRW5e_P8DX$XI|2;eqxcxY*AX$t%i9A@~$%_A)3pF%Tm=)E0uV+&m0*mihy zcmNkbV-Bbr+l4w|sSl7}rlxV-oSXC|cF%fDD0c{xa5KvYfr&xGI~59iQvgeA!$XIL zhAj=}iw_Y?XFMcEu-ELYanw0RR51N$b_lPfGhXnt8wtS}fkcuXw z6a0*+(lsPm^+a6;y&tQ6DDjLuYm2S;_kl1Pa$4{nwK$GTt z{4D^bB)t;EPvc~A#{vEnswuDa+z?!yhoe4Y`#_D*2#i>ed@^GuVCy7&GAYk0gnn_5 zBezc)fmKXH57YkDGF5GZ$L<4O6<;j9RfZQ|!)sG76CMl;^ubF{uu~1*v!KQiY94U~ zQ?EGVFtfZ)jIuqD{`JFU=Q+!DM^cO>%X^i_=SyI78I5 zk^5EJ7Xk`qlp;h4z}(Dv{K5y)ZdqyTm5EJ11Qy!_w)aIDAYACpYTj6P==hxQY_`)| zr_9d@U`2f2`ZXUb%ca4N)7NlrVRqEsF5Ja6Put9L!9DpNd8c1*mygtyiBk^<{yp3n zj{TvR@rll4n?lTg?o>-(yAjEt0&aOfyE-h>(eN{o*2}S<0t9SSd6Wr5#;=m?BuQwK z#bae}{hj_};OP$ae%t?1!6BgTx6e-Pnr{K zo2GN+9Ny`{DaFqLm0SY3&9r)D z==t>mhLB?EY>;9J0DN+O1#mK0|Ncaz0et>ec9^&O!KcD?yj?bv@)vjVsv4<9ACe|P z2d}3uNO0mW5LnQ=L70lC7>(gxMY`%5ECRc{?9klF$t$oVv(eNr(F&{`ManmckeZ;O zxMJM}QvM6)-W2@K>~BzV;;~g^OGPQ~_Zx}np-GGcksIy8msRQ|83uXz^u3ip>xkJU z1d_CiID^=?pb}TfDZkP?0Z>Ug5+Xq$#m zw1Fy2qK z=a!hC`B)zt0Qyj2R4apN@wwWOl5X?6`Hgr@DjRQP;?Kzik6|BbaLkt8GvU6o$`A9L zhdw`6n7;mgF4M=u^A^{t{?DmvVCT=NYtA`=gTsS8)Lu5<)YgbYrX&Ali|~%k`2skE zi1wT$c+lKA6$OpO?WM>y*E-1}{C)H+#7`m5+cvNg0~YwpmB5~;USidw6)TuBpCE&9 ziG{k_k0)j^9UPmz(=C#|l&hc}$}{EVcS50l%Tzxnixft`@~b&HWvA|al=c}2(jWP! zGO{SR4>TX+INr@i(+a$*mDsT0*F%xE%ktauNTtg@2BK(!}X5eZT2awm`&AbcOM5Vu&Phs*|TvdZT0eOc)c4ANURyKVkr zbKHYqQinG1iy}4a+Kfbim2TIL8RImw!*+5|PpE~0(&zOMmHKek&7@N**>;2KMd55^G30jUKXsHGK^<$Yb&>HO*}uBl^4K&+539~^8#aBdUL1-%#4exy z-YRd8gWqqJGR_Gx$hXgBhqg8zHlaiOq$Lg&HpMh8)&%0otE?HS2zu zF125^=j}jY*w zFuSfWVaaHyQ2f=HfYz(pnoOuj( z)y9c0y%2Eyh65&~2qYGV9+sOHc_+0&>sGL&9z|zd4ptrmp~A(uPiMIMNl(0|J_|3o;RmS4Ix1W*=bVYR&ad{kb*`FU8)bLm%>^ zS>*umo{wjK?&Sj9r6*S&2m2i6E~Z~YV03`)Ks;!q*l@LG;H00(Z0;1!Snzr0TuL3Ge(OCrxZzC(Wa*`oRH*=W+At(Ik!8DO7hP;@~;7- zRohy%so=u>U;seHY{7D@Mz_dA6%vTM83MTH^UllZ*Ehxb^uYDHdZCW!2u^S{8GHSZ8w3}G`^RUb2Z9T}{sBa*R&iNA zMdLPF*#QA=w&j_+99@64Mz7VXT8->H=i92r5i)mFbNYf_q zK{|u~l@Z*Mkzu|V=%SwvfrY$sAxPYczC)dsdLcS43vG>z+>)nLUt?9_HeQtyJy+ea zRjk!rzGT0m56fah-guvJ+{p3R!my=+RVEKMdVQ_smyQw7L{J8BeW($*gv8+?<{PQi z3Fh#NwB!bb%O*F@2=qUiy(B7DE57S1ZQoDF<4jtrY|PH$!|k>PKVc%r0BUYh*<9Q( z3nz_fX`)8tz%ggd1{xVk5;v-Ga`*Q4C(9W|Ubg4piQyUG<*h8(Z<>@#h2>^D2ph+O z4dYEZe`?qu9+y4mmDP9K_FL0Qb|Q6n6h)-v^b*;5u|eVRJ}&8gF7xTk_W<|GZ4m}X zp6Y)^ptt3YxJD+``;=2fm6;QW68VUVgThK|DZCNULEyy)m~g1cRI?*2Kz}zds@WN< zt@%~ZYWAUo;!g|Mr;Q@i{+Cu;BUeq!LR}(i^tibQ`%t{PS6k-SjWPp1_E(kI%NsLf z!n@`E*yZ)7GcSe@bL(MO$UVO*NN;yks#a%~Tf&_)8xCDt#<3vSs)eN=zTcW~=$+XG zi8vo^m%7Q{?FoBSD`=ZDa!{GP&mJ(YQB9YpOJg;#(YlbRbO}fx*O)g;}78Z_( zz$f70_2$RVPy3ENga$a2l*azneou+9=uF`k6cC z-{&cE;-B-H+YbuMdE*+t?opi+Wb7e13am~EEpk}x3-cgWc|Ko9EVVXl^dn#+R*N12SuB?!YY z?D$^K{`@mA1?zA;a|81O@{jDoa)Kl@OtHjJM`~ajmFs$zMV9P8);? zoaENxf&2y0>kNfr`LyxjVlmV9o7r3L%|v5cL4l6w)0%RqYb6&`LDgLhwj@l}%zlrOxdkRaaI=nvV7o(79Y3DiD3tO?8IoN&_#{H?? z67SU_mL}THQdo1fJNM%$C*`^^YINCYApPuFAlW?SJDu1HXMK~Tdd0+%JE2<#)Vmsf z35aui1g1_14)`YgGZ1<3=uXG1T7{_nrk#!auqF!1^@UFBd=_=4E(t$|A>k0P@>=r8 zG3y%f#ntJIPsLgL)gWZ1Bc;gXxRW*wdi23Ln~n-l8BqB5r2Di`Em0y`s2k+=Y7+nf zUdjUp3I!cb;20oOAU{37D0xm%=wABROIpY-h{tXg`a8x;;$n$o3Crd!&mn8^(b zJ-wtf%vP0w!J`ZkbC60Ost|N>2iWt8kLBtzJ&ye9DtBDWx0LDfY+C~6=tHvxm#JcS zI*jqVV7Wv7ip=+uSB)o7mZd=^v(XI-qqPNAZbq=Y;S7imIPVfCHz%}04NMkZ;ol-f zVTo)A?2#Z=r3#swE zG%%-o$5f2KtpoO`O6UlsH*ZTr!^gZVp~X~jR;gsJI8RaY)MceD`!uF4 zt^!A+tK}Mx=1mE7D)#kN_+(eR zS2KSsN~2|hsa*oKH54JC`=X4fbCe!zo1dA=NMGX5m@vnRT#njm(#+X*V+r+L1Hq@@ zU75n?mJ4TOY>qfyhi76)n5P?RsM3!et2-N?ML)JTF;h;pPo#hO^q99@-aX-9TIbynk8)2L}N+0}eHXzf3F|I7^^j*}(>XRQ1}LugBn=-E$NefTMy1_!8KW z4_@5cUZkJb1Nso_98^1I?Q6LD^X5hl{dO<6vMx)YIy*Z>STGw0+BG1MD$x0n-|w60 zQzN+xhOds(=Q{5cl?u-w`zR-%G_ zzY;I;CK&%V%DltLY`R1uN&prgnZ?7;gJa&hA-4PKyn3j=N9uBv)!a$xh;zZZVb!ti z*$)~H{^i5BF}5pKbn5EO6!X+O)nNo@6XW5l#7y9O9(VfiOU$}#TyxYIemhxK3ss`K zoBd0mt>P&#@tU;do;vhdpr&7H)p`*vggH1r*Js}a*a{=!+09B&PrxH|<7!f64Xzo& z+z)=OWr#>TV+ZF!G=c0l+zc=(kh`Ov0so}&wN2Bt^TGQPa{I{^Yn{M_sEP(|{70;n z3uXiRU|p@zxcU#{3KKk;<+V3rNn2R-To;_jrkU z@SKR{f%pRQtz+^U)5ycE&l~XHxk&g}FA)WU{5{%27V96O7b0&f*wSZNcpE z&*>kZ=`7q3bJK9k(3|svi#x>0??A~9sXIR=ELH;UYZ0U?QI};kEJ!Uh>ELzY-lYa@ zOEM9Qqpk>c9L{u%Xi2gm+7XN6M`=`Qy$TOi8Ju-XTBVCm?Qh}zSs^3!CngLmA5yu(;frzbQ5$Rm#F z5{LxD*Fw4xj`<<`4n0h%Tyna>j_8rNol>b4oLhT1vVPdhE!`oi$Uv0{bX@v&Ekptb z8|~eI8Iz&$s1t0U0u>#t!wLKK19iBV|EoFX;LMo%kLump4ZRMA4hE?~ZcyV39r<5x z443AdZ);DO74Q}CBbf_0MS>q|$VU-+B&w#tyYfIeKsdPfypTJLthj{O98!n@a4#;= zFqfWt%qT9@BIpmQQ%BFG5!s_jM9*pB9ebXmpvmCOA50MzQpg7Pa1?KN zvOdy>2zgJ8^w4|s@Uo{}?kqT(ipxAza6_5ohF zDPQ=p7NaBiiHXk_m8FclO`U!|LA0@l#{}%|Kh(m9@Agu3k<~Ci3D|eP(TzYMuMfR4 zK|^~3K@?2UEjNOaX5+;VjZxo^Pg|fo4>lN;BCyQR%H4Wt-;xW=@vFw*aIFJ>9lkV| zFK?ukeW0w~;F^QF%;AdSN_>Xc9Y4~Xl{tR`qCOqR_EtmVJfYLXW z5odIR+?cydO;IvT^~P{Jr>kf)GPdr%=2cabZg$xQy8P;oIaoL~;$jt!SDh~CqE2Nf z2UiilX+|(!GI*&)+I%ze{=TlC_aU8KRLrDuqVp4u7!^*N5Df2r82DJjQ71u~lsIpm zhO!+op;JEC`sI?Es4492;IX2fB4jJblG*|<<>MGm0ZQ-T{M($8G{-7yne-Ib#BbTzPsv4`Yk5GqI6bA5NumLP z9@?em*w{3)78wKjY8-SoeKu@s_dW)Wa%ruVy>u|Kgq*FNaeLF!V?O9!>{adT-jw;+ z^Jej}&yU<%20?mk)nXLcb#wHUCQ(xU)1_AQU8*i_H;a#ZmOnI`r8W<)?AnpZz4I_)$kIvHzGF(68l={L(kcHK zsX-sz{)O|APoUOQD+3zd& z;V$rCPy4peTchr}0(7NA{jTuhSQ;B9r*J@>1jCA^R%whQy| z<2UIDtv5&<7yxcvD{hPr|9lQ2dNYTkY)tK?oKfF+fO)Q?;=&vq*}j#5TPEeb6S$X7 z`8F@*e7zHx9qXR%u=^X??_UhdK90A#+f^MBBYrc=_k?y9_ic=|@+`B6e0pq=|$*3U)JE zJxa0JxFx?+ttLUL9jxds`Lr=v)BC@kUT>k@UP^N1r?nARHcEoo1j8LlvGYBGu68Al z_Z2#t-~ns(p-;z^^m2a^5&*1F~n{+k9tC(9@y$-_2|S+!VDl{cgKnqmkPHlVA9z8gtLk?> zGyAaSp8N=;?O_A1xhY*5v`s))N#2`xUmW$W=ArjiiDv$3=c5vkClE9oqTN&%nK|8u z&RAC_kCM=YCi~<7prTlWR0KETMTF!;yOB;{JIKuN_x=LoO#XLqv~nxGl2BgQsHyn* zdpeSD7&jV>_{R`}lI5wqfGs!{A)f4e6DrNrIw1yvpjl}nANP^6|QO~h%9c+_DZ~f=X zr_tH?@U8gzc8`bC?1na{r&mSqt$8zxGV1YA;6CApf&*4WPgfi=a9 z7Ds=8H3XcblR7b}=#gL0rK}mLw2=b$_YyXV+b7Dk5D@%pmO>rnKhsC$PbqZVZi7K! z;x~YFj%@z3fc!|qZ3*fP85Uo8 z4%pi~o3aJ%UdziQNth9Sv(n}@Dc%~%{aF^ZdA?gdyslr35Q*&9mv3sg!d*5JoK)S5 z30YPXQ;{lNJu>fgb93RQ>?rtf+2Y1nJ+xNur)DpLfvgGDa#<$yAeC!LM>@f;m>#FH zWJ}^}m$>T@DLCFfqwV+3_GVT$;zGx?(lcGhQzy;7DFVX&k^uA1H zX8S&(8{cbDsU zy16u|l4(iHh|BAq(aaYnMj0ObXkhEA7tRF4ekNoKg*){CtJ5PX@A;#%l#bVPP_Fko7z3TozdUN2G-?71KQeGA5y-kO4sH&0+0`RwR)apkhJn;&LvhKnzI zjokyF#X&$!pc?^p-2zsELhL?4CI!G9| z`_eC4SpEAsCEy_VQsJXp@|vouYsPrxZ&^4246!J&TxP_|K&wR}*I{PnZJ{|I(dBcO zk;xl2z2?;RKMyL4{nmH4X{VK&yUx(Kq%^b2CZy)u0^_oEtD_?lcQXR_Am!-P`@|3C zOFR}5z=Xk7Lq*+E;Hk1Sy}UsV=$j{o*B_-LD3{<-Hy2$AMqXts0?V?527ew(lG0bh zGE>{mkpwtQytY;HtsL=$pzoMa7FHgCe)?Xl!bOD1?Y1J#o(E zD-rtJcO=eAwK3w21H7iF*ZyB0-NXd=wODui=wJAfa!ABvQxS;VnquL#*n;FqA+Ci> z1etI7&SIbp1ErlA(0ApK93*!p#s*z-DQ6ucS#lrCnWS2lTiV}*-dN^b3U9HGUoq&L RUNqkDEJs-ZlFeKo{{yC8whaIP literal 0 HcmV?d00001 diff --git a/benchmarks/runtime_handle_scopes/evidence/baseline-exec1.stat b/benchmarks/runtime_handle_scopes/evidence/baseline-exec1.stat new file mode 100644 index 0000000000..189dd6603c --- /dev/null +++ b/benchmarks/runtime_handle_scopes/evidence/baseline-exec1.stat @@ -0,0 +1,3 @@ +# started on Mon Sep 14 03:46:30 2026 + +31188918430;;instructions:u;0.00%;2404090881;100.00;; diff --git a/benchmarks/runtime_handle_scopes/evidence/baseline-gc-ratchet.json.gz b/benchmarks/runtime_handle_scopes/evidence/baseline-gc-ratchet.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..0926319b8878026d66932069f24282c340c9f2b0 GIT binary patch literal 5926 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 literal 0 HcmV?d00001 diff --git a/benchmarks/runtime_handle_scopes/evidence/baseline-json.stat b/benchmarks/runtime_handle_scopes/evidence/baseline-json.stat new file mode 100644 index 0000000000..0f0e259f1c --- /dev/null +++ b/benchmarks/runtime_handle_scopes/evidence/baseline-json.stat @@ -0,0 +1,3 @@ +# started on Mon Sep 14 03:44:03 2026 + +3190619152;;instructions:u;0.00%;182814018;100.00;; diff --git a/benchmarks/runtime_handle_scopes/evidence/baseline-promises.folded.gz b/benchmarks/runtime_handle_scopes/evidence/baseline-promises.folded.gz new file mode 100644 index 0000000000000000000000000000000000000000..9ea94c56a56d72eb878822bf28980e0abfbc0da1 GIT binary patch literal 17523 zcmYg%Q*>b4wryxe-4$#`W}~_#TEnY3u6JdfVB8J2SM( z>_A8F61H^}wHo^5RulDRI3jN3czIa7I3d1`2x8O>gVNH~_IzFq-yhp(>wfVq-Ug1P zexDri9kdPa(w)!&^;!q}U-EjwEB~z^Mxx8{d*5+cpytMrKldD60LK7 z&72rMDt;?D2RGc;7^fJHj%?E<7~l_Ao7Md!KZZG$F63Z(qgL-um&iehjH@Mg#o+dO z1-n1}I9?P*-O<8eB2GFxmxZ|(cwr3BsxxKKdf-@^S!KJ6 zE)(iBC6Gd097}5!btKUMIgnH+vnFj(|4NKDj4{G`R1z5KnmDz@Sdt7vkrA*ura-N0 zp+RQks7zw?c4|^;)rb{IO_mBQrgd1#RC$ddMHhwaTX6ZPVOFJOtGPm)u2FG3T^B|D$6$LzK>UJXf%Gzvw{) zK{G0X4)(27#g08SwfAlZyuFK&rv$9T`R^V&hmRP#+R@F<-6fZg+c{R`?l$!3!R^se zBJQ@GU!>!OqTcSiU(1R`c1muyH|V~T?~vF6&CM$8vNm?d3ccD0nC;f;@Rz5UlOj%0 zn2nZ~D1ro^rqe=EoD( z#V(+vd~g*Ee5V|H^-$p?at#=35B#>;%|3hXHNRm_(fvs0E&u*~EQX7X`^XIQ(5Dq% zE|*o$7nf+xN$NT|Fd`m1P4r-KMX^`d#k#_^b{nHSHA|b9KCom-dujsLPt*T9>j7Gg zcUkRC-k@0k33{+pN8aYH5XCH=^Xt62wn)Hd zZvwq_50W0YnoI8igW>03R`Ukdw!8DNjEwj7_+@uD`mD;Rvz~Xx>vk4z&08;Qw7ly6 z0k)j>-swyl``y{*6^2PD!KTZ;;8Wq=jp|dtvGE^Wc;H?Jsi*nT@=Hyji{0pRNxl)e zHSb1+6zqE*B0#2{NOy3AvDDO5zWeF4&OWkV`3#XPZ6DMyJ4Ne{kJGUd77V%2x~fjR zuBp)PurCN8`e}Z+Qyl+DycC1A0crBs(n=QnuE3{ZUdd<)Wbo9)hx+x{ zHRad^D*RRB33|_~M7K?tHWZQAUzCja#%o%Qk_yZnZ}3P#InO{$fa#o?D)4FjkAUCn z!=Uc$?l1HAHnb*lT8$5QY;f5Cgp-nACB%6<`}qSfr(X)t07xq!8W2fix+ z6P$I~-BZ$W-V?45bh~du%dX>!80lzKxp*g)C^DoFG)Dv#CYf3}^R9xRtYIn_%16UVvs7f_M439r{e?JPu+$|^9=5RMrnfL- zhtx&QJCM^>-)%=68ma0Slk=vU)lu^l_7!!+f?s6AmUcnj_Tpe6B41i=Kv3%|X|ZBT z6z_$xK3lHto(rMXWvQ)_It1!=e;kg~rp9O$q%6;_&gv>XE4fiYyur54)o)=^2Y=M| z;GmoW1;IC+TjA$1guElp6gJl>Y`J~KJI9tSv1bfPwAfmqqSAEL$Lb;dn~S=gg7jgH zscf4s71v|Bt}vO9UvQ~*X}_in8}KC15@5}wZnti#^}^~nr&?W(7<^0i;PiLYtDLn( z4z-9@o3_a0rKkSzv^g(k>o&3V<8U$YJv}FSlUU8jN(cNQ#X4QB;+0HG@9s#t-cs{Qj3Q?NAf_9Ego=^h^G#1Ts0*U+~mE!VpVXUKLU zO)yO`uKKy0ZRq#lIK6D>9y4$$Ci^rB*Yw|HyGGt6SnEWxUL!tnvsajSV8U7fUF-`E zI_Lbkkem`)lqm3@F~e{ONO0+dLLRypNGLJ0@te%D7aXtln8ht-uDg4afW@v8Ik_o4g-rvCJV!&b4F&C5NsHf zs`s8jx#)@eoo!!?<3b8dJKYEb;kU-M8cFF9?q`KbpXUyR*;$>P;V3^^j^%3s_jK&Uu zE&m^ks%beXFH_B9#~z4O^=_9d zJzjy z3`DFMp%QwU6Dpyz&yfHNT={UxVj>TBzFvblzT|i|LUTc2Ko{4x`qCyjzuYs#cQ^zh zUfuAZFm($cTttAm20Pd{1ntt$(O#UzZg>%jP}U;-R?w6uUTm=1OLUXIk9-|vJRWUm zuRlW-#(frDt#v7+Oq)r#E!~#tu=7gfyWs>LB|(T8;$$j`<*nz-sc_?-jSW^XU;z+j2RU>F7t#O)D^>+@+bA8lTwoX7M7*vih zuA9Wn+N0#K+{MX+eG0)vNAAhG0Z{Yc>i1XwVpiG z5|muwHQ8AMafsUuqCaKw#)=?k1#FS|q2Us20sa}wlf&Y!4lvb-ChpP|f8F-yO{F1R zCd%E67^bg@(c1y`)G>T~p7Xv>`}BEim$~@zab+hD^)u11bQ!4pu(KEbnIR)awZ7jX zXynEYg8zY1G^E`Km=UrN3NgcK!E@|rWyxd|sMX4qgCjOsqo(Yo;Vil}_BnW)!S*jL z)a{Ao1SPOQ0Gu=Uzw*5Xpt+QhZXT9pOz<0(=`pWhDFDCr5!sPi(cUC~7F4skrFx2<=34xSvq}hSiQ(S*8$`Hj zlnvsi#}n4lp>w$eUj&QC{u10MkLaBY$&T>dw30**5ydT=9BQtA1tQTj`J35+WL z29z=YKZYDv7%mPLE6p7ANUHu0j7`w{z>>o*7E*P<@WKjG z^r|1Va>o&<0jL2+QwL=x0>T}_F~Y(fyrMC{V<3LU-PtyvvLQlYS{SS6at6g#eMx+ffzb3yX0UgW`z)Ks_exRejBXbeXu+Z2EpEXLm?6R(+da}mWJ&e&#YUTGX zGRFJzWVM{$hODdBHb4GnCpLysx?4`7)YcR9<1s4kMX^`ekks%rc01xLdo9E~+48(k)WbtgXzp-GHT4;0re7C2SG}h% z0^fpdwV^3%r9Ws8DDbb-bPYm-d87FtDb_N1c~8MwyoA82nOVB&O2<8pmi9xd0=)(A zJPET|(}h|Jt_Ye9_c?j3_$sB47Vj%*kdj-9t@Mpp$LTJtd}rbo5z}Uh?94B8)NuWlJ-_W*|nZ)CtoR-4xwgUv`58jVk*; z6Se(5?#-H(2a{)+XIVENNKVbI;kGpD1WC(xwxLi*ltr^^Y@kjK-7(&eLj!|^OSsPG z8?B61+I~x56xIk*3pIC3PD@i~3i)%_b?HU&tUoa255Q>qBt|9njIA6{9UPL?PCq+Z z#>Jro;psdA7gvbu0&@~)ZroFnbO=f)#-6za$n2c1=>BCyufjJ z3;-*Qj75zDgaR@kvtpMhKMwN^qBr45;pYVqaspy-aHXHb=#k31>yO7G+BCjkd2%q zea($>_gCTHXW3o#Db&LtK#oJRH!{0|Ei+1nRfVj@Xf1|iC#HSgdtkIH=Rt;}Bjf8O z13kMm@lIdTK(gN-1dJq%m7u(8oXEdJN39@q+G||}3mB4H42fcSN=K#20w&)Ib`ix8 zxHXYE_;2SA+vDo7-_CPDxVMj6JQ0YY`%b7=)VFQ3%Q3)!Ese>-z1O0X3EP( zMWaGHYo}30l_Wk*Jc%4@K16}u#X;};FE5u~FH#yJ3h1mpZf#&|@yj7_sZy!$YGt4%k zJ)k|%gBp<-#|{~hD9i4ER1gqwn*(xiBwuz5v+-8)5EDvE0BC25ESxLMO*<1+m3KJ6 zVD7Q-TLQ{Z)lfA@qinAYPY^bD$J4yPR=Hz@`~JR4v?eB@9;39$;4PEHZE|L=C_M%f z&Wn9*(55-kBtV=#93@DLbDK(_M3I5}5Y~EXSsDD8X$hx$c45q4` zvb30y)!mW`U2F^Wt*!+!7k;TxZ$rh~=6P3w8x?s;&>Y<@6cm%2$__0OEWXAntjX=1 zH$5kwyl*Gkx^Po@Cqw29&C$~BG>*sg^m~Re;!Ze|SlcAkp)yP%4&pFO^;?Ekiqoxz zA*1_CV470Ic)H?ciKs1kRV6E@v|TET{1$)ksqlF3L66m zhw&c+SW`39i|`?JH!>^F?iMvdo3Qno*5P3H_JZAR+ENDgF%>yd092(4QM#4Vqs19a zx@8#Do>7Y}!`B9rf|9BTi>5C@ESaapDOW*&qirU6)h|&5G^jAB$X2-+Gaijui)SAj z72xgK-$ezlZR7DAj;)gEWfC3cYn*D7m)i46p&iwtKxdFpCI+!7<(?00zfo zANzYiAmk=fJm*}TMk54iXY&{E?g5~>d%{-6F5eYCtBkV+oZz326>gY?{B5OoN&(Nu+k`UCjK zpj6XvQk}v%G7VfAg?wO$?mcQ73C(-Yw0#;sDi&XE4QT!Cm^FWhdSpiAoq039M+m|7{WIK ze>qBCy|oq7p7~WO4!HQLw(;M%CwY_?Dyd_*p zKR}3mz1Y6sf-V@h3bwmck{^zzS(^THhBDrqYjRduH6Wq>Zw@2iN`4(&h|AynDxrRe zx_R@qc?vv1-9<}Ns*Ml*PE`p56;qd4Ch2KimnrLB&-TYtsm*buQ?TDjJ6nBe6WltI z6~pI;j4OWVRDx8TYf{g5idcwaw+3KdiJUE=iPh!%ythv=GLh?N^0%&t7_o{PH%|#A zLQWA0vl<~HJT;4mEKdwHf$rDIJ;<>wgntEq;qqfEE;*W~A6#*a{QSnT^I@u}xCSa#TB!Np3qG+$~6 zh1U%I3UCK#eeezgKQm=)f)Q`-i?kT4nQRFEM8MmGAJ{Ga^I}YiS_WBI@)&joJUpM5 z<^H@F)X^Bw!fBY!!RbR$fPc{bppE)^n0ZCc@qN_mxvYC_l#1(trbdL{94|wpLaVaQ zNcXD|)s)G?CJ!7^>CMrFJ~VoWp|f2r83oE6>bU#%pxLV!_|U%wWO(0pab#pt0nGiH zt44FCb_%zEM62kekYgq36tjSm`kK}d{{A)n?5*+wdG+Gm6O)%o7~IZdPH@8t#zuvX zj=a#qNNVR@vqp zI|!w-`09wrBXq?R8;PX^Hx{2(p`5CXPq$1CV3{FW{7OBcIe|HpVxtzH@OGK1;`jWX zO1Ij(6>B;6X%|5PN9YdPsFn zf)&f(7Jne`u`el*iSjaq(@~r-v7(@`9pzFvTehS-7TDZ>+f90EsVo;)$Vo@l z`01+nnx#G8sfHS%DRzgMD*$hh1=EFc8KsP2bG`+#m$G|ZheZ3MrNQkA(<7ZOiVvmw zjl1LXvUxwj{JuV@P^}fkFJI{)Np<6OQG9#U_N9)SRtUdF_DPc)@V?_ePAm-F0w4z^ zzx*4M-w@(B5vq|TtK2r?-RYn*1sAS9Yi&73ZV^L$yHXB8&|OF=<`q%1gwlx9*u_?@ zaTY?IdlqS^te#s#4?7% z0w)F9QL1yE<1FHmQ|~$=5u-REC$MsY|IdCuaYAsZyFGkG8z9KOJWHnfUZ^mPf7Tia zmtVyyF*ygbCAV1J@PaqW*;dnQ!-yX`g#!?R;cyd7VI(f}5`^Xyoom6%o5j&#uV@A17izVxI@;z1^(8V^7OUKcK z2KyO9x&S>6XpUgr=lzGWX(NciYF*bhg==Efm8*|Ua0laoim=_~SArA-&VD#D$rI+q zU6loxSWl&ctsbAxn(6Dd;8d2ls$tSB8WexC9>8iAd>H6n4FTgvXg%>>n(ycv*-Fm$ zJi=A3gNwk0{vJljAFRMbP*@?ST@m079HbWvly|cX{5qGpefHOCD|-H9s(f;J1u^*v z-9Wd$ICf{FtGGl?c6-SY9~)`_w>9E5o?V+?cz*VGz|qT*Cl_hnRROc`+~zVHZ=bE5 znX#+;sja=;-;bJqw!3|v_vAOvV{&T-T3TZj!cUCqU=k!K_c>0nF771^0~ijRRN<_} z)jHGjCHFdtC90#>Iq$iQ*~jdE8Mig9Bb6Xjk%Yw!GeC+>=6|YkB!k73d0GIZy1*}GfT!~kwJ!7vpv|b)lKUkRBvMnv4OY4 z<%>ZrCK4?ZtxVh&5tgoFa|&;*e-4^--WZS)#!_!l(fCEjUnE6vZ|+@rj6vJuJpNuc zCjg$6<>!s4pnBicw>K=dMARMrdiN55^`sw@+QP|6L<;4ryxGV{3Os}xG6`&^uF{!Z z+i142Dn#SaImd*6tBl*e{fD!l8tc;}ana zZ1>mO9m8WSt>Xxpwm{EZTmj3-!u!=`XOXX=-kumy5(=do*exc7o<`srP>yQv#I%P& zZDS~-U}3Y#;=_?@Ykt#okFN@V2TPuCSuwNZkzB;)ybH+)~dN8rqfwtPy8Fg80@`q0<}vxX+mgLD>=mhNGdXk=CC z&E=gRDd$rT3l$<&<@%#Hif;!rgPUx$gZ-fmX{HpicQBAxY-~9Zkv(2KT8<9F@MIc9dp||c}K7Pi?g6i)cWM)b-?wqjb34@^-U_r!5VCYPjp2pA^pK zApmv}E;YCxiXvB>qE9cX6nC)4K?fJK-oQhbzTTUt-MyvBh^9MShTPjI-5PM8@eQ@w z=&_cidVwHA+&K>3rAai?bgKIh+z^k0BOir0!2z$RG1wdE6$B9F9*BZgu=lS@&aXqN z0P`+s9lE4)?dlH0_&uS9k^__4v$HKfz8pY-@DWC&ne&5PXaMvm3Tc|fy>RWxp&*f z(+l^pUgGz8dv~pO{(aRywtmxQf(QttJH1J8Pk`XXgzOYHQ}#RbCW0p_D8f^U5F8wW zvV2c+K0_Y?HpteQF%vE2N~;GR+u#Uj-TYeyq99B}Am}3Y3g*7~uhZtfYVbU7f=Z)a z1<|Oz0E z+-9J9Kttdsp!Yw}`ojjpM^$Z0$_LMM3^Ft38Gpz7`uErMOeVbEF`!BS3+hmyUEY89 zCLnqxqZ^7?Z5{0^pHOwSWb!;*y|-@z!}>_eS?BsH4}R`@;5y3*q1$KRA4@}AZx;|; zasnv|JQT7&D7Xn;avL2krS^B{B@ASKi0tV6tNwwl zuzlcy?On&Amp|9?4^LbZD%$zQc}BcOih!4FXoY98T0|P+HSL9tx5TD=WG+S}q`l_U zLh<$Ex_E1oUnqx4ojegVzEZqfM)wo?j=Y*o2~mt>;DTZUVRI&S>kPRP4H4{n)*S`? z!nc0ap9I(H!Lxb&GQY|G`Xjkh{@HZ`@?+ih?aR!cx!1A>zrQ?Z39 zpv=agf2Y|!bY+0`F+%T~DKr2AMp&N!2pAC~ypR771y+~gVLirdu&FdfV7`PwzCx+E*=F_ONV_Ay zKXKbn9Z>#Q`e#om|DiIYv_6w<$nx-5_<%kQTKLv_^h53TNbZ(Uh>iu?gyT8@^xO-}S?$wRl>}_tlCb9y;iZQ`W+ElLIFe`o>9F^HpgT0d=bL=AjtusZm2=n)U8qvD$^ z$Vj1bKQ6ZY%RapB+HrM9=TT+_bpuYq#whwN5^DFiHI?|I?gE{ zC08Zp{LzE@6{oj#0t;FQLmKl>mb8yT;|^+0>S9(bPlJ3%C9*z%GXu+Ti!?+Y`8Emm zEqU`dFSnQi+*qVodAhKu`H0^tsjZMLRKR@vh19eW+m9l-Vb#H=wG`C)XGGdcpQJoYu%A3jLVe!VTjIeqg-DwLEYYu#afG@7+wZ4^s)&tbBShN6zC z-x~_O2f&_D7_{|I=VuonKn7t9U^wlIl8B|lHTJt{1`T~Udbqpe`Hnu=)Kz4`3Xtc; z)c4W%VNV_{=axNkpz^yYy?gAupWJ-T{kpbiZIT)3{%%ycv9s237>Xvg#c?>v)mNkH zx>v6B7~LLb6zcfI^4#R!?G(wpZ0)z``V;HeU{oukLiQV$5)0EP!#Jg zkUNOGG$Fj$9fvOFmtSJ9r)QE_2hK!zg&y4=x7?7C&O<%&hdV(rg6NY2BQoW zi*r=t7%Xgfs67?VJ2MO^3J0U-+W*KJ46IHqpwakhnwQyd`}<$ronn;i}~Td1$i zozK)kP>hn!<||V{x3_%=BR)w%C@$z)+YI5Z!qAo>iWlRT8nQW11*+Th!dC*!ahnTV z{IPS}{XpfIi?9SM2>%Nk5*7JdO+YI?F;!aF>{Ws8x28g*T+cqY=OY+wHT!LAC)!G^{n==d#%<7Y9Qn_M8@7BYV;F@O`D@S=)-~DG{GYixGo^Ds*@*qBQ>iHEZlopXAm zTJ-rDP&+-HuFoyeD%8jkzrZN}sOB6)28S<>Qt*KXGv9|YAhTuo*pKmnQJ5TS{i9PM zYEqrcjc+Ojfv7-CLQO*T6yD(C=3JLGJBN51H8L zEey+~t(-LqDu_U|tYd^+!)PL=rn228GctT(tpHcYSmqe#IVa+DVGjU)q*3k58=pG* z1g_qYa@56B|2$@?~5kjmX)Dh~#%l2LUp+q7`l48M*d<2SV<`f}d!|6=kL4lx# zpx$>UhymYse?S>6)cVh@A@g}3{IIYgj6(yh4XCxUBx_e8yZpW$-}BL9V;v0weOaRw z)-1D@#xlJ*@IF?2D!T93V5YA?$FZ#$>^o0A)1QKS*7k?WBmdmNv8K&YF@CG+ZY{-# zhUW=x?%zz6x<}lornR%i)bHhJt(~Op;lxC#d1ogxDgoE+rX@REyOM{DrrhF{2z=A$p0ee#9uQR>*RK1lBDtc}<( z^GxvZf4qqZ6U~A-dL*fdBFQm|g9y&^>wvl}^IHSsKxV*X{Lw>-T7q_M zsK#B0gE|*xhejhCSV4V^x=aY&$jgTbTw|*yqQ&=H-hb7AUR?tJ${$+HoU(nllCrSE8}-TzTpmQ(z}=?a7*a6@C+@0>KBhq25_cwt!UV58U|50?tptnIQMb ze_g_LhTOAXjF59C>Vu;DaC`egH?%oZZqL1GNB>@5F)#kLQs>aWvDqn2pKmyPqwE?} zeko3<(;`$RH-0|V&6ehgAjTD5IF2o%P-)m~jiP!N!;lDS_P2iZ_vi}OnS!>J=}1iK zJobx{;l3e$h>!9s??l&$z48+LXr@R*6VDGh7EcBv(PTCNzMC)EX;{Oavi<743~A(K{pY8QGTaX;Quw`D@hB zk825WB`-mAS$;z95*o+I4PFhSWQkl@{-b(`ZbibMWE?WRws_bXwqzL}m*rL$32D*g zRLY+EzBFlfbBvnqe{aT>9HG%_C?8+wR8*4xRpyTxt*`6T9M6mV7-HBuaHf32w0TQU z@@^!|X$~$W9@(kfJam>yg|qTIevNPYhSm=^kqKxAD;n zLy!pLgtOZSXW2Zu!Zy3c$ZC_8_2UfT2nWUokYM!Bt3>`Jr z!{S{0B!h}ggg2Wdp(+_Gy>bk?QkP7rShb#6EJ_DXYOPn*y}eWaHR+$xLOMr&!#yo@ zcL6H_aqv#*r-l~Qz>{k!ff^dM2w@wHqhXxE@c(mk2e+mo?0Vv>-f>jcm6c{+g=5+6 z8RP)~gJMwd=kPO!7e;{9I~4TPQUI~LjF!JEWOrQ8_-UMAZ&btIyJAzCZZ@Z5CLQjU z)-8r*e_2p+2`uhX^Dyh3*2s(UJW5e!z5%Od1U3YfnKHQ1_G-t1J^CaNKY~9qm*O~`? zUO6e}Jjb*ROVo~uDs6$@pqM-kC(&PQz3&b`RV2{U)%}`cGrEGhRuwc#5vDoF_TS57 zKI!RsWuW|Z?8NYlM_Nlsi2j64ulO?y+_vMgX5eN;%O=;!{8dv;h5W}?CF$az-jpwr zL#U{B(~Z$%<%XR~cFvDtSCD!Rm$@=zp=`=-A15gyEpK|ctY9(InSg>~zDN2p&Og+1 z3oGOfi5YI)eorxSkf&{ls2jpv+;3u^Gr#YB0j}3N`>UBXqw)7ri*-`*GDBgYY5`kZ z3xUn$rU`ee@dq4Xvwl5Pq)MC&2wxefzZ^)?Wu&Z5)GGw5ZvuyG;~ThYknI}(azocf zQ--8VMN`XVM%HFOEUfOYuR$pPiMT&CXH!4v#p0BKk}LgX!{rtA=49;Af)rcrQP(3} zSgY(U8&ut+J*zvcEe*LiE}-+LyaoJ5gpJh^SeF^J4e+on5L6eCi{E#!mBBaLPI5J1FU9j(386g7+eqxH# z!#{=xJDFSXcw6g1rQiJSGQ<8jGvC?T-?CDJJn(HnX`fglp9fIJhau$Y#Smj5IVs;u z_`Af~&k9jg03#`C6>S}4ObaAiGnWO%NO+rYs991ZPQnVmZtF#^XkL5c@}~EV`iq`i zv5d~o7dH_xmOroL-5lrdAg;QluLd*0Hz{JwJHOmE&9M!UWxvDX-u#20N4!FQo}b%O zV9Zbwb9QUrBS-Z}-g`psG19ONL-e-gyO+M%CTx9J?E}eHs7XB|601x7b60jDQR)|Y zV4PSp5--T_wwW)h#TW+1EQS5=+;{n^-0E<8^CON0$?}1oDk`#Z4$-4@F6ZhZYbTFJ z5z%DB0;Nzb_;l^3l}?H5u7pXN{YJy%Iw%@0GW^22<+vrl-i37~;sb@f z$|weEq0TPvS>3}oveCEg6+lnwz^cEB1ljcPf*7s5gKhPb161BxL~ZCdB_EOwIn@MY zSIKS7COq{c1&w|5!x6lRY#VM7Kqu>`@3pKHG9uX8ia5Ncid3F3N*SeTRe(+`F)HYl=vi zmd61sb)omJw39-)B!9V1kF)~23H z;EXL)Z4kd*lB%w24_lL-qpk6E!ljT*4jOz2F^;%C5zDCc8tTDau+cY3esI(XES2fG zO}jjC1(f9U@F(m7!Mf_| zA6M*2<$qnVVeN9nt`eYiuo2a1{ph!I)8_qhQuV)?{F2Cunh5!YG6)Gk@|UPAtF%6F zysqa^1yt@3CG15ZOwY5HS-cbu-(#D!$vL7eWp_G@S(2dLQ;whAu6r1vZDHcBdBu6f zH!eI)wUs|=FNO41NQIVi3VN-i#1y&%=n)Fntd_nway0Y2I5KRHlYGzpiz#mM%l189 zFavCHETzBto=`YyPMfhT4_`SG$jKs3(;GaG)=zGwrkpBx7VlFLJ0x|j-t7#G_C_Hj z*3t=od4&O6X2^P|r{}Y0+Z0=VI!I-%MQku)mmXH&GA?jqEuTlJ>@k50981(3Bhw0lFoeIrhH&0A7+R`M zLgx)st9FI8w{RfCf`&cKV6CGdr~a|Z1M5x0^d#^#F=TDpKWf~}NOT7#*I(Rv zXvfT}t6BkfnxOfdFV|dhWQU2ie6(tPC;`{oQ?u0%ib8$%rr6;kvX}xyb3(y ztKq4oy@Oot9YN+VxcL{4+!|Y@fEN{vFT5z`PC6wX3ylCt5pu_j3<;OtHOeM=mk_=F z6lLKiA?m6&PE2mt#Ksn2rG2#e`knsauUnpzQR(oJkZCOgO^;17T9t{>E`237NX@iC zTkPqYt6$9$6)mxF$0TZt#{I5BJFdW+MUdBP@CzD&%K~HPlXFe&vyVgfS)4efWy3I= z3cH;8`RYN86A|0?85RF{!E?l@(A?koKdjn@x4x{dOm=FeSPFzUD3lT6<)VYLi2DCK zmyN$yaa5o4!kURUpLk%7=8fNhxT(g7=z2Z>6B^#9*r|lpgj%>+&dF7=T;Hg-sDHDP zUAniXHVVHjEobbLZPgpJXM%sRoxd8+K)-;yuqF5{xTZ9agY=YCR~pPi+P0YwL#7F7 zuEj89RmS|=LGtl*`FsU%{rwzbV95X$R)TP$pWN|aDC{My?r?|32npR|RxKoVH-?kf z77M+x3>D8H1VavYH_^qWLN&9_5J&k-)(#J=`z|AJK&B6 z?UI1V4OAVuDl2AoH9)Ak#v2FeJUw`CsRBjI8-#%YBXC;kCwuVXVM8xdt!d2`$LmOK zSetPi^pgO5ZbkJG!Zq{1obU4hRfU}5GT2_9>tf>5mFeUG?RQB}c!E?~|Ile>IJZ); zsLoN-QSczuPJf6Bce zm`Y$fAnI&Nj1u!tp@#;!12I)%f%l{0tGPn}>q6L?mp*>pb%ojJij)uGeoTY!;V-ld z?sbGaSg*e{P&x?Xc#cVek8>0&kNW0GTT8Qpk?1;8cym&iIxw!P%V)_1wcbnw?$t82 z6dMP|Xq7+#F$uK6;7rIIr$gV8>*a2b$+7>yM7AQhdD$)+dz_$TZ&#NOPVDh6&j0ObABfd-q{<1;;4t%U^ zDR)|+*Wg_a5?lX+PKNb!+@F%VX)PDGNj4SaJi_fGtPiSSB#HxI=iarAcYdKcVl>h^ zK?xF8uU|A7N6#!)^^~h`crskf$ov0kSW#R3r zHeALYc)-sCq1+Y0-dMd#+hOOk)dDuU*y{})=xXF0@ef<_;~^h12>b)%Y1=Mm|2A+6 zjHr(!q>Gy)vNXgMK^0D7%DBPtQ{dzL!QMS5Wif|ycq13PVfyF*@1G9i#LU0VGfQ(2liI}~l-+AdLn ztJKP1r&>t`cn%$Vb(b1JjDG`CZ8Xl8E<4)~dK^=yK`4Qw!Qd6T`H7IsB2XYw zASzZ66hkRiJnV?gsm`gsa1fG<_i_jz*q{uZ&ka=yo@cmrAmq>yttKc*Q%F$J?|QYvms^`|_z=h7fh~X?jF6VTf*L9A zjyo5-izZGLSNbUXuNX8z#)`k)WjjR8oxZ3nrqp4_z!jaFGchMDhFV23HqxrQs|nWm z^TUH+ajg4t_YXfQ7sBUOl_c`6qauW|I(evesx!x*l)iA+V?zfs?!gn5_E|UBnn@+D ztN4^m%(=7RNIg0*=?w0tMKxMF^M_@3`k#qP8UwsNJYJc0qA*=pEuo?{s&;qv3|`2l zlWXmKr6nU@wdUZHuQR3tOLQrH9H&yjN?KZPQW+d?TF;!unBF{h%4nFOl_N}xCSUH5y zzzDt5rou@D=Cf?Qr`SF9=x1Y^yw`oiC6=&p5Q}_{4dEhEk2)yFY2q)QG1AVWyY|iB zyM8}1T1FvSi$im3Orr2+W&f(B8{6Oo)zD9C6K@oQN=oUd1*LmjVj=S#A>B*hK;N8G zSZFayC-{fQyVhq*1FQaKVkIj4Z1x-qwZ%W}iI_HI66g%X3Y!dRg4tn9;qG2@+Kb8U zIwH@_`7?V#vWC}w52*+X1V`usAy@&on9pJ^k=+YaOjX-bD~Iy3t+rfFmAGON?MXDjz;6hEH5v!EB#tx-j}cVT&$!V@;t9who{U z0HhQ29q1hk>b(NkW2yQ8#}ve1X3sy#l`(o6ii+9%`r(tViC<%KF|l@j^4mJTqXc>7 zCOPDAvGg#};_7z#jppj-P6aYZ!@+}df@82%iP~%<9BLDZ()tHB7k>&H6q0f4SdZV7 z97ed{{X4MMIiwyptAMY~l0=^~a3Hfro7wT=3^cP`xM>GT_W;jZgDur6%1sx2%-&LS ze4C|OfdsEDFdf2-?PLg2*>i--X!!rM61DpfBI{9w@D6$J2~IHWYpP20UDK^xF|{s> zs*M88fi^(?Gl}-{`98QSyF*yyE9~_n5iG*>N)YRf@X8K3(b1Bf(Z8oRM1Gw$@~Jo> zN1evjo>!$@mT=N0M~`p>iYjb*)jnjqH^Bg*Go8FAQo?_f3hu}gl|?PAxqzJmU0 z41eb!R8wUpj&#G{F=RB1qzXfi%J29^a8^y0eO!VbTl&Ln5 ze6;$gbbv()4o9pJE$K{|@;`m7LD8)n8%V4w5TtBz?xVlqoML8+W(bD-ZJOR%539B` zmEr|JVYcn`zX(B(#Q496VaMRfz{p&W=PB>12a^cn}n^wgINkcgO;=k1p6A5PnGN48Gq$_Dqqr(gj7Qs_dVIouM zKdH!YZ{pQ|mG_oV*}{Qj@7d9B!|P6Uz6iK6XM`4RI_zNz13W+7*yu|bR~LN&cHp^NzY+si$-A+%|eZ8N^GdreOKG@-uCMN3kAs zd|Y6m3#=hUpOxs3%a;8r&WeHFUd{6XYCv;L^Y)fFVk1Oj8GMYutTP#sSF^?F(!f$6 zz2o0M*wk*bGPgn|Q*}kB8k;+eVxbbY(_U8;(E$h3cP`SEPt5kenlVz2Qqf$C7<5!_ zqsi-UtZ}P?ekxg*`4_vq8yzM3TEh1^TTomiRO_~Oi$cjV_?bmO<$m7I2*Q8QZ_8&B zXAWO&yp$D3P1b!UdWkdFV66i24;fEw-%DDE0xy4Fn9b(UrF`sF8QD@AgL|17i-doA zu8_WP|1YNkSp9x};wMO|Ybwepo2~`Yf7EzKzDbfTAHK#KWhzI-Ljq0zZ`Hp#W#yG5 zIpPCxyis0R{m-wHP;NM!#nM7#l)fXQuuQ$OEKY2;65Huom0~-iAhxR+f~8d%ehuud zYlCTOOGWa6^!IB{l{9%+L#h}Hm{7rl3S1go`V12MBtePiQ7Dvyb``7O?^--VYhj!E z#IH-Fjpne9co@n9x%UMaln<2ew7336X-3L-{7S}Bkp+#??LNO>%YakE2_&Qmtf@9@ zDtV)=j;~UY8A!aJNwr&;$#`n6g<(GSXQNcw@CW*iEuJqgZ{jNzXO7*9n*mH0NkFMo z+q4iC(i9qI#vaq0FIZ>ohqmE-@-1FJutUIVfCdb)fp>7Y%W=unZR%WCo$7Xta@LFc zKw67<=L98Mz&sQ(O20hY<7@*v!@Ahvp*PG63w*lUPRM+*)3nr0#-<|obX7ON8c&%u z){Ajh%VoL%ROb{m6@b}XM*;t0Jhg-07o^JAd<6|9Mi7>aJ)mS&Ni*`*R&p-qo)622 zvlL!QFjCUcs%od$Ozl@`D)UzL5n>_I4bBhi!Kg^7l>k|d*`PA7Ww7fdhUBhusa50L zzJ3u4$n^7L6t?PS9q_9he$>c#RQRfz2W&+?wi7j;FBgtM0-7#Cw0-r6aM7he>Y=AN z0X;?Mq!e7Zmz2o~z(o|?4=wQu<8(TiSGIa{DydgWI@SdA@4wyMe7qLFy#4L{uh-)C z?(Mq|+uQN)cdAwBX?QCX4tMfr*gAaG2I4rs6JIr~aIEkaE1cz9p7VKgo!-Ui<7YNO^rfYWvv+4+$@pDA QhfmM`KW^i{Z@iQS0D$#Fc>n+a literal 0 HcmV?d00001 diff --git a/benchmarks/runtime_handle_scopes/evidence/baseline-promises.stat b/benchmarks/runtime_handle_scopes/evidence/baseline-promises.stat new file mode 100644 index 0000000000..856901a822 --- /dev/null +++ b/benchmarks/runtime_handle_scopes/evidence/baseline-promises.stat @@ -0,0 +1,3 @@ +# started on Mon Sep 14 03:43:37 2026 + +1100168994;;instructions:u;0.00%;67322145;100.00;; diff --git a/benchmarks/runtime_handle_scopes/evidence/baseline-workspace-warnings.log b/benchmarks/runtime_handle_scopes/evidence/baseline-workspace-warnings.log new file mode 100644 index 0000000000..ec02b37022 --- /dev/null +++ b/benchmarks/runtime_handle_scopes/evidence/baseline-workspace-warnings.log @@ -0,0 +1,163 @@ + Compiling perry-runtime v0.5.1563 (/Users/amlug/projects/perry/wt-runtime-handle-baseline/crates/perry-runtime) + Compiling aws-lc-rs v1.17.0 + Checking aws-lc-sys v0.41.0 + Checking rand_xorshift v0.4.0 + Compiling phf_shared v0.13.1 + Compiling rustls v0.23.43 + Checking nom v8.0.0 + Checking unarray v0.1.4 + Compiling fastrand v2.4.1 + Compiling phf_generator v0.13.1 + Checking proptest v1.11.0 + Checking rustls-webpki v0.103.13 + Compiling ident_case v1.0.1 + Compiling strsim v0.11.1 + Checking crypto-bigint v0.7.5 + Checking pkcs8 v0.11.0 + Checking hashbrown v0.16.1 + Checking concurrent-queue v2.5.0 + Checking parking v2.2.1 + Checking unicode-bidi v0.3.18 + Checking unicode-properties v0.1.4 + Checking tokio-rustls v0.26.4 + Checking tungstenite v0.29.0 + Checking hyper-rustls v0.27.9 + Checking reqwest v0.12.28 + Checking tokio-tungstenite v0.29.0 + Checking stringprep v0.1.5 + Checking event-listener v5.4.1 + Compiling equator-macro v0.4.2 + Compiling crunchy v0.2.4 + Compiling tiny-keccak v2.0.2 + Checking equator v0.4.2 + Checking weezl v0.1.12 + Checking hashlink v0.11.1 + Checking aligned-vec v0.6.4 + Compiling phf_codegen v0.13.1 + Checking matchers v0.2.0 + Checking sharded-slab v0.1.7 + Checking console v0.15.11 + Checking tracing-log v0.2.0 + Checking thread_local v1.1.9 + Compiling glob v0.3.3 + Checking byteorder v1.5.0 + Checking nu-ansi-term v0.50.3 + Checking dialoguer v0.11.0 + Checking tracing-subscriber v0.3.23 + Compiling clang-sys v1.8.1 + Checking v_frame v0.3.9 + Checking crypto-primes v0.7.2 + Checking pkcs1 v0.8.0-rc.4 + Compiling getrandom v0.2.17 + Checking num-rational v0.4.2 + Checking as-slice v0.2.1 + Checking atty v0.2.14 + Checking which v8.0.6 + Compiling paste v1.0.15 + Compiling unicode-segmentation v1.13.3 + Compiling once_cell v1.21.4 + Compiling av-scenechange v0.14.1 + Checking base64 v0.23.1 + Compiling built v0.8.1 + Checking rsa v0.10.0-rc.18 + Compiling convert_case v0.10.0 + Compiling rav1e v0.8.1 + Compiling const-random-macro v0.1.16 + Checking aligned v0.4.3 + Compiling phf_macros v0.13.1 + Checking no_std_io2 v0.9.4 + Compiling profiling-procmacros v1.0.18 + Compiling num-derive v0.4.2 + Compiling arg_enum_proc_macro v0.3.4 + Compiling regex-syntax v0.8.11 + Checking quick-error v2.0.1 + Compiling pastey v0.1.1 + Checking imgref v1.12.3 + Checking crc-catalog v2.5.0 + Checking y4m v0.8.0 + Checking alloc-no-stdlib v2.0.4 + Compiling unicode-xid v0.2.6 + Compiling minimal-lexical v0.2.1 + Compiling derive_more-impl v2.1.1 + Compiling nom v7.1.3 + Checking alloc-stdlib v0.2.2 + Compiling regex-automata v0.4.18 + Checking crc v3.4.0 + Checking phf v0.13.1 + Checking profiling v1.0.18 + Checking bitstream-io v4.10.0 + Compiling const-random v0.1.18 + Checking perry-container-compose v0.5.1563 (/Users/amlug/projects/perry/wt-runtime-handle-baseline/crates/perry-container-compose) + Checking av1-grain v0.2.5 + Compiling string_cache_codegen v0.6.1 + Checking rgb v0.8.53 + Checking maybe-rayon v0.1.1 + Checking miniz_oxide v0.8.9 + Compiling libloading v0.8.9 + Checking futures-intrusive v0.5.0 + Checking tokio-stream v0.1.18 + Checking crossbeam-queue v0.3.12 + Checking itertools v0.14.0 + Checking half v2.7.1 + Compiling macro_magic_core_macros v0.5.1 + Compiling derive-syn-parse v0.2.0 + Compiling simd_helpers v0.1.0 + Compiling fnv v1.0.7 + Compiling either v1.16.0 + Compiling noop_proc_macro v0.3.0 + Checking zune-core v0.5.1 + Compiling bindgen v0.72.1 + Checking precomputed-hash v0.1.1 + Checking zune-jpeg v0.5.15 + Compiling itertools v0.12.1 + Compiling darling_core v0.20.11 + Compiling macro_magic_core v0.5.1 + Checking sqlx-core v0.9.0 + Compiling web_atoms v0.2.4 + Compiling regex v1.13.1 + Checking derive_more v2.1.1 + Compiling cexpr v0.6.0 + Checking brotli-decompressor v5.0.1 + Checking loop9 v0.1.5 + Compiling darling_core v0.23.0 + Checking zune-inflate v0.2.54 + Checking fdeflate v0.3.7 + Checking core-foundation v0.10.1 + Checking security-framework-sys v2.17.0 + Checking avif-serialize v0.8.9 + Compiling system-configuration-sys v0.6.0 + Checking lebe v0.5.3 + Compiling rustc-hash v2.1.2 + Checking fax v0.2.7 + Checking byteorder-lite v0.1.0 + Compiling shlex v1.3.0 + Checking color_quant v1.1.0 + Checking pxfm v0.1.29 + Compiling bitflags v2.12.1 + Checking bit_field v0.10.3 + Checking exr v1.74.0 + Compiling darling_macro v0.23.0 + Checking moxcms v0.8.1 + Checking gif v0.14.2 + Checking image-webp v0.2.4 + Checking tiff v0.11.3 +error: function `registered_extern_handle` is never used + --> crates/perry-runtime/src/object/global_this_webassembly.rs:201:15 + | +201 | pub(crate) fn registered_extern_handle(wrapper: usize, expected_kind: &[u8]) -> Option { + | ^^^^^^^^^^^^^^^^^^^^^^^^ + | + = note: `-D dead-code` implied by `-D warnings` + = help: to override `-D warnings` add `#[expect(dead_code)]` or `#[allow(dead_code)]` + +error: function `wasm_memory_descriptor_maximum` is never used + --> crates/perry-runtime/src/object/global_this_webassembly.rs:662:4 + | +662 | fn wasm_memory_descriptor_maximum(descriptor: f64) -> u32 { + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + Checking ravif v0.13.0 + Checking security-framework v3.7.0 + Checking png v0.18.1 +error: could not compile `perry-runtime` (lib) due to 2 previous errors +warning: build failed, waiting for other jobs to finish... diff --git a/benchmarks/runtime_handle_scopes/evidence/fault-omit-last-root.txt b/benchmarks/runtime_handle_scopes/evidence/fault-omit-last-root.txt new file mode 100644 index 0000000000..18f4307517 --- /dev/null +++ b/benchmarks/runtime_handle_scopes/evidence/fault-omit-last-root.txt @@ -0,0 +1,7 @@ + +thread 'gc::tests::runtime_roots::handle_stack::handle_stack_growth_preserves_every_moving_root_including_last' (140172551) panicked at crates/perry-runtime/src/gc/tests/runtime_roots/handle_stack.rs:36:9: +assertion `left != right` failed: root 256 was not relocated + left: 5193047556104 + right: 5193047556104 +note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace +failures: diff --git a/benchmarks/runtime_handle_scopes/evidence/fault-skip-cache-unpublish-direct.txt b/benchmarks/runtime_handle_scopes/evidence/fault-skip-cache-unpublish-direct.txt new file mode 100644 index 0000000000..c52d35f341 --- /dev/null +++ b/benchmarks/runtime_handle_scopes/evidence/fault-skip-cache-unpublish-direct.txt @@ -0,0 +1,5 @@ +test gc::roots::runtime_handles::tests::handle_storage_teardown_clears_cache_before_late_scope_drop ... +thread '' (140212420) panicked at crates/perry-runtime/src/gc/roots/runtime_handles/tests.rs:69:13: +assertion failed: crate::tls_hot::hot().runtime_handle_stack.get().is_null() +note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace +fatal runtime error: thread local panicked on drop, aborting diff --git a/benchmarks/runtime_handle_scopes/evidence/fault-skip-marking-barrier.txt b/benchmarks/runtime_handle_scopes/evidence/fault-skip-marking-barrier.txt new file mode 100644 index 0000000000..db6628c14a --- /dev/null +++ b/benchmarks/runtime_handle_scopes/evidence/fault-skip-marking-barrier.txt @@ -0,0 +1,7 @@ + +thread 'gc::tests::runtime_roots::handle_stack::handle_stack_pushes_and_updates_shade_all_kinds_during_marking' (140202315) panicked at crates/perry-runtime/src/gc/tests/runtime_roots.rs:109:9: +assertion `left != right` failed: new handle during marking should be marked + left: 0 + right: 0 +note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace +failures: diff --git a/benchmarks/runtime_handle_scopes/evidence/fault-skip-throw-truncate.txt b/benchmarks/runtime_handle_scopes/evidence/fault-skip-throw-truncate.txt new file mode 100644 index 0000000000..c136279d53 --- /dev/null +++ b/benchmarks/runtime_handle_scopes/evidence/fault-skip-throw-truncate.txt @@ -0,0 +1,6 @@ + +thread 'gc::tests::runtime_roots::handle_stack::handle_stack_real_throw_restores_live_outer_scope_and_ffi_roots' (140196641) panicked at crates/perry-runtime/src/gc/tests/runtime_roots/handle_stack.rs:88:5: +assertion `left == right` failed + left: 259 + right: 1 +note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace diff --git a/benchmarks/runtime_handle_scopes/evidence/fix-artifact-sha256-after-ext.txt b/benchmarks/runtime_handle_scopes/evidence/fix-artifact-sha256-after-ext.txt new file mode 100644 index 0000000000..41088dee6d --- /dev/null +++ b/benchmarks/runtime_handle_scopes/evidence/fix-artifact-sha256-after-ext.txt @@ -0,0 +1,3 @@ +0fe4c749815c59704150d6d3cc27307e99c1cbf76b38d546ac7224dbc7b3d9ee target/release/perry +4c4ca74d1a1c2c44a4031484becbdaed81c9ad74f40714b0fb117ce90c3c894f target/release/libperry_runtime.a +59d55f6218322b4af78ac9fd91768990490c70c408cd7a63f80b1fae783c4317 target/release/libperry_stdlib.a diff --git a/benchmarks/runtime_handle_scopes/evidence/fix-artifact-sha256-before-ext.txt b/benchmarks/runtime_handle_scopes/evidence/fix-artifact-sha256-before-ext.txt new file mode 100644 index 0000000000..264cf6a1c0 --- /dev/null +++ b/benchmarks/runtime_handle_scopes/evidence/fix-artifact-sha256-before-ext.txt @@ -0,0 +1,3 @@ +0a51732419d93c3d0840a3b579029ea5f4757053ec43d234234cb00d00f6baaf target/release/perry +4c4ca74d1a1c2c44a4031484becbdaed81c9ad74f40714b0fb117ce90c3c894f target/release/libperry_runtime.a +1cd675153e968f039b680651813e5606f55bab986757e40c7a98ad288941da29 target/release/libperry_stdlib.a diff --git a/benchmarks/runtime_handle_scopes/evidence/fix-exec1.folded.gz b/benchmarks/runtime_handle_scopes/evidence/fix-exec1.folded.gz new file mode 100644 index 0000000000000000000000000000000000000000..783b24ce28119ef8c0d1e9df8e8668270b4f5ed7 GIT binary patch literal 162817 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 HRhQ#m^@;O; literal 0 HcmV?d00001 diff --git a/benchmarks/runtime_handle_scopes/evidence/fix-exec1.stat b/benchmarks/runtime_handle_scopes/evidence/fix-exec1.stat new file mode 100644 index 0000000000..012a181ae1 --- /dev/null +++ b/benchmarks/runtime_handle_scopes/evidence/fix-exec1.stat @@ -0,0 +1,3 @@ +# started on Mon Sep 14 04:01:58 2026 + +29854497805;;instructions:u;0.00%;2506884207;100.00;; diff --git a/benchmarks/runtime_handle_scopes/evidence/fix-gc-instrument-smoke.log b/benchmarks/runtime_handle_scopes/evidence/fix-gc-instrument-smoke.log new file mode 100644 index 0000000000..9b8c6a2a5e --- /dev/null +++ b/benchmarks/runtime_handle_scopes/evidence/fix-gc-instrument-smoke.log @@ -0,0 +1,70 @@ +== compiling fixture with PERRY_GC_MOVING_LOOP_POLLS=1 (the schedule needs the polls) == +perry: in-process LLVM backend active (LLVM 22.1.8) +[perry] codegen: modules finished 1/1 (100%; 0.0 min elapsed; ETA ~0.0 min) +== arm 1: instruments OFF (baseline correctness) == + [off] correct output, exit 0, quarantine retirements=0 +== arm 2: PROTECT_FROMSPACE=1, no schedule (pressure-only) == + [protect] correct output, exit 0, quarantine retirements=0 +== arm 3: PROTECT_FROMSPACE=1 + SCHEDULE_RATE=1 (the investigation pairing) == + [protect+rate1] correct output, exit 0, quarantine retirements=1236 +== arm 4: PROTECT_FROMSPACE=1 + SCHEDULE_SEED (the tunable middle) == + [protect+schedule] correct output, exit 0, quarantine retirements=287 +== arm 5: the same seed again (the reproducer property) == + [protect+schedule-repeat] correct output, exit 0, quarantine retirements=287 +== arm 6: a different seed (the sweep must explore something) == + [protect+schedule-other] correct output, exit 0, quarantine retirements=302 + + [seeded schedule] pressure-only=0 < seeded(0.25)=287 < rate-1=1236 + [seeded schedule] same seed twice: 287 == 287 (reproducible) + +== arm 7: quarantine over the gc_ratchet probes (allocation-point route) == +perry: in-process LLVM backend active (LLVM 22.1.8) +[perry] codegen: modules finished 1/1 (100%; 0.0 min elapsed; ETA ~0.0 min) +perry: in-process LLVM backend active (LLVM 22.1.8) +[perry] codegen: modules finished 1/1 (100%; 0.0 min elapsed; ETA ~0.0 min) +perry: in-process LLVM backend active (LLVM 22.1.8) +[perry] codegen: modules finished 1/1 (100%; 0.0 min elapsed; ETA ~0.0 min) +perry: in-process LLVM backend active (LLVM 22.1.8) +[perry] codegen: modules finished 1/1 (100%; 0.0 min elapsed; ETA ~0.0 min) +perry: in-process LLVM backend active (LLVM 22.1.8) +[perry] codegen: modules finished 1/1 (100%; 0.0 min elapsed; ETA ~0.0 min) +perry: in-process LLVM backend active (LLVM 22.1.8) +[perry] codegen: modules finished 1/1 (100%; 0.0 min elapsed; ETA ~0.0 min) +perry: in-process LLVM backend active (LLVM 22.1.8) +[perry] codegen: modules finished 1/1 (100%; 0.0 min elapsed; ETA ~0.0 min) +perry: in-process LLVM backend active (LLVM 22.1.8) +[perry] codegen: modules finished 1/1 (100%; 0.0 min elapsed; ETA ~0.0 min) +perry: in-process LLVM backend active (LLVM 22.1.8) +[perry] codegen: modules finished 1/1 (100%; 0.0 min elapsed; ETA ~0.0 min) +perry: in-process LLVM backend active (LLVM 22.1.8) +[perry] codegen: modules finished 1/1 (100%; 0.0 min elapsed; ETA ~0.0 min) +perry: in-process LLVM backend active (LLVM 22.1.8) +[perry] codegen: modules finished 1/1 (100%; 0.0 min elapsed; ETA ~0.0 min) +perry: in-process LLVM backend active (LLVM 22.1.8) +[perry] codegen: modules finished 1/1 (100%; 0.0 min elapsed; ETA ~0.0 min) +perry: in-process LLVM backend active (LLVM 22.1.8) +[perry] codegen: modules finished 1/1 (100%; 0.0 min elapsed; ETA ~0.0 min) +perry: in-process LLVM backend active (LLVM 22.1.8) +[perry] codegen: modules finished 1/1 (100%; 0.0 min elapsed; ETA ~0.0 min) + 14/14 probes clean over from-space quarantine + +== arm 5: PERRY_GC_SCHEDULE_RATE=1 + PERRY_GC_VERIFY_EVACUATION (#7254's pairing) == +-- 5a: the pairing on known-good code must stay clean, and must be LIVE -- + correct output, exit 0, 3869 objects copied under the verifier (live, no false positive) +-- 5b: #7254's retained-growth workload must be correct under the pairing, and LIVE -- +[perry] codegen: modules finished 1/1 (100%; 0.0 min elapsed; ETA ~0.0 min) + correct output vs node, exit 0, 12532 objects copied under the verifier (live retained-growth coverage) + +== arm 6: the schedule terminates at the DEFAULT stride, on a realistic poll count == +perry: in-process LLVM backend active (LLVM 22.1.8) +[perry] codegen: modules finished 1/1 (100%; 0.0 min elapsed; ETA ~0.0 min) + correct output in 0s (budget 90s), [gc-schedule] forced_collections=2332 copying_minors=2332 moved_objects=149070 loop_polls=400065 + +PASS: instruments inert when off (0 retirements), live when on + (pressure-only=0, rate-1=1236 retirements), program correct in all arms. + Quarantine clean over 14 real probes (allocation-point route). + RATE=1+VERIFY_EVACUATION pairing live and correct on known-good code, + and validates #7254's retained-growth workload against Node with relocation live. + The schedule terminates at the shipped default on a realistic poll count + (0s of a 90s budget) while still forcing + 2332 collections that moved 149070 objects. diff --git a/benchmarks/runtime_handle_scopes/evidence/fix-gc-ratchet.json.gz b/benchmarks/runtime_handle_scopes/evidence/fix-gc-ratchet.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..7f060eb3f476edf81f14feea4afd8edc6456fc03 GIT binary patch literal 5976 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 Sw?F+J{k~7SJt=U~fc-CT$OHHQ literal 0 HcmV?d00001 diff --git a/benchmarks/runtime_handle_scopes/evidence/fix-hoist.stat b/benchmarks/runtime_handle_scopes/evidence/fix-hoist.stat new file mode 100644 index 0000000000..669cc270fe --- /dev/null +++ b/benchmarks/runtime_handle_scopes/evidence/fix-hoist.stat @@ -0,0 +1,3 @@ +# started on Mon Sep 14 04:00:54 2026 + +13003278589;;instructions:u;0.00%;812668797;100.00;; diff --git a/benchmarks/runtime_handle_scopes/evidence/fix-json.folded.gz b/benchmarks/runtime_handle_scopes/evidence/fix-json.folded.gz new file mode 100644 index 0000000000000000000000000000000000000000..7354d82137d5f7e3b5a4405a0a5550179be54f24 GIT binary patch literal 38105 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

R+$H-6Yp#(u-2Qe*gm=ObHdi(X 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 E0LXFA&;S4c literal 0 HcmV?d00001 diff --git a/benchmarks/runtime_handle_scopes/evidence/fix-json.stat b/benchmarks/runtime_handle_scopes/evidence/fix-json.stat new file mode 100644 index 0000000000..bc417da622 --- /dev/null +++ b/benchmarks/runtime_handle_scopes/evidence/fix-json.stat @@ -0,0 +1,3 @@ +# started on Mon Sep 14 04:00:03 2026 + +3132631719;;instructions:u;0.00%;187775736;100.00;; diff --git a/benchmarks/runtime_handle_scopes/evidence/fix-lint-full.log b/benchmarks/runtime_handle_scopes/evidence/fix-lint-full.log new file mode 100644 index 0000000000..ea53e935a3 --- /dev/null +++ b/benchmarks/runtime_handle_scopes/evidence/fix-lint-full.log @@ -0,0 +1,104 @@ +run_lint_gates: 79 gate commands derived from 45 lint run steps + + ok [Changeset gate self-test] ./scripts/check_changeset_fragment.sh --self-test + skip [Require a changelog.d/ fragment for crates/ changes] ./scripts/check_changeset_fragment.sh "${{ github.repository }}" "${{ github.event.pull_request.number }}" + (needs GitHub API repository/PR context) + ok [Validate benchmark artifact and fallback gates] python3 -m unittest discover -s tests -p 'test_benchmark_*.py' -v + ok [Validate benchmark artifact and fallback gates] ./tests/test_benchmark_peer_fallback.sh + ok [Validate benchmark artifact and fallback gates] ./tests/test_benchmark_output_verifier.sh + ok [Validate benchmark artifact and fallback gates] bash -n benchmarks/compare.sh benchmarks/quick.sh benchmarks/suite/run_benchmarks.sh benchmarks/honest_bench/run.sh benchmarks/honest_bench/harness/run_http_bench.sh tests/test_benchmark_peer_fallback.sh + ok [Validate Windows LLVM runtime npm staging] ./tests/test_stage_npm_windows_llvm.sh + ok [Release pipeline failure-path regressions] python3 tests/test_release_pipeline.py + ok [Release pipeline failure-path regressions] node --test scripts/publish/platform-visibility.test.mjs + ok [Install Rust toolchain] rustup toolchain install nightly-2026-08-20 --profile minimal --component rustfmt --component clippy + ok [Check formatting] cargo fmt --all -- --check + ok [CI plan policy self-test + docs table freshness] python3 scripts/ci_plan.py --self-test + ok [CI plan policy self-test + docs table freshness] python3 scripts/ci_pr_files.py --self-test + ok [CI plan policy self-test + docs table freshness] python3 scripts/ci_cargo_test_shard.py --self-test + skip [CI plan policy self-test + docs table freshness] python3 scripts/ci_cargo_test_shard.py --package perry --total-shards "${{ fromJSON(needs.plan.outputs.plan).cargo_test_perry.total }}" --validate + (needs the CI plan's shard count) + ok [Compiler-output gate liveness] python3 scripts/compiler_output_step_liveness.py --self-test + ok [Compiler-output gate liveness] python3 scripts/compiler_output_step_liveness.py + ok [Audit workspace architecture] python3 scripts/workspace_architecture.py --self-test + ok [Audit workspace architecture] python3 scripts/workspace_architecture.py --check --print-summary + ok [Linux incident collector fixtures] python3 scripts/test_capture_linux_incident.py + ok [Public benchmark evidence freshness] PYTHONPATH=. python3 tests/test_public_baseline.py + FAIL [Public benchmark evidence freshness] python3 benchmarks/ci_public_baseline_check.py + public baseline error: public artifact benchmark inputs changed; regenerate it with ./benchmarks/run_public_baseline.sh + ok [File size limit] ./scripts/check_file_size.sh + ok [Local binding type-proof audit] python3 scripts/local_binding_type_audit.py --self-test + ok [Local binding type-proof audit] python3 scripts/local_binding_type_audit.py + ok [Binding upstream pins (lock-step)] node scripts/binding_pins.mjs --check + ok [Bundled binding governance] python3 scripts/binding_governance.py --check + ok [GC store-site inventory] python3 scripts/gc_store_site_inventory.py --self-test + ok [GC store-site inventory] python3 scripts/gc_store_site_inventory.py + ok [Address-classification audit] python3 scripts/addr_class_inventory.py --self-test + ok [Address-classification audit] python3 scripts/addr_class_inventory.py + ok [String payload-access inventory] python3 scripts/string_payload_access_inventory.py --self-test + ok [String payload-access inventory] python3 scripts/string_payload_access_inventory.py + ok [Class-id collision audit] python3 scripts/class_id_collisions.py + ok [Object-header shape-descriptor census] python3 scripts/shape_descriptor_census.py + ok [GC pin-site custody audit] python3 scripts/gc_pin_sites.py --self-test + ok [GC pin-site custody audit] python3 scripts/gc_pin_sites.py + ok [Cross-thread promise provenance (#9552)] python3 scripts/check_cross_thread_promise_provenance.py --self-test + ok [Cross-thread promise provenance (#9552)] python3 scripts/check_cross_thread_promise_provenance.py + ok [Runtime GC-pointer holder custody audit] python3 scripts/gc_runtime_root_holders.py --self-test + ok [Runtime GC-pointer holder custody audit] python3 scripts/gc_runtime_root_holders.py + ok [Poll-capable reach audit (GC root dominance)] python3 scripts/gc_root_dominance_check.py --self-test + ok [Poll-capable reach audit (GC root dominance)] python3 scripts/gc_root_dominance_check.py --audit-poll-reach + ok [Thread-local GC scanner registration audit] python3 scripts/check_gc_scanner_latches.py --self-test + ok [Thread-local GC scanner registration audit] python3 scripts/check_gc_scanner_latches.py + ok [Rekeyed side-table custody audit] python3 scripts/gc_rekeyed_key_tables.py --self-test + ok [Rekeyed side-table custody audit] python3 scripts/gc_rekeyed_key_tables.py + ok [GC environment-knob drift audit] python3 scripts/check_gc_env_knobs.py --self-test + ok [GC environment-knob drift audit] python3 scripts/check_gc_env_knobs.py + ok [llvm-inprocess corpus currency] python3 scripts/check_llvm_corpus_currency.py --self-test + ok [llvm-inprocess corpus currency] python3 scripts/check_llvm_corpus_currency.py + ok [Statepoint pass source reader] python3 scripts/read_statepoint_rewrite_passes.py --self-test + ok [Statepoint pass source reader] python3 scripts/read_statepoint_rewrite_passes.py --check + ok [GC documentation claim audit] python3 scripts/check_gc_doc_claims.py --self-test + ok [GC documentation claim audit] python3 scripts/check_gc_doc_claims.py + ok [Windows-portable text I/O in the Windows-CI audits] python3 scripts/check_locale_independent_io.py --self-test + ok [Windows-portable text I/O in the Windows-CI audits] python3 scripts/check_locale_independent_io.py + ok [GC evacuation-liveness assert can say no] python3 scripts/gc_evacuation_liveness_assert.py --self-test + ok [Node version consistency] python3 scripts/check_node_version_consistency.py --self-test + ok [Node version consistency] python3 scripts/check_node_version_consistency.py + ok [Raw-handle debt ratchet] python3 scripts/raw_handle_debt.py --self-test + ok [Raw-handle debt ratchet] python3 scripts/raw_handle_debt.py + ok [Unrooted-local shape ratchet] python3 scripts/unrooted_local_shape.py --self-test + ok [Unrooted-local shape ratchet] python3 scripts/unrooted_local_shape.py --check + ok [Unrooted-local shape ratchet vs. merge base] python3 scripts/unrooted_local_shape.py --no-raise-vs "$BASE_SHA" + ok [Raw-handle debt ratchet vs. merge base] python3 scripts/raw_handle_debt.py --no-raise-vs "$BASE_SHA" + ok [Gap snapshot checker self-test] python3 scripts/gap_snapshot.py --self-test + ok [Platform-aware parity allowlist self-test] python3 scripts/parity_known_failures.py --self-test + ok [Parity allowlist ratchet (provenance + stale entries)] python3 scripts/parity_known_failures.py --audit + ok [Moving-GC gate wiring] python3 scripts/gc_gate_wiring_check.py --self-test + ok [Moving-GC gate wiring] python3 scripts/gc_gate_wiring_check.py + ok [GC matrix liveness gate] ./scripts/gc_repsel_matrix.sh --self-test-liveness-parser + ok [GC matrix liveness gate] python3 scripts/gc_repsel_matrix_merge.py --self-test + ok [GC matrix liveness gate] python3 scripts/gc_matrix_liveness_check.py --self-test + ok [GC matrix liveness gate] python3 scripts/gc_matrix_liveness_check.py --check-registry + ok [Test registration (dark tests)] python3 scripts/check_test_registration.py --self-test + ok [Test registration (dark tests)] python3 scripts/check_test_registration.py + ok [Per-test global sinks] python3 scripts/global_sink_isolation.py --self-test + ok [Per-test global sinks] python3 scripts/global_sink_isolation.py + +run_lint_gates: 6 compile commands derived from warnings + check (18 exclude args) + ok [warnings: rustc warnings (product)] RUSTFLAGS="-D warnings" cargo check -p perry --bins + FAIL [warnings: rustc warnings (host-compatible, all targets)] RUSTFLAGS="-D warnings" cargo check --workspace --all-targets --exclude perry-ui-android --exclude perry-ui-gtk4 --exclude perry-ui-ios --exclude perry-ui-macos --exclude perry-ui-tvos --exclude perry-ui-visionos --exclude perry-ui-watchos --exclude perry-ui-windows --exclude perry-ui-windows-winui + Checking bit-vec v0.8.0 + Checking quick-error v1.2.3 + Checking rusty-fork v0.3.1 + Checking bit-set v0.8.0 + error: could not compile `perry-runtime` (lib) due to 2 previous errors + warning: build failed, waiting for other jobs to finish... + ok [check: Clippy (product)] cargo clippy -p perry --bins + ok [check: Clippy (host-compatible)] cargo clippy --workspace --exclude perry-ui-android --exclude perry-ui-gtk4 --exclude perry-ui-ios --exclude perry-ui-macos --exclude perry-ui-tvos --exclude perry-ui-visionos --exclude perry-ui-watchos --exclude perry-ui-windows --exclude perry-ui-windows-winui + ok [check: Regenerate API docs] ./scripts/regen_api_docs.sh + FAIL [check: Check for API docs drift] git diff --quiet -- docs/src/api/reference.md docs/api/perry.d.ts + + +run_lint_gates: 3 of 83 FAILED; 2 CI-only skipped + [Public benchmark evidence freshness] python3 benchmarks/ci_public_baseline_check.py + [warnings: rustc warnings (host-compatible, all targets)] RUSTFLAGS="-D warnings" cargo check --workspace --all-targets --exclude perry-ui-android --exclude perry-ui-gtk4 --exclude perry-ui-ios --exclude perry-ui-macos --exclude perry-ui-tvos --exclude perry-ui-visionos --exclude perry-ui-watchos --exclude perry-ui-windows --exclude perry-ui-windows-winui + [check: Check for API docs drift] git diff --quiet -- docs/src/api/reference.md docs/api/perry.d.ts diff --git a/benchmarks/runtime_handle_scopes/evidence/fix-promises.folded.gz b/benchmarks/runtime_handle_scopes/evidence/fix-promises.folded.gz new file mode 100644 index 0000000000000000000000000000000000000000..f44daf93e576f867a8d6f01d74d2ca4ab027a64a GIT binary patch literal 18753 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 literal 0 HcmV?d00001 diff --git a/benchmarks/runtime_handle_scopes/evidence/fix-promises.stat b/benchmarks/runtime_handle_scopes/evidence/fix-promises.stat new file mode 100644 index 0000000000..b7689f9cff --- /dev/null +++ b/benchmarks/runtime_handle_scopes/evidence/fix-promises.stat @@ -0,0 +1,3 @@ +# started on Mon Sep 14 03:59:08 2026 + +1050989735;;instructions:u;0.00%;103935311;100.00;; diff --git a/benchmarks/runtime_handle_scopes/evidence/gc-ratchet-comparison.json b/benchmarks/runtime_handle_scopes/evidence/gc-ratchet-comparison.json new file mode 100644 index 0000000000..1db55ef750 --- /dev/null +++ b/benchmarks/runtime_handle_scopes/evidence/gc-ratchet-comparison.json @@ -0,0 +1,12 @@ +{ + "baseline_sha": "9fda98df68d9fac3c08b2385fae007aa9f5278df", + "platform": "darwin-arm64", + "all_stdout_match_node": true, + "identical_cells": 126, + "excluded_metrics": [ + "peak_rss_bytes", + "rss_bytes", + "wall_ms" + ], + "differing_cells": [] +} diff --git a/benchmarks/runtime_handle_scopes/evidence/gc-ratchet-pinned-failures.txt b/benchmarks/runtime_handle_scopes/evidence/gc-ratchet-pinned-failures.txt new file mode 100644 index 0000000000..3ddb72bceb --- /dev/null +++ b/benchmarks/runtime_handle_scopes/evidence/gc-ratchet-pinned-failures.txt @@ -0,0 +1,31 @@ +Identical failures on clean baseline and changed runtime: + - 01_nursery_churn: heap_used_bytes 212,168 -> 438,744 (+106.79%), allowance 65,536 [increase] + - 01_nursery_churn: copied_objects 4,977 -> 6,690 (+34.42%), allowance 249 [either] + - 01_nursery_churn: copied_bytes 234,536 -> 466,392 (+98.86%), allowance 65,536 [either] + - 02_survivor_promotion: copied_objects 34,550 -> 37,366 (+8.15%), allowance 1,728 [either] + - 02_survivor_promotion: copied_bytes 1,450,992 -> 1,690,264 (+16.49%), allowance 72,550 [either] + - 04_dead_after_deep_stack: copied_objects 3,622 -> 2,666 (-26.39%), allowance 181 [either] + - 05_closure_capture: copied_objects 20,079 -> 14,285 (-28.86%), allowance 1,004 [either] + - 05_closure_capture: copied_bytes 743,384 -> 534,720 (-28.07%), allowance 65,536 [either] + - 05_closure_capture: promoted_objects 3,390 -> 6,154 (+81.53%), allowance 170 [either] + - 05_closure_capture: promoted_bytes 122,120 -> 221,624 (+81.48%), allowance 65,536 [either] + - 06_string_retention: copied_objects 298 -> 270 (-9.40%), allowance 16 [either] + - 07_array_grow_evacuate: heap_used_bytes 1,072,456 -> 1,211,232 (+12.94%), allowance 65,536 [increase] + - 07_array_grow_evacuate: copied_objects 4,991 -> 6,702 (+34.28%), allowance 250 [either] + - 07_array_grow_evacuate: promoted_objects 4,879 -> 6,154 (+26.13%), allowance 244 [either] + - 07_array_grow_evacuate: promoted_bytes 615,696 -> 841,048 (+36.60%), allowance 65,536 [either] + - 09_try_catch_roots: heap_used_bytes 212,168 -> 443,520 (+109.04%), allowance 65,536 [increase] + - 09_try_catch_roots: copied_objects 4,962 -> 6,673 (+34.48%), allowance 248 [either] + - 09_try_catch_roots: copied_bytes 230,352 -> 462,024 (+100.57%), allowance 65,536 [either] + - 09_try_catch_roots: freed_bytes 11,112,472 -> 10,023,568 (-9.80%), allowance 1,048,576 [either] + - 10_store_receiver_across_alloc: heap_used_bytes 220,384 -> 446,776 (+102.73%), allowance 65,536 [increase] + - 10_store_receiver_across_alloc: heap_total_bytes 16,777,216 -> 22,020,096 (+31.25%), allowance 1,048,576 [increase] + - 10_store_receiver_across_alloc: copied_objects 18,660 -> 14,625 (-21.62%), allowance 933 [either] + - 10_store_receiver_across_alloc: promoted_objects 4,722 -> 6,107 (+29.33%), allowance 236 [either] + - 10_store_receiver_across_alloc: promoted_bytes 228,440 -> 446,368 (+95.40%), allowance 65,536 [either] + - 11_collect_at_depth: heap_used_bytes 212,168 -> 444,720 (+109.61%), allowance 65,536 [increase] + - 11_collect_at_depth: copied_objects 4,975 -> 6,686 (+34.39%), allowance 249 [either] + - 11_collect_at_depth: copied_bytes 230,872 -> 462,544 (+100.35%), allowance 65,536 [either] + - 11_collect_at_depth: freed_bytes 10,062,936 -> 8,974,576 (-10.82%), allowance 1,048,576 [either] + - 12_large_live_set: copied_objects 59,405 -> 104,050 (+75.15%), allowance 2,970 [either] + - 12_large_live_set: copied_bytes 2,327,008 -> 4,162,008 (+78.86%), allowance 116,350 [either] diff --git a/benchmarks/runtime_handle_scopes/evidence/http2-baseline-comparison.json b/benchmarks/runtime_handle_scopes/evidence/http2-baseline-comparison.json new file mode 100644 index 0000000000..c31c9365b4 --- /dev/null +++ b/benchmarks/runtime_handle_scopes/evidence/http2-baseline-comparison.json @@ -0,0 +1,20 @@ +{ + "baseline_sha": "9fda98df68d9fac3c08b2385fae007aa9f5278df", + "host": "perrymaster.skelpo.net", + "test": "test_gap_gc_http2_pending_event_callback_rooting", + "baseline_worktree": "/root/runtime-handle-baseline-20260914", + "node_stdout": "settings cb fired\nping cb fired\nclose cb fired\n", + "baseline_stdout": "", + "changed_stdout": "", + "baseline_stderr": "[node:http2] bind 0.0.0.0:443 failed: Address already in use (os error 98)\n", + "changed_stderr": "[node:http2] bind 0.0.0.0:443 failed: Address already in use (os error 98)\n", + "baseline_exit_code": 0, + "changed_exit_code": 0, + "baseline_build_packages": [ + "perry", + "perry-runtime-static", + "perry-stdlib-static", + "perry-ext-net", + "perry-ext-http" + ] +} diff --git a/benchmarks/runtime_handle_scopes/evidence/http2-netns-results.json b/benchmarks/runtime_handle_scopes/evidence/http2-netns-results.json new file mode 100644 index 0000000000..89a6cb0b35 --- /dev/null +++ b/benchmarks/runtime_handle_scopes/evidence/http2-netns-results.json @@ -0,0 +1,14 @@ +[ + { + "kind": "baseline", + "exit_code": 124, + "stdout": "", + "stderr": "" + }, + { + "kind": "fix", + "exit_code": 124, + "stdout": "", + "stderr": "" + } +] diff --git a/benchmarks/runtime_handle_scopes/exec1.ts b/benchmarks/runtime_handle_scopes/exec1.ts new file mode 100644 index 0000000000..c2f866a24e --- /dev/null +++ b/benchmarks/runtime_handle_scopes/exec1.ts @@ -0,0 +1 @@ +const vals: string[] = []; for (let i = 0; i < 1000000; i++) vals.push((i % 2 ? "record_" : "!bad_") + i); let c = 0; const re = /([a-z]+)_([0-9]+)/; for (let i = 0; i < vals.length; i++) { const m = re.exec(vals[i]); if (m !== null) c += m[2].length; } console.log(c); diff --git a/benchmarks/runtime_handle_scopes/fault-results.json b/benchmarks/runtime_handle_scopes/fault-results.json new file mode 100644 index 0000000000..e9b770412d --- /dev/null +++ b/benchmarks/runtime_handle_scopes/fault-results.json @@ -0,0 +1,28 @@ +[ + { + "mutation": "omit-last-root", + "test": "gc::tests::runtime_roots::handle_stack::handle_stack_growth_preserves_every_moving_root_including_last", + "exit_code": 101, + "detected": true + }, + { + "mutation": "skip-throw-truncate", + "test": "gc::tests::runtime_roots::handle_stack::handle_stack_real_throw_restores_live_outer_scope_and_ffi_roots", + "exit_code": 101, + "detected": true + }, + { + "mutation": "skip-marking-barrier", + "test": "gc::tests::runtime_roots::handle_stack::handle_stack_pushes_and_updates_shade_all_kinds_during_marking", + "exit_code": 101, + "detected": true + }, + { + "mutation": "skip-cache-unpublish", + "test": "gc::roots::runtime_handles::tests::handle_storage_teardown_clears_cache_before_late_scope_drop", + "exit_code": 101, + "detected": true, + "evidence": "fault-skip-cache-unpublish-direct.log (same mutated test binary, --nocapture)", + "direct_exit_code": 133 + } +] diff --git a/benchmarks/runtime_handle_scopes/hoist.ts b/benchmarks/runtime_handle_scopes/hoist.ts new file mode 100644 index 0000000000..07c34ce7c5 --- /dev/null +++ b/benchmarks/runtime_handle_scopes/hoist.ts @@ -0,0 +1 @@ +const vals: string[] = []; for (let i = 0; i < 1000000; i++) vals.push((i % 2 ? "record_" : "!bad_") + i); let c = 0; const re = /^[a-z]+_[0-9]+$/; for (let i = 0; i < vals.length; i++) if (re.test(vals[i])) c++; console.log(c); diff --git a/benchmarks/runtime_handle_scopes/instructions.json b/benchmarks/runtime_handle_scopes/instructions.json new file mode 100644 index 0000000000..40031dd171 --- /dev/null +++ b/benchmarks/runtime_handle_scopes/instructions.json @@ -0,0 +1,31 @@ +{ + "base": "9fda98df68d9fac3c08b2385fae007aa9f5278df", + "event": "instructions:u", + "repeats": 3, + "results": [ + { + "workload": "promises", + "baseline_instructions": 1100168994.0, + "fix_instructions": 1050989735.0, + "reduction_percent": 4.470154973300399 + }, + { + "workload": "json", + "baseline_instructions": 3190619152.0, + "fix_instructions": 3132631719.0, + "reduction_percent": 1.8174351195645255 + }, + { + "workload": "hoist", + "baseline_instructions": 13773038016.0, + "fix_instructions": 13003278589.0, + "reduction_percent": 5.5888862435853115 + }, + { + "workload": "exec1", + "baseline_instructions": 31188918430.0, + "fix_instructions": 29854497805.0, + "reduction_percent": 4.278508817145921 + } + ] +} diff --git a/benchmarks/runtime_handle_scopes/json.ts b/benchmarks/runtime_handle_scopes/json.ts new file mode 100644 index 0000000000..cd21e41159 --- /dev/null +++ b/benchmarks/runtime_handle_scopes/json.ts @@ -0,0 +1,10 @@ +const source = '{"name":"a-long-heap-string-payload","count":42,"items":[1,2,3],"child":{"ok":true}}'; +let checksum = 0; +for (let i = 0; i < 100000; i++) { + const value = JSON.parse(source); + value.count = i; + const encoded = JSON.stringify(value); + const decoded = JSON.parse(encoded); + checksum += encoded.length + decoded.count + decoded.items[2]; +} +console.log(checksum); diff --git a/benchmarks/runtime_handle_scopes/measure.py b/benchmarks/runtime_handle_scopes/measure.py new file mode 100644 index 0000000000..a87da17c7c --- /dev/null +++ b/benchmarks/runtime_handle_scopes/measure.py @@ -0,0 +1,74 @@ +"""Instruction counts and folded stacks; run with the archives used by --perry. + +PERRY_RUNTIME_DIR and PERRY_NO_AUTO_OPTIMIZE=1 must identify the matching build. +The four sources include the original #10166 hoist/exec1 probes, unchanged. +""" +import argparse +import collections +import os +from pathlib import Path +import re +import subprocess + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--perry', required=True) + parser.add_argument('--output', required=True) + parser.add_argument('--node', default='node') + parser.add_argument('--repeats', default=3, type=int) + args = parser.parse_args() + expected_node = 'v' + (Path(__file__).resolve().parents[2] / '.node-version').read_text().strip() + actual_node = subprocess.check_output([args.node, '--version'], text=True).strip() + assert actual_node == expected_node, f'expected Node {expected_node}, found {actual_node}' + output = Path(args.output).resolve() + output.mkdir(parents=True, exist_ok=True) + env = os.environ | {'PERRY_KEEP_SYMBOLS': '1', 'PERRY_NO_AUTO_OPTIMIZE': '1'} + for name in ('promises', 'json', 'hoist', 'exec1'): + source = Path(__file__).with_name(name + '.ts') + binary = output / name + with (output / (name + '.compile.log')).open('w') as log: + subprocess.run([args.perry, 'compile', str(source), '--no-auto-optimize', + '-o', str(binary)], env=env, stdout=log, stderr=log, check=True) + expected = subprocess.check_output([args.node, str(source)]) + actual = subprocess.check_output([str(binary)]) + (output / (name + '.out')).write_bytes(actual) + assert actual == expected, f'{name}: Node output mismatch' + with (output / (name + '.runs.out')).open('w') as log: + subprocess.run(['perf', 'stat', '-x', ';', '-r', str(args.repeats), + '-e', 'instructions:u', '-o', str(output / (name + '.stat')), + str(binary)], stdout=log, check=True) + data = output / (name + '.perf.data') + subprocess.run(['perf', 'record', '-q', '-e', 'instructions:u', '-c', '1000003', + '--call-graph', 'dwarf', '-o', str(data), '--', str(binary)], + stdout=log, check=True) + process = subprocess.Popen(['perf', 'script', '-i', str(data)], + stdout=subprocess.PIPE, text=True) + stacks = collections.Counter() + frames = [] + for line in process.stdout: + if not line.strip(): + if frames: + stacks[';'.join(reversed(frames))] += 1 + frames = [] + elif line[0] in ' \t': + parts = line.strip().split(None, 1) + if len(parts) == 2: + symbol = parts[1].rsplit(' (', 1)[0] + frames.append(re.sub(r'\+0x[0-9a-f]+$', '', symbol)) + if frames: + stacks[';'.join(reversed(frames))] += 1 + assert process.wait() == 0, 'perf script failed' + with (output / (name + '.folded')).open('w') as folded: + for stack, count in stacks.most_common(): + folded.write(f'{count} {stack}\n') + total = sum(stacks.values()) + assert total > 0, 'no instruction samples' + leaf = sum(count for stack, count in stacks.items() + if re.search(r'RuntimeHandle|runtime_handle|RUNTIME_HANDLE', + stack.rsplit(';', 1)[-1])) + print(name, 'samples', total, 'handle-related leaf %', 100 * leaf / total, flush=True) + + +if __name__ == '__main__': + main() diff --git a/benchmarks/runtime_handle_scopes/promises.ts b/benchmarks/runtime_handle_scopes/promises.ts new file mode 100644 index 0000000000..bafee1b950 --- /dev/null +++ b/benchmarks/runtime_handle_scopes/promises.ts @@ -0,0 +1,9 @@ +async function run(): Promise { + let checksum = 0; + for (let i = 0; i < 100000; i++) { + const value = await Promise.resolve(i).then((n: number) => n + 1); + checksum += value; + } + console.log(checksum); +} +run(); diff --git a/changelog.d/runtime-handle-scopes.md b/changelog.d/runtime-handle-scopes.md new file mode 100644 index 0000000000..315813e656 --- /dev/null +++ b/changelog.d/runtime-handle-scopes.md @@ -0,0 +1,6 @@ +Reduce the per-call cost of Rust runtime GC handles. Scopes cache non-dropping +TLS metadata, root slots use 16 bytes, and idle pushes skip barrier dispatch. +Index handles retain bounds and kind checks across growth, moving collections, +and caught throws. Add fault-tested coverage for relocation, savepoint restore, +incremental marking, FFI indices, and TLS teardown. Measured user instruction +counts fall by 1.8–5.6% across JSON, promises, and the hoisted regex probes. diff --git a/crates/perry-runtime/src/gc/roots.rs b/crates/perry-runtime/src/gc/roots.rs index 661431c69b..dd7bc06de8 100644 --- a/crates/perry-runtime/src/gc/roots.rs +++ b/crates/perry-runtime/src/gc/roots.rs @@ -103,8 +103,10 @@ pub(super) struct MutableRootScannerEntry { #[derive(Clone, Copy, Debug, Eq, PartialEq)] pub(super) enum RuntimeHandleSlot { Nanbox(u64), - RawTagged { addr: usize, tag: u64 }, HeapWord(u64), + RawPointer(usize), + RawString(usize), + RawBigInt(usize), } crate::perry_thread_local! { diff --git a/crates/perry-runtime/src/gc/roots/runtime_handles.rs b/crates/perry-runtime/src/gc/roots/runtime_handles.rs index 503d47c1fb..1d6a117cd3 100644 --- a/crates/perry-runtime/src/gc/roots/runtime_handles.rs +++ b/crates/perry-runtime/src/gc/roots/runtime_handles.rs @@ -1,10 +1,16 @@ use super::*; +mod stack; +#[cfg(test)] +mod tests; +use stack::RuntimeHandleStack; + struct RuntimeHandleStackHotGuard; impl Drop for RuntimeHandleStackHotGuard { fn drop(&mut self) { crate::tls_hot::unpublish_runtime_handle_stack(); + RUNTIME_HANDLE_STACK.with(RuntimeHandleStack::release); } } @@ -12,9 +18,9 @@ thread_local! { /// This stays a raw `thread_local!` as the initialization fallback for its /// named `HotTls` slot. Going through `perry_thread_local!` here would call /// `hot()` while `HotTls::fill` is still resolving this address (#9183). - static RUNTIME_HANDLE_STACK: RefCell> = const { RefCell::new(Vec::new()) }; - /// Registered after the stack itself, so reverse-order TLS destruction - /// clears the named cache pointer before the stack storage is destroyed. + static RUNTIME_HANDLE_STACK: RuntimeHandleStack = const { RuntimeHandleStack::new() }; + /// Owns the buffer, registered before its first allocation or publication. + /// The metadata never drops; this guard unpublishes, empties, then frees it. static RUNTIME_HANDLE_STACK_HOT_GUARD: RuntimeHandleStackHotGuard = const { RuntimeHandleStackHotGuard }; } @@ -28,25 +34,28 @@ pub(crate) fn runtime_handle_stack_hot_addr() -> *mut u8 { addr } -/// Borrow this thread's transient-handle stack. +/// Resolve this thread's transient-handle metadata, without initializing HOT. /// /// On Apple aarch64 the steady-state path reads the address from an already /// published `HotTls`. During `HotTls::fill` (and on every other target) it /// uses the ordinary thread-local directly, so opening a handle scope cannot /// recursively initialize the cache (#9183). #[inline(always)] -fn with_runtime_handle_stack(f: impl FnOnce(&RefCell>) -> R) -> R { +fn runtime_handle_stack() -> &'static RuntimeHandleStack { if let Some(hot) = crate::tls_hot::hot_if_published() { let stack = hot.runtime_handle_stack.get(); - if stack.is_null() { - return RUNTIME_HANDLE_STACK.with(f); + if !stack.is_null() { + // SAFETY: fill publishes this thread's non-dropping metadata. + // The buffer owner clears it before freeing the allocation. + return unsafe { &*(stack as *const RuntimeHandleStack) }; } - // SAFETY: `fill` stores this thread's `RUNTIME_HANDLE_STACK` address - // before publishing the cache, and the address is stable for the - // lifetime of the thread. - return f(unsafe { &*(stack as *const RefCell>) }); } - RUNTIME_HANDLE_STACK.with(f) + RUNTIME_HANDLE_STACK.with(|stack| { + // SAFETY: the metadata is const-initialized and has no Drop. Its + // cells remain valid throughout thread teardown. Cell is !Sync, so + // scopes and handles carrying this reference cannot leave the thread. + unsafe { &*(stack as *const RuntimeHandleStack) } + }) } /// Scoped owner for transient runtime handles. @@ -56,26 +65,26 @@ fn with_runtime_handle_stack(f: impl FnOnce(&RefCell>) /// scope removes every handle created from it. pub struct RuntimeHandleScope { pub(super) base: usize, + stack: &'static RuntimeHandleStack, } impl RuntimeHandleScope { #[inline] pub fn new() -> Self { - let base = with_runtime_handle_stack(|stack| stack.borrow().len()); - Self { base } + let stack = runtime_handle_stack(); + Self { + base: stack.len(), + stack, + } } #[inline] pub(super) fn push<'scope>(&'scope self, slot: RuntimeHandleSlot) -> RuntimeHandle<'scope> { runtime_handle_slot_write_barrier(slot); - let index = with_runtime_handle_stack(|stack| { - let mut stack = stack.borrow_mut(); - let index = stack.len(); - stack.push(slot); - index - }); + let index = self.stack.push(slot); RuntimeHandle { index, + stack: self.stack, _scope: PhantomData, } } @@ -127,40 +136,33 @@ impl RuntimeHandleScope { #[inline] pub fn root_raw_mut_ptr<'scope, T>(&'scope self, ptr: *mut T) -> RuntimeHandle<'scope> { - self.push(RuntimeHandleSlot::RawTagged { - addr: ptr as usize, - tag: POINTER_TAG, - }) + self.push(RuntimeHandleSlot::RawPointer(ptr as usize)) } #[inline] pub fn root_raw_const_ptr<'scope, T>(&'scope self, ptr: *const T) -> RuntimeHandle<'scope> { - self.push(RuntimeHandleSlot::RawTagged { - addr: ptr as usize, - tag: POINTER_TAG, - }) + self.push(RuntimeHandleSlot::RawPointer(ptr as usize)) } pub fn root_string_ptr<'scope>( &'scope self, ptr: *const crate::StringHeader, ) -> RuntimeHandle<'scope> { - self.push(RuntimeHandleSlot::RawTagged { - addr: ptr as usize, - tag: STRING_TAG, - }) + self.push(RuntimeHandleSlot::RawString(ptr as usize)) } pub fn root_bigint_ptr<'scope, T>(&'scope self, ptr: *const T) -> RuntimeHandle<'scope> { - self.push(RuntimeHandleSlot::RawTagged { - addr: ptr as usize, - tag: BIGINT_TAG, - }) + self.push(RuntimeHandleSlot::RawBigInt(ptr as usize)) } #[cfg(test)] pub(crate) fn active_len_for_tests() -> usize { - with_runtime_handle_stack(|stack| stack.borrow().len()) + runtime_handle_stack().len() + } + + #[cfg(test)] + pub(crate) fn capacity_for_tests() -> usize { + runtime_handle_stack().capacity() } } @@ -168,22 +170,37 @@ impl RuntimeHandleScope { /// Rust frames. `longjmp` skips `RuntimeHandleScope::drop`, so exception /// unwinding restores this depth explicitly. pub(crate) fn runtime_handle_stack_savepoint() -> usize { - with_runtime_handle_stack(|stack| stack.borrow().len()) + runtime_handle_stack().len() } /// Discard transient roots owned by Rust frames skipped by a JS exception. pub(crate) fn runtime_handle_stack_restore(savepoint: usize) { - with_runtime_handle_stack(|stack| stack.borrow_mut().truncate(savepoint)); + runtime_handle_stack().truncate(savepoint); } -#[inline] +#[inline(always)] fn runtime_handle_slot_write_barrier(slot: RuntimeHandleSlot) { + // Root stores shade only during incremental marking. Keep the idle test + // ahead of kind decoding and the out-of-line active barrier machinery. + if crate::gc::barrier::incremental_mark_barrier_globally_idle() { + return; + } + runtime_handle_slot_write_barrier_active(slot); +} + +#[cold] +#[inline(never)] +fn runtime_handle_slot_write_barrier_active(slot: RuntimeHandleSlot) { match slot { RuntimeHandleSlot::Nanbox(bits) => runtime_write_barrier_root_nanbox(bits), RuntimeHandleSlot::HeapWord(bits) => runtime_write_barrier_root_heap_word(bits), - RuntimeHandleSlot::RawTagged { addr, tag } => { + RuntimeHandleSlot::RawPointer(addr) + | RuntimeHandleSlot::RawString(addr) + | RuntimeHandleSlot::RawBigInt(addr) => { if addr != 0 { - runtime_write_barrier_root_nanbox(tag | (addr as u64 & POINTER_MASK)); + runtime_write_barrier_root_nanbox( + raw_slot_tag(slot) | (addr as u64 & POINTER_MASK), + ); } } } @@ -198,15 +215,14 @@ impl Default for RuntimeHandleScope { impl Drop for RuntimeHandleScope { #[inline] fn drop(&mut self) { - with_runtime_handle_stack(|stack| { - stack.borrow_mut().truncate(self.base); - }); + self.stack.truncate(self.base); } } #[derive(Clone, Copy)] pub struct RuntimeHandle<'scope> { pub(super) index: usize, + stack: &'scope RuntimeHandleStack, pub(super) _scope: PhantomData<&'scope RuntimeHandleScope>, } @@ -228,29 +244,36 @@ fn handle_kind_mismatch(expected: &str) -> ! { panic!("runtime handle kind mismatch: expected {expected}"); } +#[inline] +fn raw_slot_tag(slot: RuntimeHandleSlot) -> u64 { + match slot { + RuntimeHandleSlot::RawPointer(_) => POINTER_TAG, + RuntimeHandleSlot::RawString(_) => STRING_TAG, + RuntimeHandleSlot::RawBigInt(_) => BIGINT_TAG, + _ => handle_kind_mismatch("raw pointer"), + } +} + +// Encode the three raw tags in the discriminant, rather than storing a +// separate u64 tag alongside every payload (24 -> 16 bytes on 64-bit hosts). +const _: () = assert!(std::mem::size_of::() == 16); + impl<'scope> RuntimeHandle<'scope> { #[inline] pub(super) fn with_slot(&self, f: impl FnOnce(RuntimeHandleSlot) -> R) -> R { - with_runtime_handle_stack(|stack| { - let stack = stack.borrow(); - let slot = match stack.get(self.index) { - Some(slot) => *slot, - None => handle_used_after_scope(), - }; - f(slot) - }) + let slot = match self.stack.get(self.index) { + Some(slot) => slot, + None => handle_used_after_scope(), + }; + f(slot) } #[inline] pub(super) fn with_slot_mut(&self, f: impl FnOnce(&mut RuntimeHandleSlot) -> R) -> R { - with_runtime_handle_stack(|stack| { - let mut stack = stack.borrow_mut(); - let slot = match stack.get_mut(self.index) { - Some(slot) => slot, - None => handle_used_after_scope(), - }; - f(slot) - }) + let mut slot = self.with_slot(|slot| slot); + let result = f(&mut slot); + self.stack.set(self.index, slot); + result } /// Pass the handle's current mutable pointer to `f` without exposing a @@ -296,9 +319,7 @@ impl<'scope> RuntimeHandle<'scope> { #[inline] pub unsafe fn with_string_bytes(&self, f: impl FnOnce(&[u8]) -> R) -> R { let ptr = self.with_slot(|slot| match slot { - RuntimeHandleSlot::RawTagged { addr, tag } if tag == STRING_TAG => { - addr as *const crate::StringHeader - } + RuntimeHandleSlot::RawString(addr) => addr as *const crate::StringHeader, _ => handle_kind_mismatch("rooted string pointer"), }); let bytes = unsafe { @@ -414,61 +435,70 @@ impl<'scope> RuntimeHandle<'scope> { #[inline] pub fn get_raw_mut_ptr(&self) -> *mut T { self.with_slot(|slot| match slot { - RuntimeHandleSlot::RawTagged { addr, .. } => addr as *mut T, + RuntimeHandleSlot::RawPointer(addr) + | RuntimeHandleSlot::RawString(addr) + | RuntimeHandleSlot::RawBigInt(addr) => addr as *mut T, _ => handle_kind_mismatch("raw pointer"), }) } pub fn set_raw_mut_ptr(&self, ptr: *mut T) { - self.with_slot_mut(|slot| match slot { - RuntimeHandleSlot::RawTagged { addr, tag } => { - *addr = ptr as usize; - if !ptr.is_null() { - runtime_write_barrier_root_nanbox(*tag | (ptr as u64 & POINTER_MASK)); - } - } - _ => panic!("runtime handle kind mismatch: expected raw pointer"), - }); + self.set_raw_const_ptr(ptr.cast_const()); } #[inline] pub fn get_raw_const_ptr(&self) -> *const T { self.with_slot(|slot| match slot { - RuntimeHandleSlot::RawTagged { addr, .. } => addr as *const T, + RuntimeHandleSlot::RawPointer(addr) + | RuntimeHandleSlot::RawString(addr) + | RuntimeHandleSlot::RawBigInt(addr) => addr as *const T, _ => handle_kind_mismatch("raw pointer"), }) } pub fn set_raw_const_ptr(&self, ptr: *const T) { - self.with_slot_mut(|slot| match slot { - RuntimeHandleSlot::RawTagged { addr, tag } => { - *addr = ptr as usize; - if !ptr.is_null() { - runtime_write_barrier_root_nanbox(*tag | (ptr as u64 & POINTER_MASK)); - } + let slot = self.with_slot_mut(|slot| { + match slot { + RuntimeHandleSlot::RawPointer(addr) + | RuntimeHandleSlot::RawString(addr) + | RuntimeHandleSlot::RawBigInt(addr) => *addr = ptr as usize, + _ => handle_kind_mismatch("raw pointer"), } - _ => panic!("runtime handle kind mismatch: expected raw pointer"), + *slot }); + runtime_handle_slot_write_barrier(slot); + } +} + +/// Visit a copy, then commit a relocation to its indexed slot. No reference +/// into the growable buffer crosses a visitor call; the legacy Copy visitor +/// may invoke arbitrary callbacks. Non-rewriting visits must not overwrite a +/// value changed by such a callback. +fn visit_runtime_handle_slot( + stack: &RuntimeHandleStack, + index: usize, + visitor: &mut RuntimeRootVisitor<'_>, +) { + let Some(mut slot) = stack.get(index) else { + return; + }; + let rewritten = match &mut slot { + RuntimeHandleSlot::Nanbox(bits) => visitor.visit_nanbox_u64_slot(bits), + RuntimeHandleSlot::RawPointer(addr) => visitor.visit_tagged_usize_slot(addr, POINTER_TAG), + RuntimeHandleSlot::RawString(addr) => visitor.visit_tagged_usize_slot(addr, STRING_TAG), + RuntimeHandleSlot::RawBigInt(addr) => visitor.visit_tagged_usize_slot(addr, BIGINT_TAG), + RuntimeHandleSlot::HeapWord(bits) => visitor.visit_heap_word_u64_slot(bits), + }; + if rewritten { + stack.set(index, slot); } } pub(crate) fn scan_runtime_handle_roots_mut(visitor: &mut RuntimeRootVisitor<'_>) { - with_runtime_handle_stack(|stack| { - let mut stack = stack.borrow_mut(); - for slot in stack.iter_mut() { - match slot { - RuntimeHandleSlot::Nanbox(bits) => { - visitor.visit_nanbox_u64_slot(bits); - } - RuntimeHandleSlot::RawTagged { addr, tag } => { - visitor.visit_tagged_usize_slot(addr, *tag); - } - RuntimeHandleSlot::HeapWord(bits) => { - visitor.visit_heap_word_u64_slot(bits); - } - } - } - }); + let stack = runtime_handle_stack(); + for index in 0..stack.len() { + visit_runtime_handle_slot(stack, index, visitor); + } } #[derive(Default)] @@ -488,25 +518,13 @@ pub(crate) fn scan_runtime_handle_roots_mut_step( let state = state .downcast_mut::() .expect("runtime handle root scanner state type"); - with_runtime_handle_stack(|stack| { - let mut stack = stack.borrow_mut(); - while *remaining > 0 && state.cursor < stack.len() { - match &mut stack[state.cursor] { - RuntimeHandleSlot::Nanbox(bits) => { - visitor.visit_nanbox_u64_slot(bits); - } - RuntimeHandleSlot::RawTagged { addr, tag } => { - visitor.visit_tagged_usize_slot(addr, *tag); - } - RuntimeHandleSlot::HeapWord(bits) => { - visitor.visit_heap_word_u64_slot(bits); - } - } - state.cursor += 1; - *remaining -= 1; - } - state.cursor >= stack.len() - }) + let stack = runtime_handle_stack(); + while *remaining > 0 && state.cursor < stack.len() { + visit_runtime_handle_slot(stack, state.cursor, visitor); + state.cursor += 1; + *remaining -= 1; + } + state.cursor >= stack.len() } // --------------------------------------------------------------------------- @@ -526,7 +544,7 @@ pub(crate) fn scan_runtime_handle_roots_mut_step( #[no_mangle] pub extern "C" fn js_ffi_root_scope_enter() -> usize { - with_runtime_handle_stack(|stack| stack.borrow().len()) + runtime_handle_stack().len() } /// Root a raw heap ADDRESS (e.g. an `i64` closure pointer from an ext @@ -535,20 +553,15 @@ pub extern "C" fn js_ffi_root_scope_enter() -> usize { pub extern "C" fn js_ffi_root_push_heap_addr(addr: u64) -> usize { let slot = RuntimeHandleSlot::HeapWord(addr); runtime_handle_slot_write_barrier(slot); - with_runtime_handle_stack(|stack| { - let mut stack = stack.borrow_mut(); - let index = stack.len(); - stack.push(slot); - index - }) + runtime_handle_stack().push(slot) } #[no_mangle] pub extern "C" fn js_ffi_root_get_heap_addr(index: usize) -> u64 { - with_runtime_handle_stack(|stack| match stack.borrow().get(index) { - Some(RuntimeHandleSlot::HeapWord(bits)) => *bits, + match runtime_handle_stack().get(index) { + Some(RuntimeHandleSlot::HeapWord(bits)) => bits, _ => 0, - }) + } } /// Root a NaN-boxed VALUE (string/buffer/object handed to callbacks). @@ -556,23 +569,18 @@ pub extern "C" fn js_ffi_root_get_heap_addr(index: usize) -> u64 { pub extern "C" fn js_ffi_root_push_nanbox(bits: u64) -> usize { let slot = RuntimeHandleSlot::Nanbox(bits); runtime_handle_slot_write_barrier(slot); - with_runtime_handle_stack(|stack| { - let mut stack = stack.borrow_mut(); - let index = stack.len(); - stack.push(slot); - index - }) + runtime_handle_stack().push(slot) } #[no_mangle] pub extern "C" fn js_ffi_root_get_nanbox(index: usize) -> u64 { - with_runtime_handle_stack(|stack| match stack.borrow().get(index) { - Some(RuntimeHandleSlot::Nanbox(bits)) => *bits, + match runtime_handle_stack().get(index) { + Some(RuntimeHandleSlot::Nanbox(bits)) => bits, _ => 0, - }) + } } #[no_mangle] pub extern "C" fn js_ffi_root_scope_exit(base: usize) { - with_runtime_handle_stack(|stack| stack.borrow_mut().truncate(base)); + runtime_handle_stack().truncate(base); } diff --git a/crates/perry-runtime/src/gc/roots/runtime_handles/stack.rs b/crates/perry-runtime/src/gc/roots/runtime_handles/stack.rs new file mode 100644 index 0000000000..5116b5a56a --- /dev/null +++ b/crates/perry-runtime/src/gc/roots/runtime_handles/stack.rs @@ -0,0 +1,125 @@ +use super::{RuntimeHandleSlot, RUNTIME_HANDLE_STACK_HOT_GUARD}; +use std::alloc::{alloc, dealloc, handle_alloc_error, realloc, Layout}; +use std::cell::Cell; + +/// Non-dropping metadata: ELF can resolve this TLS without a destructor-init +/// check. The separate hot guard owns the allocation and clears these cells +/// before freeing it. Scopes can therefore cache a reference to the metadata, +/// including in a TLS destructor that runs after the buffer has been freed. +/// Cell makes the scope and its borrowed handles thread-bound. +pub(super) struct RuntimeHandleStack { + data: Cell<*mut RuntimeHandleSlot>, + top: Cell, + capacity: Cell, +} + +impl RuntimeHandleStack { + pub(super) const fn new() -> Self { + Self { + data: Cell::new(std::ptr::null_mut()), + top: Cell::new(0), + capacity: Cell::new(0), + } + } + + #[inline(always)] + pub(super) fn len(&self) -> usize { + self.top.get() + } + + #[inline(always)] + pub(super) fn truncate(&self, base: usize) { + // Restore can precede a surviving scope's Drop. Never grow the live + // prefix back to that scope's now-obsolete base (Vec::truncate semantics). + self.top.set(self.top.get().min(base)); + } + + #[inline(always)] + pub(super) fn push(&self, slot: RuntimeHandleSlot) -> usize { + let index = self.top.get(); + if index == self.capacity.get() { + self.grow(); + } + // SAFETY: grow guarantees capacity > index. Slots are Copy, so a + // truncated slot needs no drop before reuse. Publish only after write. + unsafe { self.data.get().add(index).write(slot) }; + self.top.set(index + 1); + index + } + + #[inline(always)] + pub(super) fn get(&self, index: usize) -> Option { + if index >= self.top.get() { + return None; + } + // SAFETY: precisely [0, top) is initialized. No reference into the + // buffer escapes; a callback may grow or scan the stack after this copy. + Some(unsafe { self.data.get().add(index).read() }) + } + + #[inline(always)] + pub(super) fn set(&self, index: usize, slot: RuntimeHandleSlot) { + if index >= self.top.get() { + super::handle_used_after_scope(); + } + // SAFETY: the checked live index is initialized. Reload the base: a + // visitor called between get and set may have reallocated the buffer. + unsafe { self.data.get().add(index).write(slot) }; + } + + #[cold] + #[inline(never)] + fn grow(&self) { + // Register the owner before allocating. During late TLS teardown this + // also rejects resurrection after its destructor has already run. + RUNTIME_HANDLE_STACK_HOT_GUARD.with(|_| {}); + let old_capacity = self.capacity.get(); + let capacity = old_capacity + .checked_mul(2) + .expect("runtime handle stack capacity overflow") + .max(64); + let layout = Layout::array::(capacity) + .expect("runtime handle stack allocation overflow"); + // SAFETY: data belongs exclusively to this thread and was allocated + // with the matching old layout. Rust allocation does not run Perry GC. + let data = unsafe { + if old_capacity == 0 { + alloc(layout) + } else { + realloc( + self.data.get().cast(), + Layout::array::(old_capacity).unwrap(), + layout.size(), + ) + } + }; + if data.is_null() { + handle_alloc_error(layout); + } + self.data.set(data.cast()); + self.capacity.set(capacity); + } + + pub(super) fn release(&self) { + let capacity = self.capacity.replace(0); + let data = self.data.replace(std::ptr::null_mut()); + self.top.set(0); + if capacity != 0 { + // SAFETY: the guard releases its one allocation once, after + // unpublishing the cache. No references into the buffer exist. + unsafe { + dealloc( + data.cast(), + Layout::array::(capacity).unwrap(), + ); + } + } + } + + #[cfg(test)] + pub(super) fn capacity(&self) -> usize { + self.capacity.get() + } +} + +const _: () = assert!(!std::mem::needs_drop::()); diff --git a/crates/perry-runtime/src/gc/roots/runtime_handles/tests.rs b/crates/perry-runtime/src/gc/roots/runtime_handles/tests.rs new file mode 100644 index 0000000000..c2b141d4e3 --- /dev/null +++ b/crates/perry-runtime/src/gc/roots/runtime_handles/tests.rs @@ -0,0 +1,95 @@ +use super::*; + +#[test] +fn copy_visitor_can_read_update_and_grow_the_handle_stack() { + let scope = RuntimeHandleScope::new(); + let first = scope.root_nanbox_f64(11.0); + let second = scope.root_nanbox_f64(12.0); + let count = runtime_handle_stack().capacity() + 1; + let mut visits = 0; + let mut callback = |value| { + visits += 1; + if value == 11.0 { + first.set_nanbox_f64(21.0); + let nested = RuntimeHandleScope::new(); + for i in 0..count { + let _ = nested.root_nanbox_f64(i as f64); + } + assert_eq!(second.get_nanbox_f64(), 12.0); + } + }; + scan_runtime_handle_roots_mut(&mut RuntimeRootVisitor::for_copy(&mut callback)); + assert_eq!(visits, 2); + assert_eq!( + first.get_nanbox_f64(), + 21.0, + "a non-rewriting visit must not undo callback updates" + ); + assert_eq!(RuntimeHandleScope::active_len_for_tests(), scope.base + 2); +} + +#[test] +fn ffi_indices_and_kind_checks_survive_growth_and_restore() { + let base = js_ffi_root_scope_enter(); + let nanbox = js_ffi_root_push_nanbox(13.0f64.to_bits()); + let heap_word = js_ffi_root_push_heap_addr(0); + for i in 0..257 { + js_ffi_root_push_nanbox((i as f64).to_bits()); + } + assert_eq!(js_ffi_root_get_nanbox(nanbox), 13.0f64.to_bits()); + assert_eq!(js_ffi_root_get_heap_addr(heap_word), 0); + assert_eq!(js_ffi_root_get_heap_addr(nanbox), 0); + assert_eq!(js_ffi_root_get_nanbox(heap_word), 0); + js_ffi_root_scope_exit(usize::MAX); + assert_eq!(js_ffi_root_scope_enter(), base + 259); + js_ffi_root_scope_exit(base); + assert_eq!(js_ffi_root_scope_enter(), base); + assert_eq!(js_ffi_root_get_nanbox(nanbox), 0); + + let scope = RuntimeHandleScope::new(); + let root = scope.root_nanbox_f64(31.0); + assert!(std::panic::catch_unwind(std::panic::AssertUnwindSafe(|| { + root.get_heap_word_u64() + })) + .is_err()); + runtime_handle_stack_restore(base); + assert!( + std::panic::catch_unwind(std::panic::AssertUnwindSafe(|| { root.get_nanbox_f64() })) + .is_err() + ); +} + +#[test] +fn handle_storage_teardown_clears_cache_before_late_scope_drop() { + struct LateScope(RefCell>); + impl Drop for LateScope { + fn drop(&mut self) { + assert_eq!(runtime_handle_stack().len(), 0); + assert_eq!(runtime_handle_stack().capacity(), 0); + assert!(crate::tls_hot::hot().runtime_handle_stack.get().is_null()); + drop(self.0.get_mut().take()); + assert_eq!(runtime_handle_stack().len(), 0); + assert!( + std::panic::catch_unwind(|| { + let scope = RuntimeHandleScope::new(); + let _ = scope.root_nanbox_f64(1.0); + }) + .is_err(), + "released TLS storage must not be resurrected" + ); + } + } + thread_local! { + static BEFORE_BUFFER: LateScope = const { LateScope(RefCell::new(None)) }; + } + std::thread::spawn(|| { + BEFORE_BUFFER.with(|_| {}); + let scope = RuntimeHandleScope::new(); + let root = scope.root_nanbox_f64(7.0); + assert_eq!(root.get_nanbox_f64(), 7.0); + assert!(!crate::tls_hot::hot().runtime_handle_stack.get().is_null()); + BEFORE_BUFFER.with(|late| *late.0.borrow_mut() = Some(scope)); + }) + .join() + .expect("handle teardown thread"); +} diff --git a/crates/perry-runtime/src/gc/tests/runtime_roots.rs b/crates/perry-runtime/src/gc/tests/runtime_roots.rs index cfa84c979c..0a4f3e5294 100644 --- a/crates/perry-runtime/src/gc/tests/runtime_roots.rs +++ b/crates/perry-runtime/src/gc/tests/runtime_roots.rs @@ -6,6 +6,7 @@ mod bound_method_builder; mod callback_scanners; mod fs_options_object; mod generator_attach_prototype; +mod handle_stack; mod hook_dispatch_handles; mod interned_string_caches; mod iter_result_keys; diff --git a/crates/perry-runtime/src/gc/tests/runtime_roots/handle_stack.rs b/crates/perry-runtime/src/gc/tests/runtime_roots/handle_stack.rs new file mode 100644 index 0000000000..2fc6bb85c0 --- /dev/null +++ b/crates/perry-runtime/src/gc/tests/runtime_roots/handle_stack.rs @@ -0,0 +1,183 @@ +use super::*; + +#[test] +fn handle_stack_growth_preserves_every_moving_root_including_last() { + let _guard = CopyingNurseryTestGuard::new(0); + let _triggers = GcTriggerThresholdTestGuard::suppress_automatic_triggers(); + let _evacuation = ForcedEvacuationTestGuard::on(); + register_runtime_handle_root_scanner_for_tests(); + let scope = RuntimeHandleScope::new(); + let capacity_before = RuntimeHandleScope::capacity_for_tests(); + let count = capacity_before + 257; + let mut roots = Vec::new(); + for i in 0..count { + let text = format!("moving handle payload number {i}"); + let ptr = crate::js_string_from_bytes(text.as_ptr(), text.len() as u32); + roots.push(match i % 3 { + 0 => scope.root_string_ptr(ptr), + 1 => scope.root_nanbox_u64(string_bits(ptr as usize)), + _ => scope.root_heap_word_u64(ptr as u64), + }); + } + assert!(RuntimeHandleScope::capacity_for_tests() > capacity_before); + let address = |i: usize, root: &RuntimeHandle<'_>| match i % 3 { + 0 => root.with_const_ptr(|ptr: *const crate::StringHeader| ptr as usize), + 1 => (root.get_nanbox_u64() & POINTER_MASK) as usize, + _ => root.get_heap_word_u64() as usize, + }; + let before: Vec<_> = roots + .iter() + .enumerate() + .map(|(i, h)| address(i, h)) + .collect(); + gc_collect_minor(); + for (i, root) in roots.iter().enumerate() { + let after = address(i, root); + assert_ne!(before[i], after, "root {i} was not relocated"); + unsafe { + assert_string_bytes( + after as *const crate::StringHeader, + format!("moving handle payload number {i}").as_bytes(), + ); + } + } + // Grow again while these relocated handles remain live, then collect again. + let capacity = RuntimeHandleScope::capacity_for_tests(); + for i in 0..=capacity { + let _ = scope.root_nanbox_f64(i as f64); + } + assert!(RuntimeHandleScope::capacity_for_tests() > capacity); + gc_collect_minor(); + for (i, root) in roots.iter().enumerate() { + unsafe { + assert_string_bytes( + address(i, root) as *const crate::StringHeader, + format!("moving handle payload number {i}").as_bytes(), + ); + } + } +} + +#[test] +fn handle_stack_real_throw_restores_live_outer_scope_and_ffi_roots() { + unsafe extern "C" { + fn js_ffi_root_scope_enter() -> usize; + fn js_ffi_root_push_nanbox(bits: u64) -> usize; + } + let _guard = CopyingNurseryTestGuard::new(0); + let _triggers = GcTriggerThresholdTestGuard::suppress_automatic_triggers(); + let _evacuation = ForcedEvacuationTestGuard::on(); + register_runtime_handle_root_scanner_for_tests(); + let scope = RuntimeHandleScope::new(); + let ptr = crate::js_string_from_bytes(b"outer root across caught throw".as_ptr(), 30); + let root = scope.root_string_ptr(ptr); + let base = RuntimeHandleScope::active_len_for_tests(); + let result: Result<(), f64> = crate::exception::catch_js_throw(|| { + let inner = RuntimeHandleScope::new(); + for i in 0..257 { + let _ = inner.root_nanbox_f64(i as f64); + } + unsafe { + let _ffi_base = js_ffi_root_scope_enter(); + js_ffi_root_push_nanbox(42.0f64.to_bits()); + } + assert!(RuntimeHandleScope::active_len_for_tests() > base); + crate::exception::js_throw(17.0); + }); + assert_eq!(result, Err(17.0)); + assert_eq!(RuntimeHandleScope::active_len_for_tests(), base); + gc_collect_minor(); + root.with_const_ptr(|after: *const crate::StringHeader| { + assert_ne!(ptr, after.cast_mut(), "the surviving outer root must move"); + unsafe { assert_string_bytes(after, b"outer root across caught throw") }; + }); + let tail = scope.root_nanbox_f64(23.0); + assert_eq!(tail.get_nanbox_f64(), 23.0); + assert_eq!(RuntimeHandleScope::active_len_for_tests(), base + 1); +} + +#[test] +fn handle_stack_pushes_and_updates_shade_all_kinds_during_marking() { + let _guard = GcTestIsolationGuard::new(); + clear_marks(); + clear_mark_seeds(); + let pointers: Vec<_> = (0..10) + .map(|_| crate::arena::arena_alloc_gc(64, 8, GC_TYPE_OBJECT)) + .collect(); + let valid_ptrs = build_valid_pointer_set(); + let scope = RuntimeHandleScope::new(); + let mut state = new_runtime_handle_root_scan_state(); + let mut marker = RuntimeRootVisitor::for_mark(&valid_ptrs); + let mut budget = 1; + assert!(scan_runtime_handle_roots_mut_step( + &mut marker, + state.as_mut(), + &mut budget + )); + // The scanner has already passed the current prefix. These pre-existing + // white objects must be shaded by publishing roots, not allocate-black. + let active = IncrementalMarkBarrierTestGuard::new(&valid_ptrs); + let roots = [ + scope.root_nanbox_u64(ptr_bits(pointers[0] as usize)), + scope.root_heap_word_u64(pointers[1] as u64), + scope.root_raw_mut_ptr(pointers[2]), + scope.root_string_ptr(pointers[3].cast()), + scope.root_bigint_ptr(pointers[4]), + ]; + for ptr in &pointers[..5] { + assert_marked_user_ptr(*ptr as usize, "new handle during marking"); + } + roots[0].set_nanbox_u64(ptr_bits(pointers[5] as usize)); + roots[1].set_heap_word_u64(pointers[6] as u64); + roots[2].set_raw_mut_ptr(pointers[7]); + roots[3].set_raw_const_ptr(pointers[8]); + roots[4].set_raw_const_ptr(pointers[9]); + for ptr in &pointers[5..] { + assert_marked_user_ptr(*ptr as usize, "updated handle during marking"); + } + drop(active); + clear_marks(); + let _idle = scope.root_nanbox_u64(ptr_bits(pointers[0] as usize)); + unsafe { + assert_eq!( + (*header_from_user_ptr(pointers[0])).gc_flags & GC_FLAG_MARKED, + 0 + ); + } +} + +#[test] +fn handle_stack_budgeted_scan_resumes_after_growth_and_truncation() { + let _guard = GcTestIsolationGuard::new(); + let scope = RuntimeHandleScope::new(); + let _first = scope.root_nanbox_f64(1.0); + let inner = RuntimeHandleScope::new(); + let _second = inner.root_nanbox_f64(2.0); + let mut seen = Vec::new(); + let mut record = |value| seen.push(value); + let mut visitor = RuntimeRootVisitor::for_copy(&mut record); + let mut state = new_runtime_handle_root_scan_state(); + let mut budget = 1; + assert!(!scan_runtime_handle_roots_mut_step( + &mut visitor, + state.as_mut(), + &mut budget + )); + assert_eq!(budget, 0); + drop(inner); + let count = RuntimeHandleScope::capacity_for_tests() + 1; + for i in 0..count { + let _ = scope.root_nanbox_f64((i + 3) as f64); + } + let mut budget = count + 1; + assert!(scan_runtime_handle_roots_mut_step( + &mut visitor, + state.as_mut(), + &mut budget + )); + assert_eq!(budget, 1); + assert_eq!(seen.len(), count + 1); + assert_eq!(seen[0], 1.0); + assert_eq!(*seen.last().unwrap(), (count + 2) as f64); + assert!(!seen.contains(&2.0)); +} diff --git a/crates/perry-runtime/src/tls_hot.rs b/crates/perry-runtime/src/tls_hot.rs index 49148ef3f5..1a86935fcc 100644 --- a/crates/perry-runtime/src/tls_hot.rs +++ b/crates/perry-runtime/src/tls_hot.rs @@ -535,9 +535,12 @@ pub(crate) fn hot_if_published() -> Option<&'static HotTls> { /// `SlotGuard`; the named fast path must preserve it (#9183). #[inline(always)] pub(crate) fn unpublish_runtime_handle_stack() { - if let Some(hot) = hot_if_published() { - hot.runtime_handle_stack.set(std::ptr::null_mut()); - } + // Teardown is cold. Use the non-dropping cache directly on every target, + // without filling it: non-Darwin targets also cache the named address even + // though hot_if_published() only exposes the Darwin direct-TSD shortcut. + HOT.with(|cell| unsafe { + (*cell.get()).runtime_handle_stack.set(std::ptr::null_mut()); + }); } /// The per-thread address cache. On Apple aarch64 this is an `mrs` plus two From f31b29b71598badc9ee6309f6af4bcd49e3686b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ralph=20K=C3=BCpper?= Date: Mon, 14 Sep 2026 06:37:45 +0200 Subject: [PATCH 12/30] docs: key runtime handle changelog to PR 10252 --- .../{runtime-handle-scopes.md => 10252-runtime-handle-scopes.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename changelog.d/{runtime-handle-scopes.md => 10252-runtime-handle-scopes.md} (100%) diff --git a/changelog.d/runtime-handle-scopes.md b/changelog.d/10252-runtime-handle-scopes.md similarity index 100% rename from changelog.d/runtime-handle-scopes.md rename to changelog.d/10252-runtime-handle-scopes.md From 5a62477260a243a390b1ad16f011d8482d447e89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ralph=20K=C3=BCpper?= Date: Mon, 14 Sep 2026 08:41:35 +0200 Subject: [PATCH 13/30] fix(runtime): retain scoped handles on emulated TLS targets --- benchmarks/runtime_handle_scopes/README.md | 25 ++++--- changelog.d/10252-runtime-handle-scopes.md | 5 ++ .../src/gc/roots/runtime_handles.rs | 34 ++++++---- .../src/gc/roots/runtime_handles/stack.rs | 4 +- .../gc/roots/runtime_handles/stack_os_tls.rs | 65 +++++++++++++++++++ .../src/gc/roots/runtime_handles/tests.rs | 28 ++++++++ crates/perry-runtime/src/tls_hot.rs | 7 +- 7 files changed, 143 insertions(+), 25 deletions(-) create mode 100644 crates/perry-runtime/src/gc/roots/runtime_handles/stack_os_tls.rs diff --git a/benchmarks/runtime_handle_scopes/README.md b/benchmarks/runtime_handle_scopes/README.md index 29e70d76c7..211c2c94d1 100644 --- a/benchmarks/runtime_handle_scopes/README.md +++ b/benchmarks/runtime_handle_scopes/README.md @@ -62,18 +62,25 @@ and validation logs are also retained locally in The live prefix is still `[0, top)`. Handles remain indices so buffer growth does not invalidate them, and the scope lifetime and bounds/kind checks remain. -Scopes and handles cache a reference to non-dropping, thread-local metadata; -their `Cell`-containing referent prevents sending them between threads. Rust -scopes and handles grow from one machine word to two, while each root slot -shrinks from 24 to 16 bytes by encoding the raw tag in the variant discriminant. -The first push allocates 64 slots (1 KiB), and later growth doubles capacity. +On native TLS targets, scopes and handles cache a reference to non-dropping +metadata; its `Cell` fields prevent sending them between threads. These scopes +and handles grow from one machine word to two. Android and HarmonyOS retain scoped Vec +access through a thread-bound token because its OS-backed TLS frees even +non-dropping metadata at teardown. Each root slot shrinks from 24 to 16 bytes +by encoding the raw tag in the variant discriminant. The merge train retains +the original four-slot initial capacity (64 bytes with the smaller slots), then +doubles it. The instruction measurements above used the PR's earlier 64-slot +initial capacity; they do not measure the changed initial growth schedule. The existing named hot-TLS pointer and its offsets stay in place. The fallback metadata can be accessed without filling the hot cache, preserving #9183's -initialization contract. A separate TLS guard owns the buffer, unpublishes its -cache pointer on every target, and clears the live prefix before freeing it. -Late scope destructors see empty metadata; a push after buffer destruction -fails through the destroyed owner guard instead of resurrecting storage. +initialization contract. On native TLS targets, a separate guard owns the buffer, unpublishes its +cache pointer, and clears the live prefix before freeing it. Late scope +destructors see empty metadata; a push after buffer destruction fails through +the destroyed owner guard instead of resurrecting storage. On OS-backed TLS, the Vec owns +its allocation and late scopes resolve the TLS key again instead of retaining +an address after teardown. Cache unpublication tolerates an Android pool that +has already been destroyed. Scanners visit local slot copies and commit relocations by index. This avoids references into reallocated storage, including a reentrant legacy Copy visitor; diff --git a/changelog.d/10252-runtime-handle-scopes.md b/changelog.d/10252-runtime-handle-scopes.md index 315813e656..5797288600 100644 --- a/changelog.d/10252-runtime-handle-scopes.md +++ b/changelog.d/10252-runtime-handle-scopes.md @@ -4,3 +4,8 @@ Index handles retain bounds and kind checks across growth, moving collections, and caught throws. Add fault-tested coverage for relocation, savepoint restore, incremental marking, FFI indices, and TLS teardown. Measured user instruction counts fall by 1.8–5.6% across JSON, promises, and the hoisted regex probes. + +The merge train retains scoped Vec access on Android and HarmonyOS, where OS-backed TLS frees +metadata at thread teardown even for values without Drop. Native targets cache +the metadata as above; both paths retain the original four-slot initial allocation +floor. Teardown tolerates an already-destroyed Android hot-cache pool. diff --git a/crates/perry-runtime/src/gc/roots/runtime_handles.rs b/crates/perry-runtime/src/gc/roots/runtime_handles.rs index 1d6a117cd3..b3ea2b8d6b 100644 --- a/crates/perry-runtime/src/gc/roots/runtime_handles.rs +++ b/crates/perry-runtime/src/gc/roots/runtime_handles.rs @@ -1,15 +1,20 @@ use super::*; +#[cfg(not(any(target_os = "android", target_env = "ohos")))] +mod stack; +#[cfg(any(target_os = "android", target_env = "ohos"))] +#[path = "runtime_handles/stack_os_tls.rs"] mod stack; #[cfg(test)] mod tests; -use stack::RuntimeHandleStack; +use stack::{RuntimeHandleStack, StackRef}; struct RuntimeHandleStackHotGuard; impl Drop for RuntimeHandleStackHotGuard { fn drop(&mut self) { crate::tls_hot::unpublish_runtime_handle_stack(); + #[cfg(not(any(target_os = "android", target_env = "ohos")))] RUNTIME_HANDLE_STACK.with(RuntimeHandleStack::release); } } @@ -19,8 +24,9 @@ thread_local! { /// named `HotTls` slot. Going through `perry_thread_local!` here would call /// `hot()` while `HotTls::fill` is still resolving this address (#9183). static RUNTIME_HANDLE_STACK: RuntimeHandleStack = const { RuntimeHandleStack::new() }; - /// Owns the buffer, registered before its first allocation or publication. - /// The metadata never drops; this guard unpublishes, empties, then frees it. + /// Unpublishes the cache at teardown. Native TLS registers this owner + /// before allocation and releases the manual buffer here; OS-backed TLS keeps + /// the original Vec owner in RUNTIME_HANDLE_STACK instead. static RUNTIME_HANDLE_STACK_HOT_GUARD: RuntimeHandleStackHotGuard = const { RuntimeHandleStackHotGuard }; } @@ -41,7 +47,8 @@ pub(crate) fn runtime_handle_stack_hot_addr() -> *mut u8 { /// uses the ordinary thread-local directly, so opening a handle scope cannot /// recursively initialize the cache (#9183). #[inline(always)] -fn runtime_handle_stack() -> &'static RuntimeHandleStack { +#[cfg(not(any(target_os = "android", target_env = "ohos")))] +fn runtime_handle_stack() -> StackRef { if let Some(hot) = crate::tls_hot::hot_if_published() { let stack = hot.runtime_handle_stack.get(); if !stack.is_null() { @@ -58,6 +65,15 @@ fn runtime_handle_stack() -> &'static RuntimeHandleStack { }) } +// Rust's Android/HarmonyOS OS-TLS backend frees the metadata even when T has no Drop. +// Keep the original scoped lookup there; a token never borrows TLS storage +// across a callback or a later destructor. +#[cfg(any(target_os = "android", target_env = "ohos"))] +#[inline(always)] +fn runtime_handle_stack() -> StackRef { + StackRef::new() +} + /// Scoped owner for transient runtime handles. /// /// Handles are mutable GC roots for values that live only in a runtime @@ -65,7 +81,7 @@ fn runtime_handle_stack() -> &'static RuntimeHandleStack { /// scope removes every handle created from it. pub struct RuntimeHandleScope { pub(super) base: usize, - stack: &'static RuntimeHandleStack, + stack: StackRef, } impl RuntimeHandleScope { @@ -222,7 +238,7 @@ impl Drop for RuntimeHandleScope { #[derive(Clone, Copy)] pub struct RuntimeHandle<'scope> { pub(super) index: usize, - stack: &'scope RuntimeHandleStack, + stack: StackRef, pub(super) _scope: PhantomData<&'scope RuntimeHandleScope>, } @@ -474,11 +490,7 @@ impl<'scope> RuntimeHandle<'scope> { /// into the growable buffer crosses a visitor call; the legacy Copy visitor /// may invoke arbitrary callbacks. Non-rewriting visits must not overwrite a /// value changed by such a callback. -fn visit_runtime_handle_slot( - stack: &RuntimeHandleStack, - index: usize, - visitor: &mut RuntimeRootVisitor<'_>, -) { +fn visit_runtime_handle_slot(stack: StackRef, index: usize, visitor: &mut RuntimeRootVisitor<'_>) { let Some(mut slot) = stack.get(index) else { return; }; diff --git a/crates/perry-runtime/src/gc/roots/runtime_handles/stack.rs b/crates/perry-runtime/src/gc/roots/runtime_handles/stack.rs index 5116b5a56a..b3a09d6845 100644 --- a/crates/perry-runtime/src/gc/roots/runtime_handles/stack.rs +++ b/crates/perry-runtime/src/gc/roots/runtime_handles/stack.rs @@ -13,6 +13,8 @@ pub(super) struct RuntimeHandleStack { capacity: Cell, } +pub(super) type StackRef = &'static RuntimeHandleStack; + impl RuntimeHandleStack { pub(super) const fn new() -> Self { Self { @@ -77,7 +79,7 @@ impl RuntimeHandleStack { let capacity = old_capacity .checked_mul(2) .expect("runtime handle stack capacity overflow") - .max(64); + .max(4); let layout = Layout::array::(capacity) .expect("runtime handle stack allocation overflow"); // SAFETY: data belongs exclusively to this thread and was allocated diff --git a/crates/perry-runtime/src/gc/roots/runtime_handles/stack_os_tls.rs b/crates/perry-runtime/src/gc/roots/runtime_handles/stack_os_tls.rs new file mode 100644 index 0000000000..19369a4b6f --- /dev/null +++ b/crates/perry-runtime/src/gc/roots/runtime_handles/stack_os_tls.rs @@ -0,0 +1,65 @@ +//! Android and HarmonyOS use OS-backed TLS: even a non-Drop value's allocation is freed +//! during teardown. Preserve the original scoped Vec access on this platform. +//! Scopes and handles carry a thread-bound token, never an escaped TLS address. + +use super::{handle_used_after_scope, RuntimeHandleSlot, RUNTIME_HANDLE_STACK}; +use std::cell::RefCell; +use std::marker::PhantomData; + +pub(super) struct RuntimeHandleStack(RefCell>); + +impl RuntimeHandleStack { + pub(super) const fn new() -> Self { + Self(RefCell::new(Vec::new())) + } +} + +#[derive(Clone, Copy)] +pub(super) struct StackRef(PhantomData<*mut ()>); + +impl StackRef { + pub(super) const fn new() -> Self { + Self(PhantomData) + } + + #[inline] + pub(super) fn len(self) -> usize { + RUNTIME_HANDLE_STACK.with(|stack| stack.0.borrow().len()) + } + + #[inline] + pub(super) fn truncate(self, base: usize) { + RUNTIME_HANDLE_STACK.with(|stack| stack.0.borrow_mut().truncate(base)); + } + + #[inline] + pub(super) fn push(self, slot: RuntimeHandleSlot) -> usize { + RUNTIME_HANDLE_STACK.with(|stack| { + let mut slots = stack.0.borrow_mut(); + let index = slots.len(); + slots.push(slot); + index + }) + } + + #[inline] + pub(super) fn get(self, index: usize) -> Option { + RUNTIME_HANDLE_STACK.with(|stack| stack.0.borrow().get(index).copied()) + } + + #[inline] + pub(super) fn set(self, index: usize, slot: RuntimeHandleSlot) { + RUNTIME_HANDLE_STACK.with(|stack| { + let mut slots = stack.0.borrow_mut(); + let Some(target) = slots.get_mut(index) else { + handle_used_after_scope(); + }; + *target = slot; + }); + } + + #[cfg(test)] + pub(super) fn capacity(self) -> usize { + RUNTIME_HANDLE_STACK.with(|stack| stack.0.borrow().capacity()) + } +} diff --git a/crates/perry-runtime/src/gc/roots/runtime_handles/tests.rs b/crates/perry-runtime/src/gc/roots/runtime_handles/tests.rs index c2b141d4e3..96e32046cd 100644 --- a/crates/perry-runtime/src/gc/roots/runtime_handles/tests.rs +++ b/crates/perry-runtime/src/gc/roots/runtime_handles/tests.rs @@ -60,6 +60,7 @@ fn ffi_indices_and_kind_checks_survive_growth_and_restore() { } #[test] +#[cfg(not(any(target_os = "android", target_env = "ohos")))] fn handle_storage_teardown_clears_cache_before_late_scope_drop() { struct LateScope(RefCell>); impl Drop for LateScope { @@ -93,3 +94,30 @@ fn handle_storage_teardown_clears_cache_before_late_scope_drop() { .join() .expect("handle teardown thread"); } + +#[cfg(any(target_os = "android", target_env = "ohos"))] +#[test] +fn late_scope_drop_resolves_os_tls_without_retaining_its_address() { + use std::sync::atomic::{AtomicBool, Ordering}; + static DROPPED: AtomicBool = AtomicBool::new(false); + struct LateScope(RefCell>); + impl Drop for LateScope { + fn drop(&mut self) { + drop(self.0.get_mut().take()); + DROPPED.store(true, Ordering::SeqCst); + } + } + thread_local! { + static BEFORE_BUFFER: LateScope = const { LateScope(RefCell::new(None)) }; + } + std::thread::spawn(|| { + BEFORE_BUFFER.with(|_| {}); + let scope = RuntimeHandleScope::new(); + let root = scope.root_nanbox_f64(7.0); + assert_eq!(root.get_nanbox_f64(), 7.0); + BEFORE_BUFFER.with(|late| *late.0.borrow_mut() = Some(scope)); + }) + .join() + .expect("late OS-TLS scope thread"); + assert!(DROPPED.load(Ordering::SeqCst)); +} diff --git a/crates/perry-runtime/src/tls_hot.rs b/crates/perry-runtime/src/tls_hot.rs index 1a86935fcc..860eb92159 100644 --- a/crates/perry-runtime/src/tls_hot.rs +++ b/crates/perry-runtime/src/tls_hot.rs @@ -535,10 +535,9 @@ pub(crate) fn hot_if_published() -> Option<&'static HotTls> { /// `SlotGuard`; the named fast path must preserve it (#9183). #[inline(always)] pub(crate) fn unpublish_runtime_handle_stack() { - // Teardown is cold. Use the non-dropping cache directly on every target, - // without filling it: non-Darwin targets also cache the named address even - // though hot_if_published() only exposes the Darwin direct-TSD shortcut. - HOT.with(|cell| unsafe { + // Teardown is cold. Clear the cache without filling it. Android's pooled + // cache may already be destroyed, which also makes it unpublished. + let _ = HOT.try_with(|cell| unsafe { (*cell.get()).runtime_handle_stack.set(std::ptr::null_mut()); }); } From 5c8a6436e06b729ffc473566d67421b4d3e1ec42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ralph=20K=C3=BCpper?= Date: Mon, 14 Sep 2026 06:17:38 +0200 Subject: [PATCH 14/30] perf(gc): make the "nothing due" GC check cheap on safepoint polls and trigger checks Runtime safepoint polls (regex quanta, the microtask pump, the event loop), gc_malloc and the other gc_check_trigger callers spent hundreds to thousands of instructions answering "is a collection due?" when nothing was. Three changes, each leaving every collection decision unchanged: - Runtime polls no longer build a JsGcStepResult. The budgeted step returns a debt-free GcStepReport; the FFI and test entry points attach the GcDebtSnapshot after the step returns, which reads the same values. The cycle start/step machinery moved out of line so a no-trigger poll does not pay its multi-kilobyte frame. - copying_from_space_in_use_bytes() is O(1) between layout changes: the bytes outside Eden's current block are cached, keyed on the heap generation (every reset, detach, evacuation and survivor flip runs inside a HeapChange scope), and every move of an arena's current block goes through Arena::set_current, which invalidates the cache. Debug builds compare every cached answer with the block walk. - gc_check_trigger evaluates the due trigger once instead of up to three times, reusing the answer unless it came from the #10169 one-shot leaf priority; the young cap reuses the old-gen pressure the due trigger already read (debug cross-checked) and tests the census-seeded flag first. --- crates/perry-runtime/src/arena/block.rs | 22 +- crates/perry-runtime/src/arena/from_space.rs | 295 ++++++++++++++++++ crates/perry-runtime/src/arena/mod.rs | 1 + crates/perry-runtime/src/arena/promote.rs | 5 +- crates/perry-runtime/src/arena/quarantine.rs | 7 +- crates/perry-runtime/src/arena/reset.rs | 42 +-- .../perry-runtime/src/gc/heap_generation.rs | 9 +- crates/perry-runtime/src/gc/mod.rs | 2 + crates/perry-runtime/src/gc/policy.rs | 227 +++++++++++--- crates/perry-runtime/src/gc/tenuring.rs | 8 + .../src/gc/tests/young_leaf_route.rs | 75 ++++- crates/perry-runtime/src/lib.rs | 2 +- .../perry-runtime/src/promise/microtasks.rs | 2 +- .../perry-runtime/src/regex/perex_runtime.rs | 2 +- scripts/gc_runtime_root_holders.json | 45 +-- 15 files changed, 644 insertions(+), 100 deletions(-) create mode 100644 crates/perry-runtime/src/arena/from_space.rs diff --git a/crates/perry-runtime/src/arena/block.rs b/crates/perry-runtime/src/arena/block.rs index 96e64195d1..48b916d831 100644 --- a/crates/perry-runtime/src/arena/block.rs +++ b/crates/perry-runtime/src/arena/block.rs @@ -576,6 +576,22 @@ impl Arena { /// Only used for the non-Eden regions — Eden must stay eager /// because `js_inline_arena_state` hands its current block to /// codegen's inline bump allocator at thread start. + /// Point allocation at `blocks[idx]`. + /// + /// Every move of `current` goes through here, because the cached young + /// occupancy (`arena/from_space.rs`) assumes that between two reads only + /// the current Eden block's offset changed unless the heap generation + /// moved. The allocator's block switches happen outside any `HeapChange` + /// scope, so they must retire that cache themselves; the cache key does not + /// include the block index. Invalidating for every arena, not just Eden, + /// keeps the rule free of a space test; a switch costs one thread-local + /// store and happens once per block. + #[inline] + pub(crate) fn set_current(&mut self, idx: usize) { + self.current = idx; + super::from_space::invalidate_sealed_young_bytes(); + } + fn new_lazy(generation: HeapGeneration, space: HeapSpace) -> Self { Arena { blocks: vec![ArenaBlock { @@ -685,7 +701,7 @@ impl Arena { self.blocks.len() - 1 } }; - self.current = new_idx; + self.set_current(new_idx); ARENA_TOTAL_BYTES.with(|t| t.set(t.get() + fresh_size)); } @@ -757,7 +773,7 @@ impl Arena { continue; } if let Some(ptr) = self.try_block_alloc(i, size, align) { - self.current = i; + self.set_current(i); // Resync inline state to the new current block. self.resync_inline_to_current(); return Some(ptr); @@ -797,7 +813,7 @@ impl Arena { } if let Some(ptr) = self.try_block_alloc_excluding_pages(i, size, align, excluded_pages) { - self.current = i; + self.set_current(i); self.resync_inline_to_current(); return ptr; } diff --git a/crates/perry-runtime/src/arena/from_space.rs b/crates/perry-runtime/src/arena/from_space.rs new file mode 100644 index 0000000000..9ea4c8e1b2 --- /dev/null +++ b/crates/perry-runtime/src/arena/from_space.rs @@ -0,0 +1,295 @@ +//! Young-generation occupancy without a block walk. +//! +//! `copying_from_space_in_use_bytes()` is the basis of the scavenge nursery +//! cap, and `gc_budgeted_due_trigger()` reads it on every runtime safepoint +//! poll and every `gc_malloc`. Summing `block.offset` over every Eden block and +//! every active-survivor block made each of those reads O(blocks), and the +//! young generation can hold hundreds of blocks once the cap scales with the +//! tenured set. +//! +//! # What changes between two reads +//! +//! Split the sum into the Eden block allocation is currently bumping +//! (`blocks[current]`) and everything else, the *sealed* bytes. Between two +//! reads the sealed bytes can change in only three ways: +//! +//! 1. **A free or move.** Every reset, detach, release, evacuation and survivor +//! flip runs inside a [`HeapChange`](crate::gc::heap_generation::HeapChange) +//! scope, which advances the heap generation when it opens and again when it +//! closes. The funnel is enforced: the reset and evacuation primitives call +//! `debug_assert_heap_change_open`. +//! 2. **The allocator moves `current`.** Filling a block and continuing in +//! another one (a fresh block, a reused tombstone slot, or a partly-used +//! block with room for a smaller request) happens outside any scope. Every +//! such move goes through [`Arena::set_current`], which invalidates the +//! cache. Comparing the index alone would not do: `current` can leave +//! block 3 for block 5 and come back to block 3 once block 5 is full. +//! 3. **The active survivor space changes.** That is a flip, so it is case 1, +//! and the index is part of the key anyway. +//! +//! Survivor allocation fills the *inactive* space, which is not from-space +//! until the flip, and the flip happens inside the copying minor's scope. +//! +//! So the cache holds the sealed bytes keyed on the heap generation, and a read +//! is `sealed + blocks[current].offset`. Eden's `current` and the active +//! survivor index are deliberately not part of the key: every move of either is +//! already covered by rule 2 or rule 1, and each extra key field is one more +//! checked thread-local lookup on a path the due check takes on every poll. +//! Nothing is stored while a scope is open, because the generation does not +//! move inside one; a value stored before the scope opened stops matching when +//! it opens. +//! +//! Debug builds compare every cached answer with the walk, so a mutation site +//! that bypasses both rules fails the test that reaches it rather than skewing +//! the nursery cap. + +use super::*; + +#[derive(Clone, Copy)] +struct SealedYoungBytes { + valid: bool, + heap_generation: u64, + /// Eden bytes outside the current block, plus every byte of the active + /// survivor space. + sealed: usize, +} + +impl SealedYoungBytes { + const INVALID: Self = Self { + valid: false, + heap_generation: 0, + sealed: 0, + }; +} + +crate::perry_thread_local! { + static SEALED_YOUNG_BYTES: Cell = const { Cell::new(SealedYoungBytes::INVALID) }; +} + +#[cfg(test)] +crate::perry_thread_local! { + /// Fault injection for the invalidation test: while set, `Arena::set_current` + /// leaves the cache alone. + static SKIP_SET_CURRENT_INVALIDATION: Cell = const { Cell::new(false) }; +} + +/// Forget the cached sealed bytes. Called when an arena moves `current`. +#[inline] +pub(crate) fn invalidate_sealed_young_bytes() { + #[cfg(test)] + if SKIP_SET_CURRENT_INVALIDATION.with(Cell::get) { + return; + } + SEALED_YOUNG_BYTES.with(|cache| cache.set(SealedYoungBytes::INVALID)); +} + +/// Bytes currently allocated in Eden plus the active survivor from-space. +#[inline] +pub(crate) fn copying_from_space_in_use_bytes() -> usize { + let current_bytes = synced_current_eden_block_bytes(); + let generation = crate::gc::heap_generation::heap_generation(); + let cached = SEALED_YOUNG_BYTES.with(Cell::get); + if cached.valid && cached.heap_generation == generation { + let bytes = cached.sealed + current_bytes; + debug_assert_eq!( + bytes, + copying_from_space_in_use_bytes_walked(), + "cached from-space occupancy drifted from the block walk: a young block offset \ + or Eden's `current` changed outside a HeapChange scope without \ + `Arena::set_current` (see arena/from_space.rs)" + ); + return bytes; + } + walk_and_store(generation, current_bytes) +} + +/// `sync_inline_arena_state`, then the current Eden block's offset. The same +/// write and the same sampling note, through the hot-TLS addresses rather than +/// two `thread_local!` resolutions. +#[inline(always)] +fn synced_current_eden_block_bytes() -> usize { + // SAFETY: this thread's inline state and nursery arena; no `&mut` borrow of + // either is live across this call. + unsafe { + let inline = &*hot_inline_state(); + let eden = &mut *hot_arena(); + let current = eden.current; + if !inline.data.is_null() { + super::alloc_sample::note_inline_sync(eden.blocks[current].offset, inline.offset); + eden.blocks[current].offset = inline.offset; + } + eden.blocks[current].offset + } +} + +#[cold] +#[inline(never)] +fn walk_and_store(generation: u64, current_bytes: usize) -> usize { + let bytes = copying_from_space_in_use_bytes_walked(); + if !crate::gc::heap_generation::heap_change_open() { + SEALED_YOUNG_BYTES.with(|cache| { + cache.set(SealedYoungBytes { + valid: true, + heap_generation: generation, + sealed: bytes - current_bytes, + }) + }); + } + bytes +} + +/// The O(blocks) sum the cache stands in for. The source of truth. +pub(crate) fn copying_from_space_in_use_bytes_walked() -> usize { + sync_inline_arena_state(); + let eden = ARENA.with(|arena| { + let arena = unsafe { &*arena.get() }; + arena.blocks.iter().map(|b| b.offset).sum::() + }); + let active = ACTIVE_SURVIVOR.with(|active| active.get()); + let survivor = with_survivor_arena(active, |arena| { + arena.blocks.iter().map(|b| b.offset).sum::() + }); + eden + survivor +} + +#[cfg(test)] +mod tests { + use super::*; + + struct SkipInvalidation; + + impl SkipInvalidation { + fn new() -> Self { + SKIP_SET_CURRENT_INVALIDATION.with(|skip| skip.set(true)); + Self + } + } + + impl Drop for SkipInvalidation { + fn drop(&mut self) { + SKIP_SET_CURRENT_INVALIDATION.with(|skip| skip.set(false)); + invalidate_sealed_young_bytes(); + } + } + + /// The cached answer if the cache matches, without the debug cross-check, + /// so the fault-injection test can observe a stale value instead of + /// panicking inside the read. + fn cache_hit() -> Option { + let current_bytes = synced_current_eden_block_bytes(); + let cached = SEALED_YOUNG_BYTES.with(Cell::get); + (cached.valid && cached.heap_generation == crate::gc::heap_generation::heap_generation()) + .then(|| cached.sealed + current_bytes) + } + + fn eden_current() -> usize { + ARENA.with(|a| unsafe { (*a.get()).current }) + } + + fn eden_block(idx: usize) -> (usize, usize) { + ARENA.with(|a| { + let arena = unsafe { &*a.get() }; + let block = &arena.blocks[idx]; + (block.offset, block.size) + }) + } + + /// Prime the cache on Eden's only block with 64 bytes of headroom, continue + /// in a fresh block, fill it, and return to the first block through the + /// allocator's forward scan: `current` ends at the index it was primed at, + /// while a whole block of bytes landed elsewhere. Every step asserts where + /// the allocator went, so a change in allocation policy fails the test + /// instead of making it vacuous. + fn return_to_the_primed_block() { + let _no_gc = crate::gc::GcSuppressScope::new(); + // libtest runs each test on a fresh thread, so this is a fresh arena. + assert_eq!( + ARENA.with(|a| unsafe { (*a.get()).blocks.len() }), + 1, + "fixture needs a fresh thread-local Eden" + ); + let start = eden_current(); + let (used, size) = eden_block(start); + let _ = crate::arena::arena_alloc(size - used - 64, 8); + assert_eq!(eden_block(start).0, size - 64); + + let primed = copying_from_space_in_use_bytes(); + assert_eq!( + cache_hit(), + Some(primed), + "the first read must prime the cache" + ); + + // 128 bytes do not fit the 64-byte headroom: a fresh block is installed. + let _ = crate::arena::arena_alloc(128, 8); + let other = eden_current(); + assert_ne!(other, start); + let (other_used, other_size) = eden_block(other); + let _ = crate::arena::arena_alloc(other_size - other_used, 8); + assert_eq!( + eden_block(other).0, + other_size, + "the fresh block must be full" + ); + + // Only the primed block can serve 32 bytes now. + let _ = crate::arena::arena_alloc(32, 8); + assert_eq!( + eden_current(), + start, + "the forward scan must return to the primed block" + ); + assert!(copying_from_space_in_use_bytes_walked() >= primed + other_size); + } + + #[test] + fn cached_occupancy_matches_the_walk_after_returning_to_the_primed_block() { + return_to_the_primed_block(); + assert_eq!( + cache_hit(), + None, + "set_current must have invalidated the cache" + ); + assert_eq!( + copying_from_space_in_use_bytes(), + copying_from_space_in_use_bytes_walked() + ); + } + + /// Fault injection for the invalidation in `Arena::set_current`: without it + /// the same sequence leaves a cache that matches every key and is short by + /// the fresh block's bytes. + #[test] + fn without_set_current_invalidation_the_cache_goes_stale() { + let _skip = SkipInvalidation::new(); + return_to_the_primed_block(); + let walked = copying_from_space_in_use_bytes_walked(); + let stale = cache_hit().expect("with invalidation skipped the primed entry still matches"); + assert!( + stale < walked, + "the stale cache must miss the fresh block's bytes (stale {stale}, walked {walked})" + ); + } + + /// The other half of the key: a collection opens a `HeapChange`, and the + /// generation it advances retires the cached entry. + #[test] + fn a_heap_change_scope_retires_the_cached_entry() { + let _no_gc = crate::gc::GcSuppressScope::new(); + let _ = crate::arena::arena_alloc(256, 8); + let primed = copying_from_space_in_use_bytes(); + assert_eq!(cache_hit(), Some(primed)); + { + let _scope = crate::gc::heap_generation::HeapChange::begin( + crate::gc::heap_generation::HeapChangeKind::Sweep, + ); + assert_eq!(cache_hit(), None); + // Reads inside the scope walk and store nothing. + assert_eq!(copying_from_space_in_use_bytes(), primed); + assert_eq!(cache_hit(), None); + } + assert_eq!(cache_hit(), None); + assert_eq!(copying_from_space_in_use_bytes(), primed); + assert_eq!(cache_hit(), Some(primed)); + } +} diff --git a/crates/perry-runtime/src/arena/mod.rs b/crates/perry-runtime/src/arena/mod.rs index 1fc2224482..785f7dc4d1 100644 --- a/crates/perry-runtime/src/arena/mod.rs +++ b/crates/perry-runtime/src/arena/mod.rs @@ -12,6 +12,7 @@ pub(crate) mod alloc_sample; mod allocators; mod block; mod construction; +mod from_space; pub(crate) use construction::ConstructionBatch; mod inline; mod page_meta; diff --git a/crates/perry-runtime/src/arena/promote.rs b/crates/perry-runtime/src/arena/promote.rs index fcfacf6442..7d5bdbd3a3 100644 --- a/crates/perry-runtime/src/arena/promote.rs +++ b/crates/perry-runtime/src/arena/promote.rs @@ -587,11 +587,12 @@ fn reset_young_after_promotion() { if arena.blocks.iter().all(|block| block.data.is_null()) { arena.install_fresh_block(BLOCK_SIZE); } - arena.current = arena + let first_live = arena .blocks .iter() .position(|block| !block.data.is_null()) .unwrap_or(0); + arena.set_current(first_live); INLINE_STATE.with(|s| { let inline = &mut *s.get(); if !inline.data.is_null() { @@ -610,7 +611,7 @@ fn reset_young_after_promotion() { block.offset = 0; block.dead_cycles = 0; } - arena.current = 0; + arena.set_current(0); }); } let active = ACTIVE_SURVIVOR.with(|active| active.get()); diff --git a/crates/perry-runtime/src/arena/quarantine.rs b/crates/perry-runtime/src/arena/quarantine.rs index 37986e7e06..30d0571532 100644 --- a/crates/perry-runtime/src/arena/quarantine.rs +++ b/crates/perry-runtime/src/arena/quarantine.rs @@ -580,11 +580,12 @@ pub(crate) fn copying_quarantine_from_spaces_and_flip() -> ArenaResetStats { }); with_survivor_arena_mut(active, |arena| { - arena.current = arena + let first_live = arena .blocks .iter() .position(|block| !block.data.is_null()) .unwrap_or(0); + arena.set_current(first_live); }); ACTIVE_SURVIVOR.with(|active_cell| active_cell.set(1 - active)); @@ -619,7 +620,7 @@ unsafe fn detach_used_blocks(arena: &mut Arena) -> Vec<(*mut u8, usize, usize)> block.offset = 0; block.dead_cycles = 0; } - arena.current = 0; + arena.set_current(0); detached } @@ -654,7 +655,7 @@ unsafe fn ensure_usable_current_block(arena: &mut Arena) { .iter() .position(|block| !block.data.is_null() && block.offset == 0) { - arena.current = idx; + arena.set_current(idx); return; } arena.install_fresh_block(BLOCK_SIZE); diff --git a/crates/perry-runtime/src/arena/reset.rs b/crates/perry-runtime/src/arena/reset.rs index faf9525426..e643f869a0 100644 --- a/crates/perry-runtime/src/arena/reset.rs +++ b/crates/perry-runtime/src/arena/reset.rs @@ -22,7 +22,7 @@ pub fn arena_reset_all_blocks_to_zero() { block.clear_object_starts(); block.offset = 0; } - arena.current = 0; + arena.set_current(0); // Free list is now invalid (all entries point into reset blocks). crate::gc::ARENA_FREE_LIST.with(|fl| fl.borrow_mut().clear()); crate::gc::ARENA_FREE_LIST_NONEMPTY.with(|c| c.set(false)); @@ -110,7 +110,7 @@ fn reset_region_to_zero(arena: &mut Arena) -> (usize, usize) { if arena.generation == HeapGeneration::Old { old_gen_in_use_bytes_sub(reusable_bytes); } - arena.current = 0; + arena.set_current(0); (reset_blocks, reusable_bytes) } @@ -129,18 +129,8 @@ pub(crate) fn copying_active_survivor_in_use_bytes() -> usize { } /// Bytes currently allocated in Eden plus the active survivor from-space. -pub(crate) fn copying_from_space_in_use_bytes() -> usize { - sync_inline_arena_state(); - let eden = ARENA.with(|arena| { - let arena = unsafe { &*arena.get() }; - arena.blocks.iter().map(|b| b.offset).sum::() - }); - let active = ACTIVE_SURVIVOR.with(|active| active.get()); - let survivor = with_survivor_arena(active, |arena| { - arena.blocks.iter().map(|b| b.offset).sum::() - }); - eden + survivor -} +/// O(1) between layout changes; see `arena/from_space.rs`. +pub(crate) use super::from_space::copying_from_space_in_use_bytes; /// #7901: is `block_idx` inside the copying collector's from-space (Eden plus /// the ACTIVE survivor semispace)? The inactive semispace is to-space and is @@ -501,7 +491,7 @@ pub fn arena_reset_empty_blocks(block_has_live: &[bool]) -> ArenaResetStats { // `arena.current` where it was — the next `Arena::alloc` slow // path will tombstone-reuse a slot and update `current` then. if !arena.blocks[new_current].data.is_null() { - arena.current = new_current; + arena.set_current(new_current); } let _ = (n_live, n_total); INLINE_STATE.with(|s| { @@ -817,7 +807,7 @@ impl ArenaResetEmptyBlocksState { .map(|block| !block.data.is_null()) .unwrap_or(false) { - arena.current = new_current; + arena.set_current(new_current); } INLINE_STATE.with(|s| { let inline = &mut *s.get(); @@ -980,7 +970,7 @@ impl SurvivorArenaReclaimState { .enumerate() .find(|(_, block)| !block.data.is_null() && block.offset == 0) { - arena.current = idx; + arena.set_current(idx); } else if arena .blocks .get(arena.current) @@ -993,7 +983,7 @@ impl SurvivorArenaReclaimState { .enumerate() .find(|(_, block)| !block.data.is_null()) { - arena.current = idx; + arena.set_current(idx); } } }); @@ -1297,7 +1287,7 @@ impl OldArenaReclaimDeadBlocksState { .enumerate() .find(|(_, block)| !block.data.is_null() && block.offset == 0) { - arena.current = idx; + arena.set_current(idx); } else if arena .blocks .get(arena.current) @@ -1310,7 +1300,7 @@ impl OldArenaReclaimDeadBlocksState { .enumerate() .find(|(_, block)| !block.data.is_null()) { - arena.current = idx; + arena.set_current(idx); } } }); @@ -1382,7 +1372,7 @@ pub(crate) fn old_arena_reclaim_dead_blocks(block_has_live: &[bool]) -> ArenaRes .enumerate() .find(|(_, block)| !block.data.is_null() && block.offset == 0) { - arena.current = idx; + arena.set_current(idx); } else if arena .blocks .get(arena.current) @@ -1395,7 +1385,7 @@ pub(crate) fn old_arena_reclaim_dead_blocks(block_has_live: &[bool]) -> ArenaRes .enumerate() .find(|(_, block)| !block.data.is_null()) { - arena.current = idx; + arena.set_current(idx); } } } @@ -1482,7 +1472,7 @@ pub(crate) fn old_arena_reclaim_selected_dead_blocks( .enumerate() .find(|(_, block)| !block.data.is_null() && block.offset == 0) { - arena.current = idx; + arena.set_current(idx); } else if arena .blocks .get(arena.current) @@ -1495,7 +1485,7 @@ pub(crate) fn old_arena_reclaim_selected_dead_blocks( .enumerate() .find(|(_, block)| !block.data.is_null()) { - arena.current = idx; + arena.set_current(idx); } } } @@ -1579,7 +1569,7 @@ fn reclaim_dead_survivor_arena_blocks( .enumerate() .find(|(_, block)| !block.data.is_null() && block.offset == 0) { - arena.current = idx; + arena.set_current(idx); } else if arena .blocks .get(arena.current) @@ -1592,7 +1582,7 @@ fn reclaim_dead_survivor_arena_blocks( .enumerate() .find(|(_, block)| !block.data.is_null()) { - arena.current = idx; + arena.set_current(idx); } } } diff --git a/crates/perry-runtime/src/gc/heap_generation.rs b/crates/perry-runtime/src/gc/heap_generation.rs index 4f91460663..18841477b3 100644 --- a/crates/perry-runtime/src/gc/heap_generation.rs +++ b/crates/perry-runtime/src/gc/heap_generation.rs @@ -69,7 +69,6 @@ crate::perry_thread_local! { /// This thread's current heap generation. #[inline] -#[cfg_attr(not(feature = "regex-engine"), allow(dead_code))] pub(crate) fn heap_generation() -> u64 { HEAP_GENERATION.with(Cell::get) } @@ -113,6 +112,14 @@ impl Drop for HeapChange { } } +/// Is a [`HeapChange`] scope open on this thread? A cache keyed on the heap +/// generation must not store while one is, because the generation does not +/// advance inside a scope. +#[inline] +pub(crate) fn heap_change_open() -> bool { + OPEN_HEAP_CHANGES.try_with(Cell::get).unwrap_or(1) > 0 +} + /// Called by every primitive that frees or moves heap memory. #[inline] #[track_caller] diff --git a/crates/perry-runtime/src/gc/mod.rs b/crates/perry-runtime/src/gc/mod.rs index 757909bcc0..09f92ead01 100644 --- a/crates/perry-runtime/src/gc/mod.rs +++ b/crates/perry-runtime/src/gc/mod.rs @@ -38,7 +38,9 @@ pub use types::*; mod json_defer; mod policy; pub(crate) use json_defer::JsonParseAllocation; +#[cfg(test)] pub(crate) use policy::gc_runtime_safepoint; +pub(crate) use policy::gc_runtime_safepoint_poll; pub(crate) use policy::note_young_leaf_born_old; /// The one writer of `GC_SAFEPOINT_PENDING` — it also keeps the poll's global /// arming shadow in step. See `gc/poll_arm.rs`. diff --git a/crates/perry-runtime/src/gc/policy.rs b/crates/perry-runtime/src/gc/policy.rs index 6a772c0b14..7051fd8d43 100644 --- a/crates/perry-runtime/src/gc/policy.rs +++ b/crates/perry-runtime/src/gc/policy.rs @@ -105,6 +105,16 @@ pub(super) fn next_arena_trigger_base() -> usize { /// (near-zero infant mortality), a saturated survivor space, and 1427 /// collections for a run that allocates ~1.4 GB. pub(super) fn young_scavenge_cap_due() -> bool { + young_scavenge_cap_due_with_old_reclaimable(old_gen_reclaimable_pressure_bytes) +} + +/// [`young_scavenge_cap_due`] with the old-gen reclaimable-pressure read +/// supplied by the caller. `gc_budgeted_due_trigger` has already read that +/// value for its old-reclaim arm, and nothing between that read and this one +/// touches old-gen, so it passes a closure returning the value it holds rather +/// than paying two more thread-local reads. The read happens where it always +/// did: after the census seed, which changes only the young-side factor. +fn young_scavenge_cap_due_with_old_reclaimable(old_reclaimable: impl FnOnce() -> usize) -> bool { if !nursery_cap_active() { return false; } @@ -114,10 +124,16 @@ pub(super) fn young_scavenge_cap_due() -> bool { // process, halfway to the base cap). Not while a collection is in // progress or a budgeted cycle is active — the young generation is being // rewritten then and the walk would read forwarding stubs. - if GC_FLAGS.with(|f| f.get()) & GC_FLAG_IN_ALLOC == 0 && !gc_budgeted_cycle_active() { + // + // The seeded test comes first because the seed can happen only once: in + // steady state this is one thread-local read instead of three. + if !super::tenuring::object_census_seeded() + && GC_FLAGS.with(|f| f.get()) & GC_FLAG_IN_ALLOC == 0 + && !gc_budgeted_cycle_active() + { super::tenuring::maybe_seed_object_census_from_allocation(from_space_in_use); } - from_space_in_use >= scavenge_nursery_cap_dueness_bytes() + from_space_in_use >= scavenge_nursery_cap_dueness_bytes_with(old_reclaimable) } /// #10169: does the young generation hold at least one BASE nursery cap of @@ -142,11 +158,22 @@ pub(crate) fn young_generation_holds_a_nursery() -> bool { /// NOT feed `effective_next_arena_trigger`: this is about *dueness*, and a test /// that also moved the trigger clamp would be changing two things at once. fn scavenge_nursery_cap_dueness_bytes() -> usize { + scavenge_nursery_cap_dueness_bytes_with(old_gen_reclaimable_pressure_bytes) +} + +fn scavenge_nursery_cap_dueness_bytes_with(old_reclaimable: impl FnOnce() -> usize) -> usize { #[cfg(test)] if let Some(bytes) = GC_NURSERY_CAP_TEST_DUE_BYTES.with(Cell::get) { return bytes; } - super::tenuring::scavenge_nursery_cap_effective_bytes() + let influx_driven = super::tenuring::influx_driven_nursery_cap_bytes(); + let old_reclaimable = old_reclaimable(); + debug_assert_eq!( + old_reclaimable, + old_gen_reclaimable_pressure_bytes(), + "the old-gen pressure a due check reuses must still be the current value" + ); + super::tenuring::scavenge_nursery_cap_from(influx_driven, old_reclaimable) } #[cfg(test)] @@ -2770,6 +2797,14 @@ pub fn gc_check_trigger() { return; } + // This function asks "what is due?" up to three times on the path where + // nothing is (the old-reclaim arm, the nursery arm, the assist gate). Every + // arm that acts returns, so the state each later question sees is the + // state the first one saw, and a repeatable answer can be reused. An + // answer from the #10169 flag branch is re-evaluated, exactly as before. + let mut due_memo = DueTriggerMemo::new(); + let mut due = || due_memo.get(gc_budgeted_due_trigger_eval); + // #5476: a workload that churns *large* temporaries (>16 KB, born directly // in the old arena) grows the old generation without ever exercising the // nursery. Old-gen reclaim pressure schedules a budgeted full cycle that @@ -2824,10 +2859,7 @@ pub fn gc_check_trigger() { // on. Polls off ⇒ the precise path is reached less often ⇒ this arm fires // more often ⇒ the census counter rises. Inert, not unsound. if !gc_budgeted_cycle_active() - && matches!( - gc_budgeted_due_trigger(), - Some(BudgetedGcTrigger::OldReclaim) - ) + && matches!(due(), Some(BudgetedGcTrigger::OldReclaim)) && !GC_OLD_RECLAIM_IN_PROGRESS.with(Cell::get) { let _reentry = OldReclaimReentryGuard::enter(); @@ -2909,7 +2941,7 @@ pub fn gc_check_trigger() { || gc_moving_loop_polls_enabled() || super::roots::registered_root_scanners_block_budgeted_gc()) { - let direct_kind = match gc_budgeted_due_trigger() { + let direct_kind = match due() { // #7909: `YoungScavengeCap` is a nursery-churn trigger exactly like // `ArenaBytes` here — this arm's whole job is to route nursery // pressure to a collection that can actually reclaim it, so the two @@ -3054,7 +3086,7 @@ pub fn gc_check_trigger() { } } - if !gc_budgeted_cycle_active() && gc_budgeted_due_trigger().is_none() { + if !gc_budgeted_cycle_active() && due().is_none() { return; } @@ -3255,6 +3287,45 @@ pub(crate) fn note_young_leaf_born_old() { } pub(super) fn gc_budgeted_due_trigger() -> Option { + gc_budgeted_due_trigger_eval().0 +} + +/// Reuse of a repeatable [`gc_budgeted_due_trigger_eval`] answer across the +/// questions one `gc_check_trigger` call asks. An unrepeatable answer is +/// returned once and the next question evaluates again. +pub(super) struct DueTriggerMemo(Option>); + +impl DueTriggerMemo { + pub(super) const fn new() -> Self { + Self(None) + } + + pub(super) fn get( + &mut self, + eval: impl FnOnce() -> (Option, bool), + ) -> Option { + if let Some(due) = self.0 { + return due; + } + let (due, repeatable) = eval(); + if repeatable { + self.0 = Some(due); + } + due + } +} + +/// [`gc_budgeted_due_trigger`], plus whether evaluating it again with no state +/// changed in between is guaranteed to give the same answer. +/// +/// Only the #10169 flag branch below breaks that: it consumes the flag and +/// returns early, so a second evaluation takes the ordinary path and may +/// answer differently (for example `OldReclaim`). The #8122 census seed does +/// not break it. The seed runs inside the young-cap arm before that arm's +/// comparison, so the first evaluation already compared against the seeded +/// cap; no earlier arm reads the census and the malloc arm after it does not +/// either, and a second evaluation cannot seed again. +pub(super) fn gc_budgeted_due_trigger_eval() -> (Option, bool) { // #10169: a leaf born old under young pressure gives the nursery minor // ONE-TIME priority over old-reclaim, and only while the young generation // is still unmeasured. A young generation that a minor has already @@ -3268,16 +3339,16 @@ pub(super) fn gc_budgeted_due_trigger() -> Option { if GC_YOUNG_LEAF_BORN_OLD.with(Cell::get) { GC_YOUNG_LEAF_BORN_OLD.with(|flag| flag.set(false)); if !super::young_generation_measured_retained() && young_scavenge_cap_due() { - return Some(BudgetedGcTrigger::YoungScavengeCap); + return (Some(BudgetedGcTrigger::YoungScavengeCap), false); } } let old_pending = GC_OLD_RECLAIM_PENDING.with(Cell::get); // #6010: external Map/Set side-buffer bytes escalate to OldReclaim too. - let old_in_use = - old_gen_reclaimable_pressure_bytes().saturating_add(external_side_live_bytes()); + let old_reclaimable = old_gen_reclaimable_pressure_bytes(); + let old_in_use = old_reclaimable.saturating_add(external_side_live_bytes()); let old_baseline = GC_LAST_OLD_RECLAIM_IN_USE_BYTES.with(|bytes| bytes.get()); if old_pending || old_reclaim_pressure_due(old_in_use, old_baseline) { - return Some(BudgetedGcTrigger::OldReclaim); + return (Some(BudgetedGcTrigger::OldReclaim), true); } // Two separately-scoped arena arms (see `young_scavenge_cap_due` for why @@ -3286,19 +3357,21 @@ pub(super) fn gc_budgeted_due_trigger() -> Option { // only. let total = crate::arena::arena_total_bytes(); if total >= next_arena_trigger_base() { - return Some(BudgetedGcTrigger::ArenaBytes); + return (Some(BudgetedGcTrigger::ArenaBytes), true); } - if young_scavenge_cap_due() { - return Some(BudgetedGcTrigger::YoungScavengeCap); + // Old-gen is untouched since the read above: the arms in between only + // read, and the census seed walks the young generation. + if young_scavenge_cap_due_with_old_reclaimable(|| old_reclaimable) { + return (Some(BudgetedGcTrigger::YoungScavengeCap), true); } let malloc_count = malloc_object_count(); let next_malloc_trigger = GC_NEXT_MALLOC_TRIGGER.with(|c| c.get()); if malloc_count >= next_malloc_trigger { - return Some(BudgetedGcTrigger::MallocCount); + return (Some(BudgetedGcTrigger::MallocCount), true); } - None + (None, true) } /// Phase 1 of the moving-GC project: run a copying (moving) minor at a @@ -3876,6 +3949,47 @@ fn gc_start_budgeted_cycle_for_pressure(progress_kind: GcProgressKind) -> Option }) } +/// What one budgeted step decided, without the debt figures. +/// +/// The step machinery returns this; only callers that hand a +/// [`JsGcStepResult`] to someone attach the debt, through +/// [`GcStepReport::with_debt`]. The runtime's own polls (regex quanta, the +/// microtask pump, the event loop) discard the result, and a +/// `GcDebtSnapshot` costs a second evaluation of the nursery cap, the arena +/// trigger and the old-reclaim band on every poll that finds nothing due. +/// +/// Attaching the debt after the step returns reads the same values it used to +/// read inside the step: the snapshot was always the last thing a step +/// computed, and the only work between that point and the caller is dropping +/// `BudgetedGcStepGuard`, which clears a flag the snapshot does not read. +#[derive(Clone, Copy, Debug, PartialEq, Eq)] +pub(crate) struct GcStepReport { + pub(crate) status: u32, + phase: u32, + collection_kind: u32, + trigger_kind: u32, + active: bool, + completed: bool, +} + +impl GcStepReport { + /// The FFI result, with the debt measured now. + pub(crate) fn with_debt(self) -> JsGcStepResult { + let debt = GcDebtSnapshot::current(); + JsGcStepResult { + status: self.status, + phase: self.phase, + collection_kind: self.collection_kind, + trigger_kind: self.trigger_kind, + active: u32::from(self.active), + completed: u32::from(self.completed), + arena_debt_bytes: debt.arena_debt_bytes, + malloc_debt_objects: debt.malloc_debt_objects, + old_reclaim_debt_bytes: debt.old_reclaim_debt_bytes, + } + } +} + fn gc_step_result( status: u32, phase: u32, @@ -3883,26 +3997,22 @@ fn gc_step_result( trigger_kind: u32, active: bool, completed: bool, -) -> JsGcStepResult { - let debt = GcDebtSnapshot::current(); - JsGcStepResult { +) -> GcStepReport { + GcStepReport { status, phase, collection_kind, trigger_kind, - active: u32::from(active), - completed: u32::from(completed), - arena_debt_bytes: debt.arena_debt_bytes, - malloc_debt_objects: debt.malloc_debt_objects, - old_reclaim_debt_bytes: debt.old_reclaim_debt_bytes, + active, + completed, } } -fn gc_idle_step_result() -> JsGcStepResult { +fn gc_idle_step_result() -> GcStepReport { gc_step_result(JS_GC_STEP_STATUS_IDLE, 0, 0, 0, false, false) } -fn gc_cycle_step_result(status: u32, cycle: &BudgetedGcCycle, completed: bool) -> JsGcStepResult { +fn gc_cycle_step_result(status: u32, cycle: &BudgetedGcCycle, completed: bool) -> GcStepReport { gc_step_result( status, cycle.state.phase().ffi_code(), @@ -3913,7 +4023,7 @@ fn gc_cycle_step_result(status: u32, cycle: &BudgetedGcCycle, completed: bool) - ) } -fn gc_budgeted_status_result() -> JsGcStepResult { +fn gc_budgeted_status_result() -> GcStepReport { if !gc_budgeted_cycle_active() { return gc_idle_step_result(); } @@ -3932,7 +4042,7 @@ fn gc_budgeted_status_result() -> JsGcStepResult { } } -fn gc_budgeted_skipped_result() -> JsGcStepResult { +fn gc_budgeted_skipped_result() -> GcStepReport { if !gc_budgeted_cycle_active() { return gc_step_result(JS_GC_STEP_STATUS_SKIPPED, 0, 0, 0, false, false); } @@ -3945,7 +4055,7 @@ fn gc_budgeted_skipped_result() -> JsGcStepResult { }) } -fn gc_finish_budgeted_cycle(mut cycle: BudgetedGcCycle) -> JsGcStepResult { +fn gc_finish_budgeted_cycle(mut cycle: BudgetedGcCycle) -> GcStepReport { let outcome = cycle .state .take_outcome() @@ -3981,7 +4091,7 @@ fn gc_finish_budgeted_cycle(mut cycle: BudgetedGcCycle) -> JsGcStepResult { } enum BudgetedStepOutcome { - Result(JsGcStepResult), + Result(GcStepReport), Completed(BudgetedGcCycle), } @@ -4018,7 +4128,7 @@ pub(super) fn gc_drain_active_budgeted_cycle() { } } -fn gc_budgeted_step_work_units_inner(work_units: usize) -> JsGcStepResult { +fn gc_budgeted_step_work_units_inner(work_units: usize) -> GcStepReport { gc_budgeted_step_work_units_inner_with_progress(work_units, GcProgressKind::NormalIncremental) } @@ -4056,7 +4166,7 @@ pub(super) fn gc_idle_reclaim_try_start() -> bool { /// cycle stops reporting `ACTIVE`. Never starts a cycle of its own — when none /// is active the stepper's pressure check runs exactly as it would at any host /// safepoint. -pub(super) fn gc_idle_reclaim_step(budget_us: u64) -> JsGcStepResult { +pub(super) fn gc_idle_reclaim_step(budget_us: u64) -> GcStepReport { let start = Instant::now(); let mut result = gc_budgeted_step_work_units_inner(GC_NORMAL_INCREMENTAL_WORK_UNITS); while result.status == JS_GC_STEP_STATUS_ACTIVE @@ -4083,7 +4193,7 @@ fn defer_nursery_cap_to_precise_safepoint() { fn gc_budgeted_step_work_units_inner_with_progress( work_units: usize, start_progress_kind: GcProgressKind, -) -> JsGcStepResult { +) -> GcStepReport { if work_units == 0 { return gc_budgeted_status_result(); } @@ -4095,13 +4205,34 @@ fn gc_budgeted_step_work_units_inner_with_progress( return gc_budgeted_skipped_result(); }; - if !gc_budgeted_cycle_active() { + // The common host poll: no cycle, nothing due. Everything past this point + // (starting and stepping a cycle) lives out of line, so that poll does not + // pay the multi-kilobyte frame the cycle machinery needs. `_guard` stays + // held across the call, exactly as when the code was inline. + let due = if gc_budgeted_cycle_active() { + None + } else { let Some(due) = gc_budgeted_due_trigger() else { super::instruments::note_budgeted_step_skip( super::instruments::BudgetedStepSkip::NoTrigger, ); return gc_idle_step_result(); }; + Some(due) + }; + gc_budgeted_start_or_step(due, work_units, start_progress_kind) +} + +/// The part of [`gc_budgeted_step_work_units_inner_with_progress`] that starts +/// a cycle for `due` (when `Some`, i.e. no cycle was active and a trigger was +/// due) and steps the active cycle. The caller holds `BudgetedGcStepGuard`. +#[inline(never)] +fn gc_budgeted_start_or_step( + due: Option, + work_units: usize, + start_progress_kind: GcProgressKind, +) -> GcStepReport { + if let Some(due) = due { if due == BudgetedGcTrigger::YoungScavengeCap && start_progress_kind.is_budgeted() { // ★ #7909. Starting a budgeted cycle here is strictly worse than // starting nothing, and it is self-sustaining. @@ -4222,11 +4353,25 @@ fn gc_budgeted_step_work_units_inner_with_progress( fn gc_mutator_assist_step_work_units_inner_with_progress( work_units: usize, start_progress_kind: GcProgressKind, -) -> JsGcStepResult { +) -> GcStepReport { gc_budgeted_step_work_units_inner_with_progress(work_units, start_progress_kind) } +/// A host safepoint that reports what it did, debt included. For callers +/// that read the result: `js_gc_safepoint` and tests. pub(crate) fn gc_runtime_safepoint() -> JsGcStepResult { + gc_runtime_safepoint_report().with_debt() +} + +/// The runtime's own safepoint poll (regex quanta, the microtask pump, the +/// event loop). Makes exactly the decisions [`gc_runtime_safepoint`] makes and +/// skips only the debt snapshot, which none of these callers reads. +#[inline] +pub(crate) fn gc_runtime_safepoint_poll() { + let _ = gc_runtime_safepoint_report(); +} + +fn gc_runtime_safepoint_report() -> GcStepReport { let budget = gc_progress_contract().budget_for(GcProgressKind::NormalIncremental); let Some(work_units) = budget.work_units else { return gc_budgeted_status_result(); @@ -4246,14 +4391,14 @@ fn write_gc_step_result(out: *mut JsGcStepResult, result: JsGcStepResult) -> u32 #[no_mangle] pub extern "C" fn js_gc_step_work_units(work_units: u64, out: *mut JsGcStepResult) -> u32 { let work_units = usize::try_from(work_units).unwrap_or(usize::MAX); - let result = gc_budgeted_step_work_units_inner(work_units); + let result = gc_budgeted_step_work_units_inner(work_units).with_debt(); write_gc_step_result(out, result) } #[no_mangle] pub extern "C" fn js_gc_step_us(budget_us: u64, out: *mut JsGcStepResult) -> u32 { if budget_us == 0 { - let result = gc_budgeted_status_result(); + let result = gc_budgeted_status_result().with_debt(); return write_gc_step_result(out, result); } @@ -4264,12 +4409,12 @@ pub extern "C" fn js_gc_step_us(budget_us: u64, out: *mut JsGcStepResult) -> u32 { result = gc_budgeted_step_work_units_inner(1); } - write_gc_step_result(out, result) + write_gc_step_result(out, result.with_debt()) } #[no_mangle] pub extern "C" fn js_gc_step_status(out: *mut JsGcStepResult) -> u32 { - let result = gc_budgeted_status_result(); + let result = gc_budgeted_status_result().with_debt(); write_gc_step_result(out, result) } diff --git a/crates/perry-runtime/src/gc/tenuring.rs b/crates/perry-runtime/src/gc/tenuring.rs index 72255c0b78..33ba9fdfca 100644 --- a/crates/perry-runtime/src/gc/tenuring.rs +++ b/crates/perry-runtime/src/gc/tenuring.rs @@ -488,6 +488,14 @@ pub(super) fn note_surviving_object_census(moved_bytes: usize, moved_objects: us /// /// Returns without walking when the base cap is not yet half full, when a /// census (either kind) already exists, or when the nursery is empty. +/// Has the object denomination been seeded, by an allocation census or by a +/// copying minor's survivor census? Once true it stays true for the process +/// (tests reset it). +#[inline] +pub(super) fn object_census_seeded() -> bool { + OBJECT_CENSUS_SEEDED.with(Cell::get) +} + pub(super) fn maybe_seed_object_census_from_allocation(from_space_in_use_bytes: usize) { if OBJECT_CENSUS_SEEDED.with(Cell::get) { return; diff --git a/crates/perry-runtime/src/gc/tests/young_leaf_route.rs b/crates/perry-runtime/src/gc/tests/young_leaf_route.rs index 2865f520b5..e55674ae49 100644 --- a/crates/perry-runtime/src/gc/tests/young_leaf_route.rs +++ b/crates/perry-runtime/src/gc/tests/young_leaf_route.rs @@ -4,8 +4,8 @@ //! exactly once per leaf, and a measured young generation buys none. use super::super::policy::{ - gc_budgeted_due_trigger, note_young_leaf_born_old, BudgetedGcTrigger, - ScavengeNurseryCapTestGuard, GC_OLD_RECLAIM_PENDING, + gc_budgeted_due_trigger, gc_budgeted_due_trigger_eval, note_young_leaf_born_old, + BudgetedGcTrigger, DueTriggerMemo, ScavengeNurseryCapTestGuard, GC_OLD_RECLAIM_PENDING, }; use super::super::*; use super::support::*; @@ -65,3 +65,74 @@ fn young_leaf_born_old_prioritises_the_nursery_minor_until_measured() { None => clear_young_survival_for_tests(), } } + +/// `gc_check_trigger` reuses a due answer only when evaluating again would give +/// the same one. The leaf priority is the answer that would not: it consumes +/// its flag, so the next evaluation takes the ordinary path. Every other +/// answer, including a plain `OldReclaim` after the flag is gone, repeats. +#[test] +fn only_the_leaf_priority_answer_is_unrepeatable() { + let _isolation = GcTestIsolationGuard::new(); + let _pacing = crate::gc::policy::force_moving_gc_pacing(); + let _triggers = GcTriggerThresholdTestGuard::suppress_automatic_triggers(); + let _cap_due = ScavengeNurseryCapTestGuard::due_at_bytes(1); + let filler = [b'y'; 64]; + crate::string::js_string_from_bytes(filler.as_ptr(), filler.len() as u32); + let previous_survival = last_young_survival_permille(); + GC_OLD_RECLAIM_PENDING.with(|pending| pending.set(true)); + clear_young_survival_for_tests(); + + note_young_leaf_born_old(); + assert_eq!( + gc_budgeted_due_trigger_eval(), + (Some(BudgetedGcTrigger::YoungScavengeCap), false) + ); + assert_eq!( + gc_budgeted_due_trigger_eval(), + (Some(BudgetedGcTrigger::OldReclaim), true) + ); + assert_eq!( + gc_budgeted_due_trigger_eval(), + (Some(BudgetedGcTrigger::OldReclaim), true) + ); + + // The same sequence through the memo `gc_check_trigger` uses: the leaf + // answer is not reused, the answer after it is. + note_young_leaf_born_old(); + let mut memo = DueTriggerMemo::new(); + assert_eq!( + memo.get(gc_budgeted_due_trigger_eval), + Some(BudgetedGcTrigger::YoungScavengeCap) + ); + assert_eq!( + memo.get(gc_budgeted_due_trigger_eval), + Some(BudgetedGcTrigger::OldReclaim) + ); + GC_OLD_RECLAIM_PENDING.with(|pending| pending.set(false)); + assert_eq!( + memo.get(gc_budgeted_due_trigger_eval), + Some(BudgetedGcTrigger::OldReclaim), + "a repeatable answer is reused for the rest of one gc_check_trigger call" + ); + + match previous_survival { + Some(permille) => seed_young_survival_for_tests(permille), + None => clear_young_survival_for_tests(), + } +} + +/// The memo on its own: a repeatable answer is evaluated once, an +/// unrepeatable one is never reused. +#[test] +fn due_trigger_memo_reuses_only_repeatable_answers() { + let mut memo = DueTriggerMemo::new(); + assert_eq!( + memo.get(|| (Some(BudgetedGcTrigger::YoungScavengeCap), false)), + Some(BudgetedGcTrigger::YoungScavengeCap) + ); + assert_eq!(memo.get(|| (None, true)), None); + assert_eq!( + memo.get(|| panic!("a repeatable answer must not be evaluated again")), + None + ); +} diff --git a/crates/perry-runtime/src/lib.rs b/crates/perry-runtime/src/lib.rs index ce248fe2b2..c540da6335 100644 --- a/crates/perry-runtime/src/lib.rs +++ b/crates/perry-runtime/src/lib.rs @@ -743,7 +743,7 @@ pub(crate) mod stdlib_pump { // #2532/#9696 — drain every initialized extension through the // registry; stdlib deliberately has no per-extension pump arms. run_aux_pumps(); - let _ = crate::gc::gc_runtime_safepoint(); + crate::gc::gc_runtime_safepoint_poll(); } static STDLIB_HAS_ACTIVE_FN: AtomicPtr<()> = AtomicPtr::new(null_mut()); diff --git a/crates/perry-runtime/src/promise/microtasks.rs b/crates/perry-runtime/src/promise/microtasks.rs index fc5e035631..6f42949582 100644 --- a/crates/perry-runtime/src/promise/microtasks.rs +++ b/crates/perry-runtime/src/promise/microtasks.rs @@ -384,7 +384,7 @@ pub(crate) fn empty_checkpoint_eligible_for_test() -> bool { } fn finish_gc_and_box_boundary() { - let _ = crate::gc::gc_runtime_safepoint(); + crate::gc::gc_runtime_safepoint_poll(); // Phase 1 of the moving-GC project (see project_gc_one_great_moving_gc): at // the OUTERMOST microtask-pump boundary the JS stack has fully unwound, so diff --git a/crates/perry-runtime/src/regex/perex_runtime.rs b/crates/perry-runtime/src/regex/perex_runtime.rs index 41d51b4617..0efc08964e 100644 --- a/crates/perry-runtime/src/regex/perex_runtime.rs +++ b/crates/perry-runtime/src/regex/perex_runtime.rs @@ -56,7 +56,7 @@ impl From for EngineError { /// that requests cancellation or forces actual collection. No input/program /// view or scratch slice is live when any poll is invoked. pub(crate) fn poll() -> Result<(), EngineError> { - crate::gc::gc_runtime_safepoint(); + crate::gc::gc_runtime_safepoint_poll(); Ok(()) } diff --git a/scripts/gc_runtime_root_holders.json b/scripts/gc_runtime_root_holders.json index a9ee4cf040..c586239872 100644 --- a/scripts/gc_runtime_root_holders.json +++ b/scripts/gc_runtime_root_holders.json @@ -142,6 +142,12 @@ "verdict": "not_a_gc_pointer", "why": "#9794 allocation-site sampling: bytes remaining until the next sample. A `Cell` countdown, decremented per allocation and reset on fire — a quantity, never an address." }, + { + "file": "crates/perry-runtime/src/arena/from_space.rs", + "name": "SEALED_YOUNG_BYTES", + "verdict": "not_a_gc_pointer", + "why": "Cached young-generation occupancy for the GC due check: a `Cell` holding a validity flag, the heap generation it was measured at (a u64 epoch), and a byte count (Eden bytes outside the current block plus the active survivor space). Quantities only; it never stores a block, object or header address." + }, { "file": "crates/perry-runtime/src/array/header_gc_slots.rs", "name": "DENSE_MOVE_LAYOUT_CLASSIFIED_SLOTS", @@ -307,7 +313,7 @@ "file": "crates/perry-runtime/src/gc/census.rs", "name": "PASS1_MARKED", "verdict": "non_moving_snapshot", - "why": "Real GC header addresses, deliberately untraced so the diagnostic does not keep its observed objects alive. Populated only at the end of mark propagation of a synchronous full cycle; consumed at sweep entry in the same run_to_completion invocation. The intervening full-cycle phases do not relocate or run JS callbacks. The Vec is used for membership comparisons and dropped with the census before sweep. Budgeted and minor cycles skip both boundaries. Pin re-audited 2026-09-05 after #9760 touched `gc/mod.rs`: that change is `mod heap_stats;` plus a `pub(crate) use` re-export and alters no mark/sweep control flow. `heap_stats()` is reached only from `js_bun_jsc_heap_stats` (the JS-facing `bun:jsc.heapStats()`), i.e. from mutator code, never inside a cycle, and its own module contract forbids allocation or collection during its walk. The mark-complete → sweep-entry window is unchanged. Re-audited 2026-09-05 (train125) after #9769 and #9771 touched pinned files. #9769 adds one `reg_scanner!` registration to `gc/mod.rs`; #9771 adds a feature-gated `alloc_census_init()` there and a feature-gated Rust-heap dump inside `take_census`. `alloc-census` is not in the default feature set, and decisively: `census_take_if_armed_at_full_sweep_start` does `PASS1_MARKED.with(|p| p.borrow_mut().take())` BEFORE calling `take_census`, so the snapshot has already left the thread-local by the time #9771's code runs — it cannot affect the window. Neither change alters mark/sweep control flow. Re-audited 2026-09-06 after #9831 touched `gc/policy.rs`. Its hunks are (a) the tiny-parse pressure guard's pricing (`tiny_parse_pressure_headroom_bytes`, `tiny_parse_pressure_due*`, a `Cell` byte-count base) consulted from JSON.parse's mutator-side boundaries (`gc_bump_malloc_trigger`, `gc_collect_pending_suppressed_parse`, `gc_schedule_parse_boundary_collection_if_pressure`), none of which is reachable from inside a cycle, and (b) one extra `Cell` store in `note_collection_finished_arena_occupancy`, which runs from `publish_reclaim_outcome` in the Publish subphase — after `step_sweep` has already consumed the snapshot. Mark/sweep control flow between `census_pass1_if_armed` and `census_take_if_armed_at_full_sweep_start` is untouched. Re-audited 2026-09-05 (train126) after #9755 restructured `gc/cycle.rs`. Its hunks are all root-scan machinery (`RootScanSubphase`, `RootScanCycleState`, the mutable-scanner iteration state), which runs BEFORE mark propagation completes; `gc/mod.rs` gains only a `mod young_log;` declaration. The bracketing is unchanged — `census_pass1_if_armed` is still inside `step_mark_propagation` and `census_take_if_armed_at_full_sweep_start` inside `step_sweep` — and a synchronous full mark-sweep still moves nothing between them. Re-pinned 2026-09-05 for the #9740 hot-TLS conversion of this file: the sole change is `thread_local!` → `crate::perry_thread_local!`, a macro-name swap with identical declaration syntax and `.with()` call sites. No control flow, no phase boundary, and no storage semantics change. Re-audited 2026-09-06 (train128) after #9794's GC diagnostics touched `gc/mod.rs` and `gc/policy.rs`: both gain diagnostic module declarations and counters only — no mark/sweep control flow, and the census bracketing in `step_mark_propagation` / `step_sweep` is unchanged. Re-audited for #9794's GC diagnostics: `gc/mod.rs` gains `mod diag_sites;` / `mod survival_diag;`, a re-export, a `diag_sites::full_started(...)` call at TRIGGER time (before mark propagation begins), and exit-time reporting. Nothing executes between mark-complete and sweep-entry, so the window is unchanged. Re-audited 2026-09-06 for the retained array-growth verifier fix: the cycle.rs change passes the existing non-copying evacuation verifier an explicit all-forwarded policy. That call remains in minor finalization, outside the synchronous full-cycle census window; its root and heap reads do not allocate GC objects, move objects, or invoke JS callbacks. The mark-complete and sweep-entry boundaries are unchanged. Re-audited 2026-09-05 after #9830 touched `gc/policy.rs`. That change is (a) six `thread_local! {` blocks rewritten as `crate::perry_thread_local! {` and (b) one `#[cfg(test)]` accessor listing the trigger path's hot-slot indices. The macro keeps the same storage, the same `.with()` at every read and write, and the same destructor registration (the teardown guard exists exactly when `needs_drop` holds, which is what `std::thread_local!` already decided); no value, predicate or branch in the file changes, so no mark or sweep control flow does. The one new behaviour is on a declaration's FIRST read: `HotKey::resolve_and_cache` takes a mutex and allocates a key through the GLOBAL allocator. Even if a first read landed inside this window it would be sound — the window's contract is that nothing relocates and no JS callback runs, and a mimalloc allocation does neither. `census_pass1_if_armed` is still inside `step_mark_propagation` and `census_take_if_armed_at_full_sweep_start` inside `step_sweep`; the bracketing is untouched. Re-audited 2026-09-06 (train132) after #9860 and #9845 touched `gc/mod.rs`. Both hunks are re-export lists and nothing else: #9860 adds `idle_reclaim_elapsed_starts` / `IDLE_RECLAIM_REARM_MS`, and #9845 adds `owner_is_dead_copied_minor_from_space_of_type`. No mark or sweep control flow changes. #9845's substantive work sits in `gc/oldgen.rs` and `gc/copying.rs`, neither pinned: the copying-minor arm (`finalize_dead_copied_minor_from_space_regexps`) runs on a MINOR, which skips both census boundaries; the full-cycle arm (`collect_dead_registered_regexps_post_trace`, from `with_dead_collection_finalize`) walks the RegExp registry building a Vec of addresses — no GC allocation, no JS callback, so it cannot relocate the snapshot's subjects — and it is reached from the sweep body, i.e. AFTER `census_take_if_armed_at_full_sweep_start` has already `take()`n the snapshot out of the thread-local. The mark-complete -> sweep-entry window is unchanged. Re-audited 2026-09-07 for #9965 after 1ec9e0e8a touched `gc/cycle.rs` and `gc/mod.rs`: `gc/mod.rs:216-217` only declares and imports the failure-attribution module, while `gc/cycle.rs:1414-1417` reads the trigger and diagnostic counters immediately before evacuation verification inside `atomic_finalize_minor_prelude`. Full cycles bypass `MinorPrelude` at `gc/cycle.rs:1192-1196`; evacuation remains guarded by the minor-only context at `gc/cycle.rs:1330-1372`. The snapshot store remains at `gc/cycle.rs:963-964` after synchronous full marking, and its take remains at `gc/cycle.rs:1454-1457` before sweep. No new write, relocation, collection, or JS callback was added to that full-cycle interval, so the PASS1_MARKED window is unaffected. Re-audited 2026-09-07 for the regex census rows: all new work is in `take_census` after `census_take_if_armed_at_full_sweep_start` has taken PASS1_MARKED out of TLS; neither boundary nor the intervening cycle control flow changed. Re-audited 2026-09-08 (train144) after #9976 and #9977 touched pinned files. `gc/mod.rs` gains exactly three lines: `mod copying_phase;` and `mod regex_census;` (declarations) and one `reg_scanner!(regex::site_test::scan_roots_mut)` registration. A scanner registration adds a root SOURCE for the mutable-root walks; it does not move either census boundary and runs nowhere between them. `gc/census.rs` widens `side_tables()` to `pub(super)`, extends it with regex rows and adds a test module — all census REPORTING, which runs from the diagnostic dump, not inside a cycle. Mark/sweep control flow between `census_pass1_if_armed` and `census_take_if_armed_at_full_sweep_start` is untouched. Re-audited 2026-09-08 for #9849 JSON construction deferral. `gc/mod.rs` adds the `json_defer` module/re-export and a trusted-header layout helper used only by already-validated JSON emitters; neither changes or runs in collector phase control flow. `gc/policy.rs` adds JSON completion scheduling, construction-grace checks, and safepoint deferral predicates. These are called from mutator-side JSON allocation/output boundaries and ordinary safepoint entry; they do not alter `step_mark_propagation`, `step_sweep`, or invoke callbacks or relocation between the census boundaries. The mark-complete to sweep-entry window is unchanged. The follow-up adds a cfg(test)-only one-shot boolean for deterministic explicit-pressure fixtures; it is absent from production builds and cannot affect the census window. The first predicate read consumes it, so post-parse accounting exercises normal pricing. Re-audited 2026-09-09 for bounded tiny-JSON completion polling. The policy.rs changes split the mutator-side pending-parse check into an inlined empty fast path plus an outlined debt-service path, and amortize the mutator-side arena-pressure read across 64 bounded parse completions. Neither function is reachable from step_mark_propagation or step_sweep; neither census boundary nor the synchronous full-cycle interval between them changes. Re-audited 2026-09-09 for lazy JSON record batches: policy.rs only widens gc_budgeted_cycle_active visibility from pub(super) to pub(crate). Its body remains a read-only Cell query. The new caller is lazy_get materialization in the mutator; run_to_completion, step_mark_propagation, census snapshot consumption at step_sweep, and the synchronous non-moving window are unchanged. Re-audited 2026-09-09 for completed JSON-output debt: the added gc_service_json_output_sweep function calls the existing trigger check from a rooted mutator boundary and reports whether its malloc-count request remains due. It is not called from any census or collector phase; the synchronous mark-complete to sweep-entry window is unchanged. Re-audited 2026-09-09 for the JSON byte-debt carry: the same mutator-only service helper now distinguishes requests satisfied before its call from those satisfied by its trigger check. The added enum contains no payload, both count reads are scalar, and no census boundary or collector phase changed. Re-audited 2026-09-11 for #10055: gc/mod.rs only registers the weak UTF-16 index scanner during gc_init. It neither marks strings nor allocates GC objects or runs JS; offset vectors use the Rust allocator. The mark-complete to sweep-entry census window and cycle control flow are unchanged. Re-audited 2026-09-11 for #10054: gc/mod.rs adds only the trim-cache mutable-root scanner registration in gc_init. Its scanner visits two existing string slots without allocating or invoking JS. Root scanning still precedes mark completion, and neither census boundary nor the synchronous mark-complete to sweep-entry window changes. Re-audited 2026-09-11 for #10060: the census array classifier now reads the logical element start and bounds its scan by the remaining capacity. The helper only reads the existing GC/header words and performs pointer arithmetic; it cannot allocate, collect, or call JS. This classifier runs in take_census after PASS1_MARKED has been taken out of TLS. Neither census boundary nor the mark-complete to sweep-entry control flow changed. Re-audited for #8512: gc/mod.rs only enables the existing PTY mutable-root scanner on Windows; it changes no mark/sweep phase or census boundary. The scanner visits NaN-boxed slots without running JS callbacks. Re-audited 2026-09-12 for the single regular-expression engine: `gc/mod.rs` changes `mod prefetch;` to `pub(crate) mod prefetch;` so the RegExp owner-table walks can prefetch headers, a visibility change with no new call in collector control flow; `gc/census.rs` changes only its `#[cfg(test)]` `regex_census_tests` module, dropping assertions for the previous engine's cache rows. Neither boundary (`census_pass1_if_armed` in `step_mark_propagation`, `census_take_if_armed_at_full_sweep_start` in `step_sweep`) nor the synchronous mark-complete to sweep-entry interval changes. Re-audited 2026-09-13 after the #10169 fix touched `gc/mod.rs` and `gc/policy.rs`. `gc/mod.rs` gains only `pub(crate) use` re-exports (`policy::note_young_leaf_born_old`, `policy::young_generation_holds_a_nursery`, `promote_in_place::{young_generation_measured_dying, young_generation_measured_retained}`, and cfg(test) survival seeders). `gc/policy.rs` gains a `Cell` thread-local (`GC_YOUNG_LEAF_BORN_OLD`, no pointer), its setter, a pure predicate over `copying_from_space_in_use_bytes` vs the base nursery cap, and a consumed-once branch at the top of `gc_budgeted_due_trigger` that may answer `YoungScavengeCap` ahead of `OldReclaim`. That branch decides WHICH collection a safepoint starts (a minor instead of a full); it runs before any cycle begins and never inside one, so the mark-complete → sweep-entry window of a synchronous full — where PASS1_MARKED is populated and consumed within one `run_to_completion` — is unchanged, and neither hunk adds an allocation, a JS callback, or a relocation to it. Re-audited 2026-09-13 for the heap generation (#10164 cross-call search positions): `gc/mod.rs` only declares `pub(crate) mod heap_generation;`. `gc/cycle.rs` wraps the `Sweep` and `Reclaim` arms of `GcCycleState::step` in a `HeapChange` scope and opens one inside `atomic_finalize_minor_prelude`'s evacuation branch (with a nested one around old-page defrag). Opening and closing a scope only increments two thread-local integer cells (`HEAP_GENERATION`, `OPEN_HEAP_CHANGES`); a first thread-local read may allocate a key through the global allocator, which neither relocates nor runs JS. The `Sweep` scope opens immediately before `step_sweep`, i.e. before `census_take_if_armed_at_full_sweep_start` takes PASS1_MARKED out of TLS, and adds no relocation, collection or JS callback to the synchronous mark-complete to sweep-entry window; the minor-prelude scope is unreachable from a full cycle, which bypasses `MinorPrelude`. Neither boundary nor the intervening control flow changed. Re-audited 2026-09-13 for #10182 block-granular reclamation, which touched `gc/cycle.rs`. Two hunks: (a) in the `RememberedSetRebuild` subphase of AtomicFinalize — INSIDE the window — the require-marked old-to-young rebuild is now constructed with `OldToYoungRememberedRebuildState::new_skipping`, whose cursor never enters blocks the census recorded as holding no reached, pinned or pre-marked object (`BlockCensus::unmarked_blocks`); computing that list reads `arena_block_snapshots()` and allocates one `Vec` through the global allocator. It visits a subset of the same objects the rebuild already walked (every skipped object would have been rejected as unmarked), and it neither allocates a GC object, relocates anything, nor runs a JS callback. (b) In `step_sweep`, `IncrementalSweepState::with_block_skip` runs after `census_take_if_armed_at_full_sweep_start` has already taken PASS1_MARKED out of TLS. Neither boundary moved and the synchronous mark-complete to sweep-entry interval gains no relocation, collection or callback. Re-audited 2026-09-11 for the startup memory profile: gc/mod.rs only retains the pre-main allocator-policy constructor in js_gc_init. The constructor applies process allocation options, without invoking GC or JS. No census boundary, collector phase, or mark-complete to sweep-entry control flow changed. Re-audited 2026-09-13 for #10179: census.rs only adds a native regex cache metadata row and its unit assertion; snapshot consumption and the full-cycle window are unchanged.", + "why": "Real GC header addresses, deliberately untraced so the diagnostic does not keep its observed objects alive. Populated only at the end of mark propagation of a synchronous full cycle; consumed at sweep entry in the same run_to_completion invocation. The intervening full-cycle phases do not relocate or run JS callbacks. The Vec is used for membership comparisons and dropped with the census before sweep. Budgeted and minor cycles skip both boundaries. Pin re-audited 2026-09-05 after #9760 touched `gc/mod.rs`: that change is `mod heap_stats;` plus a `pub(crate) use` re-export and alters no mark/sweep control flow. `heap_stats()` is reached only from `js_bun_jsc_heap_stats` (the JS-facing `bun:jsc.heapStats()`), i.e. from mutator code, never inside a cycle, and its own module contract forbids allocation or collection during its walk. The mark-complete → sweep-entry window is unchanged. Re-audited 2026-09-05 (train125) after #9769 and #9771 touched pinned files. #9769 adds one `reg_scanner!` registration to `gc/mod.rs`; #9771 adds a feature-gated `alloc_census_init()` there and a feature-gated Rust-heap dump inside `take_census`. `alloc-census` is not in the default feature set, and decisively: `census_take_if_armed_at_full_sweep_start` does `PASS1_MARKED.with(|p| p.borrow_mut().take())` BEFORE calling `take_census`, so the snapshot has already left the thread-local by the time #9771's code runs — it cannot affect the window. Neither change alters mark/sweep control flow. Re-audited 2026-09-06 after #9831 touched `gc/policy.rs`. Its hunks are (a) the tiny-parse pressure guard's pricing (`tiny_parse_pressure_headroom_bytes`, `tiny_parse_pressure_due*`, a `Cell` byte-count base) consulted from JSON.parse's mutator-side boundaries (`gc_bump_malloc_trigger`, `gc_collect_pending_suppressed_parse`, `gc_schedule_parse_boundary_collection_if_pressure`), none of which is reachable from inside a cycle, and (b) one extra `Cell` store in `note_collection_finished_arena_occupancy`, which runs from `publish_reclaim_outcome` in the Publish subphase — after `step_sweep` has already consumed the snapshot. Mark/sweep control flow between `census_pass1_if_armed` and `census_take_if_armed_at_full_sweep_start` is untouched. Re-audited 2026-09-05 (train126) after #9755 restructured `gc/cycle.rs`. Its hunks are all root-scan machinery (`RootScanSubphase`, `RootScanCycleState`, the mutable-scanner iteration state), which runs BEFORE mark propagation completes; `gc/mod.rs` gains only a `mod young_log;` declaration. The bracketing is unchanged — `census_pass1_if_armed` is still inside `step_mark_propagation` and `census_take_if_armed_at_full_sweep_start` inside `step_sweep` — and a synchronous full mark-sweep still moves nothing between them. Re-pinned 2026-09-05 for the #9740 hot-TLS conversion of this file: the sole change is `thread_local!` → `crate::perry_thread_local!`, a macro-name swap with identical declaration syntax and `.with()` call sites. No control flow, no phase boundary, and no storage semantics change. Re-audited 2026-09-06 (train128) after #9794's GC diagnostics touched `gc/mod.rs` and `gc/policy.rs`: both gain diagnostic module declarations and counters only — no mark/sweep control flow, and the census bracketing in `step_mark_propagation` / `step_sweep` is unchanged. Re-audited for #9794's GC diagnostics: `gc/mod.rs` gains `mod diag_sites;` / `mod survival_diag;`, a re-export, a `diag_sites::full_started(...)` call at TRIGGER time (before mark propagation begins), and exit-time reporting. Nothing executes between mark-complete and sweep-entry, so the window is unchanged. Re-audited 2026-09-06 for the retained array-growth verifier fix: the cycle.rs change passes the existing non-copying evacuation verifier an explicit all-forwarded policy. That call remains in minor finalization, outside the synchronous full-cycle census window; its root and heap reads do not allocate GC objects, move objects, or invoke JS callbacks. The mark-complete and sweep-entry boundaries are unchanged. Re-audited 2026-09-05 after #9830 touched `gc/policy.rs`. That change is (a) six `thread_local! {` blocks rewritten as `crate::perry_thread_local! {` and (b) one `#[cfg(test)]` accessor listing the trigger path's hot-slot indices. The macro keeps the same storage, the same `.with()` at every read and write, and the same destructor registration (the teardown guard exists exactly when `needs_drop` holds, which is what `std::thread_local!` already decided); no value, predicate or branch in the file changes, so no mark or sweep control flow does. The one new behaviour is on a declaration's FIRST read: `HotKey::resolve_and_cache` takes a mutex and allocates a key through the GLOBAL allocator. Even if a first read landed inside this window it would be sound — the window's contract is that nothing relocates and no JS callback runs, and a mimalloc allocation does neither. `census_pass1_if_armed` is still inside `step_mark_propagation` and `census_take_if_armed_at_full_sweep_start` inside `step_sweep`; the bracketing is untouched. Re-audited 2026-09-06 (train132) after #9860 and #9845 touched `gc/mod.rs`. Both hunks are re-export lists and nothing else: #9860 adds `idle_reclaim_elapsed_starts` / `IDLE_RECLAIM_REARM_MS`, and #9845 adds `owner_is_dead_copied_minor_from_space_of_type`. No mark or sweep control flow changes. #9845's substantive work sits in `gc/oldgen.rs` and `gc/copying.rs`, neither pinned: the copying-minor arm (`finalize_dead_copied_minor_from_space_regexps`) runs on a MINOR, which skips both census boundaries; the full-cycle arm (`collect_dead_registered_regexps_post_trace`, from `with_dead_collection_finalize`) walks the RegExp registry building a Vec of addresses — no GC allocation, no JS callback, so it cannot relocate the snapshot's subjects — and it is reached from the sweep body, i.e. AFTER `census_take_if_armed_at_full_sweep_start` has already `take()`n the snapshot out of the thread-local. The mark-complete -> sweep-entry window is unchanged. Re-audited 2026-09-07 for #9965 after 1ec9e0e8a touched `gc/cycle.rs` and `gc/mod.rs`: `gc/mod.rs:216-217` only declares and imports the failure-attribution module, while `gc/cycle.rs:1414-1417` reads the trigger and diagnostic counters immediately before evacuation verification inside `atomic_finalize_minor_prelude`. Full cycles bypass `MinorPrelude` at `gc/cycle.rs:1192-1196`; evacuation remains guarded by the minor-only context at `gc/cycle.rs:1330-1372`. The snapshot store remains at `gc/cycle.rs:963-964` after synchronous full marking, and its take remains at `gc/cycle.rs:1454-1457` before sweep. No new write, relocation, collection, or JS callback was added to that full-cycle interval, so the PASS1_MARKED window is unaffected. Re-audited 2026-09-07 for the regex census rows: all new work is in `take_census` after `census_take_if_armed_at_full_sweep_start` has taken PASS1_MARKED out of TLS; neither boundary nor the intervening cycle control flow changed. Re-audited 2026-09-08 (train144) after #9976 and #9977 touched pinned files. `gc/mod.rs` gains exactly three lines: `mod copying_phase;` and `mod regex_census;` (declarations) and one `reg_scanner!(regex::site_test::scan_roots_mut)` registration. A scanner registration adds a root SOURCE for the mutable-root walks; it does not move either census boundary and runs nowhere between them. `gc/census.rs` widens `side_tables()` to `pub(super)`, extends it with regex rows and adds a test module — all census REPORTING, which runs from the diagnostic dump, not inside a cycle. Mark/sweep control flow between `census_pass1_if_armed` and `census_take_if_armed_at_full_sweep_start` is untouched. Re-audited 2026-09-08 for #9849 JSON construction deferral. `gc/mod.rs` adds the `json_defer` module/re-export and a trusted-header layout helper used only by already-validated JSON emitters; neither changes or runs in collector phase control flow. `gc/policy.rs` adds JSON completion scheduling, construction-grace checks, and safepoint deferral predicates. These are called from mutator-side JSON allocation/output boundaries and ordinary safepoint entry; they do not alter `step_mark_propagation`, `step_sweep`, or invoke callbacks or relocation between the census boundaries. The mark-complete to sweep-entry window is unchanged. The follow-up adds a cfg(test)-only one-shot boolean for deterministic explicit-pressure fixtures; it is absent from production builds and cannot affect the census window. The first predicate read consumes it, so post-parse accounting exercises normal pricing. Re-audited 2026-09-09 for bounded tiny-JSON completion polling. The policy.rs changes split the mutator-side pending-parse check into an inlined empty fast path plus an outlined debt-service path, and amortize the mutator-side arena-pressure read across 64 bounded parse completions. Neither function is reachable from step_mark_propagation or step_sweep; neither census boundary nor the synchronous full-cycle interval between them changes. Re-audited 2026-09-09 for lazy JSON record batches: policy.rs only widens gc_budgeted_cycle_active visibility from pub(super) to pub(crate). Its body remains a read-only Cell query. The new caller is lazy_get materialization in the mutator; run_to_completion, step_mark_propagation, census snapshot consumption at step_sweep, and the synchronous non-moving window are unchanged. Re-audited 2026-09-09 for completed JSON-output debt: the added gc_service_json_output_sweep function calls the existing trigger check from a rooted mutator boundary and reports whether its malloc-count request remains due. It is not called from any census or collector phase; the synchronous mark-complete to sweep-entry window is unchanged. Re-audited 2026-09-09 for the JSON byte-debt carry: the same mutator-only service helper now distinguishes requests satisfied before its call from those satisfied by its trigger check. The added enum contains no payload, both count reads are scalar, and no census boundary or collector phase changed. Re-audited 2026-09-11 for #10055: gc/mod.rs only registers the weak UTF-16 index scanner during gc_init. It neither marks strings nor allocates GC objects or runs JS; offset vectors use the Rust allocator. The mark-complete to sweep-entry census window and cycle control flow are unchanged. Re-audited 2026-09-11 for #10054: gc/mod.rs adds only the trim-cache mutable-root scanner registration in gc_init. Its scanner visits two existing string slots without allocating or invoking JS. Root scanning still precedes mark completion, and neither census boundary nor the synchronous mark-complete to sweep-entry window changes. Re-audited 2026-09-11 for #10060: the census array classifier now reads the logical element start and bounds its scan by the remaining capacity. The helper only reads the existing GC/header words and performs pointer arithmetic; it cannot allocate, collect, or call JS. This classifier runs in take_census after PASS1_MARKED has been taken out of TLS. Neither census boundary nor the mark-complete to sweep-entry control flow changed. Re-audited for #8512: gc/mod.rs only enables the existing PTY mutable-root scanner on Windows; it changes no mark/sweep phase or census boundary. The scanner visits NaN-boxed slots without running JS callbacks. Re-audited 2026-09-12 for the single regular-expression engine: `gc/mod.rs` changes `mod prefetch;` to `pub(crate) mod prefetch;` so the RegExp owner-table walks can prefetch headers, a visibility change with no new call in collector control flow; `gc/census.rs` changes only its `#[cfg(test)]` `regex_census_tests` module, dropping assertions for the previous engine's cache rows. Neither boundary (`census_pass1_if_armed` in `step_mark_propagation`, `census_take_if_armed_at_full_sweep_start` in `step_sweep`) nor the synchronous mark-complete to sweep-entry interval changes. Re-audited 2026-09-13 after the #10169 fix touched `gc/mod.rs` and `gc/policy.rs`. `gc/mod.rs` gains only `pub(crate) use` re-exports (`policy::note_young_leaf_born_old`, `policy::young_generation_holds_a_nursery`, `promote_in_place::{young_generation_measured_dying, young_generation_measured_retained}`, and cfg(test) survival seeders). `gc/policy.rs` gains a `Cell` thread-local (`GC_YOUNG_LEAF_BORN_OLD`, no pointer), its setter, a pure predicate over `copying_from_space_in_use_bytes` vs the base nursery cap, and a consumed-once branch at the top of `gc_budgeted_due_trigger` that may answer `YoungScavengeCap` ahead of `OldReclaim`. That branch decides WHICH collection a safepoint starts (a minor instead of a full); it runs before any cycle begins and never inside one, so the mark-complete → sweep-entry window of a synchronous full — where PASS1_MARKED is populated and consumed within one `run_to_completion` — is unchanged, and neither hunk adds an allocation, a JS callback, or a relocation to it. Re-audited 2026-09-13 for the heap generation (#10164 cross-call search positions): `gc/mod.rs` only declares `pub(crate) mod heap_generation;`. `gc/cycle.rs` wraps the `Sweep` and `Reclaim` arms of `GcCycleState::step` in a `HeapChange` scope and opens one inside `atomic_finalize_minor_prelude`'s evacuation branch (with a nested one around old-page defrag). Opening and closing a scope only increments two thread-local integer cells (`HEAP_GENERATION`, `OPEN_HEAP_CHANGES`); a first thread-local read may allocate a key through the global allocator, which neither relocates nor runs JS. The `Sweep` scope opens immediately before `step_sweep`, i.e. before `census_take_if_armed_at_full_sweep_start` takes PASS1_MARKED out of TLS, and adds no relocation, collection or JS callback to the synchronous mark-complete to sweep-entry window; the minor-prelude scope is unreachable from a full cycle, which bypasses `MinorPrelude`. Neither boundary nor the intervening control flow changed. Re-audited 2026-09-13 for #10182 block-granular reclamation, which touched `gc/cycle.rs`. Two hunks: (a) in the `RememberedSetRebuild` subphase of AtomicFinalize — INSIDE the window — the require-marked old-to-young rebuild is now constructed with `OldToYoungRememberedRebuildState::new_skipping`, whose cursor never enters blocks the census recorded as holding no reached, pinned or pre-marked object (`BlockCensus::unmarked_blocks`); computing that list reads `arena_block_snapshots()` and allocates one `Vec` through the global allocator. It visits a subset of the same objects the rebuild already walked (every skipped object would have been rejected as unmarked), and it neither allocates a GC object, relocates anything, nor runs a JS callback. (b) In `step_sweep`, `IncrementalSweepState::with_block_skip` runs after `census_take_if_armed_at_full_sweep_start` has already taken PASS1_MARKED out of TLS. Neither boundary moved and the synchronous mark-complete to sweep-entry interval gains no relocation, collection or callback. Re-audited 2026-09-11 for the startup memory profile: gc/mod.rs only retains the pre-main allocator-policy constructor in js_gc_init. The constructor applies process allocation options, without invoking GC or JS. No census boundary, collector phase, or mark-complete to sweep-entry control flow changed. Re-audited 2026-09-13 for #10179: census.rs only adds a native regex cache metadata row and its unit assertion; snapshot consumption and the full-cycle window are unchanged. Re-audited 2026-09-14 for the GC due-check fast path, which touched `gc/mod.rs` and `gc/policy.rs`. `gc/mod.rs` only changes the safepoint re-exports: `gc_runtime_safepoint` becomes cfg(test) and `gc_runtime_safepoint_poll` is added. `gc/policy.rs`: the budgeted step returns a debt-free `GcStepReport` (debt is attached by the FFI and test entry points after the step returns) and moves cycle start/step into an out-of-line `gc_budgeted_start_or_step`; `gc_check_trigger` reuses a repeatable due-trigger answer through `DueTriggerMemo`, placed after its `GC_FLAG_IN_ALLOC` and suppression early returns; the young scavenge cap reuses the old-gen pressure value the due trigger already read and checks the census-seeded flag first. All of it runs from mutator safepoints, allocation-point trigger checks and the host step API, before a cycle starts or between budgeted steps. None of it is reachable between `census_pass1_if_armed` in `step_mark_propagation` and `census_take_if_armed_at_full_sweep_start` in `step_sweep` of a synchronous full: an allocation inside that window reaches `gc_check_trigger` with `GC_FLAG_IN_ALLOC` set and returns before the changed code. No allocation, relocation, collection or JS callback is added to the window.", "window": { "start": { "file": "crates/perry-runtime/src/gc/census.rs", @@ -324,8 +330,8 @@ "sources": { "crates/perry-runtime/src/gc/census.rs": "5c151725460ffb92a55a6bee781123ef5159263b4ce5958d16570f78216e0d67", "crates/perry-runtime/src/gc/cycle.rs": "fdef083301463ad8cec8142ca86cc4354e289c67e97bbc6caea2e8d16d4bf089", - "crates/perry-runtime/src/gc/mod.rs": "18607409fa1304f578faa223645f69063714e953b81fecbdcb986f64104ee735", - "crates/perry-runtime/src/gc/policy.rs": "aea89274a017156efea3516b4f49124f48a66527a08195b662cfbf61672ac042", + "crates/perry-runtime/src/gc/mod.rs": "9dbdde7594af06d08f45f82e426b220e586429da985e38f1e11e7f01e98a2527", + "crates/perry-runtime/src/gc/policy.rs": "59ae22b9e87afb0ddcdee582f867c05d2224dbafa93ad3ce70cb109e34bd6237", "crates/perry-runtime/src/gc/progress.rs": "a5ad3971bbe4047229ca57325234780daa85921dbc778e1c08dff4ad07ccfb96" } } @@ -404,15 +410,15 @@ }, { "file": "crates/perry-runtime/src/gc/policy.rs", - "name": "GC_YOUNG_LEAF_BORN_OLD", + "name": "GC_TINY_PARSE_PRESSURE_BASE_BYTES", "verdict": "not_a_gc_pointer", - "why": "#10169: a `Cell` scheduling flag — set when a document-sized JSON result was born old under young pressure, consumed by the next `gc_budgeted_due_trigger` decision. Holds no address of any kind." + "why": "#9831: `arena_in_use_bytes()` (a sum of block bump offsets) recorded as each collection ends, read back by the tiny-parse pressure guard to price growth since then. A byte COUNT, never an address or a NaN-boxed value: written only from `note_collection_finished_arena_occupancy` and the test seam, read only by `tiny_parse_pressure_due`/`diag_tiny_parse_forced_collection`. Same shape as its frontier siblings `GC_LAST_COLLECTION_POST_IN_USE_BYTES`/`GC_STEP_BYTES`, with the verdict those still owe." }, { "file": "crates/perry-runtime/src/gc/policy.rs", - "name": "GC_TINY_PARSE_PRESSURE_BASE_BYTES", + "name": "GC_YOUNG_LEAF_BORN_OLD", "verdict": "not_a_gc_pointer", - "why": "#9831: `arena_in_use_bytes()` (a sum of block bump offsets) recorded as each collection ends, read back by the tiny-parse pressure guard to price growth since then. A byte COUNT, never an address or a NaN-boxed value: written only from `note_collection_finished_arena_occupancy` and the test seam, read only by `tiny_parse_pressure_due`/`diag_tiny_parse_forced_collection`. Same shape as its frontier siblings `GC_LAST_COLLECTION_POST_IN_USE_BYTES`/`GC_STEP_BYTES`, with the verdict those still owe." + "why": "#10169: a `Cell` scheduling flag — set when a document-sized JSON result was born old under young pressure, consumed by the next `gc_budgeted_due_trigger` decision. Holds no address of any kind." }, { "file": "crates/perry-runtime/src/gc/survival_diag.rs", @@ -480,6 +486,7 @@ "verdict": "not_a_gc_pointer", "why": "Inline-cache miss diagnostics (`PERRY_IC_DIAG`). `IcDiag` is two `Instant`s, three counters, and `sites: HashMap` whose KEY is a PIC cache-slot address — malloc'd arena storage from `field_get_set/ic_slot.rs`, never GC heap — and whose value is a `String` plus counters. Nothing here is a managed pointer." }, + null, { "file": "crates/perry-runtime/src/intl/segments_view.rs", "name": "DECLINE_EMPTY", @@ -822,6 +829,12 @@ "scanner": "promise::scan_promise_roots_mut (promise/scanners.rs:66, visit_cell_f64_slot) plus its budgeted step twin scan_current_microtask_value_step (scanners.rs:420); registered via reg_budgeted_scanner! at gc/mod.rs:833-838", "why": "Declared in promise/microtasks.rs, scanned from promise/scanners.rs. The scanners.rs:786/913 sites are the mutator-side save/clear the scanner exists to protect, not the coverage mechanism." }, + { + "file": "crates/perry-runtime/src/promise/microtasks/empty.rs", + "name": "CALLED", + "verdict": "test_only", + "why": "Three cfg(test) callback counters increment integer invocation counts only. They never store managed values or heap addresses." + }, { "file": "crates/perry-runtime/src/proxy/put_value.rs", "name": "WRITE_STUB", @@ -991,6 +1004,12 @@ "verdict": "not_a_gc_pointer", "why": "Maps scalar timer handle IDs to the CallbackTimerKind enum so clearTimeout/clearInterval can destroy the matching async_hooks resource. Neither the i64 keys nor the enum values contain a JS heap address." }, + { + "file": "crates/perry-runtime/src/weakref/test_support.rs", + "name": "DELIVERED", + "verdict": "test_only", + "why": "The finalization-boundary test stores the bits of its fixed numeric held value 41.0 and asserts that value after delivery. It cannot retain a managed pointer and is absent from production." + }, { "file": "crates/perry-runtime/src/weakref/test_support.rs", "name": "WEAK_ENTRY_VISITS", @@ -2397,18 +2416,6 @@ "name": "WINDOW_ROOTS", "verdict": "not_a_gc_pointer", "why": "Window-root registry maps numeric window handles to numeric root-widget handles; neither value is a JavaScript heap pointer." - }, - { - "file": "crates/perry-runtime/src/promise/microtasks/empty.rs", - "name": "CALLED", - "verdict": "test_only", - "why": "Three cfg(test) callback counters increment integer invocation counts only. They never store managed values or heap addresses." - }, - { - "file": "crates/perry-runtime/src/weakref/test_support.rs", - "name": "DELIVERED", - "verdict": "test_only", - "why": "The finalization-boundary test stores the bits of its fixed numeric held value 41.0 and asserts that value after delivery. It cannot retain a managed pointer and is absent from production." } ], "_FRONTIER_README": "Identity-pinned debt ratchet over new perry-ui* candidates and otherwise-unclassified core raw/Perry TLS declarations (see the census docstring, “The identity-pinned frontier”). A new uncovered holder fails until it is scanned, receives a researched holders verdict, or is deliberately pinned as debt. Moving a researched false positive to holders graduates it from this list. A fixed or classified holder makes its old frontier pin stale, so the receipt must be deleted.", From 0d41cd767329b4338331c733009e9448c50a7e93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ralph=20K=C3=BCpper?= Date: Mon, 14 Sep 2026 06:51:22 +0200 Subject: [PATCH 15/30] changelog: key the GC due-check fragment to PR 10253 --- changelog.d/10253-gc-due-check-fast-path.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 changelog.d/10253-gc-due-check-fast-path.md diff --git a/changelog.d/10253-gc-due-check-fast-path.md b/changelog.d/10253-gc-due-check-fast-path.md new file mode 100644 index 0000000000..8efb471ea1 --- /dev/null +++ b/changelog.d/10253-gc-due-check-fast-path.md @@ -0,0 +1,13 @@ +Made the GC's "is a collection due?" check cheap when nothing is due, without +changing any collection decision. Runtime safepoint polls (regex search quanta, +the microtask pump, the event loop) no longer build a step result whose debt +snapshot nobody read. The young-generation occupancy the nursery cap compares +against is now O(1): the bytes outside Eden's current block are cached per heap +generation, and every move of an arena's current block goes through +`Arena::set_current`, which invalidates the cache. Debug builds check every cached +answer against the block walk. `gc_check_trigger`, reached from every `gc_malloc` +and JSON parse, evaluates the due trigger once instead of up to three times. +Measured at the shipping release profile: 1M hoisted `re.exec` −12.5 % +instructions, 400k small `JSON.parse` −12.3 %, 1M hoisted `re.test` −6.6 %, +with async, allocation, string, BigInt and Map workloads unchanged and peak RSS +unchanged. From 97a176d0a6682ae469cf8ca672c2cbb90ff83f37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ralph=20K=C3=BCpper?= Date: Mon, 14 Sep 2026 05:45:49 +0200 Subject: [PATCH 16/30] perf(gc): let a tiny-parse boundary collect when the young generation reaches its cap The tiny-parse guard prices forced collections on total arena in-use (#9831), which a collection cannot lower below the live set. It never asked the generational question of whether the young generation is at its scavenge cap, and a loop of tiny JSON.parse calls allocates only inside the parser's suppression window and at bounded inline-object births, so nothing else arms the nursery safepoint for it. The young generation grew to the guard's 48 MB floor before its first minor: small_record:parse peaked at 80 MiB against Node's 59 with 0-9 permille of each collection surviving, and object_1k:parse at 65 against 61. The boundary now also collects when the young scavenge cap is due. A minor lowers that quantity to the survivors, so unlike the absolute in-use guard it cannot re-fire until the cap has been refilled. --- crates/perry-runtime/src/gc/policy.rs | 36 +++++++++++++++-- .../src/gc/tests/tiny_parse_pressure.rs | 40 +++++++++++++++++++ 2 files changed, 72 insertions(+), 4 deletions(-) diff --git a/crates/perry-runtime/src/gc/policy.rs b/crates/perry-runtime/src/gc/policy.rs index 7051fd8d43..1c33d1e9d4 100644 --- a/crates/perry-runtime/src/gc/policy.rs +++ b/crates/perry-runtime/src/gc/policy.rs @@ -464,6 +464,24 @@ pub(super) fn tiny_parse_pressure_due_with( && in_use >= base.saturating_add(tiny_parse_pressure_headroom_bytes(step)) } +/// Should a tiny-parse boundary collect under the generational collector? +/// +/// The priced in-use guard ([`tiny_parse_pressure_due`]) answers "has the +/// arena grown enough to be worth a collection", on total in-use, which a +/// collection cannot lower below the live set (#9831). It never asked the +/// generational question: is the young generation at its scavenge cap? A loop +/// of tiny `JSON.parse` calls allocates only under the parser's suppression +/// window and at bounded inline-object births, so nothing else arms the +/// nursery safepoint for it, and the young generation grew to the guard's +/// 48 MB floor before its first minor: `small_record:parse` peaked at 80 MiB +/// against Node's 59 with 0–9 ‰ of each collection surviving. The nursery cap +/// is safe to consult where the absolute in-use guard was not: a minor lowers +/// the quantity it tests to the survivors, so it cannot fire again until the +/// cap has been refilled. +pub(super) fn tiny_parse_generational_collection_due(in_use: usize, in_use_trigger: usize) -> bool { + tiny_parse_pressure_due(in_use, in_use_trigger) || young_scavenge_cap_due() +} + /// The live [`tiny_parse_pressure_due_with`]: current base and step. pub(super) fn tiny_parse_pressure_due(in_use: usize, in_use_trigger: usize) -> bool { #[cfg(test)] @@ -1552,7 +1570,12 @@ fn gc_bump_malloc_trigger_inner(collect_now: bool) { // The guard now also requires the arena to have grown past the // productivity-priced headroom since the last collection ended. let in_use = crate::arena::arena_in_use_bytes(); - if !tiny_parse_pressure_due(in_use, tiny_parse_in_use_trigger_for_mode()) { + let due = if use_gen_gc { + tiny_parse_generational_collection_due(in_use, tiny_parse_in_use_trigger_for_mode()) + } else { + tiny_parse_pressure_due(in_use, tiny_parse_in_use_trigger_for_mode()) + }; + if !due { return; } if use_gen_gc { @@ -1608,7 +1631,12 @@ fn gc_collect_pending_suppressed_parse_slow() { // boundary collection from stacking a second minor on top of it. A request // nothing has satisfied is still due and still collects. let in_use = crate::arena::arena_in_use_bytes(); - if !tiny_parse_pressure_due(in_use, tiny_parse_in_use_trigger_for_mode()) { + let due = if gen_gc_enabled() { + tiny_parse_generational_collection_due(in_use, tiny_parse_in_use_trigger_for_mode()) + } else { + tiny_parse_pressure_due(in_use, tiny_parse_in_use_trigger_for_mode()) + }; + if !due { return; } diag_tiny_parse_forced_collection("parse_boundary", in_use); @@ -1636,8 +1664,8 @@ pub fn gc_schedule_parse_boundary_collection_if_pressure() { return; } // #9831: priced the same way as the post-parse guard above — see - // `tiny_parse_pressure_due_with`. - if !tiny_parse_pressure_due( + // `tiny_parse_pressure_due_with` — plus the young generation's own cap. + if !tiny_parse_generational_collection_due( crate::arena::arena_in_use_bytes(), gc_tiny_parse_in_use_trigger_dyn_bytes(), ) { diff --git a/crates/perry-runtime/src/gc/tests/tiny_parse_pressure.rs b/crates/perry-runtime/src/gc/tests/tiny_parse_pressure.rs index 12ea368ffb..e6eedd9dbf 100644 --- a/crates/perry-runtime/src/gc/tests/tiny_parse_pressure.rs +++ b/crates/perry-runtime/src/gc/tests/tiny_parse_pressure.rs @@ -232,3 +232,43 @@ fn a_finished_collection_moves_the_base_to_the_post_collection_reading() { "the base must be the post-collection `arena_in_use_bytes()` reading" ); } + +/// The nursery cap schedules a tiny-parse boundary collection on its own, well +/// below the priced in-use guard, and only while the cap is actually due. +#[test] +fn a_due_nursery_cap_schedules_the_boundary_collection_below_the_in_use_guard() { + use super::super::policy::{ + gc_schedule_parse_boundary_collection_if_pressure, ScavengeNurseryCapTestGuard, + GC_SUPPRESSED_TINY_PARSE_COLLECTION_PENDING, + }; + use super::support::*; + let _isolation = GcTestIsolationGuard::new(); + let _pacing = crate::gc::policy::force_moving_gc_pacing(); + let pending = || GC_SUPPRESSED_TINY_PARSE_COLLECTION_PENDING.with(std::cell::Cell::get); + GC_SUPPRESSED_TINY_PARSE_COLLECTION_PENDING.with(|p| p.set(false)); + let filler = [b'j'; 64]; + crate::string::js_string_from_bytes(filler.as_ptr(), filler.len() as u32); + let in_use = crate::arena::arena_in_use_bytes(); + assert!( + !tiny_parse_pressure_due(in_use, 48 * MB), + "fixture: the priced in-use guard must not be due, or this proves nothing" + ); + + { + let _cap = ScavengeNurseryCapTestGuard::due_at_bytes(usize::MAX); + gc_schedule_parse_boundary_collection_if_pressure(); + assert!( + !pending(), + "neither the guard nor the cap is due: nothing scheduled" + ); + } + { + let _cap = ScavengeNurseryCapTestGuard::due_at_bytes(1); + gc_schedule_parse_boundary_collection_if_pressure(); + assert!( + pending(), + "a due nursery cap schedules the boundary collection" + ); + } + GC_SUPPRESSED_TINY_PARSE_COLLECTION_PENDING.with(|p| p.set(false)); +} From 1db24830b00c812424dc9b10c7fd407ce1b11be9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ralph=20K=C3=BCpper?= Date: Mon, 14 Sep 2026 07:18:44 +0200 Subject: [PATCH 17/30] tooling: re-audit PASS1_MARKED after the tiny-parse nursery-cap boundary touched gc/policy.rs --- scripts/gc_runtime_root_holders.json | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/scripts/gc_runtime_root_holders.json b/scripts/gc_runtime_root_holders.json index c586239872..6ce5171275 100644 --- a/scripts/gc_runtime_root_holders.json +++ b/scripts/gc_runtime_root_holders.json @@ -313,7 +313,7 @@ "file": "crates/perry-runtime/src/gc/census.rs", "name": "PASS1_MARKED", "verdict": "non_moving_snapshot", - "why": "Real GC header addresses, deliberately untraced so the diagnostic does not keep its observed objects alive. Populated only at the end of mark propagation of a synchronous full cycle; consumed at sweep entry in the same run_to_completion invocation. The intervening full-cycle phases do not relocate or run JS callbacks. The Vec is used for membership comparisons and dropped with the census before sweep. Budgeted and minor cycles skip both boundaries. Pin re-audited 2026-09-05 after #9760 touched `gc/mod.rs`: that change is `mod heap_stats;` plus a `pub(crate) use` re-export and alters no mark/sweep control flow. `heap_stats()` is reached only from `js_bun_jsc_heap_stats` (the JS-facing `bun:jsc.heapStats()`), i.e. from mutator code, never inside a cycle, and its own module contract forbids allocation or collection during its walk. The mark-complete → sweep-entry window is unchanged. Re-audited 2026-09-05 (train125) after #9769 and #9771 touched pinned files. #9769 adds one `reg_scanner!` registration to `gc/mod.rs`; #9771 adds a feature-gated `alloc_census_init()` there and a feature-gated Rust-heap dump inside `take_census`. `alloc-census` is not in the default feature set, and decisively: `census_take_if_armed_at_full_sweep_start` does `PASS1_MARKED.with(|p| p.borrow_mut().take())` BEFORE calling `take_census`, so the snapshot has already left the thread-local by the time #9771's code runs — it cannot affect the window. Neither change alters mark/sweep control flow. Re-audited 2026-09-06 after #9831 touched `gc/policy.rs`. Its hunks are (a) the tiny-parse pressure guard's pricing (`tiny_parse_pressure_headroom_bytes`, `tiny_parse_pressure_due*`, a `Cell` byte-count base) consulted from JSON.parse's mutator-side boundaries (`gc_bump_malloc_trigger`, `gc_collect_pending_suppressed_parse`, `gc_schedule_parse_boundary_collection_if_pressure`), none of which is reachable from inside a cycle, and (b) one extra `Cell` store in `note_collection_finished_arena_occupancy`, which runs from `publish_reclaim_outcome` in the Publish subphase — after `step_sweep` has already consumed the snapshot. Mark/sweep control flow between `census_pass1_if_armed` and `census_take_if_armed_at_full_sweep_start` is untouched. Re-audited 2026-09-05 (train126) after #9755 restructured `gc/cycle.rs`. Its hunks are all root-scan machinery (`RootScanSubphase`, `RootScanCycleState`, the mutable-scanner iteration state), which runs BEFORE mark propagation completes; `gc/mod.rs` gains only a `mod young_log;` declaration. The bracketing is unchanged — `census_pass1_if_armed` is still inside `step_mark_propagation` and `census_take_if_armed_at_full_sweep_start` inside `step_sweep` — and a synchronous full mark-sweep still moves nothing between them. Re-pinned 2026-09-05 for the #9740 hot-TLS conversion of this file: the sole change is `thread_local!` → `crate::perry_thread_local!`, a macro-name swap with identical declaration syntax and `.with()` call sites. No control flow, no phase boundary, and no storage semantics change. Re-audited 2026-09-06 (train128) after #9794's GC diagnostics touched `gc/mod.rs` and `gc/policy.rs`: both gain diagnostic module declarations and counters only — no mark/sweep control flow, and the census bracketing in `step_mark_propagation` / `step_sweep` is unchanged. Re-audited for #9794's GC diagnostics: `gc/mod.rs` gains `mod diag_sites;` / `mod survival_diag;`, a re-export, a `diag_sites::full_started(...)` call at TRIGGER time (before mark propagation begins), and exit-time reporting. Nothing executes between mark-complete and sweep-entry, so the window is unchanged. Re-audited 2026-09-06 for the retained array-growth verifier fix: the cycle.rs change passes the existing non-copying evacuation verifier an explicit all-forwarded policy. That call remains in minor finalization, outside the synchronous full-cycle census window; its root and heap reads do not allocate GC objects, move objects, or invoke JS callbacks. The mark-complete and sweep-entry boundaries are unchanged. Re-audited 2026-09-05 after #9830 touched `gc/policy.rs`. That change is (a) six `thread_local! {` blocks rewritten as `crate::perry_thread_local! {` and (b) one `#[cfg(test)]` accessor listing the trigger path's hot-slot indices. The macro keeps the same storage, the same `.with()` at every read and write, and the same destructor registration (the teardown guard exists exactly when `needs_drop` holds, which is what `std::thread_local!` already decided); no value, predicate or branch in the file changes, so no mark or sweep control flow does. The one new behaviour is on a declaration's FIRST read: `HotKey::resolve_and_cache` takes a mutex and allocates a key through the GLOBAL allocator. Even if a first read landed inside this window it would be sound — the window's contract is that nothing relocates and no JS callback runs, and a mimalloc allocation does neither. `census_pass1_if_armed` is still inside `step_mark_propagation` and `census_take_if_armed_at_full_sweep_start` inside `step_sweep`; the bracketing is untouched. Re-audited 2026-09-06 (train132) after #9860 and #9845 touched `gc/mod.rs`. Both hunks are re-export lists and nothing else: #9860 adds `idle_reclaim_elapsed_starts` / `IDLE_RECLAIM_REARM_MS`, and #9845 adds `owner_is_dead_copied_minor_from_space_of_type`. No mark or sweep control flow changes. #9845's substantive work sits in `gc/oldgen.rs` and `gc/copying.rs`, neither pinned: the copying-minor arm (`finalize_dead_copied_minor_from_space_regexps`) runs on a MINOR, which skips both census boundaries; the full-cycle arm (`collect_dead_registered_regexps_post_trace`, from `with_dead_collection_finalize`) walks the RegExp registry building a Vec of addresses — no GC allocation, no JS callback, so it cannot relocate the snapshot's subjects — and it is reached from the sweep body, i.e. AFTER `census_take_if_armed_at_full_sweep_start` has already `take()`n the snapshot out of the thread-local. The mark-complete -> sweep-entry window is unchanged. Re-audited 2026-09-07 for #9965 after 1ec9e0e8a touched `gc/cycle.rs` and `gc/mod.rs`: `gc/mod.rs:216-217` only declares and imports the failure-attribution module, while `gc/cycle.rs:1414-1417` reads the trigger and diagnostic counters immediately before evacuation verification inside `atomic_finalize_minor_prelude`. Full cycles bypass `MinorPrelude` at `gc/cycle.rs:1192-1196`; evacuation remains guarded by the minor-only context at `gc/cycle.rs:1330-1372`. The snapshot store remains at `gc/cycle.rs:963-964` after synchronous full marking, and its take remains at `gc/cycle.rs:1454-1457` before sweep. No new write, relocation, collection, or JS callback was added to that full-cycle interval, so the PASS1_MARKED window is unaffected. Re-audited 2026-09-07 for the regex census rows: all new work is in `take_census` after `census_take_if_armed_at_full_sweep_start` has taken PASS1_MARKED out of TLS; neither boundary nor the intervening cycle control flow changed. Re-audited 2026-09-08 (train144) after #9976 and #9977 touched pinned files. `gc/mod.rs` gains exactly three lines: `mod copying_phase;` and `mod regex_census;` (declarations) and one `reg_scanner!(regex::site_test::scan_roots_mut)` registration. A scanner registration adds a root SOURCE for the mutable-root walks; it does not move either census boundary and runs nowhere between them. `gc/census.rs` widens `side_tables()` to `pub(super)`, extends it with regex rows and adds a test module — all census REPORTING, which runs from the diagnostic dump, not inside a cycle. Mark/sweep control flow between `census_pass1_if_armed` and `census_take_if_armed_at_full_sweep_start` is untouched. Re-audited 2026-09-08 for #9849 JSON construction deferral. `gc/mod.rs` adds the `json_defer` module/re-export and a trusted-header layout helper used only by already-validated JSON emitters; neither changes or runs in collector phase control flow. `gc/policy.rs` adds JSON completion scheduling, construction-grace checks, and safepoint deferral predicates. These are called from mutator-side JSON allocation/output boundaries and ordinary safepoint entry; they do not alter `step_mark_propagation`, `step_sweep`, or invoke callbacks or relocation between the census boundaries. The mark-complete to sweep-entry window is unchanged. The follow-up adds a cfg(test)-only one-shot boolean for deterministic explicit-pressure fixtures; it is absent from production builds and cannot affect the census window. The first predicate read consumes it, so post-parse accounting exercises normal pricing. Re-audited 2026-09-09 for bounded tiny-JSON completion polling. The policy.rs changes split the mutator-side pending-parse check into an inlined empty fast path plus an outlined debt-service path, and amortize the mutator-side arena-pressure read across 64 bounded parse completions. Neither function is reachable from step_mark_propagation or step_sweep; neither census boundary nor the synchronous full-cycle interval between them changes. Re-audited 2026-09-09 for lazy JSON record batches: policy.rs only widens gc_budgeted_cycle_active visibility from pub(super) to pub(crate). Its body remains a read-only Cell query. The new caller is lazy_get materialization in the mutator; run_to_completion, step_mark_propagation, census snapshot consumption at step_sweep, and the synchronous non-moving window are unchanged. Re-audited 2026-09-09 for completed JSON-output debt: the added gc_service_json_output_sweep function calls the existing trigger check from a rooted mutator boundary and reports whether its malloc-count request remains due. It is not called from any census or collector phase; the synchronous mark-complete to sweep-entry window is unchanged. Re-audited 2026-09-09 for the JSON byte-debt carry: the same mutator-only service helper now distinguishes requests satisfied before its call from those satisfied by its trigger check. The added enum contains no payload, both count reads are scalar, and no census boundary or collector phase changed. Re-audited 2026-09-11 for #10055: gc/mod.rs only registers the weak UTF-16 index scanner during gc_init. It neither marks strings nor allocates GC objects or runs JS; offset vectors use the Rust allocator. The mark-complete to sweep-entry census window and cycle control flow are unchanged. Re-audited 2026-09-11 for #10054: gc/mod.rs adds only the trim-cache mutable-root scanner registration in gc_init. Its scanner visits two existing string slots without allocating or invoking JS. Root scanning still precedes mark completion, and neither census boundary nor the synchronous mark-complete to sweep-entry window changes. Re-audited 2026-09-11 for #10060: the census array classifier now reads the logical element start and bounds its scan by the remaining capacity. The helper only reads the existing GC/header words and performs pointer arithmetic; it cannot allocate, collect, or call JS. This classifier runs in take_census after PASS1_MARKED has been taken out of TLS. Neither census boundary nor the mark-complete to sweep-entry control flow changed. Re-audited for #8512: gc/mod.rs only enables the existing PTY mutable-root scanner on Windows; it changes no mark/sweep phase or census boundary. The scanner visits NaN-boxed slots without running JS callbacks. Re-audited 2026-09-12 for the single regular-expression engine: `gc/mod.rs` changes `mod prefetch;` to `pub(crate) mod prefetch;` so the RegExp owner-table walks can prefetch headers, a visibility change with no new call in collector control flow; `gc/census.rs` changes only its `#[cfg(test)]` `regex_census_tests` module, dropping assertions for the previous engine's cache rows. Neither boundary (`census_pass1_if_armed` in `step_mark_propagation`, `census_take_if_armed_at_full_sweep_start` in `step_sweep`) nor the synchronous mark-complete to sweep-entry interval changes. Re-audited 2026-09-13 after the #10169 fix touched `gc/mod.rs` and `gc/policy.rs`. `gc/mod.rs` gains only `pub(crate) use` re-exports (`policy::note_young_leaf_born_old`, `policy::young_generation_holds_a_nursery`, `promote_in_place::{young_generation_measured_dying, young_generation_measured_retained}`, and cfg(test) survival seeders). `gc/policy.rs` gains a `Cell` thread-local (`GC_YOUNG_LEAF_BORN_OLD`, no pointer), its setter, a pure predicate over `copying_from_space_in_use_bytes` vs the base nursery cap, and a consumed-once branch at the top of `gc_budgeted_due_trigger` that may answer `YoungScavengeCap` ahead of `OldReclaim`. That branch decides WHICH collection a safepoint starts (a minor instead of a full); it runs before any cycle begins and never inside one, so the mark-complete → sweep-entry window of a synchronous full — where PASS1_MARKED is populated and consumed within one `run_to_completion` — is unchanged, and neither hunk adds an allocation, a JS callback, or a relocation to it. Re-audited 2026-09-13 for the heap generation (#10164 cross-call search positions): `gc/mod.rs` only declares `pub(crate) mod heap_generation;`. `gc/cycle.rs` wraps the `Sweep` and `Reclaim` arms of `GcCycleState::step` in a `HeapChange` scope and opens one inside `atomic_finalize_minor_prelude`'s evacuation branch (with a nested one around old-page defrag). Opening and closing a scope only increments two thread-local integer cells (`HEAP_GENERATION`, `OPEN_HEAP_CHANGES`); a first thread-local read may allocate a key through the global allocator, which neither relocates nor runs JS. The `Sweep` scope opens immediately before `step_sweep`, i.e. before `census_take_if_armed_at_full_sweep_start` takes PASS1_MARKED out of TLS, and adds no relocation, collection or JS callback to the synchronous mark-complete to sweep-entry window; the minor-prelude scope is unreachable from a full cycle, which bypasses `MinorPrelude`. Neither boundary nor the intervening control flow changed. Re-audited 2026-09-13 for #10182 block-granular reclamation, which touched `gc/cycle.rs`. Two hunks: (a) in the `RememberedSetRebuild` subphase of AtomicFinalize — INSIDE the window — the require-marked old-to-young rebuild is now constructed with `OldToYoungRememberedRebuildState::new_skipping`, whose cursor never enters blocks the census recorded as holding no reached, pinned or pre-marked object (`BlockCensus::unmarked_blocks`); computing that list reads `arena_block_snapshots()` and allocates one `Vec` through the global allocator. It visits a subset of the same objects the rebuild already walked (every skipped object would have been rejected as unmarked), and it neither allocates a GC object, relocates anything, nor runs a JS callback. (b) In `step_sweep`, `IncrementalSweepState::with_block_skip` runs after `census_take_if_armed_at_full_sweep_start` has already taken PASS1_MARKED out of TLS. Neither boundary moved and the synchronous mark-complete to sweep-entry interval gains no relocation, collection or callback. Re-audited 2026-09-11 for the startup memory profile: gc/mod.rs only retains the pre-main allocator-policy constructor in js_gc_init. The constructor applies process allocation options, without invoking GC or JS. No census boundary, collector phase, or mark-complete to sweep-entry control flow changed. Re-audited 2026-09-13 for #10179: census.rs only adds a native regex cache metadata row and its unit assertion; snapshot consumption and the full-cycle window are unchanged. Re-audited 2026-09-14 for the GC due-check fast path, which touched `gc/mod.rs` and `gc/policy.rs`. `gc/mod.rs` only changes the safepoint re-exports: `gc_runtime_safepoint` becomes cfg(test) and `gc_runtime_safepoint_poll` is added. `gc/policy.rs`: the budgeted step returns a debt-free `GcStepReport` (debt is attached by the FFI and test entry points after the step returns) and moves cycle start/step into an out-of-line `gc_budgeted_start_or_step`; `gc_check_trigger` reuses a repeatable due-trigger answer through `DueTriggerMemo`, placed after its `GC_FLAG_IN_ALLOC` and suppression early returns; the young scavenge cap reuses the old-gen pressure value the due trigger already read and checks the census-seeded flag first. All of it runs from mutator safepoints, allocation-point trigger checks and the host step API, before a cycle starts or between budgeted steps. None of it is reachable between `census_pass1_if_armed` in `step_mark_propagation` and `census_take_if_armed_at_full_sweep_start` in `step_sweep` of a synchronous full: an allocation inside that window reaches `gc_check_trigger` with `GC_FLAG_IN_ALLOC` set and returns before the changed code. No allocation, relocation, collection or JS callback is added to the window.", + "why": "Real GC header addresses, deliberately untraced so the diagnostic does not keep its observed objects alive. Populated only at the end of mark propagation of a synchronous full cycle; consumed at sweep entry in the same run_to_completion invocation. The intervening full-cycle phases do not relocate or run JS callbacks. The Vec is used for membership comparisons and dropped with the census before sweep. Budgeted and minor cycles skip both boundaries. Pin re-audited 2026-09-05 after #9760 touched `gc/mod.rs`: that change is `mod heap_stats;` plus a `pub(crate) use` re-export and alters no mark/sweep control flow. `heap_stats()` is reached only from `js_bun_jsc_heap_stats` (the JS-facing `bun:jsc.heapStats()`), i.e. from mutator code, never inside a cycle, and its own module contract forbids allocation or collection during its walk. The mark-complete → sweep-entry window is unchanged. Re-audited 2026-09-05 (train125) after #9769 and #9771 touched pinned files. #9769 adds one `reg_scanner!` registration to `gc/mod.rs`; #9771 adds a feature-gated `alloc_census_init()` there and a feature-gated Rust-heap dump inside `take_census`. `alloc-census` is not in the default feature set, and decisively: `census_take_if_armed_at_full_sweep_start` does `PASS1_MARKED.with(|p| p.borrow_mut().take())` BEFORE calling `take_census`, so the snapshot has already left the thread-local by the time #9771's code runs — it cannot affect the window. Neither change alters mark/sweep control flow. Re-audited 2026-09-06 after #9831 touched `gc/policy.rs`. Its hunks are (a) the tiny-parse pressure guard's pricing (`tiny_parse_pressure_headroom_bytes`, `tiny_parse_pressure_due*`, a `Cell` byte-count base) consulted from JSON.parse's mutator-side boundaries (`gc_bump_malloc_trigger`, `gc_collect_pending_suppressed_parse`, `gc_schedule_parse_boundary_collection_if_pressure`), none of which is reachable from inside a cycle, and (b) one extra `Cell` store in `note_collection_finished_arena_occupancy`, which runs from `publish_reclaim_outcome` in the Publish subphase — after `step_sweep` has already consumed the snapshot. Mark/sweep control flow between `census_pass1_if_armed` and `census_take_if_armed_at_full_sweep_start` is untouched. Re-audited 2026-09-05 (train126) after #9755 restructured `gc/cycle.rs`. Its hunks are all root-scan machinery (`RootScanSubphase`, `RootScanCycleState`, the mutable-scanner iteration state), which runs BEFORE mark propagation completes; `gc/mod.rs` gains only a `mod young_log;` declaration. The bracketing is unchanged — `census_pass1_if_armed` is still inside `step_mark_propagation` and `census_take_if_armed_at_full_sweep_start` inside `step_sweep` — and a synchronous full mark-sweep still moves nothing between them. Re-pinned 2026-09-05 for the #9740 hot-TLS conversion of this file: the sole change is `thread_local!` → `crate::perry_thread_local!`, a macro-name swap with identical declaration syntax and `.with()` call sites. No control flow, no phase boundary, and no storage semantics change. Re-audited 2026-09-06 (train128) after #9794's GC diagnostics touched `gc/mod.rs` and `gc/policy.rs`: both gain diagnostic module declarations and counters only — no mark/sweep control flow, and the census bracketing in `step_mark_propagation` / `step_sweep` is unchanged. Re-audited for #9794's GC diagnostics: `gc/mod.rs` gains `mod diag_sites;` / `mod survival_diag;`, a re-export, a `diag_sites::full_started(...)` call at TRIGGER time (before mark propagation begins), and exit-time reporting. Nothing executes between mark-complete and sweep-entry, so the window is unchanged. Re-audited 2026-09-06 for the retained array-growth verifier fix: the cycle.rs change passes the existing non-copying evacuation verifier an explicit all-forwarded policy. That call remains in minor finalization, outside the synchronous full-cycle census window; its root and heap reads do not allocate GC objects, move objects, or invoke JS callbacks. The mark-complete and sweep-entry boundaries are unchanged. Re-audited 2026-09-05 after #9830 touched `gc/policy.rs`. That change is (a) six `thread_local! {` blocks rewritten as `crate::perry_thread_local! {` and (b) one `#[cfg(test)]` accessor listing the trigger path's hot-slot indices. The macro keeps the same storage, the same `.with()` at every read and write, and the same destructor registration (the teardown guard exists exactly when `needs_drop` holds, which is what `std::thread_local!` already decided); no value, predicate or branch in the file changes, so no mark or sweep control flow does. The one new behaviour is on a declaration's FIRST read: `HotKey::resolve_and_cache` takes a mutex and allocates a key through the GLOBAL allocator. Even if a first read landed inside this window it would be sound — the window's contract is that nothing relocates and no JS callback runs, and a mimalloc allocation does neither. `census_pass1_if_armed` is still inside `step_mark_propagation` and `census_take_if_armed_at_full_sweep_start` inside `step_sweep`; the bracketing is untouched. Re-audited 2026-09-06 (train132) after #9860 and #9845 touched `gc/mod.rs`. Both hunks are re-export lists and nothing else: #9860 adds `idle_reclaim_elapsed_starts` / `IDLE_RECLAIM_REARM_MS`, and #9845 adds `owner_is_dead_copied_minor_from_space_of_type`. No mark or sweep control flow changes. #9845's substantive work sits in `gc/oldgen.rs` and `gc/copying.rs`, neither pinned: the copying-minor arm (`finalize_dead_copied_minor_from_space_regexps`) runs on a MINOR, which skips both census boundaries; the full-cycle arm (`collect_dead_registered_regexps_post_trace`, from `with_dead_collection_finalize`) walks the RegExp registry building a Vec of addresses — no GC allocation, no JS callback, so it cannot relocate the snapshot's subjects — and it is reached from the sweep body, i.e. AFTER `census_take_if_armed_at_full_sweep_start` has already `take()`n the snapshot out of the thread-local. The mark-complete -> sweep-entry window is unchanged. Re-audited 2026-09-07 for #9965 after 1ec9e0e8a touched `gc/cycle.rs` and `gc/mod.rs`: `gc/mod.rs:216-217` only declares and imports the failure-attribution module, while `gc/cycle.rs:1414-1417` reads the trigger and diagnostic counters immediately before evacuation verification inside `atomic_finalize_minor_prelude`. Full cycles bypass `MinorPrelude` at `gc/cycle.rs:1192-1196`; evacuation remains guarded by the minor-only context at `gc/cycle.rs:1330-1372`. The snapshot store remains at `gc/cycle.rs:963-964` after synchronous full marking, and its take remains at `gc/cycle.rs:1454-1457` before sweep. No new write, relocation, collection, or JS callback was added to that full-cycle interval, so the PASS1_MARKED window is unaffected. Re-audited 2026-09-07 for the regex census rows: all new work is in `take_census` after `census_take_if_armed_at_full_sweep_start` has taken PASS1_MARKED out of TLS; neither boundary nor the intervening cycle control flow changed. Re-audited 2026-09-08 (train144) after #9976 and #9977 touched pinned files. `gc/mod.rs` gains exactly three lines: `mod copying_phase;` and `mod regex_census;` (declarations) and one `reg_scanner!(regex::site_test::scan_roots_mut)` registration. A scanner registration adds a root SOURCE for the mutable-root walks; it does not move either census boundary and runs nowhere between them. `gc/census.rs` widens `side_tables()` to `pub(super)`, extends it with regex rows and adds a test module — all census REPORTING, which runs from the diagnostic dump, not inside a cycle. Mark/sweep control flow between `census_pass1_if_armed` and `census_take_if_armed_at_full_sweep_start` is untouched. Re-audited 2026-09-08 for #9849 JSON construction deferral. `gc/mod.rs` adds the `json_defer` module/re-export and a trusted-header layout helper used only by already-validated JSON emitters; neither changes or runs in collector phase control flow. `gc/policy.rs` adds JSON completion scheduling, construction-grace checks, and safepoint deferral predicates. These are called from mutator-side JSON allocation/output boundaries and ordinary safepoint entry; they do not alter `step_mark_propagation`, `step_sweep`, or invoke callbacks or relocation between the census boundaries. The mark-complete to sweep-entry window is unchanged. The follow-up adds a cfg(test)-only one-shot boolean for deterministic explicit-pressure fixtures; it is absent from production builds and cannot affect the census window. The first predicate read consumes it, so post-parse accounting exercises normal pricing. Re-audited 2026-09-09 for bounded tiny-JSON completion polling. The policy.rs changes split the mutator-side pending-parse check into an inlined empty fast path plus an outlined debt-service path, and amortize the mutator-side arena-pressure read across 64 bounded parse completions. Neither function is reachable from step_mark_propagation or step_sweep; neither census boundary nor the synchronous full-cycle interval between them changes. Re-audited 2026-09-09 for lazy JSON record batches: policy.rs only widens gc_budgeted_cycle_active visibility from pub(super) to pub(crate). Its body remains a read-only Cell query. The new caller is lazy_get materialization in the mutator; run_to_completion, step_mark_propagation, census snapshot consumption at step_sweep, and the synchronous non-moving window are unchanged. Re-audited 2026-09-09 for completed JSON-output debt: the added gc_service_json_output_sweep function calls the existing trigger check from a rooted mutator boundary and reports whether its malloc-count request remains due. It is not called from any census or collector phase; the synchronous mark-complete to sweep-entry window is unchanged. Re-audited 2026-09-09 for the JSON byte-debt carry: the same mutator-only service helper now distinguishes requests satisfied before its call from those satisfied by its trigger check. The added enum contains no payload, both count reads are scalar, and no census boundary or collector phase changed. Re-audited 2026-09-11 for #10055: gc/mod.rs only registers the weak UTF-16 index scanner during gc_init. It neither marks strings nor allocates GC objects or runs JS; offset vectors use the Rust allocator. The mark-complete to sweep-entry census window and cycle control flow are unchanged. Re-audited 2026-09-11 for #10054: gc/mod.rs adds only the trim-cache mutable-root scanner registration in gc_init. Its scanner visits two existing string slots without allocating or invoking JS. Root scanning still precedes mark completion, and neither census boundary nor the synchronous mark-complete to sweep-entry window changes. Re-audited 2026-09-11 for #10060: the census array classifier now reads the logical element start and bounds its scan by the remaining capacity. The helper only reads the existing GC/header words and performs pointer arithmetic; it cannot allocate, collect, or call JS. This classifier runs in take_census after PASS1_MARKED has been taken out of TLS. Neither census boundary nor the mark-complete to sweep-entry control flow changed. Re-audited for #8512: gc/mod.rs only enables the existing PTY mutable-root scanner on Windows; it changes no mark/sweep phase or census boundary. The scanner visits NaN-boxed slots without running JS callbacks. Re-audited 2026-09-12 for the single regular-expression engine: `gc/mod.rs` changes `mod prefetch;` to `pub(crate) mod prefetch;` so the RegExp owner-table walks can prefetch headers, a visibility change with no new call in collector control flow; `gc/census.rs` changes only its `#[cfg(test)]` `regex_census_tests` module, dropping assertions for the previous engine's cache rows. Neither boundary (`census_pass1_if_armed` in `step_mark_propagation`, `census_take_if_armed_at_full_sweep_start` in `step_sweep`) nor the synchronous mark-complete to sweep-entry interval changes. Re-audited 2026-09-13 after the #10169 fix touched `gc/mod.rs` and `gc/policy.rs`. `gc/mod.rs` gains only `pub(crate) use` re-exports (`policy::note_young_leaf_born_old`, `policy::young_generation_holds_a_nursery`, `promote_in_place::{young_generation_measured_dying, young_generation_measured_retained}`, and cfg(test) survival seeders). `gc/policy.rs` gains a `Cell` thread-local (`GC_YOUNG_LEAF_BORN_OLD`, no pointer), its setter, a pure predicate over `copying_from_space_in_use_bytes` vs the base nursery cap, and a consumed-once branch at the top of `gc_budgeted_due_trigger` that may answer `YoungScavengeCap` ahead of `OldReclaim`. That branch decides WHICH collection a safepoint starts (a minor instead of a full); it runs before any cycle begins and never inside one, so the mark-complete → sweep-entry window of a synchronous full — where PASS1_MARKED is populated and consumed within one `run_to_completion` — is unchanged, and neither hunk adds an allocation, a JS callback, or a relocation to it. Re-audited 2026-09-13 for the heap generation (#10164 cross-call search positions): `gc/mod.rs` only declares `pub(crate) mod heap_generation;`. `gc/cycle.rs` wraps the `Sweep` and `Reclaim` arms of `GcCycleState::step` in a `HeapChange` scope and opens one inside `atomic_finalize_minor_prelude`'s evacuation branch (with a nested one around old-page defrag). Opening and closing a scope only increments two thread-local integer cells (`HEAP_GENERATION`, `OPEN_HEAP_CHANGES`); a first thread-local read may allocate a key through the global allocator, which neither relocates nor runs JS. The `Sweep` scope opens immediately before `step_sweep`, i.e. before `census_take_if_armed_at_full_sweep_start` takes PASS1_MARKED out of TLS, and adds no relocation, collection or JS callback to the synchronous mark-complete to sweep-entry window; the minor-prelude scope is unreachable from a full cycle, which bypasses `MinorPrelude`. Neither boundary nor the intervening control flow changed. Re-audited 2026-09-13 for #10182 block-granular reclamation, which touched `gc/cycle.rs`. Two hunks: (a) in the `RememberedSetRebuild` subphase of AtomicFinalize — INSIDE the window — the require-marked old-to-young rebuild is now constructed with `OldToYoungRememberedRebuildState::new_skipping`, whose cursor never enters blocks the census recorded as holding no reached, pinned or pre-marked object (`BlockCensus::unmarked_blocks`); computing that list reads `arena_block_snapshots()` and allocates one `Vec` through the global allocator. It visits a subset of the same objects the rebuild already walked (every skipped object would have been rejected as unmarked), and it neither allocates a GC object, relocates anything, nor runs a JS callback. (b) In `step_sweep`, `IncrementalSweepState::with_block_skip` runs after `census_take_if_armed_at_full_sweep_start` has already taken PASS1_MARKED out of TLS. Neither boundary moved and the synchronous mark-complete to sweep-entry interval gains no relocation, collection or callback. Re-audited 2026-09-11 for the startup memory profile: gc/mod.rs only retains the pre-main allocator-policy constructor in js_gc_init. The constructor applies process allocation options, without invoking GC or JS. No census boundary, collector phase, or mark-complete to sweep-entry control flow changed. Re-audited 2026-09-13 for #10179: census.rs only adds a native regex cache metadata row and its unit assertion; snapshot consumption and the full-cycle window are unchanged. Re-audited 2026-09-14 for the GC due-check fast path, which touched `gc/mod.rs` and `gc/policy.rs`. `gc/mod.rs` only changes the safepoint re-exports: `gc_runtime_safepoint` becomes cfg(test) and `gc_runtime_safepoint_poll` is added. `gc/policy.rs`: the budgeted step returns a debt-free `GcStepReport` (debt is attached by the FFI and test entry points after the step returns) and moves cycle start/step into an out-of-line `gc_budgeted_start_or_step`; `gc_check_trigger` reuses a repeatable due-trigger answer through `DueTriggerMemo`, placed after its `GC_FLAG_IN_ALLOC` and suppression early returns; the young scavenge cap reuses the old-gen pressure value the due trigger already read and checks the census-seeded flag first. All of it runs from mutator safepoints, allocation-point trigger checks and the host step API, before a cycle starts or between budgeted steps. None of it is reachable between `census_pass1_if_armed` in `step_mark_propagation` and `census_take_if_armed_at_full_sweep_start` in `step_sweep` of a synchronous full: an allocation inside that window reaches `gc_check_trigger` with `GC_FLAG_IN_ALLOC` set and returns before the changed code. No allocation, relocation, collection or JS callback is added to the window. Re-audited 2026-09-14 for the tiny-parse nursery-cap boundary, which touched `gc/policy.rs`. It adds `tiny_parse_generational_collection_due`, a pure predicate (the existing `tiny_parse_pressure_due` OR the existing `young_scavenge_cap_due` read), and calls it instead of `tiny_parse_pressure_due` from `gc_bump_malloc_trigger_inner` and `gc_collect_pending_suppressed_parse_slow` (generational branch only) and from `gc_schedule_parse_boundary_collection_if_pressure`. All three are JSON.parse mutator-side boundaries, none reachable from `step_mark_propagation` or `step_sweep`; the predicate reads counters and allocates nothing. Neither census boundary nor the synchronous mark-complete to sweep-entry interval changed.", "window": { "start": { "file": "crates/perry-runtime/src/gc/census.rs", @@ -331,7 +331,7 @@ "crates/perry-runtime/src/gc/census.rs": "5c151725460ffb92a55a6bee781123ef5159263b4ce5958d16570f78216e0d67", "crates/perry-runtime/src/gc/cycle.rs": "fdef083301463ad8cec8142ca86cc4354e289c67e97bbc6caea2e8d16d4bf089", "crates/perry-runtime/src/gc/mod.rs": "9dbdde7594af06d08f45f82e426b220e586429da985e38f1e11e7f01e98a2527", - "crates/perry-runtime/src/gc/policy.rs": "59ae22b9e87afb0ddcdee582f867c05d2224dbafa93ad3ce70cb109e34bd6237", + "crates/perry-runtime/src/gc/policy.rs": "abd08472fe71002a55a32f7a17021ab2c029d34ff2b26eb78340d1983ae939c4", "crates/perry-runtime/src/gc/progress.rs": "a5ad3971bbe4047229ca57325234780daa85921dbc778e1c08dff4ad07ccfb96" } } @@ -486,7 +486,6 @@ "verdict": "not_a_gc_pointer", "why": "Inline-cache miss diagnostics (`PERRY_IC_DIAG`). `IcDiag` is two `Instant`s, three counters, and `sites: HashMap` whose KEY is a PIC cache-slot address — malloc'd arena storage from `field_get_set/ic_slot.rs`, never GC heap — and whose value is a `String` plus counters. Nothing here is a managed pointer." }, - null, { "file": "crates/perry-runtime/src/intl/segments_view.rs", "name": "DECLINE_EMPTY", From edb9eb61cbbed45751c6262a2a1c406f01e493fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ralph=20K=C3=BCpper?= Date: Mon, 14 Sep 2026 07:19:08 +0200 Subject: [PATCH 18/30] changelog: tiny-parse nursery-cap boundary (#10254) --- changelog.d/10254-tiny-parse-nursery-cap.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelog.d/10254-tiny-parse-nursery-cap.md diff --git a/changelog.d/10254-tiny-parse-nursery-cap.md b/changelog.d/10254-tiny-parse-nursery-cap.md new file mode 100644 index 0000000000..cc543e285e --- /dev/null +++ b/changelog.d/10254-tiny-parse-nursery-cap.md @@ -0,0 +1 @@ +- **perf(gc): a loop of small `JSON.parse` calls no longer grows the young generation to 48 MB before collecting (#10254).** The tiny-parse guard (#9831) forces a collection at a parse boundary only when total arena in-use reaches its 48 MB floor, and nothing else arms the nursery safepoint for a loop that allocates only inside the parser. The parse boundary now also collects when the young generation reaches its scavenge cap. A minor lowers that quantity to its survivors, so the new arm cannot re-fire until the cap has been refilled. On the quiet bench mini, `small_record:parse` peak RSS fell from 80 to 32 MiB (Node 59) and `object_1k:parse` from 65 to 32 MiB (Node 61), with CPU unchanged. No other row of the 50-row JSON matrix moved beyond noise, and every gated gc-ratchet counter is identical to main. From 9f34bbc2712932de1b961c60118b70b83b674b97 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ralph=20K=C3=BCpper?= Date: Mon, 14 Sep 2026 06:24:33 +0200 Subject: [PATCH 19/30] perf(codegen): keep the element-shape clone's accumulator and counter in native domains The fast clone now redirects the accumulator into a promotable f64 alloca and defers the counter's double storage to an i32 slot the Update lowering advances alone, publishing both at a side-exit trampoline and on the fall-through exit. --- .../src/stmt/element_shape_loop.rs | 18 +- .../src/stmt/element_shape_native.rs | 246 ++++++++++++++++++ crates/perry-codegen/src/stmt/mod.rs | 1 + 3 files changed, 264 insertions(+), 1 deletion(-) create mode 100644 crates/perry-codegen/src/stmt/element_shape_native.rs diff --git a/crates/perry-codegen/src/stmt/element_shape_loop.rs b/crates/perry-codegen/src/stmt/element_shape_loop.rs index 47e54c7c46..6f657bb8a9 100644 --- a/crates/perry-codegen/src/stmt/element_shape_loop.rs +++ b/crates/perry-codegen/src/stmt/element_shape_loop.rs @@ -238,6 +238,8 @@ impl MatchedIndex { #[derive(Debug)] struct ElementShapeVersionedLoop { counter_id: u32, + /// The counter's integer-literal start, in `0..=i32::MAX`. + counter_start: i64, bound: ElementShapeLoopBound, array_id: u32, identity: ElementShapeIdentity, @@ -1314,6 +1316,7 @@ fn match_element_shape_versioned_loop( Some(ElementShapeVersionedLoop { counter_id, + counter_start: start, bound, array_id, identity, @@ -1711,6 +1714,18 @@ pub(super) fn lower_element_shape_versioned_for( let scope_id = ctx.next_loop_proof_scope_id(); let fast_scan_start = ctx.func.num_blocks(); ctx.current_block = fast_pre_idx; + // The accumulator as an f64 and the counter as an i32 for the clone's + // duration (`stmt/element_shape_native.rs`). Entered after + // `fast_scan_start`, so its side-exit trampoline is inside the block range + // the call-free scan below covers. + let native = super::element_shape_native::NativeLoopDomains::enter( + ctx, + matched.counter_id, + matched.counter_start, + matched.accumulator_id, + &accumulator, + &slow_pre_label, + ); ctx.element_shape_loop_facts .push(crate::expr::ElementShapeLoopFact { array_local_id: matched.array_id, @@ -1722,7 +1737,7 @@ pub(super) fn lower_element_shape_versioned_for( class_name: report_class, elements_base: guard.elements_base, expected_shape_id: guard.expected_shape_id, - side_exit_label: slow_pre_label.clone(), + side_exit_label: native.side_exit_label().to_string(), statically_layout_proven, fields, synthesized_body: matched.fast_body.is_some(), @@ -1740,6 +1755,7 @@ pub(super) fn lower_element_shape_versioned_for( ); ctx.element_shape_loop_facts .retain(|fact| fact.scope_id != scope_id); + native.finish(ctx, &merge_label); lowered?; if !ctx.block().is_terminated() { ctx.block().br(&merge_label); diff --git a/crates/perry-codegen/src/stmt/element_shape_native.rs b/crates/perry-codegen/src/stmt/element_shape_native.rs new file mode 100644 index 0000000000..a406800e64 --- /dev/null +++ b/crates/perry-codegen/src/stmt/element_shape_native.rs @@ -0,0 +1,246 @@ +//! The element-shape fast clone's loop-carried scalars in their native +//! machine domains: the accumulator as an `f64`, the counter as an `i32`. +//! +//! ## What this removes +//! +//! Before this module the `repeat` clone (`sum += rows[7].id`) spent ~13 CPU +//! cycles per iteration on 16 instructions. Not instruction count: two +//! loop-carried chains crossed the integer/float register boundary every +//! iteration. +//! +//! * **The accumulator.** An `any`-typed `sum` lives in a precise GC root slot, +//! and every reload of a root slot passes through the RS4GC launder +//! (`function/precise_roots.rs`'s `ROOT_RELOAD_LAUNDER`, an `asm` identity +//! LLVM cannot see through). mem2reg therefore promoted the slot as NaN-box +//! `i64` bits, and the chain was `x25 → fmov → fadd → fmov → x25`. +//! * **The counter.** A counter the clone never uses as an index (the +//! constant-index and carried forms) has no i32 slot, so it stayed a double +//! (`fadd d8, d8, #1.0`) compared against `count` — itself a root slot, +//! reloaded through the same launder and re-transferred to an FP register on +//! every iteration, although the preheader had already materialized it as an +//! i32. +//! +//! ## What replaces it +//! +//! Both scalars move into plain promotable allocas for the fast clone's +//! lowering, exactly the redirects the packed clones already use +//! (`FnCtx::numeric_accumulator_f64_slots`, +//! `FnCtx::deferred_integer_update_accumulators`): +//! +//! * the accumulator's live value is an `alloca double` seeded in the fast +//! preheader with the value the deref block just tag-tested as a Number, so +//! every in-clone read and write is a `double` and mem2reg makes it an FP phi; +//! * the counter gets an i32 slot (reused if it already owns a parallel one, +//! clone-private otherwise) that the `Update` lowering advances ALONE, so the +//! precomputed i32 trip count turns the condition into `icmp slt i32`. +//! +//! The real slots are written back at the two places the clone can leave: +//! a side-exit trampoline every residual check branches to instead of the slow +//! preheader, and a block on the fall-through exit. +//! +//! ## Why this changes no observable behaviour +//! +//! * **Commit ordering (#10185) is untouched.** The redirected store happens at +//! exactly the point the root-slot store used to, and the matcher already +//! put that point after every side exit of the iteration (the K-statement +//! fold, the carried commit last). At any side exit the f64 alloca therefore +//! holds the value the iteration was entered with, the i32 counter holds the +//! iteration's own index (the `Update` runs after the body), and the +//! trampoline publishes exactly the state the slow clone must re-run the +//! iteration from. +//! * **Call-freeness is untouched.** The seed, the trampoline and the +//! write-back are plain loads, stores and one `sitofp`; the trampoline is +//! created inside the scanned block range, so the post-emission +//! `contains_gc_unsafe_call` scan still sees it. No poll is emitted in these +//! clones (`emit_gc_loop_safepoint`), so no collection observes the stale +//! root slot, and a stale slot holds a Number, which a scan treats as data. +//! * **JS `+`.** The redirect admits no write the clone did not already lower +//! as a bare `fadd`: the accumulator is the fact's `numeric_accumulator`, +//! which `is_numeric_expr` already trusted as a raw double inside this clone. +//! Keeping that same double in a register instead of a stack slot is the +//! same IEEE arithmetic on the same operands in the same order, so `-0`, NaN +//! and overflow to Infinity are bit-identical. +//! * **The i32 counter.** The trip count is always an i32 in the fast clone — +//! a literal in `0..=i32::MAX`, `arr.length`, or `materialize_loop_i32`'s +//! integral `0..=i32::MAX` — and the start is an integer literal in the same +//! range, so `i < bound <= i32::MAX` before every `add i32 1`: no wrap. A +//! fractional, NaN, negative or out-of-range `count` never reaches the clone. +//! +//! Every exclusion below declines ONE redirect and leaves that scalar exactly +//! as it was, never the clone. + +use crate::expr::FnCtx; +use crate::types::{DOUBLE, I32}; + +/// The scalars one fast clone moved into native storage, and where the clone +/// must publish them back. +pub(super) struct NativeLoopDomains { + /// `(local, f64 alloca, real slot)`. + accumulator: Option<(u32, String, String)>, + /// The counter's deferred double storage. + counter: Option, + /// The label residual checks branch to: the write-back trampoline, or the + /// slow preheader itself when nothing was redirected. + side_exit: String, +} + +struct DeferredCounter { + id: u32, + i32_slot: String, + double_slot: String, + /// The slot was minted for this clone and must be unregistered after it, + /// so the slow clone and the code after the loop see the counter exactly + /// as they did before. + private: bool, +} + +/// Can `id` carry the unboxed accumulator redirect? Mirrors the packed clones' +/// admission (`stable_packed_accumulator::collect_numeric_accumulators`) minus +/// the numeric fixpoint, which the element-shape matcher already discharged. +fn accumulator_is_redirectable(ctx: &FnCtx<'_>, id: u32) -> bool { + ctx.locals.contains_key(&id) + && !ctx.boxed_vars.contains(&id) + && !ctx.closure_captures.contains_key(&id) + && !ctx.module_globals.contains_key(&id) + // An i32 (parallel or canonical) or Str representation has storage the + // redirect would leave stale; a POD or scalar-replaced local is not a + // single slot at all. + && !ctx.i32_counter_slots.contains_key(&id) + && !ctx.local_slot_reps.contains_key(&id) + && !ctx.pod_records.contains_key(&id) + && !ctx.scalar_replaced.contains_key(&id) + // An enclosing clone already redirected it; its scope owns the alloca + // and the write-back, and overwriting the entry would strand both. + && !ctx.numeric_accumulator_f64_slots.contains_key(&id) +} + +impl NativeLoopDomains { + /// Emit the seeds into the current block (the fast preheader) and register + /// both redirects for the fast clone's lowering. + /// + /// `accumulator_value` is the value the deref block tag-tested as a Number; + /// the deref block dominates the fast preheader and nothing is stored in + /// between, so it is the slot's current value. + pub(super) fn enter( + ctx: &mut FnCtx<'_>, + counter_id: u32, + counter_start: i64, + accumulator_id: u32, + accumulator_value: &str, + slow_pre_label: &str, + ) -> Self { + let accumulator = accumulator_is_redirectable(ctx, accumulator_id).then(|| { + let real_slot = ctx.locals[&accumulator_id].clone(); + let alloca = ctx.func.alloca_entry(DOUBLE); + ctx.block().store(DOUBLE, accumulator_value, &alloca); + ctx.numeric_accumulator_f64_slots + .insert(accumulator_id, alloca.clone()); + (accumulator_id, alloca, real_slot) + }); + + let counter = Self::defer_counter(ctx, counter_id, counter_start); + + let side_exit = if accumulator.is_none() && counter.is_none() { + slow_pre_label.to_string() + } else { + let tramp_idx = ctx.new_block("element_shape.loop.side_exit"); + let saved = ctx.current_block; + ctx.current_block = tramp_idx; + emit_write_back(ctx, accumulator.as_ref(), counter.as_ref()); + ctx.block().br(slow_pre_label); + ctx.current_block = saved; + ctx.block_label(tramp_idx) + }; + + Self { + accumulator, + counter, + side_exit, + } + } + + fn defer_counter(ctx: &mut FnCtx<'_>, id: u32, start: i64) -> Option { + // A canonical-i32 counter has no double storage to defer — its `Update` + // is already one `add i32`. + if crate::expr::canonical_local_i32_slot(ctx, id).is_some() + || ctx.boxed_vars.contains(&id) + || ctx.closure_captures.contains_key(&id) + || ctx.module_globals.contains_key(&id) + || ctx.unsigned_i32_locals.contains(&id) + || ctx.deferred_integer_update_accumulators.contains(&id) + || !(0..=i64::from(i32::MAX)).contains(&start) + { + return None; + } + let double_slot = ctx.locals.get(&id)?.clone(); + let (i32_slot, private) = match ctx.i32_counter_slots.get(&id) { + // A Let-site parallel slot: every write mirrors it, so it already + // holds the counter's value. + Some(slot) => (slot.clone(), false), + None => { + let slot = ctx.func.alloca_entry(I32); + // The init was lowered before the clone was chosen and nothing + // wrote the counter since, so its value is the literal start. + ctx.block().store(I32, &start.to_string(), &slot); + ctx.i32_counter_slots.insert(id, slot.clone()); + (slot, true) + } + }; + ctx.deferred_integer_update_accumulators.insert(id); + Some(DeferredCounter { + id, + i32_slot, + double_slot, + private, + }) + } + + /// The label every residual check of the fast clone must branch to. + pub(super) fn side_exit_label(&self) -> &str { + &self.side_exit + } + + /// Publish the live values on the fall-through exit and end both + /// redirects. Must run right after the fast clone is lowered and BEFORE + /// the slow clone is, which reads and writes the real slots. + pub(super) fn finish(self, ctx: &mut FnCtx<'_>, merge_label: &str) { + let redirected = self.accumulator.is_some() || self.counter.is_some(); + if redirected && !ctx.block().is_terminated() { + let commit_idx = ctx.new_block("element_shape.loop.fast.write_back"); + let commit_label = ctx.block_label(commit_idx); + ctx.block().br(&commit_label); + ctx.current_block = commit_idx; + emit_write_back(ctx, self.accumulator.as_ref(), self.counter.as_ref()); + ctx.block().br(merge_label); + } + if let Some((id, _, _)) = &self.accumulator { + ctx.numeric_accumulator_f64_slots.remove(id); + } + if let Some(counter) = &self.counter { + ctx.deferred_integer_update_accumulators.remove(&counter.id); + if counter.private { + ctx.i32_counter_slots.remove(&counter.id); + } + } + } +} + +/// The write-back both exits share. A genuine double's bits are its NaN-box, so +/// the accumulator needs no conversion and — carrying no heap edge — no +/// barrier; the counter is an exact integer in `0..=i32::MAX`. +fn emit_write_back( + ctx: &mut FnCtx<'_>, + accumulator: Option<&(u32, String, String)>, + counter: Option<&DeferredCounter>, +) { + let blk = ctx.block(); + if let Some((_, alloca, real_slot)) = accumulator { + let value = blk.load(DOUBLE, alloca); + blk.store(DOUBLE, &value, real_slot); + } + if let Some(counter) = counter { + let value = blk.load(I32, &counter.i32_slot); + let as_double = blk.sitofp(I32, &value, DOUBLE); + blk.store(DOUBLE, &as_double, &counter.double_slot); + } +} diff --git a/crates/perry-codegen/src/stmt/mod.rs b/crates/perry-codegen/src/stmt/mod.rs index 73e8ecaf05..18e645070f 100644 --- a/crates/perry-codegen/src/stmt/mod.rs +++ b/crates/perry-codegen/src/stmt/mod.rs @@ -22,6 +22,7 @@ mod class_field_loop_tests; mod counter_range; mod element_shape_carried; mod element_shape_loop; +mod element_shape_native; #[cfg(test)] mod element_shape_loop_tests; mod if_stmt; From 7ff0132f9fd158b4cdc38a3b364425a6ca6028d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ralph=20K=C3=BCpper?= Date: Mon, 14 Sep 2026 07:38:39 +0200 Subject: [PATCH 20/30] test(codegen): pin the element-shape clone's native accumulator and counter IR census for the f64 accumulator redirect, the i32 counter, the side-exit trampoline and the fall-through write-back; the carried-commit and side-exit helpers count the trampoline spelling of an exit. --- .../stmt/element_shape_fields_random_tests.rs | 39 ++- .../src/stmt/element_shape_native_tests.rs | 310 ++++++++++++++++++ 2 files changed, 347 insertions(+), 2 deletions(-) create mode 100644 crates/perry-codegen/src/stmt/element_shape_native_tests.rs diff --git a/crates/perry-codegen/src/stmt/element_shape_fields_random_tests.rs b/crates/perry-codegen/src/stmt/element_shape_fields_random_tests.rs index 5976551ff8..3359c4c4b3 100644 --- a/crates/perry-codegen/src/stmt/element_shape_fields_random_tests.rs +++ b/crates/perry-codegen/src/stmt/element_shape_fields_random_tests.rs @@ -208,10 +208,26 @@ fn fields_body() -> Vec { } /// How many side exits the clone can take per iteration — one branch per -/// residual / tag test that leaves for the slow preheader. +/// residual / tag test that leaves the clone. +/// +/// A side exit targets the slow preheader directly, or — once the clone keeps +/// its accumulator or counter in native storage (`stmt/element_shape_native.rs`) +/// — the write-back trampoline that publishes them and then enters the slow +/// preheader. Both spellings are one exit; counting only the first would make +/// every assertion below read zero for a clone that exits through the second. fn side_exit_count(fast: &str) -> usize { fast.matches("label %element_shape.loop.slow.preheader") .count() + + fast.matches("label %element_shape.loop.side_exit").count() +} + +/// The registers `block` defines with a `sitofp i32 … to double`. +fn sitofp_results(block: &str) -> Vec<&str> { + block + .lines() + .filter(|l| l.contains(" = sitofp i32 ")) + .filter_map(|l| l.trim_start().split(" = ").next()) + .collect() } /// The LAST block in `fast` whose label starts with `prefix`, body only. @@ -311,8 +327,21 @@ fn the_carried_write_back_follows_every_side_exit() { iteration, and every later index is silently wrong. \ final block:\n{committed}\nfull clone:\n{fast}" ); + // The accumulator's store is ALSO a `store double` in this block now that + // it lands in the clone's f64 alloca (`stmt/element_shape_native.rs`), so + // the publication is counted by what it stores: the carried i32 converted + // for its real slot. + let published = sitofp_results(committed); assert_eq!( - committed.matches("store double").count(), + published.len(), + 1, + "the carried value must be converted for publication exactly once per \ + iteration; final block:\n{committed}" + ); + assert_eq!( + committed + .matches(&format!("store double {}, ", published[0])) + .count(), 1, "the carried value must be published exactly once per iteration; \ final block:\n{committed}" @@ -652,3 +681,9 @@ fn a_class_typed_array_declines_the_string_length_read() { "the class-keyed arm reads raw doubles; there is no tag to test" ); } + +/// The accumulator and counter in their native domains +/// (`stmt/element_shape_native.rs`) — a child module so it reuses this file's +/// `random`/`fields` fixtures and exit-counting helpers. +#[path = "element_shape_native_tests.rs"] +mod native_domains; diff --git a/crates/perry-codegen/src/stmt/element_shape_native_tests.rs b/crates/perry-codegen/src/stmt/element_shape_native_tests.rs new file mode 100644 index 0000000000..57217bdc5a --- /dev/null +++ b/crates/perry-codegen/src/stmt/element_shape_native_tests.rs @@ -0,0 +1,310 @@ +//! The element-shape fast clone's accumulator as an `f64` and its counter as an +//! `i32` (`stmt/element_shape_native.rs`). +//! +//! A child module of `element_shape_fields_random_tests`, so `use super::*` +//! brings that file's `random`/`fields` fixtures, the shape-keyed file's +//! untyped-receiver fixtures and `element_shape_loop_tests`'s slicing helpers. +//! +//! Every assertion here names storage by what the emitted IR itself says it is +//! — the fast preheader's seeds, the deref block's tag-tested reload — rather +//! than by register number, so a renumbering cannot make one vacuous. Each one +//! fails on the pre-change clone, which kept `sum` in its GC root slot (a +//! `ptr addrspace(1)` alloca reloaded through the RS4GC launder every +//! iteration) and the `repeat` counter as a double compared with `fcmp`. + +use super::*; + +/// `for (let i = 0; i < count; i++) sum += rows[7].id` with an untyped `sum` — +/// the benchmark's `repeat` mode, where both scalars were off-domain. +fn repeat_ir() -> String { + emit(&untyped_param_module( + Type::Any, + Type::Any, + vec![untyped_accumulate(untyped_elem_field( + Expr::Integer(7), + "v", + ))], + )) +} + +/// The first `store , ptr ` in `block` whose type is `ty`, +/// as `(value, slot)`. +fn first_store<'a>(block: &'a str, ty: &str) -> (&'a str, &'a str) { + block + .lines() + .find_map(|l| { + let rest = l.trim_start().strip_prefix(&format!("store {ty} "))?; + rest.split_once(", ptr ") + }) + .unwrap_or_else(|| panic!("no `store {ty}` in:\n{block}")) +} + +/// The root alloca a laundered reload `reg` was read from +/// (`.rs4p = load ptr addrspace(1), ptr `). +fn root_slot_of_reload<'a>(ir: &'a str, reg: &str) -> &'a str { + let needle = format!("{reg}.rs4p = load ptr addrspace(1), ptr "); + let at = ir + .find(&needle) + .unwrap_or_else(|| panic!("`{reg}` is not a root-slot reload")); + ir[at + needle.len()..].lines().next().unwrap().trim() +} + +/// Is `block`'s terminator an unconditional branch to the block `target` +/// names (`label %`, without its numeric suffix)? +fn terminator_targets(block: &str, target: &str) -> bool { + block + .lines() + .last() + .and_then(|l| l.trim().strip_prefix(&format!("br {target}."))) + .is_some_and(|suffix| suffix.chars().all(|c| c.is_ascii_digit())) +} + +/// `(accumulator alloca, accumulator root slot, counter i32 slot)` for the +/// repeat clone, read off the fast preheader's two seeds. +fn repeat_storage(ir: &str) -> (String, String, String) { + let pre = block_slice(ir, "element_shape.loop.fast.preheader"); + let (acc_value, acc_alloca) = first_store(pre, "double"); + let (start, counter_slot) = first_store(pre, "i32"); + assert_eq!( + start, "0", + "the counter's i32 slot must be seeded with the loop's literal start; \ + fast preheader:\n{pre}" + ); + let root = root_slot_of_reload(ir, acc_value); + ( + acc_alloca.to_string(), + root.to_string(), + counter_slot.to_string(), + ) +} + +#[test] +fn the_accumulator_never_touches_its_root_slot_inside_the_clone() { + let ir = repeat_ir(); + assert_shape_keyed_clone(&ir, "repeat with an untyped accumulator"); + let (acc_alloca, acc_root, _) = repeat_storage(&ir); + let fast = fast_clone_slice(&ir); + // The seed is the value the deref block tag-tested as a Number — the + // soundness of every raw `fadd` below rests on that being the same value. + let deref = block_slice(&ir, "element_shape.loop.preheader.deref"); + let seeded = first_store( + block_slice(&ir, "element_shape.loop.fast.preheader"), + "double", + ) + .0; + assert!( + deref.contains(&format!("{seeded} = bitcast i64 {seeded}.rs4o to double")) + && deref.contains(&format!("bitcast double {seeded} to i64")), + "the f64 alloca must be seeded with the reload the deref block \ + Number-tested; deref:\n{deref}" + ); + assert!( + !fast.contains("addrspace(1)") && !fast.contains("asm \"\""), + "no root slot may be loaded or stored inside the clone: every reload \ + passes through the RS4GC launder, which pins the loop-carried value to \ + a GPR and costs two GPR<->FPR transfers per iteration; emitted:\n{fast}" + ); + assert_eq!( + fast.matches(&format!("load double, ptr {acc_alloca}")) + .count(), + 1, + "the accumulator must be read from its f64 alloca once per iteration; \ + emitted:\n{fast}" + ); + assert_eq!( + fast.lines() + .filter(|l| { + l.trim_start().starts_with("store double ") + && l.ends_with(&format!(", ptr {acc_alloca}")) + }) + .count(), + 1, + "the accumulator must be committed to its f64 alloca exactly once per \ + iteration; emitted:\n{fast}" + ); + assert!( + !fast.contains(&format!("ptr {acc_root}")), + "the root slot `{acc_root}` must not appear inside the clone; \ + emitted:\n{fast}" + ); + assert_eq!( + fast.matches("fadd double").count(), + 1, + "exactly one IEEE add per iteration — the accumulator's; a second one \ + is the double counter this change retires; emitted:\n{fast}" + ); +} + +#[test] +fn the_repeat_counter_is_an_i32_against_the_materialized_bound() { + let ir = repeat_ir(); + let (_, _, counter_slot) = repeat_storage(&ir); + let cond = block_slice(&ir, "for.element_shape_fast.cond"); + assert!( + cond.contains(&format!("load i32, ptr {counter_slot}")) + && cond.contains("icmp slt i32") + && !cond.contains("fcmp") + && !cond.contains("addrspace(1)"), + "the condition must compare the i32 counter with the preheader's \ + materialized i32 bound — not reload `count` through its root slot and \ + `fcmp` a double counter against it; cond:\n{cond}" + ); + let update = block_slice(&ir, "for.element_shape_fast.update"); + assert!( + update.contains(&format!("load i32, ptr {counter_slot}")) + && update.contains("add i32") + && update.contains("store i32") + && !update.contains("store double") + && !update.contains("fadd"), + "`i++` must advance ONLY the i32 slot inside the clone; update:\n{update}" + ); + // The bound the i32 compare trusts is the validated materialization: a + // fractional, NaN, negative or out-of-range `count` branches to the slow + // clone before any of this is reachable. + for label in [ + "element_shape.loop.bound.range", + "element_shape.loop.bound.convert", + ] { + let block = block_slice(&ir, label); + assert!( + block.contains("label %element_shape.loop.slow.preheader"), + "`{label}` must still route an unrepresentable bound to the slow \ + clone; emitted:\n{block}" + ); + } +} + +#[test] +fn every_side_exit_publishes_both_scalars_before_the_slow_clone() { + let ir = repeat_ir(); + let (acc_alloca, acc_root, counter_slot) = repeat_storage(&ir); + let fast = fast_clone_slice(&ir); + assert_eq!( + fast.matches("label %element_shape.loop.slow.preheader") + .count(), + 0, + "no side exit may reach the slow clone without publishing the \ + redirected scalars first; emitted:\n{fast}" + ); + assert_eq!( + fast.matches("label %element_shape.loop.side_exit").count(), + 2, + "the residual check and the Number tag test must both leave through \ + the write-back trampoline; emitted:\n{fast}" + ); + for (label, successor) in [ + ( + "element_shape.loop.side_exit", + "label %element_shape.loop.slow.preheader", + ), + ( + "element_shape.loop.fast.write_back", + "label %element_shape.loop.merge", + ), + ] { + let block = block_slice(&ir, label); + let acc_load = block + .lines() + .position(|l| l.contains(&format!("load double, ptr {acc_alloca}"))); + let acc_publish = block.lines().position(|l| { + l.contains("store ptr addrspace(1)") && l.ends_with(&format!("ptr {acc_root}")) + }); + let counter_publish = block + .lines() + .position(|l| l.contains("store double %") && !l.contains("addrspace")); + assert!( + acc_load.is_some() + && acc_publish.is_some() + && block.contains(&format!("load i32, ptr {counter_slot}")) + && block.contains("sitofp i32") + && counter_publish.is_some() + && terminator_targets(block, successor) + && !block.contains("call "), + "`{label}` must publish the accumulator to its root slot `{acc_root}` \ + and the counter to its double slot, call-free, then branch to \ + `{successor}`; emitted:\n{block}" + ); + } + let exit = block_slice(&ir, "for.element_shape_fast.exit"); + assert!( + exit.contains("label %element_shape.loop.fast.write_back"), + "the fall-through exit must publish too; emitted:\n{exit}" + ); +} + +/// The carried index already had its own commit protocol (#10185). The +/// trampoline must publish the accumulator and the counter but NEVER the +/// carried binding: its real slot has to keep the previous iteration's commit, +/// which is the value the slow clone re-runs the recurrence from. +#[test] +fn the_trampoline_leaves_the_carried_binding_to_its_own_commit() { + let ir = emit(&access_module(random_body(true))); + assert_shape_keyed_clone(&ir, "random"); + let fast = fast_clone_slice(&ir); + let committed = last_block_with_prefix(&fast, "element_shape.number"); + let published = sitofp_results(committed); + assert_eq!( + published.len(), + 1, + "one carried commit; block:\n{committed}" + ); + let carried_slot = committed + .lines() + .find_map(|l| { + l.trim_start() + .strip_prefix(&format!("store double {}, ptr ", published[0])) + }) + .expect("the carried commit stores the converted value"); + let tramp = block_slice(&ir, "element_shape.loop.side_exit"); + assert!( + !tramp.contains(&format!("ptr {carried_slot}\n")) + && !tramp.trim_end().ends_with(&format!("ptr {carried_slot}")), + "the trampoline must not write the carried binding `{carried_slot}`: a \ + side exit happens AFTER this iteration's recurrence, so publishing it \ + would make the slow clone apply the recurrence twice; emitted:\n{tramp}" + ); + assert_eq!( + sitofp_results(tramp).len(), + 1, + "the trampoline converts exactly one i32 — the loop counter; \ + emitted:\n{tramp}" + ); + let cond = block_slice(&ir, "for.element_shape_fast.cond"); + assert!( + cond.contains("icmp slt i32") && !cond.contains("fcmp"), + "the carried form's counter must be an i32 too; cond:\n{cond}" + ); + assert!( + !fast.contains("addrspace(1)"), + "no root slot inside the carried clone; emitted:\n{fast}" + ); +} + +/// `fields`: the counter is already a canonical i32 (it indexes), so only the +/// accumulator is redirected — and all three folded adds stay in the double +/// domain. +#[test] +fn the_fields_clone_redirects_only_the_accumulator() { + let ir = emit(&access_module(fields_body())); + assert_shape_keyed_clone(&ir, "fields"); + let fast = fast_clone_slice(&ir); + assert!( + !fast.contains("addrspace(1)"), + "no root slot inside the fields clone; emitted:\n{fast}" + ); + assert_eq!(fast.matches("fadd double").count(), 3); + let tramp = block_slice(&ir, "element_shape.loop.side_exit"); + assert!( + tramp.contains("store ptr addrspace(1)") + && sitofp_results(tramp).is_empty() + && terminator_targets(tramp, "label %element_shape.loop.slow.preheader"), + "a canonical-i32 counter has no double storage to publish, so the \ + trampoline carries only the accumulator; emitted:\n{tramp}" + ); + assert_eq!( + side_exit_count(&fast), + fast.matches("label %element_shape.loop.side_exit").count(), + "every side exit of the fields clone must go through the trampoline; \ + emitted:\n{fast}" + ); +} From 9ef0671c8a879700ec1f0cc4076dd68b8fe672c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ralph=20K=C3=BCpper?= Date: Mon, 14 Sep 2026 07:40:19 +0200 Subject: [PATCH 21/30] test(gap): observe the clone's accumulator and counter publications and IEEE edges --- test-files/test_gap_json_record_loop_clone.ts | 97 +++++++++++++++++++ 1 file changed, 97 insertions(+) diff --git a/test-files/test_gap_json_record_loop_clone.ts b/test-files/test_gap_json_record_loop_clone.ts index 363fb7a04b..b57b3bb962 100644 --- a/test-files/test_gap_json_record_loop_clone.ts +++ b/test-files/test_gap_json_record_loop_clone.ts @@ -568,3 +568,100 @@ console.log( "own-named-fields-again:", ownNamedFields(ownNames, 12, ownNames.length), ); + +// --------------------------------------------------------------------------- +// 10. The accumulator as an f64 and the counter as an i32 inside the clone. +// +// Both scalars now live in native storage for the clone's duration and are +// published to their real slots only at a side exit and at the loop's +// exit. Each case below observes one of those publications, or one of the +// IEEE edge cases the double-domain add must reproduce exactly. +// --------------------------------------------------------------------------- + +// `repeat` from an arbitrary starting accumulator. +function repeatFrom(rows: any, count: number, start: any): any { + let sum: any = start; + for (let i = 0; i < count; i++) sum += rows[7].id; + return sum; +} + +const edgeRows: any = JSON.parse( + '[{"id":0},{"id":1},{"id":2},{"id":3},{"id":4},{"id":5},{"id":6},' + + '{"id":-0},{"id":1e308},{"id":-1e308},{"id":2.5}]', +); +// `-0 + -0` is `-0`; any `+0` in the chain makes it `+0`. +const negZero = repeatFrom(edgeRows, 3, -0); +console.log("repeat-negative-zero:", negZero, Object.is(negZero, -0)); +const posZero = repeatFrom(edgeRows, 3, 0); +console.log("repeat-positive-zero:", posZero, Object.is(posZero, -0)); +// A non-Number entry value takes the slow clone and keeps concatenation. +const sevenRows: any = JSON.parse(buildRecords(10, "p")); +console.log("repeat-string-start:", repeatFrom(sevenRows, 3, "s")); + +// Overflow to Infinity, then Infinity + -Infinity = NaN, in source order. +function sequentialFrom(rows: any, count: number, n: number, start: number): number { + let sum = start; + for (let i = 0; i < count; i++) { + const index = i % n; + sum += rows[index].id; + } + return sum; +} +const overflowRows: any = JSON.parse('[{"id":1e308},{"id":1e308},{"id":-1e308}]'); +console.log("overflow-to-infinity:", sequentialFrom(overflowRows, 2, 3, 0)); +console.log("overflow-then-back:", sequentialFrom(overflowRows, 3, 3, 0)); +const infRows: any = JSON.parse('[{"id":1e999},{"id":-1e999}]'); +console.log("infinity-minus-infinity:", sequentialFrom(infRows, 2, 2, 0)); +console.log("nan-start:", sequentialFrom(overflowRows, 3, 3, NaN)); + +// A side exit on the FIRST iteration with a non-zero accumulator: the +// trampoline must publish the entry value, not the untouched pre-loop slot. +const stringAtSeven: any = JSON.parse( + '[{"id":0},{"id":1},{"id":2},{"id":3},{"id":4},{"id":5},{"id":6},{"id":"x"}]', +); +function repeatAfterPrefix(rows: any, count: number): any { + let sum: any = 0; + for (let i = 0; i < 4; i++) sum += rows[i].id; + for (let i = 0; i < count; i++) sum += rows[7].id; + return sum; +} +console.log("repeat-side-exit-after-prefix:", repeatAfterPrefix(stringAtSeven, 3)); + +// A side exit MID-loop with the counter-indexed form: the published +// accumulator is the numeric prefix, and the slow clone runs exactly the +// remaining iterations — both visible in the concatenated result. +const lateString: any = JSON.parse( + '[{"id":1.5},{"id":2},{"id":3},{"id":4},{"id":"five"},{"id":6},{"id":7}]', +); +console.log("scan-side-exit-mid-loop:", scanSum(lateString, lateString.length)); +console.log("sequential-side-exit-mid-loop:", sequentialFrom(lateString, 9, 7, 10)); + +// The `repeat` counter against bounds the i32 materialization must refuse: +// every one takes the slow clone and keeps JavaScript's trip count. +console.log("repeat-fractional-count:", repeatFrom(sevenRows, 2.5, 0)); +console.log("repeat-nan-count:", repeatFrom(sevenRows, NaN, 0)); +console.log("repeat-negative-count:", repeatFrom(sevenRows, -3, 0)); +console.log("repeat-zero-count:", repeatFrom(sevenRows, 0, 1)); +console.log("repeat-string-count:", repeatFrom(sevenRows, "3" as any, 0)); +console.log("repeat-integral-count:", repeatFrom(sevenRows, 3, 0.5)); + +// The `random` recurrence with a side exit well past the first iteration: the +// published counter decides how many iterations the slow clone still runs. +function randomCounted(rows: any, count: number, n: number): string { + let sum: any = 0; + let cursor = 0; + let seen = 0; + for (let i = 0; i < count; i++) { + cursor = (cursor * 17 + 7) % n; + sum += rows[cursor].id; + } + for (let i = 0; i < count; i++) seen++; + return String(sum) + "|" + String(cursor) + "|" + String(seen); +} +// `(17c + 7) % 13` walks 7 -> 9 -> 4 -> 10 -> 8 -> 0 from 0, so index 8 — the +// string one — is read on the FIFTH iteration and every sixth after it. +const randomLate: any = JSON.parse( + '[{"id":0},{"id":1},{"id":2},{"id":3},{"id":4},{"id":5},{"id":6},' + + '{"id":7},{"id":"eight"},{"id":9},{"id":10},{"id":11},{"id":12}]', +); +console.log("random-late-side-exit:", randomCounted(randomLate, 40, 13)); From e3d17cf9bd778e9b9133c93da5432df732813f1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ralph=20K=C3=BCpper?= Date: Mon, 14 Sep 2026 07:42:34 +0200 Subject: [PATCH 22/30] style(codegen): rustfmt module order --- crates/perry-codegen/src/stmt/mod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/perry-codegen/src/stmt/mod.rs b/crates/perry-codegen/src/stmt/mod.rs index 18e645070f..a6ca584e6a 100644 --- a/crates/perry-codegen/src/stmt/mod.rs +++ b/crates/perry-codegen/src/stmt/mod.rs @@ -22,9 +22,9 @@ mod class_field_loop_tests; mod counter_range; mod element_shape_carried; mod element_shape_loop; -mod element_shape_native; #[cfg(test)] mod element_shape_loop_tests; +mod element_shape_native; mod if_stmt; mod let_buffer_views; mod let_object_facts; From c38013590ffd275df609df2d417ad77372c712c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ralph=20K=C3=BCpper?= Date: Mon, 14 Sep 2026 07:43:44 +0200 Subject: [PATCH 23/30] changelog: element-shape clone native accumulator and counter (#10255) --- .../10255-element-shape-native-domains.md | 105 ++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100644 changelog.d/10255-element-shape-native-domains.md diff --git a/changelog.d/10255-element-shape-native-domains.md b/changelog.d/10255-element-shape-native-domains.md new file mode 100644 index 0000000000..6f9699421c --- /dev/null +++ b/changelog.d/10255-element-shape-native-domains.md @@ -0,0 +1,105 @@ +Keep the element-shape loop clone's accumulator in the double domain and its +counter in the i32 domain (#7480 → #10171 → #10185). The JSON access screen's +four missing cells (`repeat` ×3, 16k `fields`) now beat Node and Bun at the +official settings, and every clone form got cheaper. + +**The defect.** The fast clone was already what executed, but the `repeat` loop +(`sum += rows[7].id`) took 16 instructions at ~13 CPU cycles per iteration: two +loop-carried chains crossed the integer/float register boundary every +iteration. + +* An `any`-typed `sum` lives in a precise GC root slot, and every root reload + passes through the RS4GC launder (`function/precise_roots.rs`, + `ROOT_RELOAD_LAUNDER`) that LLVM cannot see through, so mem2reg promoted the + slot as NaN-box `i64` bits: `x25 → fmov → fadd → fmov → x25`. +* A counter the clone never indexes with (the constant-index and carried forms) + had no i32 slot, so it stayed a double (`fadd d8, #1.0`) compared against + `count` — itself a root slot, reloaded through the launder and moved to an FP + register every iteration although the preheader had already materialized it + as an i32. + +**The change** (`stmt/element_shape_native.rs`). For the fast clone's lowering +the accumulator is redirected into a promotable `alloca double` (the +`numeric_accumulator_f64_slots` redirect the packed clones already use), seeded +with the value the deref block tag-tested as a Number; the counter gets an i32 +slot (its Let-site parallel slot, or a clone-private one seeded with the literal +start) that the `Update` lowering advances alone +(`deferred_integer_update_accumulators`), so the precomputed i32 trip count +turns the condition into `icmp slt i32`. Residual checks branch to a +`element_shape.loop.side_exit` trampoline that publishes both scalars to their +real slots and then enters the slow clone; the fall-through exit publishes them +in `element_shape.loop.fast.write_back`. A canonical-i32 counter (the indexing +forms) has nothing to defer and is left alone. + +Soundness is unchanged by construction: the redirected store sits exactly where +the root-slot store did, which #10185's fold / carried-commit ordering already +put after every side exit of the iteration, so the trampoline publishes the +iteration's entry accumulator and its own index — the state the slow clone +re-runs it from. The carried binding keeps its own end-of-iteration commit and +is never published by the trampoline. The seed, trampoline and write-back are +plain loads/stores plus one `sitofp`, created inside the call-free scan's block +range. The accumulator was already consumed as a raw double inside this clone +(`numeric_accumulator`), so the IEEE `fadd`s are the same operations on the same +operands in the same order (`-0`, NaN, overflow to Infinity bit-identical). The +i32 counter only ever runs against a trip count that is a literal, `arr.length` +or `materialize_loop_i32`'s integral `0..=i32::MAX`; fractional, NaN, negative +and out-of-range bounds still route to the slow clone. + +**The new `repeat` loop** (arm64, `run$spec_b_b`, whole body): + +``` +a90 cbz w9, side_exit ; residual check (header loads hoisted) +a94 ldr d2, [x10, w0, sxtw #3] ; field load +a98 fmov x12, d2 +a9c cmp x12, x11 ; Number tag test +aa0 b.gt side_exit +aa4 fadd d1, d1, d2 ; sum stays in d1 +aa8 add w8, w8, #1 ; i is an i32 +aac cmp w19, w8 ; against the materialized i32 count +ab0 b.ne a90 +``` + +**Per iteration** (`/usr/bin/time -l`, 50M iterations, 16k fixture): + +| mode | instructions main → PR | cycles main → PR | +|---|---:|---:| +| repeat | 16.0 → 9.0 | 13.0 → 3.0 | +| sequential | 25.0 → 22.0 | 13.0 → 3.4 | +| random | 29.0 → 27.0 | 15.6 → 15.6 | +| fields | 51.0 → 47.0 | 19.0 → 9.0 | + +**Access screen, official settings** (1M iterations, warmup 0; bench mini, best +of 9 interleaved rounds, ns/iteration): `repeat` 4.06 → 0.94 (Node 2.89–3.07, +Bun 4.47–4.60); `sequential` 4.06–4.16 → 1.07/1.63/3.31; `random` 4.86–5.45 → +4.80–5.39; `fields` 5.94–6.03 → 2.81/2.82/3.39 (16k Node 5.57). All 12 cells at +or better than the better of Node and Bun (worst ratio 0.70, 16k `random`). + +**Warmed** (50M iterations, 1M warmup, best of 5): 3 of 12 cells win (16k +`sequential`, 1m and 20m `fields`); 9 still miss, each for a structural reason +this change does not address: + +* `repeat` 0.94 vs 0.38/0.52/0.31 — one IEEE add per iteration is 3 cycles of + latency on this core; the JITs' 1.0–1.6 cycles mean an int32 speculated + accumulator, which JS double semantics for `sum` do not license here. +* `fields` 16k 2.81 vs Node 2.77 — three serial IEEE adds = 9 cycles (measured + 9.02), the double-domain floor for the source-order fold. +* `random` 4.86–5.39 vs 4.47–5.34 — the loop-carried chain is the recurrence's + division (15.6 cycles, unchanged); the i64 `srem` #10185 needs for exactness is + ~5 % slower than the int32 division a JIT emits (same-host C microbenchmark: + 4.69 vs 4.46 ns), plus random-access cache misses on 1m/20m. +* `sequential` 1m/20m 1.65/3.38 vs 1.32/2.02 — identical 22 instructions but + 3.4 → 5.2 → 10.9 cycles from 16k to 20m: memory-bound record access. + +**JSON matrix** (50 rows, 5 interleaved rounds, PR vs main): 49 rows within +±2 % CPU (the one element-shape consumer, `scan`, 0.5–1.1 % faster), peak RSS +identical. `escaped_1m:stringify` read +10 % (160.8 → 177.3 ms); its hot function +`json::stringify_flat::emit_piece` is identical runtime code shifted 128 bytes +by the smaller worker module, and appending unused functions to main's own +worker moves the same row to 149.0–149.4 ms — layout, not this change. + +Tests: five IR-census tests in `stmt/element_shape_native_tests.rs` (each fails +with the redirects disabled); the #10185 carried-commit and side-exit helpers +now count the trampoline spelling of an exit. `test_gap_json_record_loop_clone.ts` +gains `-0`/Infinity/NaN accumulation, first-iteration and mid-loop side exits +with a non-zero accumulator, fractional/NaN/negative/string trip counts on the +`repeat` form and a late `random` side exit; byte-identical to Node 26.5.1. From ed8e6f9e4a5fdeab79da06c9b7025481d847e6d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ralph=20K=C3=BCpper?= Date: Mon, 14 Sep 2026 08:06:01 +0200 Subject: [PATCH 24/30] changelog: state the matrix distribution exactly --- changelog.d/10255-element-shape-native-domains.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/changelog.d/10255-element-shape-native-domains.md b/changelog.d/10255-element-shape-native-domains.md index 6f9699421c..b20535e3c4 100644 --- a/changelog.d/10255-element-shape-native-domains.md +++ b/changelog.d/10255-element-shape-native-domains.md @@ -90,9 +90,11 @@ this change does not address: * `sequential` 1m/20m 1.65/3.38 vs 1.32/2.02 — identical 22 instructions but 3.4 → 5.2 → 10.9 cycles from 16k to 20m: memory-bound record access. -**JSON matrix** (50 rows, 5 interleaved rounds, PR vs main): 49 rows within -±2 % CPU (the one element-shape consumer, `scan`, 0.5–1.1 % faster), peak RSS -identical. `escaped_1m:stringify` read +10 % (160.8 → 177.3 ms); its hot function +**JSON matrix** (50 rows, 5 interleaved rounds, best-of, PR vs main): 48 rows +within ±2 % CPU (the one element-shape consumer, `scan`, 0.5–1.1 % faster), no +row's peak RSS higher. Two runtime-only rows moved further, one each way: +`long_string_1m:stringify` −4.4 % and `escaped_1m:stringify` +10.3 % (160.8 → +177.3 ms). Neither runs a clone; the latter's hot function `json::stringify_flat::emit_piece` is identical runtime code shifted 128 bytes by the smaller worker module, and appending unused functions to main's own worker moves the same row to 149.0–149.4 ms — layout, not this change. From e42b31cac2c3042a07b1bd18389c56f2d2eddfc5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ralph=20K=C3=BCpper?= Date: Mon, 14 Sep 2026 08:06:21 +0200 Subject: [PATCH 25/30] changelog: separate the random gap's division share from its locality share --- changelog.d/10255-element-shape-native-domains.md | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/changelog.d/10255-element-shape-native-domains.md b/changelog.d/10255-element-shape-native-domains.md index b20535e3c4..303930660e 100644 --- a/changelog.d/10255-element-shape-native-domains.md +++ b/changelog.d/10255-element-shape-native-domains.md @@ -83,12 +83,16 @@ this change does not address: accumulator, which JS double semantics for `sum` do not license here. * `fields` 16k 2.81 vs Node 2.77 — three serial IEEE adds = 9 cycles (measured 9.02), the double-domain floor for the source-order fold. -* `random` 4.86–5.39 vs 4.47–5.34 — the loop-carried chain is the recurrence's - division (15.6 cycles, unchanged); the i64 `srem` #10185 needs for exactness is - ~5 % slower than the int32 division a JIT emits (same-host C microbenchmark: - 4.69 vs 4.46 ns), plus random-access cache misses on 1m/20m. +* `random` 4.86/5.09/5.39 vs 4.63/4.47/4.64 — the loop-carried chain is the + recurrence's division (15.6 cycles, unchanged by this change); the i64 `srem` + #10185 needs for exactness is ~5 % slower than an int32 division (same-host C + microbenchmark: 4.69 vs 4.46 ns), which is the whole 16k gap. The larger 1m/20m + gap is not in the loop code: Perry's 27 instructions are identical across + sizes while its cycles rise 15.6 → 16.3 → 17.3, and Bun gets FASTER than its + own 16k number — a record-memory locality difference, not investigated here. * `sequential` 1m/20m 1.65/3.38 vs 1.32/2.02 — identical 22 instructions but - 3.4 → 5.2 → 10.9 cycles from 16k to 20m: memory-bound record access. + 3.4 → 5.2 → 10.9 cycles from 16k to 20m: memory-bound record access, the same + locality difference. **JSON matrix** (50 rows, 5 interleaved rounds, best-of, PR vs main): 48 rows within ±2 % CPU (the one element-shape consumer, `scan`, 0.5–1.1 % faster), no From 22085aa7ec0b20836f5b36a320492c4c51cfd17f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ralph=20K=C3=BCpper?= Date: Mon, 14 Sep 2026 08:44:59 +0200 Subject: [PATCH 26/30] docs(runtime): clarify merged GC cache invariants and refresh source pins --- crates/perry-runtime/src/arena/block.rs | 22 +++++++++---------- crates/perry-runtime/src/arena/from_space.rs | 3 +-- .../gc/roots/runtime_handles/stack_os_tls.rs | 2 +- 3 files changed, 13 insertions(+), 14 deletions(-) diff --git a/crates/perry-runtime/src/arena/block.rs b/crates/perry-runtime/src/arena/block.rs index 48b916d831..4f84e098b6 100644 --- a/crates/perry-runtime/src/arena/block.rs +++ b/crates/perry-runtime/src/arena/block.rs @@ -565,17 +565,6 @@ impl Arena { } } - /// Lazy variant of `new`: starts with a single tombstone block - /// (`data = null, size = 0`) instead of an eagerly-mapped 1 MB - /// block, so JS-touching threads that never allocate in this - /// region (spawn workers, tokio callers) don't pay the block. - /// The tombstone shape is exactly the one C4b-δ block release leaves - /// behind, so every walker/reset/alloc path already handles it: - /// the first `alloc` misses the tombstone, and the slow path's - /// `install_fresh_block` replaces the tombstone slot in place. - /// Only used for the non-Eden regions — Eden must stay eager - /// because `js_inline_arena_state` hands its current block to - /// codegen's inline bump allocator at thread start. /// Point allocation at `blocks[idx]`. /// /// Every move of `current` goes through here, because the cached young @@ -592,6 +581,17 @@ impl Arena { super::from_space::invalidate_sealed_young_bytes(); } + /// Lazy variant of `new`: starts with a single tombstone block + /// (`data = null, size = 0`) instead of an eagerly-mapped 1 MB + /// block, so JS-touching threads that never allocate in this + /// region (spawn workers, tokio callers) don't pay the block. + /// The tombstone shape is exactly the one C4b-δ block release leaves + /// behind, so every walker/reset/alloc path already handles it: + /// the first `alloc` misses the tombstone, and the slow path's + /// `install_fresh_block` replaces the tombstone slot in place. + /// Only used for the non-Eden regions — Eden must stay eager + /// because `js_inline_arena_state` hands its current block to + /// codegen's inline bump allocator at thread start. fn new_lazy(generation: HeapGeneration, space: HeapSpace) -> Self { Arena { blocks: vec![ArenaBlock { diff --git a/crates/perry-runtime/src/arena/from_space.rs b/crates/perry-runtime/src/arena/from_space.rs index 9ea4c8e1b2..994a0833e5 100644 --- a/crates/perry-runtime/src/arena/from_space.rs +++ b/crates/perry-runtime/src/arena/from_space.rs @@ -24,8 +24,7 @@ //! such move goes through [`Arena::set_current`], which invalidates the //! cache. Comparing the index alone would not do: `current` can leave //! block 3 for block 5 and come back to block 3 once block 5 is full. -//! 3. **The active survivor space changes.** That is a flip, so it is case 1, -//! and the index is part of the key anyway. +//! 3. **The active survivor space changes.** That is a flip, so it is case 1. //! //! Survivor allocation fills the *inactive* space, which is not from-space //! until the flip, and the flip happens inside the copying minor's scope. diff --git a/crates/perry-runtime/src/gc/roots/runtime_handles/stack_os_tls.rs b/crates/perry-runtime/src/gc/roots/runtime_handles/stack_os_tls.rs index 19369a4b6f..b70f97a14a 100644 --- a/crates/perry-runtime/src/gc/roots/runtime_handles/stack_os_tls.rs +++ b/crates/perry-runtime/src/gc/roots/runtime_handles/stack_os_tls.rs @@ -1,5 +1,5 @@ //! Android and HarmonyOS use OS-backed TLS: even a non-Drop value's allocation is freed -//! during teardown. Preserve the original scoped Vec access on this platform. +//! during teardown. Preserve the original scoped Vec access on these targets. //! Scopes and handles carry a thread-bound token, never an escaped TLS address. use super::{handle_used_after_scope, RuntimeHandleSlot, RUNTIME_HANDLE_STACK}; From bc48bf2baef9e0fe94d9ff1f2561e93cc3552900 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ralph=20K=C3=BCpper?= Date: Mon, 14 Sep 2026 08:44:59 +0200 Subject: [PATCH 27/30] chore: bump version to 0.5.1566 for train 188 --- CLAUDE.md | 2 +- Cargo.lock | 162 ++++++++++++++++++++++++++--------------------------- Cargo.toml | 2 +- 3 files changed, 83 insertions(+), 83 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index fd07c171ed..568047b6a7 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -8,7 +8,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co Perry is a native TypeScript compiler written in Rust that compiles TypeScript source code directly to native executables. It uses SWC for TypeScript parsing and LLVM for code generation. -**Current Version:** 0.5.1565 +**Current Version:** 0.5.1566 ## TypeScript Parity Status diff --git a/Cargo.lock b/Cargo.lock index 36b9765959..90632d9236 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5690,7 +5690,7 @@ checksum = "1542e48011813fbdf3c075da4a4ed53ee93c816eef62e36eb5064a6fd2be10a5" [[package]] name = "perry" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "anyhow", "base64 0.22.1", @@ -5754,7 +5754,7 @@ dependencies = [ [[package]] name = "perry-api-manifest" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "perry-dispatch", "serde", @@ -5762,7 +5762,7 @@ dependencies = [ [[package]] name = "perry-audio-miniaudio" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "cc", "libc", @@ -5771,7 +5771,7 @@ dependencies = [ [[package]] name = "perry-codegen" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "aho-corasick", "anyhow", @@ -5789,7 +5789,7 @@ dependencies = [ [[package]] name = "perry-codegen-arkts" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "anyhow", "perry-hir", @@ -5797,7 +5797,7 @@ dependencies = [ [[package]] name = "perry-codegen-glance" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "anyhow", "perry-hir", @@ -5805,7 +5805,7 @@ dependencies = [ [[package]] name = "perry-codegen-js" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "anyhow", "perry-dispatch", @@ -5814,7 +5814,7 @@ dependencies = [ [[package]] name = "perry-codegen-swiftui" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "anyhow", "perry-hir", @@ -5822,7 +5822,7 @@ dependencies = [ [[package]] name = "perry-codegen-wasm" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "anyhow", "base64 0.22.1", @@ -5834,7 +5834,7 @@ dependencies = [ [[package]] name = "perry-codegen-wear-tiles" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "anyhow", "perry-hir", @@ -5842,7 +5842,7 @@ dependencies = [ [[package]] name = "perry-container-compose" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "anyhow", "async-trait", @@ -5870,14 +5870,14 @@ dependencies = [ [[package]] name = "perry-container-e2e" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "anyhow", ] [[package]] name = "perry-diagnostics" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "serde", "serde_json", @@ -5885,7 +5885,7 @@ dependencies = [ [[package]] name = "perry-dispatch" -version = "0.5.1565" +version = "0.5.1566" [[package]] name = "perry-doc-fixture-my-bindings" @@ -5896,7 +5896,7 @@ dependencies = [ [[package]] name = "perry-doc-tests" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "anyhow", "clap", @@ -5911,7 +5911,7 @@ dependencies = [ [[package]] name = "perry-ext-ads" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "block2", "objc2", @@ -5921,7 +5921,7 @@ dependencies = [ [[package]] name = "perry-ext-argon2" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "argon2", "perry-ffi", @@ -5930,7 +5930,7 @@ dependencies = [ [[package]] name = "perry-ext-axios" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "perry-ffi", "reqwest", @@ -5939,7 +5939,7 @@ dependencies = [ [[package]] name = "perry-ext-bcrypt" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "bcrypt", "perry-ffi", @@ -5947,7 +5947,7 @@ dependencies = [ [[package]] name = "perry-ext-better-sqlite3" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "perry-ffi", "rusqlite", @@ -5955,7 +5955,7 @@ dependencies = [ [[package]] name = "perry-ext-cheerio" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "perry-ffi", "scraper", @@ -5963,7 +5963,7 @@ dependencies = [ [[package]] name = "perry-ext-commander" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "perry-ffi", "perry-runtime", @@ -5971,7 +5971,7 @@ dependencies = [ [[package]] name = "perry-ext-cron" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "chrono", "cron", @@ -5981,7 +5981,7 @@ dependencies = [ [[package]] name = "perry-ext-dayjs" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "chrono", "perry-ffi", @@ -5989,7 +5989,7 @@ dependencies = [ [[package]] name = "perry-ext-decimal" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "perry-ffi", "rust_decimal", @@ -5997,7 +5997,7 @@ dependencies = [ [[package]] name = "perry-ext-dotenv" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "perry-ffi", "serde_json", @@ -6005,7 +6005,7 @@ dependencies = [ [[package]] name = "perry-ext-ethers" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "perry-ffi", "rand 0.10.2", @@ -6013,7 +6013,7 @@ dependencies = [ [[package]] name = "perry-ext-events" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "perry-ffi", "perry-runtime", @@ -6021,14 +6021,14 @@ dependencies = [ [[package]] name = "perry-ext-exponential-backoff" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "perry-ffi", ] [[package]] name = "perry-ext-fastify" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "bytes", "http-body-util", @@ -6046,7 +6046,7 @@ dependencies = [ [[package]] name = "perry-ext-fetch" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "bytes", "lazy_static", @@ -6059,7 +6059,7 @@ dependencies = [ [[package]] name = "perry-ext-http" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "base64 0.22.1", "bytes", @@ -6091,7 +6091,7 @@ dependencies = [ [[package]] name = "perry-ext-ioredis" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "lazy_static", "perry-ffi", @@ -6101,7 +6101,7 @@ dependencies = [ [[package]] name = "perry-ext-jsonwebtoken" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "base64 0.22.1", "jsonwebtoken", @@ -6112,7 +6112,7 @@ dependencies = [ [[package]] name = "perry-ext-lru-cache" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "lru", "perry-ffi", @@ -6121,7 +6121,7 @@ dependencies = [ [[package]] name = "perry-ext-moment" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "chrono", "perry-ffi", @@ -6129,7 +6129,7 @@ dependencies = [ [[package]] name = "perry-ext-mongodb" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "bson", "futures-util", @@ -6141,7 +6141,7 @@ dependencies = [ [[package]] name = "perry-ext-mysql2" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "chrono", "perry-ffi", @@ -6153,7 +6153,7 @@ dependencies = [ [[package]] name = "perry-ext-nanoid" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "nanoid", "perry-ffi", @@ -6162,7 +6162,7 @@ dependencies = [ [[package]] name = "perry-ext-net" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "bytes", "perry-ffi", @@ -6177,7 +6177,7 @@ dependencies = [ [[package]] name = "perry-ext-node-forge" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "const-oid 0.10.2", "der 0.8.1", @@ -6196,7 +6196,7 @@ dependencies = [ [[package]] name = "perry-ext-nodemailer" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "lettre", "perry-ffi", @@ -6206,7 +6206,7 @@ dependencies = [ [[package]] name = "perry-ext-parcel-watcher" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "notify", "perry-ffi", @@ -6218,7 +6218,7 @@ dependencies = [ [[package]] name = "perry-ext-pdf" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "perry-ffi", "printpdf", @@ -6226,7 +6226,7 @@ dependencies = [ [[package]] name = "perry-ext-pg" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "perry-ffi", "sqlx", @@ -6235,7 +6235,7 @@ dependencies = [ [[package]] name = "perry-ext-qs" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "perry-ffi", "perry-runtime", @@ -6244,7 +6244,7 @@ dependencies = [ [[package]] name = "perry-ext-ratelimit" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "governor", "perry-ffi", @@ -6252,7 +6252,7 @@ dependencies = [ [[package]] name = "perry-ext-sharp" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "fast_image_resize", "image", @@ -6263,7 +6263,7 @@ dependencies = [ [[package]] name = "perry-ext-streams" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "lazy_static", "perry-ffi", @@ -6272,7 +6272,7 @@ dependencies = [ [[package]] name = "perry-ext-typescript" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "anyhow", "perry-ffi", @@ -6292,7 +6292,7 @@ dependencies = [ [[package]] name = "perry-ext-undici" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "perry-ffi", "perry-runtime", @@ -6301,7 +6301,7 @@ dependencies = [ [[package]] name = "perry-ext-uuid" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "perry-ffi", "uuid", @@ -6309,7 +6309,7 @@ dependencies = [ [[package]] name = "perry-ext-validator" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "perry-ffi", "perry-validation", @@ -6318,7 +6318,7 @@ dependencies = [ [[package]] name = "perry-ext-ws" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "futures-util", "lazy_static", @@ -6331,7 +6331,7 @@ dependencies = [ [[package]] name = "perry-ext-zlib" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "brotli", "flate2", @@ -6341,7 +6341,7 @@ dependencies = [ [[package]] name = "perry-ffi" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "dashmap 6.2.1", "once_cell", @@ -6351,7 +6351,7 @@ dependencies = [ [[package]] name = "perry-hir" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "anyhow", "perry-api-manifest", @@ -6372,11 +6372,11 @@ dependencies = [ [[package]] name = "perry-native-registration" -version = "0.5.1565" +version = "0.5.1566" [[package]] name = "perry-parser" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "anyhow", "perry-diagnostics", @@ -6390,7 +6390,7 @@ dependencies = [ [[package]] name = "perry-perex" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "perex", "regex", @@ -6398,7 +6398,7 @@ dependencies = [ [[package]] name = "perry-runtime" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "ahash", "anyhow", @@ -6458,14 +6458,14 @@ dependencies = [ [[package]] name = "perry-runtime-static" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "perry-runtime", ] [[package]] name = "perry-stdlib" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "aes 0.8.4", "aes 0.9.1", @@ -6560,14 +6560,14 @@ dependencies = [ [[package]] name = "perry-stdlib-static" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "perry-stdlib", ] [[package]] name = "perry-transform" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "anyhow", "perry-hir", @@ -6576,7 +6576,7 @@ dependencies = [ [[package]] name = "perry-ui" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "dirs", "perry-ffi", @@ -6586,7 +6586,7 @@ dependencies = [ [[package]] name = "perry-ui-android" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "base64 0.22.1", "itoa", @@ -6604,7 +6604,7 @@ dependencies = [ [[package]] name = "perry-ui-geisterhand" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "rand 0.10.2", "serde", @@ -6614,7 +6614,7 @@ dependencies = [ [[package]] name = "perry-ui-gtk4" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "base64 0.22.1", "cairo-rs 0.22.9", @@ -6637,7 +6637,7 @@ dependencies = [ [[package]] name = "perry-ui-ios" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "base64 0.22.1", "block2", @@ -6654,7 +6654,7 @@ dependencies = [ [[package]] name = "perry-ui-macos" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "base64 0.22.1", "block2", @@ -6671,7 +6671,7 @@ dependencies = [ [[package]] name = "perry-ui-model" -version = "0.5.1565" +version = "0.5.1566" [[package]] name = "perry-ui-test" @@ -6682,11 +6682,11 @@ dependencies = [ [[package]] name = "perry-ui-testkit" -version = "0.5.1565" +version = "0.5.1566" [[package]] name = "perry-ui-tvos" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "base64 0.22.1", "block2", @@ -6703,7 +6703,7 @@ dependencies = [ [[package]] name = "perry-ui-visionos" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "base64 0.22.1", "block2", @@ -6720,7 +6720,7 @@ dependencies = [ [[package]] name = "perry-ui-watchos" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "block2", "libc", @@ -6734,7 +6734,7 @@ dependencies = [ [[package]] name = "perry-ui-windows" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "base64 0.22.1", "libc", @@ -6753,7 +6753,7 @@ dependencies = [ [[package]] name = "perry-ui-windows-winui" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "base64 0.22.1", "libc", @@ -6766,7 +6766,7 @@ dependencies = [ [[package]] name = "perry-updater" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "anyhow", "base64 0.22.1", @@ -6782,7 +6782,7 @@ dependencies = [ [[package]] name = "perry-validation" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "idna", "regex", @@ -6792,7 +6792,7 @@ dependencies = [ [[package]] name = "perry-wasm-host" -version = "0.5.1565" +version = "0.5.1566" dependencies = [ "wasmi", ] diff --git a/Cargo.toml b/Cargo.toml index d15ea1e7f6..eb96d810ac 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -338,7 +338,7 @@ codegen-units = 1 codegen-units = 1 [workspace.package] -version = "0.5.1565" +version = "0.5.1566" edition = "2021" license = "MIT" repository = "https://github.com/PerryTS/perry" From 5b49fd88509b32f29289dd34b0e1a6f64498548e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ralph=20K=C3=BCpper?= Date: Mon, 14 Sep 2026 08:54:14 +0200 Subject: [PATCH 28/30] fix(runtime): use the prototype override helper module directly --- crates/perry-runtime/src/symbol/get.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/crates/perry-runtime/src/symbol/get.rs b/crates/perry-runtime/src/symbol/get.rs index 94922fa14c..4e7703bd41 100644 --- a/crates/perry-runtime/src/symbol/get.rs +++ b/crates/perry-runtime/src/symbol/get.rs @@ -1261,7 +1261,7 @@ unsafe fn declared_prototype_symbol_holder( mut class_id: u32, ) -> Option { let receiver_addr = (receiver.to_bits() & crate::value::POINTER_MASK) as usize; - if crate::object::object_has_user_prototype_override(receiver_addr) { + if crate::object::prototype_chain::object_has_user_prototype_override(receiver_addr) { return None; } for _ in 0..32 { @@ -1271,7 +1271,8 @@ unsafe fn declared_prototype_symbol_holder( if has_own_symbol_property(proto_value, sym) { return Some(proto_value); } - if crate::object::object_has_user_prototype_override(declared as usize) { + if crate::object::prototype_chain::object_has_user_prototype_override(declared as usize) + { return None; } } From 895b9c74dc95b0349e508764cfed2424421118a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ralph=20K=C3=BCpper?= Date: Mon, 14 Sep 2026 09:08:43 +0200 Subject: [PATCH 29/30] fix(runtime): validate allocation ownership before symbol presence reads --- crates/perry-runtime/src/symbol/get.rs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/crates/perry-runtime/src/symbol/get.rs b/crates/perry-runtime/src/symbol/get.rs index 4e7703bd41..326f73dee6 100644 --- a/crates/perry-runtime/src/symbol/get.rs +++ b/crates/perry-runtime/src/symbol/get.rs @@ -1292,10 +1292,18 @@ pub(crate) unsafe fn has_declared_prototype_symbol_property(receiver: f64, sym: return false; } let ptr = value.as_pointer::(); - if ptr.is_null() || !crate::object::is_valid_obj_ptr(ptr.cast()) { + // Pointer tags also carry handles and headerless storage. Require allocator + // ownership before reading a header, then admit only live object layouts. + let Some(header) = crate::value::addr_class::try_read_tracked_gc_header(ptr as usize) else { + return false; + }; + let header = header.as_ref(); + if header.obj_type != crate::gc::GC_TYPE_OBJECT + || header.gc_flags & crate::gc::GC_FLAG_FORWARDED != 0 + { return false; } - let class_id = crate::object::js_object_get_class_id(ptr); + let class_id = (*ptr).class_id; class_id != 0 && declared_prototype_symbol_holder(receiver, sym, class_id).is_some() } From 755bc4419743c614b2f2166c2d8de37ac3b00f27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ralph=20K=C3=BCpper?= Date: Mon, 14 Sep 2026 10:12:37 +0200 Subject: [PATCH 30/30] test(compile): clear prior output before collect-only assertions --- .../tests/source_graph_export_regressions/issue_10180.rs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/crates/perry/tests/source_graph_export_regressions/issue_10180.rs b/crates/perry/tests/source_graph_export_regressions/issue_10180.rs index 08b755dbf8..b6d1efeb44 100644 --- a/crates/perry/tests/source_graph_export_regressions/issue_10180.rs +++ b/crates/perry/tests/source_graph_export_regressions/issue_10180.rs @@ -58,6 +58,11 @@ fn fixture(side_effects: Option) -> tempfile::TempDir { fn compile(root: &Path, disabled: bool, collect_only: bool) -> (Vec, String) { let cache = root.join(if disabled { "cache-off" } else { "cache-on" }); let binary = root.join(if disabled { "main-off" } else { "main-on" }); + // A collect-only invocation may follow a complete compile in this fixture. + // Its output assertion must observe this invocation, not the earlier binary. + if binary.exists() { + std::fs::remove_file(&binary).unwrap(); + } let mut command = Command::new(perry_bin()); command .current_dir(root)

f)IrV{!leT>7F9AKmSo<_K6jLQrt>JAy~o zC2LrH(H=>e_p*{gX(}Ja68pEco^>lCRPh8TrM4;y?ib>#FXh8xDDS=bQJJ`C2DJIg6NHST&o|dJ ztWKEiV=k~bVPvx(tdFw^nx)#8(x+!#6%i} zNNpkAwt%S;#6(?QFD4=b6gMtFL0^4$)->L6k}%03Y=Ou zpn{I?GBQ((XW~&@@AawjU1k3r#T|FKR4~b``2I=dlCUm$l+v*&gz5)@>Yk- z)HVl;AYyXrO86=hdfL;HgU1b`7IZ_I`C0<)YZIumitK3x5X_e4npkaqRV}*J_r#5b ze_fWgI}z1xJFRE$f3ak6viztHD;?s8w-zW|)$-S6duccKBSn=Lu_~q`;;8ck zX;_Ngywf~qCvRvSB&UIdm<>Hk#Xr2Jj`7wKnhC~&3U!)Q(;KNXCau>uek3*FR=b1o z=&$Z8H9vYL_L@F4$aEc|xcew>5(e9shTV^e(~M8_C+o9W%alu;A(&Ns|9j9nm#)@Y zxgdSp<*#R)`==e^4bOo%$~kc6W*FQQcZHMys|M(1weg*Z)wEK1 zwPybI+l%?O^DM~QrG?-rLyztNOuN6klAfB9IYQM%rUU0?z!K@J1l00`Atq2`1SR4h zU&1Y{R%)lqZ%)Y4%MDjm1AJUg@V;`&OuoT^Gj$hBwa8r6h+Vvd-;~2=ao=U^p*nO6 zOgr^EhWw(tsIltA!?}xQ(rghnqiSs44Ld^`T#h2v^g64g5Z&ajw-!n*uOBR{ip!aJ z7TLy^a-gbppWdGqNVRIf+Y<5HV8u}Ps9-dsL>ghYO}gNs7!b|ktF(;+&`BYx5EdC`Sa^b1`X-C$JxG69v z2YB#to&jt=C+hw9pdfY9X{B!vSRE5|wm~4iRbtwZEnJ~xH`2Mk0xn;ss&<$Rh^H@#3u)m6 zkSjW!3^9E@0o90AB5O4lD2S3}{Fm7xzWcghEU;AXGwFwi|!)dK|&1nt@N=r|truE9qcUHh&0BqW> z@(+Ipv*=htNa{6Puuifp0q(to9*rRMs-4!*s$-P$vCU{W2s$A~g_Dar4`FoX#JRq_ znL)G<5|-Z{O)Ea!WDp14J;S6L2bZIA=D2gPCUsm>k!>|HdoUAsJ@YT40Gwr6MLR&H zXU=Uxk`XP71_UW~m=uj^gd1iwVrpevqBz(-$EIqHyoUk#bD}LVDwnXXVKELM*yazL zK*h6~vH&cL{MbN_UZ5W2C@w8iWUnbzIBZ;g=)bj#eCOgoB0>B6m?9dIh;69fC6nis0z&J1xQ5@k-QarP>LCDV_Q@V&bsH^R8?D=9f=%UC^$P zuD<;FQ@y%!p_>!e|3mQAGIV&Sg%ubBZ95ojne5C!p+a6+01TF%v;gS%nkjP6yTNCR zDK3;AnZVUI^_K_z<6Rrz%QBI7?)4qm!|htaOaJiv&lK1{_)8CctLq}&UO12ciq+tE z^L{~i*B5R2%^AR?Wv)BxrJ*o+tH|3c6}K1U?9QfzRIo)(oQY`}2>c6~%q?4*^Jq*4 zv}GH*i_u|<)^X$KBW#M;VuhdgLH@?oGu1=CQ3B}bGQU7D6(3Bvg{&VW&HBO>XWN9Rl9m*`-#ga~*m3Bp^fbI8BNR9|%sNl5}6=!EXEu?HJ#O;#Zrrp?^#cFQSr~8|@ zRn%5cNu;QKt-P7N2;3=D8br5dnKDOgEbqb55Ac=Fk5k` zo2-R#bh(xh`yYS43V$N|fg2mX*fR_LMs|dAX%G)_GMN!jioR-X=F@a)3wGv(KqXpS zDGexY?<;PfLuXnp`O!Ram=LhHcHkPH*tG2yGJhXGUx-sKP6}nx7BkJY0z~7t7#<)f z^R$=TWg^O2e9Z%SWK4krvl|#8d>gJxQSXDC+}W+ABFW-vbD1#xej58trE>nyOZawF z3Gc(EISIn^kN@((^5kl%83i68 zwh!zt<}u8${67Sf6&W_biR3`~mBK2#lUDhM?1z3c6iV?)tyKJKEG;Ii++=nFLC_g5 zh}(3?+qTM?`i4L3GinJxty>hA@o<0i&O%C8kIjOEI{m+69SFH%2`xH!>-2fj$T6Cr zHiQjA1eF{z8viU9%Z}BniLbcPnQe}PFd9lw{Ge*^{f5(181#PLf**gU{9uas>HW9^ zeR^}49{}j~8+{&_&e;0#cE7kk_?VoMh4uJ|{IbhY$`D}7?q%-8-Wp$bEUj`z{_p)g zwmY=3TfsNaUpqeV@pN+1Z)HPr1cJD$iKEFTae7HzPAjM>u5`4AOY!69f=pnJT#vhN z&VqZ+3V6+E(f8E4W7O9pRa&2cyc!6>#J4>AV9GLGN7=F{nBH|-8HxJdFQc+IKr3@@ zvjV~6nIrf|A$<~4|7!OjVF~E6N-NLkJofv#?KupH@5xT{LxJ73O36-sR=%kzYhK+k zQlpEI>$!Y0-r(YAH`Cza@YGf+jxXOd|4@8a zI9Qxs?Q?qB_Jvy|;hkItiSEj;hz`hji6lCg>yp3rSX z5{Y^hmPCY0 z8RI@uX>W>fTT>)Ewgg7n&^9FPf&@g;Uf>pBZMpO@71cdri>p~cpbthSD(ec4R&|qf zvT#=C=jSvMHj(b_N19Z$bUrWVtCi!jYza08P5wNQ=snX4g~0;544u07W-M%=soN5} zEN}p?X+{=%4Zkm4d-u-h!_>N)fnoE(Lwhz0OKXhb!Jyy40WA7q<_M!TbU5{#)9oIn zq7gZ^MHxouEu#QWtTG z|6YgF8O)X+51D$!9;5}{#f^7K4yNm>#_6={Iwocu6ZNK(gaXH^6q5j}=YkU8h1vY8 z5o2$P!R2QfwK0pN?g=QR0{PL|Casy`&50_TWqZuuC&M!3n#69HwwFmI`Ds}2NU;so z+BTHWa_clRvgrh`3OAj6XJv(Xq+s^c<7lsrSlP93&9pYoz;9hvm93@9iefwJIO{3u zy1~IDT;eO=>kZaZtXkq8T!c#@(b_^sy-wZ4>TW9bq69uw$0v3;l#cVl`6Y;>0^^#U zOE1C1=J09h)}8__rt`o97%-K7TY1uiesV(7OXn`TEx!z4Z4KIAfr;HS0Mm#(M#dHn zg6M=qoxoqs=C0*Eu&;fh_cCG|uU8NB2frC*rg?KI-_eK$=V+sdC$0VYug)2*JPQ9G zIMf;aCaU($;7hp5mo~o?HPTiB2Tsd-q>mm#Xo*=OZK05IHa59&TdWHnC9)Rv&D|(tn)p%PS1U9HZT#Gk6)< z^PoYg;IkIpQ|3cbK)+qvz43mrK2R1O>^P5tFPzg$;k&n*Iyz;Wjc}`9=hbJfSRJrj zs!E-k?)FHS$Z}~Z%LVHy-CU2c2VGUvID0UY^g(+v`T(97rw{Bx)=oWt7%uI3YgG(}Zs75yu*oU4D`%F$%nq8>RsY1hUj!4m7OCl#qWDGPjM?3{{ zI(F-+xh2;9_zS8es8WxqlBwuXssu0VQ>8s)R3bhlxKz_zN>NN64HX4(X_JQ8BQ!Lr zKt>b|*@b?`r)USZ2&?^yO&z;U)lA8KQd1CQOOUOu$ksk=OObW5rCWhai%!}nTnEIs zIy-wMI9FSoOD77a38U(&s`VHjsTcC1Fgg*et52-!=&efdF2TD7b+~+;|{R&1OmH652u4xKsYP zpT18rja^nbV>e7gFEDm0u-v7ws|jOoYcEnwRV9)WjI9X4p3?B`q~T{$!88*TTyXGQ zkQQ)oXSTbNrVGzsFP$p92dfHzMuhiZR$qnwfpz|leU7?{#ZI3v4X-Z`UpDKWKv)$l z)2AEv^VvpJmVWHvG{%sm2GZ&|?IOA=4j*|Z1+qB@O>4(Fi`!jHE$3dlj+|{r%-W9F z;fBr<57VN0QJE1h9c0tZL^wnzh)eTHR8XJ{t2;QwDz62@t`vmTa!kF!Ot3VBq`ect zxhAHNQn9kc9C$LEQLmZM)#Wf|Qk%3%L{J-{y;DPbr+@%C%UkQt^F9W8wy(MBwArm8R<@+~dlk)izmxm#TWq9e>1^dZ@0n(=q=Laynhf>F6@iI89-=q;TQ@ zs?nI7PRy<=fsRfiX)(}YSK3**8)b!c%K4p8&JpO+XLKQE99@W6j4n5itp7($i~%@R zYE_|{qHY3rjum$lMd5KrkqKW{Na+La5R=Cp($=|OO{s%B1s*9tNPtkEK}a*=Afy?k zK!|qti2i>9gaimx1R)h0JP6^)$;lppkY?~8M6dJ{gz`L6fRF&89%)>M`Jd07Uz{me z|0jk-D5`i3uL>2fH(8|9yV-nc{nP&xE9F>U-dbo`A0_?}S?Bh8h^%nAVWh#(Thi7m zVG!ciL8z@|5HV`#S{FE@03ZQC)d2`hU`@!;-qwvU6DFkxC5UqP}wqC$>Z@rwtE1Q);B_L+7KDaUFe$p5Bi{zf37VAn@%!}z3uGkY< zL5?ETln#D0$hMyR{y*suj<)U{|M2O5O(eL5n@1|6Y_Auq_ik{r(~b0UIJDa#oy3OW zS;NCX+x%+ZHg{%6o81lTL8Etkyy|D}B$B$TT1X4YL)pewGF1p+MdcE2;SwTT(nvx} zk;-h>qY{~uR;7X&CbzN2E@Y(;ac16NzEGOxBJH9`qDfP(UMgp3U(7kFWF>Num8j<7 zSxL>5qclrU&GsxIn~o;tKfy%>7kyGLs*Xvd9GIz=iP$QWyai%8d9O(&At2|JvPeJF@G&)Brfp}?8dm28M zVkU~I7n+H3cxFKLQ`MXR+@6pV<9} zJ^59l3+O4}px5B`qn-cfuY-O|ekHrBgTDJJwdW3*y79HITM)q7jA3b}rfV7x!5ZcQ zZ%P7!X?}fU5L~sm9>0yJQ8|h%dbY`+Dr>7%tTbky%@IGGT3rq&j>c!rcBv=k%bm90 zV_HltkEd7qwY2#&RWd*=-Ry6r2yIo|IvJ=J)htmd?71O(&Sd30vItHtIC*EBoRF~@ zsZLE|lstou6D`4wt5I>1g{f4gmpBVLqUi+#7?It`^&!yZXO40@0 zZiQ~EL^nC2psE_TgQ+CM5zHs#3B=$_S(DOiyEM}-!?GJ>*r_6JW&(K2k`bbn#__sD z1egA$(j=rDlj@dGAGx2jAVDasx7d0GeHQe&p5|K-Kfa&)&U4#;bf;j84of)DWPOat zj?~F|PHw=LFOt8SjmHnG<(L_sb-!LQ!keE{(5ReS@(#K!H6_H`o?g5SC3Sz{5}#|A zlvP1>w(yhQQwf1(u7VJ|ki}G!M&2B~Och^2Br{%Ap4%wxF9+cj$yDo8TV% z)O?~9Fv1!aezHi3?ao+Q-pYm6k|j(2#NLza<8-_p5{$n`{=Ey!1HUvBHsbYP2m+{X>Zt^tp zp<7MeD+P0}a#HjLMIp|kC<ySJhW>IJ1^*`v9 zEWRX34Y8%P?V4Rgp<(AOMT@fMrjvn=c0G>L{Rn50k^EUi@DjmG+TkS%$4it5FQIm9 zf3^V~7oPV(U%IdwTP*z3bLrpd3;KaIbm1R;X+qzfNK+f$mL{Qpj6Q*92wEa&NeNm) zv;2ReKFoC;?QcH>{)~ z=WUCY9QkN>K}(t(VZloTFX1AqOWQ z2ls|x@Lt#!Q#kTr>w+ny4wZm>0r|Zv7Z!RS4Wcn3Kr}g4FbrNN3Wf#sAn5n38*lB- ztb1p5=gmf&t7GX;_v_VWi||a^bmCb0gTGp`vPFR;-#53K`dvc>#YDleffjtxOu|=u z(M;9gls!${WXYGP&s2gcRv0=4RqRSTP=za$9BbOAMMW3^bo&UzL=Fc|;Mb<(@oMTj zD|@wCPGFjFeD{wl$#t9=Oc7v^^wb+Lty^fwot8NdyLx;cJTW^AB5Px^lWv5U;hHw| zi+@SnEsTPx@hrUl?&bB1%d3Aslm0+`1KzklmA?H}l6QhGQXR?dCp*IdPXpHD`I<2#@6~%Wix+DELy+Fj_fx%-LAU zXoapKovT`^B3x89u12w!=tNZMn1ifw#~kDwsmbOJ5T}-p<0`q-cHWYLF10`+t8T4| zm4pExu4*kx7y$0K0n{v7i_*p%w=m|V4zk3iFu@kZPDm`aN!2Ahu&p49W^V!@g>(=s zX1em0Ec&s@7^RVqAY1fz(qFvQ9ZN5g{&NDWB*4D;E!d(xcdgYOe0etcFUb#%@4=+y zhFgB0?T?Nx&F}Bw+2O|*kHMx%xMi~WkqEDw-v*!s|MS-m4<1-KJr#K4P>~GD`|MIp zBm2YBez-f6>=~WfZomOPvNA}qmfGBYSlGWlT2l{t&|QaJ9Ns?b_23bB4gzw!~)=29r5P6N#Mw^DPSihsmbTUSc9m z=XFmBzx|NVJ;mk|pp(X(dSMr`c*)jw8zd!ZDyZ1ZuF_M|nV*cA9O>BCWF~EnvY;n| zp7fNS=vs`P=$fD>f}T7*J<$kP)!Wpt*-MDh`7~8s6ZE7OJvq*?7xYBX6G2ZZ(i7Ft z$5`LuJiG*YaejWDLMJwxmiy8YK}Q4~$)Y2Qt|%mqNs2C;1_w%N0+jUbK?!^$4od7o zmxM%3gDSnSj$ghLKN%f4+Oe-mNZK1^K}Q4~=|VClmxwH#56&;oSs`}|fFjt+*=okH zot&g%%xn%b2>k~8_5--ZlFC2K!NjTJ(?)D!&a9saO0l(#;l+n(~frw1sQ>R z)p0LTa=a{}!FA^saFRJ&USl*SyDGu(GF&DvoRze&sX8B>;Q$Jz_8L57^yLfu^3;KT zSf109ZWgQ4$m%Yo!e$Ca z^}~K*2lV0sJoAbpMU$^uJ04|$qyME(~7M(uZU89tjjL@4Hc^#ZW`FsizL^G zRu4F%K3Zw{hdC*6b|Gu&pKtBW#RF3H*+{&KY@72ikA}vNh(fp{4n#p56zYkcdLlOgg;CF|bnFuIf)-dQ zID4&gjXQFa$jj zWud4__;yWtXZzC1^C)R~l%QkQLE8Grc&?vTBqu&tT2KJl3^Q1npe&WFrx~mx#X|zUav+hyY4M}>~BV=XVQiH0p^g4<)C+V&md}$rE;Urt$#VaM+8oUB& zOW;bkhVs*FGp3*u%9gpt=&nspWBHR+T7#+bsPP8NPHU;n9-3h3$A=j~&<4yTXW_ROp(9`2Lp3e|*@0$c~qd7hEspF5O8_!#$H&i@QH|rT- zcnAr9VJ}jfNRG5H3iqK#5F6B&ER?<#cM{-OGWr5 zYl%(vx6t?B{PEtoKa;M<(yRNhjNN8ZWi}3^=<2iUECYl8j`Gq7F)d3TQ87!s4nDUd zrp#H{nfG6v4gX}%Qk#LMP|$E<4X0`761eR&!daPdc6+Q#Fw7PirhzoRdZQ_GCBRj! z9g4Yi>`D}q=a{H9lBpGw%zE=q=j5&g)6JgA(i&8Z;s&Er-kxOc9z1p|y|f=z>!tG= zUbIc-a4~s>q4t)vj5{54={0+m(;|`!Tm0{}?XK4Md41I#$yBw{B(nt02udj^Wm}Ze ztVJnR9Ho>h&Y+YQU90ZFD^;~RuT)7nUa4xuypo`ryprH#XfxH}H!JqjW;mwcn}^Fc z&1}ADVwKb4GfY(}Di{Bhe3S5s!D?HI!8)qQH}{&91nJyFs;fjNYsVu6h3%Ze5~F;a zv>K!dIxFbxo^+O#5T1JL#f;WK|Gb>9R*owHklNDZGtdTy9%-Jik5wbJfp`qtl*a^( zcXeJdy-Tz@Xx*a{3RO|pC!5+rrH(&}>U+LQl{fniq>h!J}`8w-c33~Ro z?L8kZn~jf0JK~;YwLGwF^1=y^$bYHJRWx=cBR2FPEI}NfqbKcvKlO~*> zborz0zoAcX=Ph9P{G60aMaeA=zndykc||eXt2(FdNtE{J)l@>Qmii?&412^1qj#EN zOW!fhH#+_EzWEgC?Z5PBj_b;yKX3yh@iBcpA(wmn)V=t^ul`mlC$}m$I2q)mRBwGP zoL)G6r%s=_LQK#Yu{s?5>JYvP?(46l`O3Lxr*b?R|9}sMCp1bf2Ll;KBeDR5S9AgR z{JHe*4j{ySqzyAB4lLbw9&Fm);!$$k^}WN|mL~Vk%AQEJJ7dS1e|Y%}OaN|v7Ckqg zz7(6^1`A#IpTB;1V3k5v9tE`d%9p&)u0((E!_t1ZJCp3$48ZLMZ2zM~L7k=&!^QgcmSWvV|C;T}ui&qXby=;!X<@n5=?J%Q|Gcr3F8`qM z2fxEhv3-zcX~RhpxsmlWt|r27+}7*3~HMGGnaE4C%roSRaQws1wP7wcxq*7tdQbwkt953TD!i zd;7zDI$@&xuD1g7W*_y>2Ti)n2)y!}T#w8e6RmL?1;Gp5(rTtlY@a8U{2+bm7gx-fI4NB}$+hbZ@F0@9WbM3m$ zl(xKlltvSFh;gl{6Pm-bdv#ict*Pc1p&ijs&8$)-{%STJGf6Q(=cVP{TJU?n8;$<7 zbWYEApFE{IHJe+>FG{jcDXm@g(6KbJx)q6xbiPH$?~qdn_-A?ABmx8LW}^B-Lijjw z#vh?hkxS)~OUpou)Lovoz;5jPG}zbiWz-KLgPzswAlk+*W3tMZk07U#>+e>i zCSyZak{e;d5|^Uj2bW|H{4|*dKeJ2hGc-<5kX^{4MpZ1UIekejE!D+Lq`K_mIus?( z_(3xhgO*4@Q}{vC$2Fn!+g~VVw{j_wbYA z9@E^8;vT!OH~WkmSA(<%H;S2@4<$J$3?1T!j*Vu%a4NmczK&gkgOL_OqmSO)XtY5? zkIo%y($LmjN-$BuL@O~--@e@yK>MRlQ|o+|H*i1qeY$gEOOxMA*YK&;BRIS>-KN*& z(^TIHY623xm1<&Y^Y9u7=EM4C^V?wh4jB9Ulb6rd?q?W;_a{^-<)740?V0B;9xZ6g zy0iV!rZzaRNth3%PxfN%uzxdA2>9>z-0GJ-scR`_yP>x2SIG&6!17t|TQD>ST_Pv( zG<7tM_O#rrl5WJrgsbUB3?j#Y%4kkfGjNYe72LpcIGuKOr4^tuv?5WXcHFn1W=fg` z2^13&Ei|cgGQXWLZL>K|I|NH#NH+^_`q3`~R*XeGr=|iE2*WK!F~`V=0GFbevBaR? zBxm6}G>7{}`bLs}G2{sPNCm=piV~5o-qAj)Y7`s{zM)YD_>_|P)Li=NTS*DtMR7eA z?v7qY@8}D!%SRu|^;Y14EDwT;!a+Cg*;xp2oyBfVDtBuoIt!QTEH$^YNN#6c~e0(Sa`+U{O^~=A;T#m8c{RluBY_fhxD{iIlv#RRT?g zYO}>aQ$cMh6(BP$&BaKbPET=$J=N|qykSorIL>S89KcWUt{}$HuhS0+x2r9)nF&KD zSq?>LW?0;zRL$tGLm}Rw+N&3|r$ZUX?@%ub3k;^2w&2QwE7McER4?a~y`0maGt5{M zmhu{&a0~J;Cl7O2tgbf<(~Li`V+JFzS_Pwnx9GE z(8E*TozhS3`u?2$3{89;ot{U2;3AHtGUm>^_wn;Z0! zT!h?aZQu@_tP*Y`svH%=ZFVJV=PF{6jj8t)=iqRDlGr1p{c9$>oL_w;mB`gY==0KU z-`I$x@*%ZoNJN!Z>dVS+Xi!;Ehi8fMmZ z;dY}TXvMN;GmGshj26~zZ{bW@T3v1wiY>w;-6GU<6>(6c={T`PC^xr7SOp~o3md-pO%<2+2CUC5I95ZBD<8jR7Pp9_< z$26HcBNSZeACB$iyaLArj&+J-Wl)U8o;+5|jU8-9A&}8i+h|j0b9)o6MAMO}e*T8a zZNjS7y|cRWW+V98E`4Lu_&CsPxMDx^qhrHEp1}uq863fv+2k^o{s2wWx5=)m#ywHHB>G{~!V~b{i zx^N@oDWru3*Xje;G9z5ejBo{tUu(FRXRfneE$xN$vpc7jO7)HDs&q72dDg=F>@4Ae zGm)N4^a6l%c;WPXxSY$3ajr&tQgE-KaW4gP@?^o49&#^!AKmN?_p0xL?Q*cRF;;uY z!OD+u7aXjiaTQ!laIq&Std$^RNXL-^Tkt9@4fSHN2p1aDJHXs2lV)H0PH;pe%Llf0 zFWrOd!7mND&epCo>0cWiD#~pQEGCAq#s^N=rFJSZ)j@5fb9yN3LNCg0HRXvd$H3+;ktDhhc8bAab?4=j0O?n*zu`|C4BlbA`b z-8uVNXvCLB|JSwTJ23n}2>f`QY&b!(ZNEv4^qk;c!`hED68n)x%V->(0V-9G;#5FX z)InIR7@GHXy0&*Ck8)(&CR+7IQ!p#Rte!6Zb??m>sUmu`x;)WCesJY39;M);KD6aP zV>9XIQJO@K#63K~9Zn?Z5NYY$PCfXMZjwN^SS7 zpkza$WQIajzT%ZU*`-#YJD58vfi~6DkD)fb&;vr&f;YBH)sAw++a_vljk2I{g2MHH z!Wl6NXM|K^>OIT@Shn3D9K4Y`I%6x84`A3+mL)lf=^TLdPw2P&s3*wM$iIVC&g}Gj z&^*rA^0+R#SCF|ukvSyuVVK}j@1Wh_q21^OnQO}>TV`~}IP7gRx>ko;&^kfudLw%9 zcz@$9s5%K4@p`)QmVQvuVyAkb6ifF6tyr$}*>dh5R*$2EM#26fJVMUkxa15}Eb}E1 zxsz!`ZBES~)x4`I{_}eOZGn&$ukbYFzSWNdCQ z1e3_YU)Ioge6yY};JN(qco$HZdd_m{@LqIEYu2$ljNTb{oVXzw)DY=b%g3=aseY%E z4pB2Qz!tTUL&i-0Sz3r9!;qE@9BYK%5+=G?q?c+w9ZX_QfsVe;3LjUu>4w71MsYcq z24{y-A?7EZSx<&%ek}<0wrfI}Y%OKR5?oD05xR{csOm0?psHn~2msrokIrK&(E|}R zIKrrbk`UxoOqr|6rO7>t8>n1aF14+qT$)@zZjkMcB3>XcsN1q9`-QT#P3aRB%+|`{ z5Hor(et4OMMfF43sR?xgk`5h`OjYKJbD3D>qztrPZL69ZAIsL-0;L8vR`Y#R0FwZw z{sR+2QDA~sWq~OY9%vVw1VA0{nn^ZgK8z?rr}YV<2&Y!UF0=ztT78Hr@=yU# z0-z26pmZY&P`XhXpkN%l+aNVNvAxX8lh(-B~(osI=zt{G{AK78W?wbfV!$_c$K&Jw9QVqK{76!?BzQO^N12X!Jz+^8#23ijP~+!o~wOU1rUv7QMR> zZHk5mgJTcyg>6jXjJ}1pZ$-lm>@9Ws*3_Qf!3?nQR$&eAYxZMr=F^w-oojf5eS@%X zB)7c2SmB>Qw&O%L&D6Q5pk|<=I=OXWE%2L42^AWbb`DwZ$bI}W}AeLSSv8wo~z$t-K{lls7Dd$e0g%-;LR#_f!$&FY)CGJ3*(6hE* zRl~^IepL-~`xf)6*qf#-_DBbcVzQ}ld!$I#P1N!xY0O6|NvP3)UQ9!+wPaz^z+P#Z z3-@`46v>5caI=Tl_Y?Si%=k@|*h*8uQ*13@y7U8pKNM0)7z>m}7X6=gVx||2#x~>QSA0~iftjT&Dz%f>h-tLR)G*vbV;NVhi0XS&}z&Rg&LIf|~ zNfih#5WM#Y{>fQBN_3nT&M!e__qFfL&ZUH6=l|8n({_2%u>n~S&aUR_*|rPph)_iwIP zU88T_td>98{@rW);hVKT|J6B@{>_S^ z!JB)OI>_CW-DW|#Ci8{LFfmn5$k;$UmgAaWUKPO!cMg7$wqPYM~N$QKmd{Rh(-FtunVj;WQ<8K7Uaz{ck@Is#LBv7o|_ zv7^klK?*t8;V-)r&GRm_-vm@0XWWyh81aiGta4feMstDBje}G|DvjH%WEa|5Dw%Z@ z2x@t-Kr(@3-6B~@C{q-?t(VCJ-{5tL?K>Ltr)_xa)z%d(7%W!xMZspIfJ^Y^nEC-N z)uO1oZMvDWupg~^e_Q!QQFr+{v^DEtwcH9XZ$Gn3)N$EwGG7bciX`bokTYeIZ-aIM z?v7_=rkM0_er#o?B$ZB|6z!;qatd+aaDCj|%l7cpjXASK;g#r2uxBIj86$OjuUN-C zb!JJup<)U5=nS;yE}DI1r`0wVR} zcoq=Wj}t6lkSqYHnA;tebkSO5i_I1A9^KE`MB+_*I!ARt^oxPb5mAza((;szC7 zF)jQc<=_>paf0xg!iuBy z2;nuls*e|ZZB1FXmLy@0m$wJ-#VNRnSwj#7K@D z7XTjC=J74|_zRkL2)BL6xSRiEbuhT3`D7JM#frhLs^OB(oq<)7(hmEh?$$~x6-~vQ zWD&d23hFAU;KM;-rW@sBK%p53JP-@V*3z7y-)7dPHtq8dYkN6k=R6G(O?!e@*^9_$ zYxgq@$}W2%)}|G7B%_-<-3Ei~R+O=Vxb!U&JrPRl%!bQEgX~t4;UP4Zf)S;Bb0b0D_*oUaGc->49=x(G3Ee$vW>%jD z_SJ1DDxh6rc^92nQtN~luUd0vpw#uNQK`kqMAi0c7%Ao2D!3(aMpiJOV`4xi(qdt94GUI7=n^_?Q0|e9RT?%Fv)l!g3Vkw#My1Z&CEdmgF zWi72MC+wd12tP1~hzg|hN z+3mfVPhZk^uHg;VIEft4T#LlbfgQ~t*x+-9 zC`_rC+a%^B!I3t{pG#!s7SGaq(yz4$bP4*kAN`sFh*2b2+MlHdkEOi%(#n$n8zmo} zG>{Rs-7tI6h1R6G4>O?)vlFzue3V9$t#3@IHAY^ZmJEooSnqQmCTqv?9s-i4C}X5= zV?gjSMYML|tR!dzXv%12uWah6qm_Ls+5XO7PtWbyY{VRgYQxa?*xVrfNpk#OProh} z#LW?J3hB{m`8bv)(OZ~w8oi1Pheb#9kVzE(EV&fwY_D5~;mT<>E^A>VR4oW6cuNvR zLy=yKH6^{F+WA(6Ki;ZjQl^ur&7S0ur<2$A*Rq0YBhHEO;IJst1=?Sj!5?1U&E4XGVb#SegGYfPR=vE!w zR(Eq>n#^w}(j6@P=QHpDF!qIXv+$-L{jzxjF%(mftd6k}%@~l?)R6ISlC$s~X?`o+ zF72uGjRb=q*=LumQh)zozpy)X%m3Z7_qEjbBX=PEFA1H?(zoBjUC3#>{Z`7hzw51> zaS#rJ?xUT#Zj*@_6fVh}NR(pmV5*`gK~p;P ze42sW)+rS#L7l);`rsJ>&usTd-G?sT+b-!5d!~q{c}@_VKkF42O}J7WDw+>DCs|H{ zb&Yotj7gD`P;IlPaS|=zByEvSoR;)JAH3K}BCxw>l1sutnsbFzFU}*mX=W-o?%+8t zd{tV^X~NXXxo2`x9xR*a^yaSYO{}IQW3xWZozIlA5p7HukpZ^Ggk8Wqq=|QXOH~S4 zrJacc7Z#5DVRg5;K$qKe|CH{jUfP$>ZoFTd89l(art?6+9Rp7Fk4@VVq6GfH=1%yZ zzkYb|eE2Tl&kcCW%9p&)F0E5*e^}ZNcW074gN9*FwcU>rorhvAwWbN?O|6Cf>mwC^ zTFu>c*t_BFvkng)VS7i>-lKob_25_V*G2rN)~K|QuF>h(ws8NvnUrMFNK?6pRB$Dh zIKZ<5QlA`bCWI>NfNMz+hKK#n5N6|%gI2gmmZ;BP4}Z9V8bF{y242k23LBC&pLS?Quu+Hbo0opbz?8Z z>E!F>;<*b(YSFLQtY#7+%2>nO9Bg>WWo*&&fi#5_Zq-|Sf?xeMXn#DW{XQOt*R9WU z7bEbo<>(LejWWl;%lt(Tg-`DQj-8!mdT)68vvjq&Abpv4HeLm#maqdxC zAS&_kDoaxoL*Z&O!6p7Yl$OZiq4{z9VOi2EDq$Jnj`p$(S!9LHRRv@PdfIhfgqIgi z4qwsIa%N~pq$JJk?Z>59ODhxF$p9^+rq*R=29e2nlGBRdJA&`@hwo@A_}`B2XwhQ_ z)FmSBu<-!e;nvEt*jxc^S`VH-|D_q8BlykG_zgn*d2f1&%Tm$g#8RC+5qj|_<4DfQ zxTg6{T9Gb75^%Pc-}aB!9J6KA zl%8Z_zasto_9q`6_LH;yTzF%&p`CK_?pVeh@Pl)hOPu?M)g!dT)uY%Q`_DKZS*8Eb z7)SdLZJ(;d?MP*M3K#Yi{gldgL;5p|Lyh5yAENTrx8M@y@h)*(OQ{2Q8>^`TbTG1U zpaTzr2FX(}8)29;yfsRy+5QU|Njj5@8k;V9B%G6{dfn%+N5LMeHe$6?;EXJ@pvd;23z|BPhy8o=uNB_GnORe1`k4G1;xw|zCE9@M`fZJsy4IqP#;*((S!QF5**3MFNm zw198{;R3=_AzY6`xE_IU`^E!84!&pqlIoV<2nZJteoPRqVqOMJMQSf0T<0NNe_{wP zIade>7Z6@=UxjjR&100&2KkJTpyI<&tI>DX@MsX3$ zrL$TuUFi}&@HKsRrvv#Lx3>`jWa!v*%A*fFmL?VN=g(hvoAL7B>u}P6S?%K?qiyU# zTF7?cMz-`OkB$^R+^ylFa5t%eSiHMb3VI_Bx4^lwvt25ic7v%gdhXGd`g1|*R+3UG zkRF{h_Kc2~PtK__+nx;1Mr-EX48Y1VxgI~E3VtVwdxiz?5;g7;RqfUo1@-LcKTgZi zyxF506a!|ZJ}@3DyT}K;ObKC({xo7cp%$G^B1PLmpWL0(9FG%)0#45ZoiA3;4Wq0m zNrSaMV%0sHxOGt#^eC!=VnR#~f#H(EZBCddQ7lBShrv;Qt5hxob7j=og)ExbgrPUb z9L-e0=IjEI4bCu?ii%d9V^0QXS~V-tJh3H+ilKsh^`Xkz)?w}Y`P8yu1$jsLm#UhP zQfu%kUTO_|#DVq4`;(XNPiU#8fBM#@iTm|pWCIP+)HCUZ{g)MGg8w#EP)!s~JIbPI zNG6C&iAJ)jabQIc^fpv9E#361;1&2q9Ix1gcA^ouY~{2)eN)s&6S#B$xTMQbT+-#z zxJ0YC3tSSoR2`QTl)xoL={GLvGKWjL+-F?M^G$(E0+$W|mkbicC4&^=(#o^k^}Vy4 zPe-iHrXfk7(UGE&scH!UD5{+h6T39}ghn*=K88j{TYI*|sDVZW9w~rG0MP*ek!eJM z$TSLpD71O-7Uy9Uz6iM(xcJHZT z9Yr$a9$^{5yj&e_ORmn48wdzi@?HUD0?PUiWttj|5W=hSP`17iJ68gz_5dnVGx(h= zQ$u~;xdOk40~Nc_-<_*G-xRncaOnVWNz zC5@A1Vi)?0OL@L2a7p0O0pOCMM{&u}%V(f_BGXUc(muGP$W-k*hD(Z^I1Aq^Tr#-x z@a#g5GtfN|#}l}8$hf4V=z2*<<=0ED^C7hTrtnDM&~f4r(ls83kgmvFjvwg}4(W(n zAF&JVX&StYk%{}9#{hm2$0K&3$9W7n zzA11?;L-u$5{fDo!K(_mBovDTF71O$nxP>Mmo!6``;1G7Q!HW^`ix6Lu}I+3LE{p^ zQCuRpG%nrDSF}b;>xY&EIvpoE={m1lgmo=~Mqy%GpU{bL`mgLlJLse}fKCM-Dga6V z)BymL9!<1^S5*MYTegl*0-lZ&o(zrfNe%`v`NdP8HksHKSPY)@){^Z=Gw|ezu%1At zgGMJa7S=P(D(Lh}2k<2D=}7U(R57PmgiWj~eO^A9d~nY+d%k@7MF5llsDlP56GbJ8 z;8lfuyw76aNkCI|Xi{aYbI=5rcmbkb?K_!>6Ch$2`n&Ix=bHkT1TGx_E)gY)OGGJ+ zOY8O%^#n2@=rC*3dn0H=q3582`pvZ1`cA5yb8fJY zqKuC&92a`Zpa1Hxk74$)Brblj!ao6V#|d!?HmSsE6yg+YU@k6bwuEq7AF2XzV6Ab8 z1CML#aFpHv#HG3T39ZA;{TRxZnoXGt(ptf4VJo?lMrxaK#Wo|eOImwoZgT?v1^(B; z|4r5LrTtlY@a8T!rk^Z9Zo4yy8NCawB@2>=4iWh7cznhF8x+6}3YF)5;B68WVwZjjY1EkbJ&t?E; zd)+#WQ%doA1Ykd&NcTQ-O$K{YHA=m4bJ?MNB>@Ap)EvN+duZfa%%q$#NrOP zorYtQQ^F*Ml*A;4RN99iHsQW^?!q1w0d9Ou`Ne#>2J3bZ*g)>j@t+8)w^vt|`yQNr zHU?Q|<6Sk$V6xVk(oum7Lt;P%HnajV@Wq=tnW@g!T;XwrcMlYvA&IFZLc5*jQiqhW z^(per*_;)+>q`n?-4066a&>q5@w0*;u<0F4Hc7ZC9+SEQhGMf1wY8@<>y%Wl%hX)k zacx&!+u;G#%=d4|2Rm@>tC>Sa?uZ^uh0X*|u&87rqpRg~R940P7SexFw@D`GHe;;~ z;4*R0jS|#_2M}Q}0D9i&rOf95O2u=W$qeSs3gB13Z!kx1z37o>SaK0zE+hHr5f^@J zFJL49vp`J0c*5s+%Q;>;y?*M&A8vbbyy45#4L$dgJb{kq&-!>PEWiLCV*%*x^#_TE z3>Nl#rw9G?*E4vZ^0i{C@M{#vTj(dib|ABMkUgQ zqC@%wA#Oja|JDwF!rxu{GnlS$%UQjslsk0IFbXQU%ha@M0z2)Rz?k@@?6e!lKka20 zzNz()a@WHsw;nq&XcZk(06b52nd<@0dh1pQ7V||gM~i2V7U8F4=AsKSr~`5f8r@$m zDEoQ~yNVUWv%M?-cZv{oVW@6!l8zx2Kp*7IHT92jr!L5d)%KNKgK`GSBv=088eK@? z&j^Ra-{05)OgMU94U%9oA3C~IfWIzv#0r-;H-0RQt{iy1kodPzckcrG=K7M@lL_pU zuYd#I6J+jgP$*2eHM9S?vjDFwTyGgqay))I@6kJKhLoB`_%u3^Uw-*z7ud4a%CvwM zJ6+xu#?MkpSxhS#Oi7-oCFMEDDqXdn&Rt7}N-9@pD)G>UB4h=0+?3C0j`~&C+P4ug zRtjP5l*(*XLiAN66gd9k_^TBDDg(e4KG1dmogxMk4M|&pFvJgd9RrA0 z&SDvOVdTh8f3WgzM?Yv+QwFP_C4troX*CJ8juC4ylLeoO^TqMhIpHb8)CHz?N8Hq= z!cDSz6`hNOomRS0%Q3*J-E7t>ZaV3OY#Tn6Tsw}BI6i6xAC*Bz!E$kZN1>4%10&S* za;)cHd~kw05dJ{9&Mb6Lt;WBIZcRX;2naO?gN_dbB`1cIn;H&!&It5K3KN7w8(P(q zEAFkNB$;$2qPz|1bOv;a`KeWab9#%`HmcdNP#n#0G;;)KMoFLAJGoY+WvnayZJV zigH%YW@K#7W~jzSc4#4MhNBXvS+{oRQe-3O`cT#q$1(yfD#(5YbNj~fgPwRvK2pZ~ zNFpD<)kAxI^pNZI$(Kazr_O42e70t18__;T@Qxm;X?#`C*%KF~=0~` zC;CCbaa!xX*Q?oBKiBgY4vg(jKjXUfGLC|)`}@C)@MW&<$i$i2%h}>2JkeKgS08%d zG^WO0eMVcrKc%U&BruW<)sQn~7B$wf#9&n{*1p$LSp+4b`fi;oplLsVr_n_EfV4Iq+wvM_&71{+4goB{ z|36N-U+2e$$Iu7|fu;;PM36yL(*fU30PFbG|W@319W_WSRh$!9E@VC&4ToR)Q z+~_2_hqi$JV>TdhJ^HqR*n0J>nGbR~Ts<`(hOu`a1cmKb$CA)NlqE@JGu=xP<5?kQ z5~`SctCke?RLXF#vl;I7wvHdfygVvqO1&N4(>fJ-#D8mzMFXgh|=AvzAB&K^R+951OJqnRXw<#-XL zO95(l2vTeA!e~LeMSJ7jIK>qWj{+1$9m)xWqNoXkfmG`OkY8dj0no00_1hRF_t!H! z40~5^FMfRe75(n*TjA{m?iYZ%VV|%`O6?k1+)}}E6$6`P=wM=)@!N~H7b7yG!SS;p zZCH=sqT50P(Q;U0bb_?v5ry|U(@)+DwP4=KUCXj~Oj30w@*0{F709FgZw8OadjqnV zO)4oKMP(EZHWV3hQY73|1ihMv&}1`X0ceK5OBr@5iLZ-uS^k=ap6-{qIHgm8_~6Ke zBbT<2iw+!+KrZYF8hAn&hFXBv6xFfMbvyrfvX>T+9#j`>4cfTPC9{XxfdGlEdQg z=nUYIEQ%R_41vw`tqU15fzqkwV_lO}c`H0hQE_9KD6i}z&O?DxY+4d@hlWm$CTgOg zV_0~OgE$VV9E%2TLqskFp5!WW|pqGym2JFuCX@aef~=Hw*f0>~V`c1k?<;>Vo}>JFFXoFAN2>{!nGb>PWbW>(uQrm`o+mX5cVrA*kiEU9TVYc%EwyN8km z{$^`yZi%)BHf<=}-q`65i}I#iJXl#7cyS)9R1XSOSeQbegXegX5F2xcM89(4!kWK#IGex$+cA9g1sB3|FA-ZZ&N3?#hx@P&BA@F3ENf@f@!;}!XKywN699iA^oZZqQ zuT#m`*=d1T$?Z+6(%VM<?dSP!NTQAW&1(=0M{eJV9@)5$`P8j_ub+e z9a5K}`$s}&R|(MURHLsG2nX;h$HIACezQt# zTK{)0cu70IVoFT@C}?3$iAANcY_2&xT&>=U!4_OGicS6unKl(Rfzz=g*=u>$x`-0I zCKp5#*aeXpgT9g}ej^(9VnymmiKdoM$wiGujrH5P@7O~fUKFwG=~73%O-BpMx;v$R zO4f7S%j0xu=n@%y_6iB(J8wJ#divlDhpW?F;Q0B?j1s(E*|fGny}B?IH+kORGKF71 zek7s448{)bC&?4?)ALuaUsx}{`tKKCzp>uD_~EDTpTBuw{qWt7*6Wvld-e4T>#Kjh zdGUIUgBjbEsEcbuShn|PMZG`&M{e&a%UJbKBH(uj)7&ffYJ540wtFol! zTBNe6%=Qy(c{VUj-f2tQU)EKKYp$RwF3yjXYbMA$L8{snG@X&L9F%fU+6^d`WGM+s z;j%?gD#K zWpmZ90$>B`aW4w65#6}li+Smz3cA zWgJxX*=KzeX+vRJ#QkZzsYt+FUqQVvk6u#}q!gBGRl;7J8L`z25IH2B6o)!y#S{l- z+*%lI0n^(&EQdUDLw|-7fKleK2EON1a@q{6iF32KwytLW_TtG4#@H|+`j*40VS999aT*x9#l~^c~?Cyw6)aM^{gzZbOb3fk)gDq z2xV?%=?1NhdDXmds>-BfE+-bNSOCk3|BLgbixz6PwXoW|EOWU6kb^)TDBNnGFziTa zm>>O8n0WwEnnJ_Y;NM2lTJVV7lZ@EaMUy?25@m@|OhU8qx(Q;h zq>MDyb6#u9b6ykbhU;$QMjk-Q70@v&AW6^?3P_@vCQ6XJ8*ZqchU_%2gt#I)Sw&bd`15RgOXtNdl9_OjdaFe_X3=%`2tac$4F{h>S)BhQT3gX5YKQ@66iR3Tt+bnsP+g#raWAJrHzIV&U+I!=E#=SBbJV zROJL-f`%B)pxf(eUjZPcVrWzwR;vmItQ6?tW~vbKN4mJODRy=!jBv88EiXcs^iCv9I$b~cG%-aNmNqDjd0D6 z8##h%2SKT_$?7sy5|8uHNW#-BMwKc2xbYyzji*dG{J4?B9}a)+i@iz_g!FMEH1Oj_ z4!VvObZMf7M;S@g2~Di(JeqSKU?;Zhry%g-#(QVCI%%@w$Bi7markyG;hSnQ@J%&2 zeBjqlM#Dqwnfr&mw~p2{bEqbCG+ZYvAt=K=B;#Nh zr$$Q~Ft#Qg?o3(Yl+0k>ELw^JC*`ddJ#p@TaOj?D;*4i@5It_Rd8-kOEQt15fwR8Z z2Htz;MX-Gu_;cEL71-YR+6kGt`VYOr3q5%P7)y#Pmm>d-+yFABjkL%V{6@_FW?{eE z{DgM!fC#_;1wNJlpUwY8JxK8o@|O#Ga;NFhJSA_Q|JC~OZ{L4UOZH~J`rD7+y!gv^ zKfd^;;QPNk|Niw01WE98Iet2Rq9+cAo^#vl({EQkWS?Lg6gr8K(06=FUcY(u-H(5@ zpi_#u27>|pSu)cYEm{Ji4yR-RQwYmpMO)Zjc!Rs9{$S~00lSXIYVH_oyd8_Q(eU-RFJHZ}^2cu^$N%UNdHwn&iBw?( zQtSoLC2ZkTf}kV3B=+pqz6;6!{eS;IA`0YhZ~pR7)CejBLI?Snc>d}gkbWZx5IrjS zn$(R0*M3N630~9aJqU5!n-t$so6sdQ^SYdw zd7UX*B5RpyTIzXCy_~lb!AYn!_p&Cib1y6Uu~L1eVvKGaE7kAP>A8zxW*9*>8AedE z#%$%hRzuCTY%9$#hiMw@a+ry;gyZ53BU?@BXnCU^5X@OBC9AxliA@@iNy=_W=e1Tw zo+-+Zx?U_%Vr!HsqF@{;Uzx1O6>YhnNJ|lAH8boE6hjEB2|B)7!SgtD=ItCoJ7+hJ4l%XvHVbxrS(d z^2|@3TdraF0bZ3JNgJ}5C}9X!WqrnO>>zYj)y-&kJ^cN~Z46l>suLDFQ6{T>UE;k- zM>5(&vSgtlD;qzt|9<^Jm)G|-Cb62E0gCsen}-f$QWsm>&sT6$lzLRaQ82+ggaHjyLIr| zT@$siV#G=qbeLkKOWFh90wZ9p>_q?s2D0SZLHjh#71B%c-qN5{f93nLSX0(6X#eYK zR9vy1l44cZvcHn7v-RxNX4Ptv-m559g*jeQjJC?zt7X;do*c=Q5LZIgl@PjrP5s%- zzeOfTf^f$mm}W5XIEIjn{pD;zt^n=L+=(+8lF#iuG?1=sZS^nd@o$yU?ALv z?jstv-aB__WPC7n8Dovr>Q>k{K=pa_{` zKkXn|TW2bu>UtN)PWbxSGe0e;Z%AxQaOpb*mv;XI zSIq^`_Lfy8&Q%jAi|?j+KD7?20aV<1i>5vl)%6i3Tr%6zFM0);q+=O0p84T2fIq(e z{^jexy?SB2`R7kBFig^V`Io=Ee(@%m$Yv=^{l}|A)LrS$3W@@Bbk54to3)hQOcVq` zNvk2#G*}1HEDlf)qK1GU7%v}F@1i1roC^!G{-dpM=nRmsqI zch7n)*x= zGsaF$(AoUJM`Y}j*{pc-mZW$!^;vVq&e9Cb)frc3_duPQDRpL6-=NKAy>4_ES6nBm zxMW>m6;~#mmo6TY;xbvq)m9XmE;hLl+rp|`TXAi5{MyP$9mp9ay-$F#0k64}-qy5q zlryHA%EOIsy}155QT?T=8U3Xs^i_dF3AsI{#FY|~rv&;nbDYAUjnmK0Pd##zx-HMs- zpt&l(C#qQ0lB$?ycPOoj=@CBuN-wX7Rim^bR?UqfPE=h;ZJD_$K2cR{3cAFqVpC8uUF(IbTQ@Ld##B@VYe#g#UZ#ZK86%dSIg-XbBnBUjC@6}b8?Yv zy|G`h_JkGnMm4(IY-FnAqB3km<*!+#lGbNpNtEJHl8cyD zn@Z)BS2GtUgDINZICpoR#Hk_Cd2yChSJUs{phU)VIB~dk|KZx6cumyg6=0*8H#NC+ z$aV7sDl`cu>xj|SSnaoc^uZ6{B69Jz7i#*y2>a-~;6ZOA9U zydeB16uODZP?0v!O;i%ds(!lL0Z!L&_++Um&wBmK%Fu1kH0d0u-EW|#C?ZqWQIXlo zB6_CErXn?@Fw;CzNo$IXxq~*epDbO^JF>$0VA5DO&e127CjC5!u4ZuRLFtS`H4fD( zKsA`-r9C5~&t8EdL@_#BhA_I}5QuJJyIwdV?))aAN_#KQr0L9FL`m<|p^->>r^Xn^ zox;Y&BTtA1u<9fI`x)j)9u9wa{txnyNE<()Qh+DMGt1Bcxbs<0QwD>l$?kw_;#ccE zfQR+Fg+tMNTLI3twHnC1_BzUYp%#Dc zD~7~PNEjuH(uS&>$QGp~PWD!Seq)nu4Dau8$j6OF=U&ZNQDs&&DyqQj;0={kjcQZp zEE)ExmSIX`GfZ_;W-rf!TFoB5w8`uzWJEe6BCL7ncPw&I`aB(^< z+G|wcZ>X3nr*ugxblqyK>ScAO`#QLed)nV`R3~91T}q!yqRFV!Or}u9Y)GAE`K4NM zKeo1CCy*{LgDB3(R)3o2*!z^=+?h~cO)Pf|1jlh4$8l$k<5V?))nGL+kUD zcB_2v+=bQ8SsQf7PlGoc4o7b%fZk+5XDZFfg2MVntF8G)=Wt0C1`XX(mZeL~3XY$&g$WBy@jje|B0+A4rH6fra3zaby&z(prrGIB>$xP;CGWf0Ya zWJGIjT1YOV%Fb+&2ZZG>7dJ}^s}xBcipnN|sI)SXp$2#1kwh2_rmi!agc-Md2K;pD zFy=YVWCrsYyPV>@z4f9;B9FS5On(_At@MZsKeiVz5|rDHx18gp)9a^R`{9v{;ZF8Zq{Rf53=UVMXx_dJZ7-4-#fjixBhw-?=uX`nf(@!Sowu4du*yn z2Adxonv`8hNt?2Gu-sQEWt7AiJZM7^U`vqbcHH)@9sY#ByY^==ec=}1mYb|IZ3f9> z9@K=F%p#aZb`i{-^;494w+huHLsJWtUwK3+wNg9r@g7R5uwLA`&_O*ATWdKBA!xn? z=O~n;(1V~*O&^MzSW&o4pv=-p^kmQ|y#B)-uaEb9nYw2?D&>guI1#AUk?= zlwPSWap~F6K}}p*cS$)m<=FHdU{h7nk`_{R9Sm|-7E*leZ5C4eo?A%oJsy<=RbcQa zHVOB^LaMT^{pz;Jk|VZ|!ibfQHj5Mk<_EF&JmDX>6H`ej3~7Y#fvOhf~IPjQQN>U|X1+ht(zrf5Lc{O;e|H ztFuU{7a%XO487{6A_NN$3*dI0&p4Ckc>Swltzp_VmqMFH5 z3`@g!04h>@wv+CbW>3k{)G{hkd5@(M%ec=u-gf19QOLdLLL&8$aMKISPxCk)K7Kr` z%BduWaG40<-3JSwAP&Y!d02i@@b)h`{yiaAHAQ9dFEq(r1^(7jpsLIkgOJs3;cvOf z-^$2WRSYS+C=9HTjn)D{J6x3mBVU}vGBKn_g?i72JZjp18(dtDcsb(T>vVba3h81v z1l7H;T`wFl2R@Y#mg!$K{=yiF^6D&COWJzfDd}C2XHSXn`&b|k9*`^Y1papD-+?oS zaUgtnLZp7qIrFwsCLpSYWYoic2LtS}KUlq3@4?j}j+P^~TMgm_j+WCe)B=cvH7tt` zO^G>PluSY2dA!(|ZFEKIm7Jp)ql&i8B3eYpZ679QEu;yU@+ z&GM>8d+3u8#mbnx{`UD#FRZVhfBo%?A$jFYzjkJ`Cpb*}?<@cJC$G`A_a-)3K7$W= zx-$($rK+!~TCe!j^b<#&o)La<#uhBV>S3P0KqU32pK%F$D-Mru>i;sr)w{YQ6K85K zXZN~LZ2V63fecPrYQ$w{@1Uh=4Mk)UPZ+YvWbxIrrQPef!$jO#MRSU5GA40bQm!mB zZAVOh^THcv>`q;nt1U%BbL+dOU1FM%Go|3u{xbFAd`O{YS=eq@ybxJ!WE96z+<;Rt z2C+PPGE8kK>ucBnmoe74au*>1GF2t=6oXuFlYmX1B`^Mqyn6osSUn&g> zHi~UazWZ`y-JBsv%Zsa*(-wnTVxX%4$J3;TdN`(=#pOYd9L!V&GfOYDrw-^Wk4Dmd z9unvb_A`M)=583dtdh~6$ZNQ3aW^8NGcJ8PWi0?^KN^D&q}*gj79x2lu1*Nc+ zHt^~4j4GO9E2Oh)!PMVtkdk?utq5g@D%z7W3$&7^GR2ZqHVd|9X3i?=D5N~%ue8gS znN7CbmTofhjw;rwsTua%p`Y>yhbt$poVr#{roK^5rk++#zz$B}k+&CLzr8?K_${<3 zH`qw~78QfQ+WwW(3+&q=aWw^4Ve&iui!#GhQySG%Tw$HE!cr70O2FiaVU5AYQK>AG z$w6nfm4i+<%Brkpn3iiVuDv?dUM1BRjhHpHSZC4LP--$xV>S?$PT<-z_YbFszZ#MU zZ{VLxg2E+)tDl#~FFCuZ`f93Mn=e;Q9jPWslEqA+FGS3%vXpb9!jgh3CZe5sLL53V#UR2 zS+dDyiPmL_$rqxlN1(GZ=TuT_Csn#yQD^PXtXx@fWp%{LN|#nPzeri>xZQfhP`^E! z`QwDSyGQRtwHE0his*nX12?icY{1$jy;E7=8TkIfqGs`>EJa_c>o4Q;f|=vJLx0fq z9oqU1%7)=0So0oz&EfDh4dIKAjp=W6`WwoNd1uQBCHm1S`f#mys#;MMbcL}ys)Cx( zf{}GnJGk8uDVf!ZdTaF_r3#kEj7+#dN8xHc?vNdMJ&NYe9@8==uMu9nbdFJ2jW7Bo=7B830>%_p4tk-HKL10 zkI3k^(4zO=*g@!w$kp-=L*Hg(aUD2O&;S{|8(ZP><|cq)_xhv9B=pG~R1QJ(Js@wc zo%BYyKwG<0`U4D{!`}Qj-{O@+&<)zZ^$3i?eizs`*O$beOhAuZ0V}*GD0Ms1{F9X^ z#aMgSTgKBJzW`l<=p_3<$TA0)?;nM{OskKNgM6YzZ&@GIgrJ0fuIJ&G03@(bB zlDOyyj0HgWY~-lAr8X&&@~!}zyDR5AZ|nyFi0CcRHQOx*&B?Y>K{h)@_QhGPb3ORm z>B<(Ovmyz>0U8HrEdVrw0cb{yCvKrz{}x~mY_Ksa0r8Nfymt@j{%`cx@#~nzUyosG zMwg(f$M!PhkZd!B_-SMsIS4y95XR<1i<^#4IU5<}Y#a#)+n4d$hFzz)vTehzT5HLH z76)3#0JKa7XqhWZ80fXJV&%t3><^}fn$GM6 z2VUzbrM9p(rj-M+GXr9VqO$6mHXWV1HZ$tlJQizMLyXumFgwYWZrvW%79G~vHk$~+x+kY$}d zeaeO9dOyBxM+QMS~uAsHg$hAK&b-suVc0c$eQOy*FeoFqQI^1REDIdq#(C6Gf#=6|IW*i!&qZnh5a}>8}uP z<_KDjHo1MJBm0VJs44pjTyM+fY2g_y#>}pg2qwdDQ@I2$3FVVGzBYv4=H>h3_7!el z+1tKiC^A;LNvTgo(#+$tuK-uE+7nw2Z(nJJwYhzTYrI3+S74;$;c#qy@ZCuQiKm+T zyK`ROz@)hzYDtWKlGSx;=_qn1`GKyjYZw~PANk(B`j-CLi(1xDF!}ucW%&|`yUQa+ zrjzJ#-Bvy17LS%J9+D<1%n3L&iHxJ6mf0H0d!K=?$-RnZ%fx?d4eW_1v>_{nmbWRB z)!bd#9{ky{(V&#fx;P(NshJwR1KQvldJb|B>9yz8gN2A zLLb!B)R6`zk2|2Akprrv8zN(dh@0ARR?LclDq0u_J*|alL$MQTXD+Dwab2r!s3*L# zZM&k@SWWJZ%F)$fj7QPgV0~X+G0>1O5tTXT zEOo}2xM`{>soJ1<)nPb33s6)((Hd-(CANn6q#TvctK^ zs9ZCpaZ4}~YR*e$Av7_&5IW-$ob_o^?#D{(BN>`nGC9{XO4(=4c7p0^>g}SCD^Hmi zY8Ihsa5W3DYrZ(=@Rh??JR};;oW)=;aAug}eQw|3(Ocl$2JT`3G)A+$qZ}Chc|>r` zsGrLM*|_MMmaY&=E1X3!e(-4W+MheU9_-sL;nM5(0d&S&wkUlT{Wq#c7|$pdt32=NEw>psDkpulcb5^ePfoW(Nm$dA6~Jf>e8>#sj$qWo4iznISfme6S! z(y1bwq1G7bpC5N^NBq|^mQNr8-`{6&ntG8IU@5ceC9$U}8yb`BSe12^vFzy0p0ZUh zuV!S*t7*kBr$K6ODyUD~S;@2=k&;`nOe_^pl@vXB-RL`e`SiFXTH8;WUz`m^*NjOx zXW}aam#jGEu=4C-Wkhsn(?L-aIN@@(ApR7iqJTk0>#lzHbS!ylUIWMkQKEzXV|uGu;#OGn=!IYrQ>!1%iYk;GZz%!*%JqXu9tAv(Wy$V`eTrqt?mIV< zXBTOGI)zh{v=C`!XSz)umCZt9n5MwQ8ym8~4Rt)-yy#-rAoy&_eXJELl?NA+`en3_rvIG+&=5c z4mz#5{q8@7k+C3k7HpV;#OAj!g-m)V?cn+*n;L3MNJ$o|cYx7%fb(*wyc`^F8Heu= zz{?=-T9CUNtX%?Rmqgdw#YSVW2pM!=SQJB|Qbz23Y)2PIj&!FsaMfD$Tof8nE@~j) znxRk}^m5S4K`#fr9Q1O~+mfeSLja=iATncq<0p|k0cni{q+8D-7uP^W6FiKRHD#51 z^y6C(t}>ZN!*y~(&-SkT->s=1SWySPD|ZnNF~2TNKKOcd=OmS1w6XM}on}?zDMY(U zAu8&k%0v~4x?nIH9bIZHh3K04t7sb;y@`^_hBmaKYjmkX_Rt#a$#aBqrF4`^$q>YZ zQi7|DQkpm!x(6;BF9R6yVnzPphaq{uP(9@Y;E2YR6IW6vt)yg46qqfMtO*hm24o0_ zRZ<3SrISjEHnbD&E>uub4X`U$R$N&fld_tHbo->L$?cP>Qa{cF@dGzFfk)n6eEs$U zIpMd^f}dJIw@CSsMJnQ+9{yfi$Mvkzp}GJw@taLRkbi?i1YkFfzuE)?!NPoi$H5X} zCW+xHJ;c(W_nCS3%^WXIAdmOZ8sHyEf1@5hT3n@_=)Oym6(+J(lti?pCskU5+b+s7 z)%ILWWoKD!t6~Eh4$G;t3LKql?cRMhkYxSbE_NG{Q!-*tgK@Di$&KjHt8|!Y@L*@s!#xb_1C&G4-((QmcP zx0LiP7`q>2(LogUfTI>S{ra~6(qY-sAVCo|4ie4=Bq(AAB*?mI9uG)RFc)wVBq;5r z+|?Te2^&Ul2`H3^vSdX^UN?$Rx|=OBCKrWhd-c2vJ(xRt1%0&efn-Y|8?}6QyGFLV zD|>e1l^T^;uB#m*D&aVE<2XU22FeUetI%KlbzEzxX4WxJ;ci99^C!x-=D; zshTC4vdWmCbn}4l61XG{FKI(N=l*7eBbEA`%5@aiQAenw3?Zqb3?Z$fwr{Mc&pePC z{0;mT<)@hg`A_VH-AnA2+E!OwZ=JT@l0*SBH>HXa38pDB-T=lS^_Ib$ozRAMTmg(` z%p%pfm#Z+Y!uHJ@>P|;kLw!M6fQ)SqbIk#}&g`4enUvO7rlKUOKVpKJRd!H!NC9=1kqNvql$ki2(0q$={P&f_Ri5O#2sdQgUH zEA%H<$f<41xSS(jxl}xH8S2Ri*DoI)-xj#Zk3%mttUBVWc(0m4CVZdDO|2f5J^>Ut zih{xu!nH)c;dp;4O0qgkCL4z9^%gaeW80m0HkNmu+pdS~Y=>jl?LF`id((J~KK*TW zFFEkv_oDCg>~|Q^4k+I1eWd+;TqSB)2D9Pt_S#3Qe=2WP#u%nEJxU8NW1%fe;(vV}$Y z&(0+|tx|IBWkpSqLCKAxk_|^wR8wY?L&*n(zDOl(aRYe^_$@={IRxG)W$z;C2J^HE zrQmsK;k;*@Kx#5`D=cW``=~ejx!!4V`KRY8h0K-_`G(nS#H^I!8-?W?9LPZ#$LL}Q zpPTUrU%kqFmpFr;k?<%}m5?WF;yboPLG4Yk(eb9(s2vhJszo~X zmzZ^~#QEaVeKdAvvuG2itoCqpgPoSn({zCAXtTdp^huGWyfcxE#F| zpXUCg|I3KLaIWr1%->bovHEfH?yr*-Y$EzrfIB|Swma=_GG$g1o7_+ zcqt233;KXYY}h=2$<@oALNw+Iw3cDTIeIhTgh3|Fz>;539@^u;2c0>dt;RiZ;O910 zio?9eC`U#lCdllZ$)+IhT9gJ0o+m_VwfU3T8I;;O0LTR`S!h=z^lRcE%-l+zJtd(t zn+|T>$>O@8e4kt?-RKoyp!fMU_wqSbbM5YW`J)8P^6O512Sw2f{M$`sbMgi0CEj<_ z{v~L=&E?~oiGJxLt^n`-41@RuM)5TeBKbG0;w72ByChfeU%0pf-0&&)QBwJwykqj^ zQzF(p`c%-39t+H5?4NI1%F9#McxJu(HjjJ@S(zr@H9hFv- zsTxpFg|@At9VNGLoxO!?>N+z-D53k#qh4PAa)Fz1)QqkNkEF)gfD)eVkyYUgG6o_+ zhge#|{hP=%FdU}Oig%jBrc)QKVUi&wT<+m&mDO%AojJc-?@$(^v`AXO3InqutI^t| zuzrVC4WBhaqaz=|FtDZs2({txEC2V`RJ{G0tRFli;w2djvTsN}jbK71(Xl^v9ykCF zZJ0r1pVf4R6(>SWO@tV~Eb0YXh#jUOTtXL_Atwg5b(+dVx3z8bqaWohoHZdAa zR5M0mxm%T{v*C*Rws6HH6>dLD_|^`8!XIAyGnlJzTO?L)-Z?qnR+DCwjQ=7`v7u*X z-C!*9Qa1k3Jmy(1!|P40Mt*`qv+Qb=I@PJ7WiATY>+}}7CSt6)awS~(k`kCBMvfTc zs8&MDT(j}4SU%RLs1ml0pjlTpmcxxR`wo6at$2c(aPE_Yba+ zyTrG@#P>zBp(JEuvp!+7$)*5dBeOQ>HUgQONdzjPDT3n3p8FFQHg>Vx9M6{UqIk3G zd7GQ7PdH$8Ju%}etRBzxYk%(aa8CO$w;&DPFK^=XL;YglPMs-ZX%`VrTo!$`r28yr z?xTwBv5`@NK0G-!ohDX+F2~nh;PHAiQxfIsipZSi>xy9Rvf5zk?){bUnozgt;fp*{ zyGYq`1V%H{hVE=RI0@;n^_{$xfxEh*tL*eE%=9bShDvELNlga6kFYpq*^-lNNI|!4cw+ z2=$dL2fw4I&|oH68cK<1CRxg0T$BsAE4OHD{L^?iGaDD(Pg>7+C3+BLId`8!VMs3k z9_{y05C!DvQ)F69lrtt@5)rR~H^|dxByyz0zLea)EWC+MG2WwQw?vP#8=&r!AJQqb zZ~?7&{jAOE6}nIq{VKH^SmnH{R2 zhKqCJh?-k`PRfmwa&gl5Vm-$9Mf^kvO-C@%OM6Bzn1bM%+kp!Nuregw2JT|vcx3Je z4hfgzvFoi7@YY?@@@9fF2yn-p-qDScU<@UB1D)w{3;P*NVI6uO$3r@vkHCSzeV<=` zPCl;w{`7gj*xP8g(>E#d1G0m_zM~Ow_~a369)5=BUg86P8Fjq3!3D8mORR;%u{H~{ zYlpM#wB9J?z+a*e^GQcAC;QPM!lVWLo*W)O*S6i!)pJnkN6&R(K0g+ab+3TswQXHU=F?!=UV2 za^t%g%NmmSbT5QACHVf-0hU${_MkWFsfTsBvFG59^hWEd!XvCZmAIs^YCEJ`xHD@G zSJXw^9I6HdBj_V-ZhTH|76DC}4kX&^BL{pI=e~=IISz;L{<%Fv@E_Z&W1>8 z*5&P*E($SEjxgaUha07Ele4O9O0I2`5kBsE?qGNOZb?JFNzZtsmq@cfnGrB_=veSu zT0ugRlte{dNs1~QPCXLcHuJrAmVblK?%~&)190pBt581=-qCV3zg*(?8y97&CE*4P zm!=tM==U4PWb7Hf4i^D@F>u0Z@N|=#GW|-tpiWFX`i-Jct?Y-FP^B6}{BA)VJ`- z=hm}l*n8{_knrRE*zq|$ERBUrW389wKBJrL+thZLo7`P$ENxkq zS1LK=p$A*aA+NP$L6WrfcqEsV_so%%<@r53$_j_vgP+|Q#uHK`cPP7$j=~#fj4$;Q zPSR_<$nR%E|rp-DqYSmO`4jDZb^WEj;{Q=)=?_}Ep|^T%5b^9mCO ztj|5h*S;TDyT_16V$ZMKcT0a65?teMAkb}qdIsOgf^mJoa__rN>2iN^ki)r>GueWf zr_<%=;54w@n%2RStuT6#)x;1C=41$)*bF~e*CpXF@DpTB8h+A-cHn0o#FEm5fwu{~ z?OMKwe7U0M$3G3)PpO~4aCq(56U^!M952767b&~ymfK2OUjly)B0cf}l67UMXltDg zmyG6*QFZ)W`j6$zDBp(E$QU4zLA#ZavU_Z2iSH3w-jE3p>UXX z8Zb>YG&U2lYRF858r{tJcPNL^mL}unK^ux-8jxvIzCdQ4&xcaz(Ap?NpAtAbVREbK zRdjF)iG{X&j~z zgvYIE9In2M~rkvV^o527e_wgj%er37x1$DMiEo78MJ>{j^s zlyKPzlUq$(c5n*g(2PT~syRwWK#qgKz?p>(Rsp-i@(Y2pD!>qz)ON_|&m)3kwikY| z4~8;Cd8lrZYKbyUSh`{dTE6Pt*t(8s`zh%yz0jUISbsR;5t@0o>pDwUxt(Cb)8Dn$Tw}tVuq*4+T>jvW^ zPa9Gd`kKWGYmrc?Iv-mxtg%BE0J z-r|+8MtO(+`>2vk;#$b?n75h$afFkdGhE zf&1_ec+S<*L*exh5o$=EyV|C0L_2N2^By`MY+RKoP$T^FZsuRvvxhb%{BYCoTS#qX z@zva>4z2N3;7n)HMk8*Z%(cE+28oVuovU$hceC(QO;cwvzD~7-{`kFvod7S*9!_Ab z;#H^D@Rs&$eTDP^(r~%mc{q6&*z@>rR0Pt) zmC#+?;Q@0$q?1n9bo|i08B@{z&iVbJ(;-J0L{0i9KN_tmYx zL=u$_78h*~nvFQ;5v7|)S4&Wb4E>6>Gr1B~MR2C@Kl$pBzg!?er&#A9d)FYCI|~~J z==|=CBayXM0zhKdE2`tL{H$O(bs{AopWJs|bfz~N+aQxhc+}^CSPKX`l!(*Q z{_@>FtT!+J=f#h|pbIShi+o8$8r|gP1j7DW`IBq=oTGUK-TGk`P*krxpsySNm=63y z#B*`WZvh25foI(YK+qWdyykwSpwfCTLbVp!JS>2=2>9n$GaA__n$p@%g=Q*K z0)2I}yz0?D`()~og2D9Se}^y@fSs2F*K9~0d>)xp$j?jTmrHUD8o|1@y$KLzbYtP6 zVL26;R%H{6CqcG4v<53wBKwW7j_#;RMg>a5)O99mzK&Uw9ak+}wdAQ5V1k$gBZ6u{w@8AR)GcsXs9V_4WcUGS7@h{V z#f*Ur(Z^&UFK_U@p3vK#Ra7m%R#XI)1@DeYE-IKMh>FP+%o0S22}zL6BbB|d&g|K; z*p}=y_mRDg5gQl1T=Z5Dy|;Eax8}~=hu4}o;W%(_7I;Qu|L)G0^A-fKrb)w1r7O4s z!3cb?eH^__(-4#MP{LozQcAY&vRbtxRx3?lk!{3~M2WGD7^1;s=1iPeu8uK}Lbk#h zGKo61)^M$om#A|sT5He|7n@vc?i8DFx%4LJf-s)>;WBV`3q`cU4Kk%3Dl z<>eK5O2WltI9yz#8Fe@WNpb7-K7J(h)Xuu~gZJwH4qyN1b1G*pYX*4cpTEfuJM4Yp`%!y?Bbw{hoLo+#CN`2kfjl)>Wwe@JEQV# z7?Axaa6*S-INcaZ$}0F=HyE%*Im8YfV3MnuKYl-;DQPjOZ1lXxi7@oCpez-Tw&``0 z6XV}qn(-~@ioN-yz*X}}%6DR`o%4CnATt?0OvXZ4WULlSCQ@74+ia0$$4W`74JK!` zQH+{4Y}QajnUWX3E#+73-6=#mOnjazGcV4F6zU8wO$0MM;Hdyn`> zR@6kwak!%CcOKCY9I9bKzd9lLzyJIHfRb{^o9|zfnQu?vk-%HL_g#vQzF9=T6;FJO4PH?BK!QHN@;b`rQvRjH`#_AF`9i0l*SQV-r z1xU(cr*iX0IZB>jV?z+Qy_i>*O*t%C#(z!N-O)NZS+>NCvLf z#rUEJeb&QPDOETxu1fT7JRE-i{MBDySUe0UAOC8-{OZ47eEr6H z^X;n_ufKiy{WsQE|9tb}HF=W!bjKw=OHMuO?FE|tX(kLT zK?U0g5M3Uyl0BJ&hK!E}yk!7`y~CYD)f~1wLt0 z4zSM@{L9B_IMpszJA=;gkRn179`qY8Lu3LUl2LT^@AVuG27U5r)D2YIWFWCXo~_eh zY`5kW{OBO3pmnGD9>KJNY45rwS4Dp1l97qImsFE+cG4OK8!Mq$DYD*V zBkRq!;&ZT2-Hv*4D@MpG+Gd)iYQME7+;az|mKs!BS|D#o+RhQ}@&_yCY7XK!h-(GJ zsVNYr=7Kn_84wpA^bdz$egE?7|FK?w_rG3H+@>?Q&0g{2!@xm(4sW;OO61-t=A-e* z`mU(g2$&h?1L?z$BAPMtz8_GC*N{$f>IK?>?sI2 zHsRRhB(RB@!X{=8HqmGul`YsLpI7mRV(N$Z0S4Za_b;(SDaZU2d!jzPa_k^dpO{C} zpG^qOdwq*c4egh4z%;P39R&U@R+zcKK4p$)IG#BPJR^&yz~ULxI6^!FOvmCG^EmO0 zV(f=!@?}`w6LhK66KV?2+$YNw%sX|YEC)**ES*+(UnP)bs`5~l*H{8BnH&vEm{;p& z5dbJydZ9gaKqdCB9eWZtZvr;@1A8**{q<|>+ZWHj0j|gW52#GMgJx14GrYMea!^cX@bT81Za}kWXTzXfPN%hLj+T0AOdYD^6lA>YEwQwdHMPXbvS|lZZ+*b5O{G2V_2o2GOJMKt9etLQ`aM1q=@lBu}3bA-Xd@QU<1_ z1q|so{r=?^jPq;V&%uCBG%MTvfU@@&hV+5BAtR8Po)3Z$mpqQ(NG;IA))okR|1!V# z&7gWU7XMT*VKmnrr+g@&offcZ5gC>QtcqgjY>7RC3FVS9iPwK8c%n=}pRjK83fr2*l-(LlZJgps@KLKn+kYB#agReV3e?W@h%AT%Xu zgn+9u3Dg4n?hz$udWtQBvRmaY%UD;P8RgC}-hIa>D71_CA1irFZ?zkb4kw@E4d2pz zdVjM?Usb&OxQC6k>L+EBtugw;W_RNz+(t~eqNy>ZibTU?%4L|DG@}Rw_tm6HPOIdz z#vbu*G2hmp>W1vSx&HS!Z8@gAmIO-Iw%@GWy*MM9s|VGNguve+SVyNA$?pTFO8@TMv%Q|wHYSyR|?C{o}>#_A!99KPL8_;#XH#{nD%a2&uL z7Qm@y3c#r*2XGv~oiKpYRFkoUXsUFSmJm^8kF8Xb1GxJM;7*k4IDq2-jsv*8rmEFbni)Q+qCJ6!(%O?Y6k)ce%1G&Xid5AK z>j^c>(;b4Y#)Rg@xzb!c#C8OP#=#l~Yi9}8bR`AWbY*|Ac6Bsh?TUl769H?onv=X< zIBvzMGpS{1Lt*jH;|6P2X9(6#o#u`btX*-i#=%;f5zau1gTcU=h0ch~?K_N43Y^=( zT`U}r)>EN!X!Pe1!7*dH>awURreiC-wr?U(Wk^GFgQ*N@ojY&E6tDfc6UX@XH{3x} zcma1zCV@4c*c0kE4sgjU-t>V2>CbmE@x8d1wO}NmxAb`_vqoLh9d z^v2lz=OKa4LShFFnY&?#LdGVeKatmP*WzwOLT4Nmi!TS-rZam1yCc}LP^>0NLvaJu zB(#9uEU#9B048x@gY)*{>$ewV>XF|l_LuwV zSH>uRMH;G`supk=TTmKC!%_3Hrb}5ls|*Zs zYH=?3=6Ly(ocvFk+G^sm!x9(=WgL{4hUVj@-`8oF;4PP~BiXxNOfUy|EM;{LJ&*(3)mwOu1BOQdk!uDP!(9 zl-2}3N^4Ep(Eh0>PC?f8p||bVdzy(fPMYXyI;I^3opHd%0o&ODHbWSyo5}=mxdlh< zHf=AjtYV(43)4t>qg*@?j@M2Duj#762K4Ky%2+uJJ)=5}L#a+fU{ohI6dr~~#M%^Q z)AMwxQE2vPh`CP*shu>r)kJCsq%MxnI6gZ!e5NT%(mxF@Tk}twa{n|A$;v`9S(HsB zts|jHGmq9|2skILBWc5_`lp?k?d-Iv?LPXaaibXrWoHY@bU_{}n<@ct$v~z9A8qpU z%rgUHiX<|H4`oGU6JF{WFCaxbkb2ZHKW9=s(uNMAIP+YBl>B7v{1Ef(D6J+CI~;Lw z5XM2+*?}-qPFlv`av#fB`#xqIjGY-6Gi06d^MNK+I$B!=a1Ns)&2GS0(}s()1Y{>o zZAWGqH;q3O za9P9Furvb0=W+;k8vbH3t@oF5;E^ST$=R(-jaw;Fyil!Rp~e<0)QT|}l4?^ROxkU< zXoPi7$v^D0$*U&l>Xe{3#^M<3>@b!onn}wSTrvq|OU1@;pD+%)8ZOi$s2X!P1Wk(A zx-DXFy$Gz6){C^^IGn=TVdfKpVJA**?c2Uuq%e-lI4(OsTxLo`byJZME_0G!90@k# z`0N}DDe72SCZ#ZC&D0r%nW>DUDhE@TCX;@hHgtf`@(Sgs#r5nsM!PsmlB10z{Ba6{;r60F>Yau03=Aa3*bH zwu(iclEdQY?L^Rx&4H2 z+{u$)&CIh$KxiDuaUfR#$ldu%5<1QtWzDVaE%09#2oHusKzZ6^Zr^+!k`MN5>4asS z&LWXQbN374P?0ye`voz9dQfBctV_}x`~G|2M4Uo|IEKf#%`WdIcw_?oAef?iXIO$h+Wa3Qi9Wi7AvbMjTPDr~KE_q*A_lfid6Eh9c0JOXj=KC#-_!Jdc}a z&K3YF=h=5~S{PhVoo7+yUowlNNbDlX60=BZrZ9kV{ENhjoaWX?&8rxoG_^iEv415U zd{M}pC%W$SAbHD6TZpz(s)Xb0v&Y#m$4h%g-1$wk$BO`qKP97qi}Gx?aN!%vpZ4N< z>y==(F3CeNk?mJv6U{w%K{j zax>ckpiYu-NdPVB8e6mpnphp3%}gt52hh(y}}WRM>FXm&b`Nz37v>iJANgj63qjsMC2RB zyNb4SP?+a7y&sB1_NgnIwLZ- z@5q%y0_Qex7YoOuyL2jiMt>d=9J9Uf14Ig?VUzW4Y$3IWh@TXF7=b518wvuaN2wfg zul>2xgZr;z5??b2^ZAJ$j}Xd<>(;p?nN)X0nc`SEBq zbsfO8e=TG22NL%Eea2|17irO+6)$~RmpCosbfaSN#-#ofGlw&csLv!rR?(xZJG`<5 zuC+n^4dFjC&#%YK%}dsXIJ!VGV}>N=<+BwtLy81fUI$XS4p<#hx%rtLUa= z9<8F(SVgIERCa$**$ERHM`aw9aa4AnP?;o%NmM4Kk_2*8#!=Y;QJE>J%#o5Q$wzyn zB(aILq-_b+I4V0bRCdC|#!(qZWgL~=CsZa&dJ>h%>j+tn$~Y=JFe(!j1#|7ET*wtg zRgYCw%53bS+)YuoiA%a$~hg@k2Git&v*C4m$Avk%S$lO-W7_WI=G$93yEBnNZ# zBtvvc7Qv`iD=ax7z10vd@wpx6V}mhR&cC)N(~a&qsqDGYD|L`Aw_xrLYhu$(CI^_Q zX-pD|gctWZWqeKDn$NP;3?LF~0Fkzor7h;M29v|dIqDdvDxr?+$evQ5u9}R!IA^M; znI^7_)h+~BYoWzq6*qX@Q-fE`?$kF-(TA$O@eNa0d)I1{(n4mqy^LPm@^yxmFHMjc zwWtXqlP}efGKL7f8MRo|Z%1KMb}5~hy>J4uMhQLFDA5X6pOEeAbP29zt=FTVF>d|h zFzvixnj+{!WmD=3E*bQ6-~&kx$jKfJW{m?{K6!C zk~#dk7pcWgn9ex-;_!LXhfH|Pph@$v?( zmN!r&Rc4YmDUu?yHiyjN&p}k4iQ`JDJYc%*r49C{@}^Lkk#~lasWQ}vw8%}&UM`#Z zuB7bx&Rz~vXW(?nwn|QK>mwRAKJMy zhpiG&xd%@j4xhw(sCVPx@UP=&bM&m&C!ZD9Z~t}QPks&e&!X|M^HE{2yvX~>7I{}> zL)RFcD;pwfC&@T&i-)n3m^zcgfHo9?#s(kx zWCKA1A43PQagDNNXtbkG>sq6~c38?Nnq$lL#?B3P7(X;Wnv%Wwq~a>sm+K(Ha_4+* z9m6g)Tb0p@oQY(UIm{9bF|BAbF5O~1HJi)Jm694TIY8UW0J@`EVUeuKvrwSt{0lv8wOU@oxE*TXAvglX8C{?Ht^ne#Tk*CHK{K&)L*VtpL8omA~{RA^h`h8O9Tr zd@}$zxeKJ5r7Tg89+AHUPIx`LduY#Q{upL;5+5RyTW2X3hv-WM1QJy?JBX&s81`!rc9^)x#KAhr0cx9;}YQ&KQ~ zJmD|hqvibTv)+2_JDCfQw)^DMB@y}!@mYD|eeD8dhvfw7ncK6NSaHM=5tG|%AEZT0 zyi?biA#L6G!2;=x^3-L$0mObC4{)qDK0%dZ#!tBxdZ8*K&<9^xZxW*8^x_ z^|ajwSGlvd^=F@USZ}gBA#S+g4(a#XA>9g>HwaT`sx8ADs)JtNZyYal z-dwxkU(uq|16Jri-qj)PMW)}Qe*x3St^utFq6>*GU_mL4s@7MwQ!|>dDJD0Z;r<_m z5OnO=<7*IAfxlchxFa6s$b`uLbOl_x{`TvcA1(uDB{N_}uY7-2dRX;8s~3|*gFfwM zc||}NI)Mi}>95~j;G3>3AMlAMVZhT0|c^?(h1_kcr;inxdTYHI3kI>MJjOa20eJOeb^ zqd(Nv6ygW&JJ+*k))tB~H9bR7)^zEO*FRVq(S1f~E)WH!#L~c)J-EA1YqNemkphEV zOg^(0KTvc6_lqT%8*Y=zGdJ8VH=y;zsC?&+cY&?Va_scz?NXUnkp#KIt4P8o^!3^f zK`O$I%$^NVW<}qt>+jd!!Qw~XY31osmZTM3_UPuTkFUA74*c8r9W8%qIrAIpg906X zwkLh9AE=a|l!b5M5%vsiD41`(M}Js~WMpNt98n+PdS+y0vj#prMM{3BFvJsEOQI1B zhp*|sC5fq!xMVXTt`I%U$K-!ry!gp_{_559e_C%|THn9?`uX=Stk-W|efQ&EhwSvw zNia8WSMdJk<{ekBW-8exwZhvzEnb<&`%Z)+7^|IUWE8}%{aX*V?D3k1H|sUtGC2AM zQA1mjZ#`s5Tn+iRFp3mp$NXWV?Q4!{^U(DU9nC|)j4eEH{V-WwJuJ?yZ>=>T+6Tv1 z)|LOeGub@!C1s;0uBJSzKmF@rsK#a(Xh+(NBASDofiyw_>jCI`(Ex5{w(GU@{MF-C zVNGa}B=-D;Wm61-v)x-6*M{*^YYFDmgGG58N&%X8CupdQWWj1qa%RJA9EYrjD6Q;q z8v*+F=ih(#&GR=eVo3@@^!u-#fBipM37Q<<(=BiGxUr#chHX}uS+squXO}8F7%>3A z4(7RF_=>h`)_-{Z)0Ua1<4;Y0^P^4}g1b0wrsiymnzN~C*-9F-3&Rx(ew7ooka~%^ z|G}Z>bCD5!;gc%|&9t;FVM-^rc8FcLpd;?{`FFuIbrAnhc7a+rk>6*L%Z9ZYCUce= zwQP-;s9XIpeOgl~556QbdGN8J=;$5^{n4XG>?_Jm1IFdBs|KC-l zsc&pR4T3nIXljO*X}7v%Q4dLbwjW7@DgXttEC7YBDv07(+Gl_51?)xa-p5|bT**d6 zX4biYIsha{7kfq~Kp-o44?OLzf8fO|v)e)K$o&D#^>!miEI`R^J0^3R61xIIaT`-{eSvj(57Uw26!_A+P`hWSe(9_5^s`%($f-6P0m)wYWT& znynluzo<(E6@GZ1uA8Y<*~MzXZ=N$H+&$2XnBuIS=a*poh8PX`jdBcgz*DS%BzQ>5 zA(FKFlrn2TnW|L22SF4Hg7jXV5oHjWQ0%c*vgHCfqem z+^2=HIHd1CuV4o|lj>(JP3@CztSmSg{#7^}V*#&}pI;8I{_*x~c>crR&R$+AOgyLa z{>#_rm%m<|!INA86T?#$u}}^_<>?qR^$vIllhtV|Yy_`#aS+JrF)hOx_3{j-a$f_G zRGbs3&=C-c!VwFHG_zDO*y&GKXBRZHvth(=U`p)I) z@)3!`=p;wl7-OMU3vz~IF#}o)-)BzK3fwGtVL%HiyITeb-v0*+Q>9QpoK|BQsvsWFNLl1C}74?!diNgG%$ZB4J%uhH%8%P+{!BHo+u^LNg| zN5AUz;WaHq`>c*}Z2&7AUO&9n>>+SFlxD2-tlRCh%LDQBrgp6(Vv~!bOL{~Xmc6>9 zOil%O`9kICR>SLYX;@+Kf1We`;yHiVpBrhx!tsz7EO1No1qPe(M}TE$pU1P+1QrZ1 z%)l!=!+p3r1OPV|BQV4`v@;7_D<6+eP_u}i;mVQsn8rwx=P%wfwK?Y4(B{p6`Y`bA zNDwo8-k8GfJ$t7w5SV;;zqp^E3Cd`jOw5?xJMy9o@iR{O(SY$=vV9!OR>SBe!J!aKn7kpCJJT|?{x*0lW{j1^2DnX77)UI zvHQ2n-}o;gw6P>N+}nSsSFX}m%igUav_J`c0yXdnOJ)DVo~(OVX{yvf5ChY3Zwg6a z+|nq~O&|ZAB()?Ycl*8OS^OMaGl!PMo>cgnomeDyGg0jM_j2u1;EA|T0bDHj6c}C- z_Z0MTcnUOMta}Rj9I%W$PeDZDK{0~avO^AK9qWmRZxqhhGD#|2nCxlAzkMMxQ3X$C zrB8-FDdTNl81OiY>lt47dkH3zh-~1%A%Ly+5o{M{W4Ju3Gsr~{=Z#)G1z?1d>7C(x zz^Ka3P0|)O0~V5in1*fNsJ1g2#~(tBb8#RrhYL4AULe#d6F#vt&H1tt&oGs$L!Rro zs=JfrF!S&e3GQXD-t6LD{;&eI!aN-Dr7FL|R`uw7T(D7PZ&8)~&fPj?q1`g~qosHM z^*{dihqA&GnH4^y2xG2D6%qMTQ2sgtN?9Xws+lq~jE}1&8D}Qq1TZ=jS9LhiL6^6I zSP3Ibi6#?57uGEXZX-nltW$;V>t7YFlw$=8MXKV9&xX@+Mw3WR;n`&HI6t3W{BZj7 znbZ6Y6gmsHP8~@z1t*1L{|O6`GNM&@(64*CKG75S+)zHUN3+5+cVE3f5TyM6!1M06 z@BG6$_IlO4b_78AgZPHfzYrBtID~kefSS7PZfmga&dgyIrcQsO9rtJ%99DZsK`0$~ zNmSGbRLf%jjX2C=VlhFSs9&p#F<_dxL04a!(>DnJt3Yjoal77S)B)TMP}*c{%V z{emqqm69Wyi?f$!uYLpAtcJ`NO>^RsmwCP7oD(P&3#cIqBF5wW54zCBnHxh!Q$crhd4NUQ3C2z=xr zCTE)Z1hGnp;$bW3s0Ra6y>$s6Xb~2;9C9t5XQ75gY-kKlfBZ|%VDxQ4yH2rfITF?* z6@T+!A6_&ej;?7y7X<}0s`b|fJ|8H(>OAutrWk2nc%gkZY<=umKV5DIkPw#?dl17o zOWqdX=y?4e%JgOTQ+Q@h zD!nhY{@DK^Yiukv<^y{d+*JElpzN7;iGLpqK+u)Sfv@rqdid@I{qhQq=#)Ppe)?M) zxxzf8;mX`zZ6IC9K_=q}wevSG&#LSd84~oxCl%P{f?sUaHymihu!=E9ORNOaM!qkLRIHUL$798J5&Q_6#STL@7BBbybR)vTcCJM6TxW-%E z|LBzQrJBHaZG@y8zB#kV!VwnVLzqzeq>fiAC5z4Vh3F*U45rzzD?%QK(?KCY00@!1 z=V|HG6mM|1QVwta4N)Z4YDUtk;tmcM>SAPkMoUCM&x66l-=Y*fz0)cO>3O^YjI*#E z*D6f(<%{=Hg>AU*BxnwCCX!37;=7&|mc4mWK78*^^3_i*D54#4LAY{me4?XN&WWo_ zw047KP1LbzSjgPaBr7fJzVQ&OJ15Bvgh+_G9qIIt2NXC95@POYctu(jHNY=$8$NxB zIVSvDXzytZslR{WoMphi4RDq(h@XHGzx6I4a6nYn`=-oJUa*_c{s&ks$~ycYpRekO zGw(Lmz2!vjtYxDz~I3Q2fQKE4H zq2PsYIi6*G6SXeHgF_xvh@sY`QRy^gvr&$kk#29ukcos>i$33E2svh4 zQ{|;cq<1DTh;Z>TQgXQd=i0u36B@uLXU26Iy^O$gKub0`DhQ2a87p%vVfgP@^MuBH zV@$k~dPh|8HS8J#R)+>9kgmW=(G=~ zRY9_HxnYC;HdRg*DDYP+KMo}n0iefCCl@u~#3xCJEz$bGUmW82p7MzSWeJTc{3EUw z%1Uz`R0d(Xuzz6dGD za_vIH5n*r~K?4hQKj>62^$iFz8I7Sp{h0S9DkHKIsmezjp^!54tW)dN%YL2t{LSls zuur-g(4+7(QeS3&;ZX+MA!FG{og!8vLQQ5910dO(^DF<=MEC=UXsN?}=bzJN`nArB zeZYGDxgvdfVNl%_KuMn2=-b}=2?Gk5Zc*G6I$wn5SP>5N)k07wYC#y2bE_>eoQ(0V z7;}Ac=o^n{;lKXp|Kg7d7{sMRq7XDT!)SADZeR(R_XncbrB05sAVrF3bpS9&>{g#m z4kh>jy0LD`MAb4fXauWKNlK3H0;j;A40i2~q9Y^~(EiCI`0@Pgl7eu2ppvAscOPK~ zkGX#Qabb)^6eZ9!ObeUxtlO#ACB85<{#1eeSzJ@?3K({(UrRL_zRQ=vNd~qYR|>!K z93ypBWtVUtuWx|(8nsR`vj^ISiGT9Mi-=p4N>}wg$JxtYP7g73@c;gwMzdP4Hmi*q zP?@%5?E&Ynm!O{Mn)Q;9Z|S^(Y_!Zhi$9$GbbfIbIwUt>lAIGZ2{4N(=T&+N4C6CQ ziu3umf3x`L3M)-@ig{5N{!>@SSUm>M7b};j*ZgX!2%jxOBt?`34})JVl67Y&;>ZW! z8;etqvjiq47XfD@RTMcAe+7_+3XmIj>nA6V$&EY$z>*E1+A8}=*jC2Id=5((tLWsQ zToG@H+7NBZX@yq>?g#9LrH=*RRLX*;g!&-dJ&XqS?-+g@l${A61Pr^AF+fXGhv5}J zIvS!oN7VgP0^}&r+sOFr#g`Et2)>P8eI8y8xvo?S+gn&ba}H86h6dAioy1Kfrw}WY zU+|$!Tz8zL;h%twF|ZU3FR2Oa^Aoa$64Da&={v+QtWOBnF#^2o7m8#ql|*m|XLWr| zu5?f6<78!W550ylxU(qZnpmoX9OA5KQ4i$#K8Me)DJ>4XeE;3>Maar2Psn3GTcQ1o zeH$=!US|$1;(z+@it+MgaqD@(3QZBpPRj`eCqgMFnJtlp>ao#6K z2ZQf@c90jLW5==PR1=tw8-N&ftDczFfbV0ilLkFTyuuim`6Di64Fg6DjX#meLE2`*b!pMa+s@~0W1A5N?k2&LkkK5DY~Ya1~~nsJkI2UI6OA{uiE zkYq0wG)8b7_@ip8Z$%}!bMp$37ivxH-MdT8{_vr?iHpTaatw@&er_N2Z}Rmx=N9um z->HZ{u5k@~^-8q(dl_vxCM_McFw%1PHwKJ2FB-rdmZhPn6&^W^%_CrI0hHrIX_O9Q zIWagw|3#F6$#*(8M0*epx4@@0D{rmXR$)BeH{&sWLdJhqNL9!D1ZBXL3vcYG_F2ao zi9n-c-O@0Uz;FoGUG+x7b!hhAUtRt6{MRcl&8mV-pFlw1ZsVp3d*&muXL`M?z%sOn zr@@(szp&tHjEGnJ<6zh|VO`z!4OrraO8#Ura)S>?C3BIxhE1XYGib^W zM+8_Jh$p{wSZam_&l_~eksGNf>ata^#dtY~r;TT|`|pjme}RIF8w>7{qPylA z{^$S{5sEs|v?ZR}LQ~}7)1VOs6>9}D{GTg4AI~%5W?|0jQrNGpf38#$MUr@I_qIC{ zRm!@zXBQX$7=k+T_Tv2N?B&()r;GDnF5jNMJUgi?xCfYH1R}^{Wat%%t{BYbUmiXS zVT6;G!b*WGND*4`5df7oljFHjZ#o(Gcm#lFNNzplMrgQOi)#%HQWXsUQ-Lf|^x-}r zM-pg7w>a>DLpmh!4Cm<&64a)Y|M_`oSeyeOegb9>ALP=W%>N+e4Xo!ypU~}i+J2+H zIixZpaIdMZ11uJ}MA#~=ICu)_=a6$Eo1z~=jE7h(2XKBEuehvR6gR*dVo@L=HaYhm zhc!0!rEMMID!7UdWHz#^%R2>#d8SR!I$t6tY2Bz;!rsrP@IG>KHK^Pa-A(+eg3b#MRZt*-(=CNiK6nT)kW0UPNK#V$7cC>LJ^)-m@_hmXL-W1q|${P z%4b4mM|&OQ(%lf_QWFs_F~J|6l3=o2{LQ2_Wuu@58@6RF}Y z0_VC&VWH(Up&NOlHEItQpCJg%Np8ZDP0N*aL&*c`3y{ZOj#SZU{bwPds*m5Y<#1kj>6Yzc??rnABoB@ zmaxX&Pp7Xh&#=N!ty<%y#(0^5yK*Q7BVTvD?l z>?FYGu;P>7KtknF#rGvo0ioqUK)j=9?Ve(;Vl}1dWP3fV3hT&|&YeS2*+%jlU&xNl z8*A(2`O4EiJ;Mi#dT(W03KK_BrKPCSQg}mykCIg>-?du4R^|0->KSxj51uqk&)(?e z&HAaMu0mtzrgtg&M$C&f%6NT zABXdGzvRdU^bhON$ezkJ9rEIMgzkBR9cnCNxzJO~fWwC~7<-F2++!Ip%$wWAK%SG@ zPaCK6%moN4Ku`gK3J{bm0;%L+pfX7LPo;8ny;F2%P1LR(+qP|+9ox3iv2EM7Z97k# zj%^zq8@=;>-#`9+w9jhP;aWA;syXYruL=xU(7^2^lqq#~n;>`OD@uHphFrPjY>Tn= zDGR38!THxRic4bkazQD~@L~>tc1LA()^UX~RUyg-Sw|Z$6XJ+RUMFjsu4x{uu=I5_ zMy}MXw8;x-cNacx5ll>1B{ae3O?jx&9 zqnhDt(v(VB1cSt1W%m&&TEjS|6|pmZ9KU1myYX||0aj~^>lOE}&JoP9rGEc&BPSUN z)D8&{Ud%qYgI7gDp=`@MWyY`LQLYeyh;yLZ%o~#=@E<;d+lUy_P}HT(f+!*G^%C}N zgdL9VODranfY768ql$L(NC5VQ_q#FVH0ewzs5$ajU`)v)b9BN&BOggukmXnamgt30 zrKmYZaIAy%6X)$%&LaJCs}Eu>qTH0yf_0E55BPQe15B8ffaB;(KJ+b)g6=*6GH~ue zm1$1WluV_}V+|9qyLv6PvamZke1ez8&q*CVh3fc0toe$l!bzd%FwU$)xAInp=%A zS7}x;)VzwR;P=(t2yP)sH-?>J5$UgE%Bil}XDLmo&Rb*xnnVlDAfQB-+kVS@PU zC9zjTsCHFg9F#5;GvTq z!Sz6`9TGBbyK^rq^UjOFCMx9jD`=76Y0zi1w*Av%9mPWA-`Y78p!__VwVvp7=SUfW zU(pU8A9Cb7sBYJ!dBILrBkXx#b&}L9BtbH8Z}B3Blt#Stw-5oG&bA0+mQ}F7`%Cu$Kl zPVa2k0|&W2c$_*lfLLG=Jg(5r+=SZOH&$KB^idD%PlA0#3adm-hc#B7JPtvlf_6Hv z{@_Eu@KH=22s};8N@B$A`4mn>o+YZ2dGg!3VL$aWh@$d`IGJ#vO*hg0Xj?7fV%(rY z2w7?#vn~P%KbD2|7*vt@ow(YAG8dy3=>;igfFl0lK(QBLuZW-Jf=mk1hs05Mw=76N zKG@WsHJ`CO^`M#LzF_czh*N88iqT5?)SzNKV|+e+KCQd0;3e!V$6RSnsjt`$! zR$zrAAmhmT0Fz0;LjRkX9SfBp9Y`s!Q}Dpny$Z>yV0G*Yx#g`_%mAIt|C4Dn32Ek`Fx`(*i$qtoqgiouD3YsOHfF6R)v< zr(GYDQ=%^J1MvXIzzD!cesg7A{ua{NigX;?uR>a18fZA9!@Jd>nYB5VBb!x zw{@f4jckcz7k$`as2HY#RHJDgpBtru@k^gkHM9vFzu&r%lMX%Sq}g+oq>#fE#3vxg ze!Xk6dj7uZyo2_Cdn+v{gYJY5a2n=na<2E%m|3bewVn8eH+u)YQaEa~rP(w<(Cv}Q z0YB4BNbIq5qD92_&uPWMkJ|C#{JCCEjS@2}zt5`rO)pgke+>)EVzDmd!U`fXX@i0* z*k_+N1m#r*%`|0?lCbLW2p6ngh(S5P@k;%%8B1w?C|OFbBqf=F*Omy%_q5bzMCv}dCRp(Uuk(sr1yJuFDq;rLMp$n!RkykR1w)t z>LCPKdiD0S&Ch{152Z?@@aI!rXm0@Hw>C~EyEu>{PZgmwm28mX`|fMlp8oqw&=D01@1X?ZXDsWuSA7uXOl!=Frnt0^BkO|ps>-y#qB%`5%}mQZ{?rD&U8Bh*&0in9~Od8(1er>ZOhR-fefA%GUa{F%f5 z2A#U%Ser$P)uwA!PY3(=wOPD2SAzgbi?YTAi>s6A6NQhBh?ymt zTJqka%nHc83+dju%ae<|K&#FoT1l)8w%gz6MFF`uq5U2g`{&0WhggEhMf(*bJ@JOp z|G`gpEjDZxhseI?q4k-&+DiOOEI6kVL=xJ0;4Z4~{^wBXA7&@&o}lGJoI6>K`;&hfFFMDDw0|64qhTLMHyon-^xjUgI7(Z4cO5$v)Z8%r)tPav?gr3xm87W zZcl-N7?|JqS^`#^ft1Ivet6z#3FP?29m+NqtLiOK5JTtMK3zJVSDz_*!*x0G4LW<0CAP*k)+~@>cA{Y<7C4rIm!O; z`Y~BG+}@1D$Q)0vYG8YI>jEf! z!$z^yW+FPf47tk07_c4YK46DXH+Yeq1>_*kSFZPrv}$BXBC{5*(FVwr&Rvh-;1dil z)Lp_7kAfG-vA!Eb`pv^X0hkVh&>6P|;ag^2kPWq9`E^xW{6HY^29BVqNH%$n`*&it zoXmCNxQwoHUhJZBQglSGdUm|L>qp6{i=y0SW`M8^0|GDuP&@lM(yJ+*=Q2RSalJKe zeWI0BdJ8%EfnnBDJ-Yc^#!7!$pllwySF8TIj{1IWK!pXPKX)%)_WJ@ty4@{eEs$g% zhb&k7TflZzb9{~t;e?Mgf?sM@P@99%l4*ENT|sOFQDYDUUMRljwPW4BXzLa*cj>Ll z$-$u1hA~9uONn0MBn1&6r`>U#=uJd3aRXri=oVITREALgj%Sg=t4se7_5D7Th#D)t z2*tm+aZ?qh(gPvjpBwAJ9h9r1p3Sln2vnz_y)7nr(84^cvn(k>%CQ3_vkv{<01$8Y zniCn9ZE}918Hf--Un5Pot>k$>m;O3+0btvhkE+o)sS`Ja_*Mso^hXZgdVr6@p>?(V z(0CDuWC0Z7H;6lg9#~>blZsf@hD!1@zOpQr8l0gQlzt_2vetveVza&RJk?i_Fs3Ye z-dqYHDHhk_vp{x(14_cE#k>-Oqg%{|TYeXg(@#smZl+bRnh;FhVidAE2Z;e*w)hOl zj2QrDI_6y*f?y%?psHOjf?y7L(dQjt?{In5mDhl<>%Adw+tr{V1+1%nf6z}lLMq5* zOQER)q~7ORAa%sGK-XuI8oB{PwMUh-zG|QL!jp2&5=y+rYews+{Fek0DxG_Lg&bK? z?N8j-9=mNI6Ck9TeY5=-yQ<&KQa}b`hTRcrh?PL1Oxl_1Lt=8{TvUhYMKbSEyu;Bb zP`E%V8x*%3M`M~%qb5U^OC$Y-6OWt>cl>7LgpApYnygh$Kl!j6cuaQ?+$X1OY z{o2pmO|yb@VCp0Dsrnkz?gAO+yXjAlPdpwk_!tLqeyvgv(k$+>c~O`$k_I2D1JBHq=b6Lmmn`0UXV&Y+!L zt#{u&cCju0)CZzeSPzS8HU3T!F<1d0bXTB$4&b^3euKvH1?%5mS6A1!j|T^jghSO2 z`_0zg;|T%sHz zqq-6rq21*Q9!wZ80k~f{d%J~3@)ggJ2Q#E6^kBh`TDl-CaNfK@jJbhe0$CTVYrUj( z?RZA{Ij0h5@jN7|o@6MLlW2)T6|W8RR&x$S7LAWUR@PM#8Y*kf`f?|oEeruAWW?93 zz9w7gMvId7=T%pwDoBJ0xm4oa+76Hfs}*!ZG9euj|Kdd_nihbEl62i)CrSE=ai&gr z7!rE69I}jI$$J1aHh8r~r#nnav7;)ME+4rpzPahdA6LVpiDLwqQfmF<%k-mU&3)G0 z>#t6>MG5dKK4p8SOr(5`Mef?tne*xMMoQZPS`$RLG?x_a(s#-{HKBrkKwKd;X|w`{ zCFVAO12UZ{d!QbXC;rtQ6G4ZMevIxW#1Qf~{AnfPfO)NPrS&omZ-pCYji+0K-rR-n zR+w3@u9HMqQ_t%?L?}jdi6Mag%R8oEXM*^TdnCsj#PYUMH%=FXW@*%gcF{ykXpbGE zR%lA0*qcJ|ez?2Juk3t7HIyVk8pe7~Nkfe)%f+Btek$u%n>3f=TCMbU=$UGrQ0ErZ&!TpiCW%lha; zG&~}AuL_wH1@)$EGR6|}so~c8HV5p`DJGTde5{zbQRJm3#9iveBV8y#Vl#vfX67b; zuZ*jVM4=jlIZ(%NwD{%w8=5<;g*J4<>-G|!P&pTIko-CKI9i!Yuv%jbi+}ff=Z=c^ zcN_pph0RgKN<%<`@u zRL^5Tm-8E!V`KnG91PCovT`Fl{=V!0_bM$4LP?P$F}&>VEVI-cD{El$GA~HV-LJtIk%!`QJ9NckjsoGp>>F!*mR6m!60(I>Z(}k;v-7wPU z$2e4NA)lZ-+AK^FY2nd!YTdya1hL1g&s9i_N7cV3#{i=3k6GYR1_~ka*>!vVj@h(O zVtFV>$v3s-cxga>3kF`Y`L&}OxP#r$1DD)dICx_1^9HT50}4iDl#>PGOyKGT9S{)1WZ zkJ+xAgxIVs&a?YKRhD%0a2be(J`{b|m9|(Quu+n!b55~Oq}cx&T!%l@rC?bT9&aKJOqrMp z*Fy&@TW~tjW|w}e&rCoFe1q#lvFsU$ix+L|0uj9((taG$hKU;6?sJXr@2Kp)rZI(u ziu?Q{_!s=o90&V3I+?;!Du-p!ZaG00;GWuWV~r{j(b=KaQ-uBq0PzJb)WPC(8y4{c zT8Xi3{IyUPk}kQAR$ZXtQstkPo@sYy@hPFN;m1lkb$FGdlCDF54IW7<;dki^*>JM{ z@~Og@a<(Z`Dnod7&!aJFV*I$g{-j?KAxJbo>H{jpd#@nGIW2x6iRrbLd+u~!`9Cy!OPNQGYG%93%e4!C~*HxnG^zjQvT%4%u;t7H8 zo-|(SC4-_(vh~bS9^`k-&;S4vl}{c*%z?y!-;;4G6V(Htri5Xv;7uwlFyyV`F9nLH zNL`wlejuwpb97S)-Iu%7bZ)E&4`}=ZyxrPOx>Er(K>5@?1;G5rO{>g55 zBCD4-u0Vz-8S33z>vB6BweVP0N+IFyAlqT>32L-w(HLWe19cXNG0J&OB6TqWXMg@&>gFZ`6$)IlY1c- z^3dbaV&O(Ho3bMx8%l2ga5UM->yLhi;p}YfYU5^e;z^_AolsaYQG%@z_mTT$+v6VsJ`MJ9A5iXt8oKC zHDxirhG*fQw(^!ddsZ^gY2E;%SJ&amK4n6Hc+?GwiaM>#qXaJ^gnr$QvyABu^8OMg z+nQBhZrSr3_bZxJLnXjc@;?Szi|0r-DHe;bFWs?o9r@ju=GA>}L#S9(30xUV?E!+} z6wj*z?ORH4m)iA^T4C>^^SeK2>Jd_ptjep&6D`K`I8i%Klg?^1vnFJTvuxm#QWJ^H z`menI;TA&xRpGfSk&2tux5@*KNuz2aIKFVhu z2#JWjqYV&S9~NjltW~s(8xp7Y(b02*ulwhx>h$`$Fb#iSS5H}Ac${1ac2EAQ_G`o^$qnWb;q(&Fdh24XXd|3Iv@7gx=(6ANsVV*y+ zLBN(V3OcQ@+w~v?A_zE5XmZMWJUJ;?KJMM<*59NE9%VmbpuoGS233)hIjwOiC9?0V z3+2lT)B-{9xuxx|sS2uVfTCYv_mC)f6kD+NUd{D-f3kKKEYwr_KCZL zIkLs$JNFw(ZsGW>x!xfOLC&orPT5-6c(F2Z*gdQBEbkpA6YC|M$&-XRP~i0#(n+yb zMj0iXj-Q;x{YteIgmB9m$EFG! zcFipkvYukEj08ym{B*WAB2%nt&fJY#VGd5 zGAXo|6B+DbSGdRpqo(y7L+HiMAh8)eq`5jTR7ZoKNigTO>G&Agb-0!Ngk4cggBji* zGqh9nYD68Pn@4Y`?z5<8zHg6aN`Vi}bMkCD#%|FX8foWI6B42Uml~ELPZg%+}Sq%|Cq6XEOs#~uwW2OQIgUv>Eu4e z6Z>|D#~V`gSnnQZhrc?O_YYv4YCQq-Tm!f^G8`{XL;ljI6$a#E4#l+u{O$6ziY!2(e#i ztoqtF^-*yJI=HaDxH#*fi|#A?6Qhoze+2Q$Du?IMEwY+Zeq?4OmWc-260DObdM&DEJ9! zVKK%rJntY%iQnn|WaaX(tK2P-SKmKGO9unX8p(hJB+6F5d~9Wpp`7?6YEFi-bLD)d zr2>S>%WpF7cPEH9t$KVpl)Yyxwf4?TrOMUt)fVoi9FVM>-oP8IQ8}>~>DjJrdE7rp zbHH5?r7=#iV3Wwun9mnU5_rJo1{FoS2TvVrHB7I9v(s+}ooWulTWe|)9YE1z@0qB+ zg;^|!a_w7fL8LSc#D~m?_G-=yLzi<~!r?OLg+EJSvjeCL^X$eY_%{%J44WtXhL7?DpH^MA4nhmK&KdFnfxw;`$ zpd|~l$ps`AhSFz@$rl`2WOP_vuUFB8?UUEy*6Ja#PnGDO7>+*m-(%P{aDcrS+SgGH zvQcNFxg^|wz#V$bS>i0{GArv6udQ;Q{ec+#~3F+sxDag`OF%;qEEZStp zIV`_Hp5o$JZ((PF^J{nw&mEVq5?FDQGXnk^w+!eD#$rew{*#x^Hw9u)@>YSlbsjjt zCm@Qe1h|urCMYY2I93qYB=6l5fa#OH5CNruA%g5|>q$QfdJK<8Rv2wh+bYKt}?nxrog1yD&PKSG-lQ!wCRfxLOj#%?_o? zN(E)?mv3A0!yx~K*|sDmGP4%5l9-<~;+;Qq4mF^v#2bSp-&I=$J}YJpviR22K6+6riEla!3 zB=u2ZZh|-8kbb zmSRos`jm-gpbAD2=xcJmMR!~Rf+``4g|N(6hAZ`?-~m!bnf=5s#46nRSm`b__*`t% zr=UI<{!axz`=T)HlLY+?eoW7kY|41k+S(9^c`)=;lGJH)ltMxWa(<4E+*Tkjafr57 z%MJR;S2xmWIUSW~{I&gr8imB@-xP5`(guC};qx0BH~dLn$yx(NH*>*>ejsUN(GsE; zNE0i)WxLkmuwrG#FNx0N{y}KVch0&WwJD3UP}pr6{(|>qtw{_6It_yNO4gBx^v)U^ zaCY~$sm-$z{F@d2`NSn=(cllPICAZ3MuNrmj_KrY&i6YRIN$SiDcYk*TeWImv&4GE zzz$9`;nt1CwFySfKbS0S(QS#2)l~O<0~+@YhpgIHF3^+Y{+4_f5RLHx8+w@#uPJdC zex?!ec}JF#%#)QB!@QR($5cD5FR=XExeOfp;qGMTYiTpsdHO$q*mZy}E>f$3sAHsk zFKt}Op}G^El&3qVs`LSc?k~Rkizie>2ARWfnF#ybDO8Y0v@b8`faZjv{yuhzDPoGT zli!=r5^=dXv$a;EiOfKhYkxUhA>*;Q^8RM}j2M$nG^Shk)N|iU1sz*?nxwVnN`kn$ zk&d`^!A~qaubb(X+H+eCGYxss-f8!lOPa!HWO2=4(I9sRnX@=a`l4@c4=bdVp?e%r zxGf+LZ)_&!G?_R^-P=$GK=^mN7>kC?3n1Z=eAqf%_K|H$@-4`)HU@81g5W$~lzc+x z6im!@#uyebztKwVlZZPl-xYDOdop85IKe^B~n%A6YG2-^U9m z!ibBgcWix)I_kj4NS)S&G=NBWH8{>2;lPqG5@5if@-c)v>)yN!~* z0EU50bE>%@KD0<$^@7`C7wnBq5^TbjKwc#}_lxSBQ8jmq57_F3?xBg7^=_)iCa_)0 z*eHlZm0T`{el-vRMFSc^EUN8~W|u|xn;qeTE9cSDcX2wT@4SMq9k8kEkqvAAAmWkj z-CCmHfb7Kj=NgTHW|AYl%zdCKPaOfU$~GY(T3~4sLv#C_X|B~2{3|kNMxqFW%Bwlg z)wP?winnyr z%yk`aMLMsAOd7tK)UA4!B7A`cbalRq8uedNtAqG$4-K_zv1D!MqNKc+PxJoKO@(Yo zkFF?a(qBJ5!R`_gMrMx5Bd8e#J|T{=E&Ko2TB-$X;AA=c^tEQYa{Y9g-pae!II;&c zi=I8-W+Qx+FYWhYBbM)iPYRISef@#@p6X(r>L!`J>s8JHuphjZtkm7wbBK=Vr=5#g zpV^f*xD!9b7W{K4KKRGZWUakZsx}9g-H>u4sTC4$*yzJfuUS9Iti?rN*i`l8Jo10> z+BAD$fkD6ny3GPPU0IICIZ*=(fqJHZ@nrv3_DFhh!-8sg63xW{L%u*^+!&GLZ5F+p zNu|DXTU`9#Y_KoZpJdBhq9|maCnARkn-GxAx0h7>Kd7o~% zQ(>VFT#Q?thGz`lDp!ITi*E?9XNM4dMisi2rOsu4JBOZ@#& z;nQBxvM$!*+B!|uVDITG)jJAvB^1$C>Fm9@P}|9Erv(DfoG5Zy;AdMQyPmS7hA_ga zt$+d!>bFi@#&itV(XNH&PCih>u3enO@h1tlyb1*mBH`X5;h1HlZ3wn*qh5eb7+iU> zv?!@~pL!G$t&cYoBy@tHdet|gUr<^^O&DyM$vpOF3X`*S2K`iRpK75uQmuA#vo)6X z-;(Q^+;14zKZe4s<5)m(***fkV_Y%X9o9SSH;1Z|$s5@g4B&c`3OU7>gmQo$md@4_ z6mnTt1Qf_@z4)8f<+1vaD6T3#hD4Ea{HnWB71e``>+Z)N1y37=?gT$ z<}iR;;+X?D*425$IBAcPFnsqX68CFwD}BR;+7fVMU1f$oJ%^0s)@eCxPplB!-(NI- z^dkSBCjaEB4kkn$_=q|7@l!FVpykmV5J!8AlMvkR91{1w)d$qHL_*PxRmB(Og@FTH zM7eehzC-nr!FAdn#7NUT3P=Unqb5g>>=a2H`@KPGA>Nm@}}FNwqbBr9&?i+9CW6cFTn{VW5+H}mJ)@$L1<+w%IK>U{;w z(|+APeqT>FWsO_ShFT;lA&g=}jd@4Z%Rsq%C1N|q^E*oV&{U9EP_dEF_^e2J)M1b< zX%ims$&u0wN(0dN)uY0`fpW}M90+l>2Adq1PcU|NJ{+_T09fE0m?x~_3GsQg(C}Nw znrOE2=Gd&v(7`>-G(*6vp=lkXiYfQm#HcCz$qzw{@6b4$ej59J;$W(n&5wRV|CbPI z(4nE>V9oZHfY52eMkO-9r!fj_0twtvC1sbZzT?#vL5G9X)5Ah(gvSKOQ!^5~!#GyX z*Gfm?HD^l=;nT=eBi$XQp*E9akn1nXAj+jUI90ti_a`zJ>GM1JsA-1C=3Wr+sWKC$ zkdY6vSY$7yhH-rbzxomZt#$lyq)}ltG7P=6Ix&?|f|62TO@$Cf!Mu3Y=?=TE!2G*f z@3dM;**lyZDKdG@9P~AY`QG*XP-~586g(Bq^Yk_;wb}B_Ja)o!b%nVa*CDLM=b_7} zJBxa=mn5PqV`X?&$Knuo1!sM;Zpu8(q$RppOA`%9q>NPUAhj5KC5cy2L>^TU<=<*| zB}#90Y6W!a^Kp@qvuJj62{Eg5u*93Mt5Ur#T$=7BQN48dCozb}qG+5)YVHEID{>^$a++BnhfJ{~7v96zN&Qi&Ki1V>>21J+WlZJdv48KWME?jDa`u`92vM2>0!4g_du z0PtxSTXgoVaA7@4YS@u!4wRy%ArusU(-!}H@hBU=%JXkLMaIV~U5UPm$GE$kM$6ZA zz8z>^{|y55YW56|U_@byN(6pg-*bLP!vVpnacDhFs_B~-Cktg_vbXc&kSrI(tsy67@093Bm@^xNe+sH>x9E;Ulbk^#{Z<#HgC~+l`qU0%VcH?WY2h4)CQkwxSzx9n zfgA96qjrThTL8fy07f5n#3mG-gl&_j03GgX$LPk*z2|*(! zMnpkL;`;ZY)xT(q;DOLL`-eeBXHNZ&A~75c6?n3ARqJ1g+rW&Dqp zhfYDqGHr$QK-mTQ#P)RG1v+{n>l;rRxPE6;7c1hg$ zK=W<=L?Vg5b&fX7qins95PicoD&wchchBu-SFcfH@dCxa@6r*-R z;zzmxLsU7iq0WWlp}qsUYaxL6Zt@69et^rG3%bOyn@XgN{1Xi};vDuQxfFDEGQmnU zJGdhGHr;CkklQj|p_#yJRDy>8r1Z=e+or1~<0r+-HK)|tI92MdXh^;w{f!i(XVP^V zqxZfjbq-Z1YN5pqPcg@!jOs&p{zu(Q1sytQ^wroYxA7!u zm%O^>c91ar7?0zgtLQ}*2~XrbmRECKI%~`oyew#&FJ|*g6uDb>ZSU_UgvMqdJi{{# zCh*jYg||#b1-`wvGgUnk0A0KT0HuMo4@0VJ6ha&0fNdS?x|q2n9Vb_-%igNc2wn;s zt!#R9mS~z?c%1mx+igqfLz2AzZlK`P=H>gb_Ih@<@bS1o}a8O^1E6_ zZkwr_bli|EW)OKJFaHEk1K&!yc+~~i$v1c+dRPr0K@F=3Mnv6coCZ!Sl(?G7^nWKs zt!>$rFDoHrZO?22A!yJ=N^=fs4jaw2Dsma&lZgPox*?ulBNzHzUr9y&YN}l?7~v-~ zC>_$>45+sPf7i6CRl50fsw>AqdelZqmUu^tN*BNa6Zd5~wTidV0&;E}dqGw_##HU^ z-ABaQIog2gSy;qxDI~d*7Lf_NJI^KfXtTE~@|kkc{l{=wRBnKFNOr)fu1V<=XL9-3 zeQji0e%k`GGNkkHu~9*BNUU^Cp!GO=Y28sHzzNi45`EjZtShrNw{en4=gB6d^rqEY zqMVTzZn3p-WUQH(L{~DcZ`q}!;h^TF>O#!>9k(YeCyTHd>v^N*EZ3D6fab*rVx6U} zHvQQ>216R!PO3&>!b-9~svJM>b;T%RmgF>g%VZzza_N{eX$V&Hf_E#3A~>}PA=gPe zN3~f$U9peE?o6zbfJ1oqr4y(rzXSm_`8p1%mGYd9Mo@8yxaY&Ixc&jyJ6o`5uFZgl zJk1<;@Xyb#X^Yu`ycdP19|FJdWh#S``(e@*O)B806ocZ$9!xDzXmhPW7PV8$#(@d1>03+ zS>f;oySNiaCFZ&cERB}p&U!btaW8@jd^snD=Ss_h+A!21T9>9Yn1j(SrF0xlfkCPG zd1nf6#a7GkTUwIqD9LV;g}R8A{~Z?DZ6;T5 zrUBwlHI#c2J;tzu{C>@}Q-4r!Jl=@6ivEJGY?9wHn9^Tfc&X(CTBcLqnDNSUx88&e zdb}BAFd=3ao6(DQMwlrm3q2XqX{PYARf`Uu|Q(V_t{2*Ck zRj9D2?gzhVWAjPR7fS34d7)epeK^BYx{lo;vU7r%FW#THJ+zCeK5RCm@SuS6*3Et@M= z#e(|P#+1R_#P)zngNd!GGzpn5uHp-#VbFfl(Z-~Xxh5HzeTVN+|38er5XFy_Lha8l zHIRzPU*N0^LSY(CVwfhhg4pjN)#zLT4NNAER2mLX?@5lEIP|FBmfYInqqSqU<;>!v zM{(O1&+yjFWgOb)&Cmh`Ih*q}hFFHhRLlqpCcfOcv8Xa-Q8-1lAYj8{<51EW=MeaO zTg}Qwb)m8q&Ofxi`Hck=NK&(UcD2KvNsez^bNs%lToZ?hJ>#?dohMBy;<8=}kmcz^ zJ_3JwdkQiXR+(QdI5168dT3(k1 zIrjVay_t9XmK4J4_Lx3l(UtEG{d=6(1Uwf3s>a+NES~nK02%Jl9P%MKp+bxjxwchZ zgkaXFck(t;)-{jQ!r`($3B@tQCm5MNbyFIg#_W+`oDbK;K1vD#)c|Mmpkdwg{(a^J zAgkVn-oc4E>s;TfGfAg~QNf?5`+Y2c+Og;tvT3=LARI*zy+uIY3fL1{lDxl&p-#xs zI2B<51lSs1p4bOpUM&R^uSBQ>1JzVw?VecC*qXo-gmC>Kzac67BL%Vyt4h5TWrcan z{)BY~K1~07NeZc)vEH9ydF$Uj_7kIL?uzLpXx-Uaz(t8V^qSKEGBaTuqt zasoWLA5ke*HcrI!Hx&i2oY37Ny<-Vju8Tp8p)43MI|1vBBvL#CW77E2WOL(}Mq~ z%;||(nN!n^%mzg~ZtVDG&U8)>4f4W+>H^2d`gUB4j@XWQV!PIntw3YXwESq#bjd_I zHb2GX)Cx5H?hRtZ?_R-*qX9_hWHHk6H6JmP8hx=YbHG55*UUhWhmFQC`W1^#bMv;1 zT%3HA%QT5zv*aq>0(8HUe1UyKfEiO zQ!NEHAr?(GZY|$UTjPRC&84o7+^Ii<-W`*C;M~#dw{IG#Z4b9Q{_jmXYl_v5_C zk=NIAqnmQ6P$CtUKLJaAL)3vslWdcu%=dhEJm=dMqmG<{;37Hj7VN;k&W4`#vZ&w< zlA_Y=&iiCE-PZ6Hzy;((1q0F5+}#9S0LJmHS8A~vyZ*$B0Y?)DlRLQB}9u@K%U^8v0Zv8*#q}IgL&STkNd6(9=%;Ev}-t zoFIo#&*BV=;5uzdr_e~0dw^l@iWYG~wI}+NcMtjXBQNv3c=ctWwN{puzY2^&PR8Zh z?B}a|-?Wsx?eAojjr1vc&Ye)TykZ7>;*Vuay$e~CRrKckSRW`k4-RDH&;S&XT@i0V zQ?<35OG9x8_ZRVwdC7jy`G(?UDgFeB>-+2F84#*Aw1qi&O6q{nUS^vy_wibW2$q0% z4{jFdS|<<6gJ(8$4KLl9%McCcOPYt`2d@{D6#v|s(KSXD{CJIrWjK1D7JM+vhQBpS zpgD+GWyQ!Ttm@s%m|gHddD?{+0ymsx+Z^!F%p{%eFQXq~`q$$&}EY&(ctDY1dFA&wPC<)f}`!B}P zDLe1qs5|3g_?ly*=CVvU*-?W%MgNoIXbio2mpY-WP9|Lmk%LyS`bGX0n!#34upMOe zQ0jY{)=@0i^?o_>)^A||M3jhok436Y)@2@L;-t3q>m`bdFtiq9AefTp;%gx7X05g{ zOO7RNZy3do=Sl!VM3D*Ur4%xs5G$6rEwl^RQcK3c=@d9FGO}AUl|o71UQGEkyk=$e zc6irIzpq*y*wW)Dk;)Q)6Q@0JarOK0>g(B#wOwpew@=q5=Tgffu_K33ks}Bb#&HPR@b9{TPE_uvPFLASWAWOuAhYUhv!y3$xCDHHL7$v+Pq2tr7MmevmEIfiv zXkNuWkrQ9eA`GWe<^=`X1=a=kNn6C|{^WCV@h(%B0AzQ32TOpL?0I4@fg%l-b8})3 zjqkkGI?fRPn8w>oizppZ*j8#DE{HjT*x_$lMmtd@TtG=!JW$(SvSv?5@5^XgDT>nn~Vl+H0k*F0jc<5TD z6;8kbLkJ50HlKeBHK`c-AzQ$+UoNJYjX(0H!SJ(S*V;E^CDFV*!>m{ga9)(a9@ahV zJL^n3*ZNC?4x_ORdgbuxMjP67%g)_mC|<$^tHU)W=-;X3pvqe`huOXHdCpgZe-Hjj z${?SR!SPiuI&npd>+-;19m;5l_Z+?f;^@iAG7j{s>H)U`wHEN*HQud{nNJ-1wh*F}#IYQ~BoC{EeQl26xWN@=U?DUJhqS8t!*i&>p8~ zC+70L5?K}3squn~m9DWqOPfN4%(QqY#FZ-ffaB78&I^(e&W(IPm&}o1x3E|rM|LbP zl4!&69#nWtb7nak+M-><3^lAL{yPr^oiM!v%ifH zp(llbwl6@oCo4{;s<^>nY%a^TcxGqDDqyx<)_LOAHU^x3cP6D)g==j))^IHmEMO9<*q590 z!kW9WHn}Y>QjchP%n&Cmg&egYwsnLYb%hlW=t$l|{0(Mq(uj~`!L^$|xN7BSE{6N| z(1nPd4`9Y=bwWo1Os;I15+QR%_C~O?H~^jD?w-NIXtR(xVHHlJ2@oXbwKLPC8Q(i8kDvXliC~%m$|8W&7 zb+>T+GfA0pG?|ZLMU&C{m#*d0;W}$0I}i>d^QfC+&*PxmoXpf~N)qq;qE{9w&VuNj{+e8*YhgZV<{yq-U;16(6fBd+lcHl=4RE<=4R2bF&TH) zj!69&H!v%G58SQ21(;F+iMf+J zeT{ylHxedHv%Y4j}Zl!vr2i`{j%Cj;9(^jGRbSdFKsGpj$V9h;EFT zhSG^+$f>T)Ce^%g$7}7WIgTntVJo`RQ|ciaRJd?Qxpo(0_^zd_Xy_3TIW68oEE=QV zwXrRtV{8!MWH23a9#YzZ9a8R2WefEk_^KQ^?NOukUS$gnH^lg4hNx`82JLWr7h2?W zH~UA8UuX(7s%m^Jvk1ltly--yETFz9|1eZk()SE#=29n zm<|TtuX(-~ag4LyOkcWdrjIG+5tl$O1gkdH+aaj%z@?pCsEE_3;yb=7Tw7@=BvA%Z zH{TNYMXY9JPkSX=Ub(tj+?wigXqY9`Ps&fGHGP8ZN}{#lHo7_+zVaE6AI!$Nq4?yp zcjM`GX{xCdE`&EQG~w@OXK#n6 z7Z<1h7+#$ZU!T7`eSJ2(yt;Vx=I24s7*om^@R`usvKjZsVT$bE+z^MG%(8M4Z>8E+ z?8_!AEj!%aPqqa-Yt{Po0b3Z0LxhtQ#P38JfNa+%yrv-PfH;z79vUX@9yf4{T;0>y z@*$h7m(oz<>bZ6{E(q8Gx-`F z8-$O6d?L@>Mh1}}t0#s-C9sBkdcXjVT)W=fwCfl@VNA2_cq`|Qk5+&W^@T;7F1DPO z^Pv0PP15O+7cEfzSlW$07j71r`1k6OjS#q6zVeAYFq ze9RQglu$Aj8l|ESi#xxPBMSL&=OvHvCmjIaq@;O|Dp1|__1cghFkMJ^>I6lT?PNR} z5=wTjnMmx^V-q`@o8{07^qxe~f4f0h6WjH)`L0u1q8!WVJ9%G)V2`g?V(4(g-xJ6^8Snqx4Qtf$HJiBodw z2E&Vh7v{@pmzt!jPKg4RGc2`*9wv(l2;f?L&n-DezJz}6*TU1b8C&f zVNBO&G;W0RoI7iYwlrP^lOlFw2Hg=$e6{1khYtf5epu? z3s?jq4`Y^fs=;H0E3H{^eGFxAaZE=X?m=h^-3TLhgri4%R&r;Zul>LnV zNa@H0VFr6(DB*&gb2cTz>Mhb?92Mrb-gg#Lo_)_h^&;Aqut7zQkgiMQVSf_gn#LC3 z35m^7=L)nauQ=MqNXU?5M(U(p6Y}|(vD)dz0-o4xL=TnF;pGek+WcAvMcT*Y9DBPZ zpi}wqHp--J`t`PG?@H78I?~>?>cttk63SaxsdU|uv>gm!)t&<5{9UPkb1z!ViM7&d z_SsG?SFS)Rs(OFm$O1q3+a@(7XsWz%pB}C{!KRozV-_7cw;_AWN#I`?_D~&4heL^r zRurOKcy1$~Uzjvb{J56~3juPHbMposeEOL1*)#lSsd*BC2MZ>x-e@56W(D#F)Q{psS#-kkr*97h${3!xF{vd0c#PkzuU_4FMAb zM1jhYT;X@WT?-;O?dnwuwT8F$gl;`YvS8Q zzV(Kz*_eFmV3eM$rWDo@^tkSJ38byJ+~E>yZ>@Dy#z^&qr38h zc2foOPN^j0^Xa}uO)>rJlPQ*2nr5ZwU7w=5_g30zMJFNl6E;lbdJ3;U9oXYPaw*2^ zOq=D5QPArOQ75#JY?Aqr%xv?*vQ~^(tGpKYBZZ2y27ml=`gRQlA)f35A{ozey#Ro- z{DA+f9LzuknZb8%Rda#jvvMHhFT4kO$sE+IsZGup(CuwDHzuo@2A{H)>cTo0y!+#T z;?;$D1dEB%Yq6$QzXn@8HfF2&!tGfpUc2koKI3RWZ3hFihgS}!`b-1GdXB3greqy0 zu@>W@2pT=I%rWKr!j6t;iUB);t-!9koX_uS9U2g7bm)FZ(eZHIp_Be`)JJ>MOx4)f6kc#_z zw7=N)&bPn##%}hvpJ0DYV@c}R#*OaLb@Og?uht2$WvuG3Hyhm#vgQ7+*z$&A7NAJM zrpz=#LPN~eRmV3lzlmjnOK}wg9W8wj*)xhnJ34D4j;dd81$a)s)@}!mYL7U319dg; zQPCT_IjTnX8j&LFJNt=+PpaPRVq%K-sOrs5r?$URxY-EsuO>zs?c}VQInD}T>V1^( zOaP(R6GfIb$!^&QZ(HvO;sPKYK+^SoBS>7x759a>2$6b;i{97`Bk1HJuHi(t#)$g1 z$P60ICbk~)o>!yUKpVooGJ|$K0Lj~^K<4&2v)SnO_m-x*tpFtGHoJRDQ^T2R*-x6LV)#_M6XH|t zR=>5sG}RCAscvsqd}>3&RWh0qU3mY5+^XAc2f0vy~ny`4_i+8PNvu0Lo7)S@a<#CRcx0-v) zqx+qJO|Xy2{=4DP?R>{I9IH!o8qYM#DrF3FH%v?;QD?(c+`5*STazb#;1)C6E&^zE zn$3W7pw($KI|1tI?vZz()(Wr#{?2arK{q>rQEcxn7(&0*3o?X$v(wmP|8Kn!bWPS9 zyArO=Jmvsi_VrJ1Z)!K&^?+}--E4ODSJwn`3Waji>U(I=2kuSTsV+)(CL}PEXtjF&Ls$Z?%FkN_BFZ?=Q7tNQ<9Z z`@0f^MJI^_-`ommuJ0rfq}oQK7vQn*R?r*W-6IQ6y;Td?4EQ^{vA%WgvtE4YY&!iQ zM`?80fwO7tQ#4+yQ4gL?qy8}RFKsRE(B}8BiKKt?yFnLPtG-v8-wAF0u7V*qB(0<= z$sOGIW+Nm=oAscdsomPAjc*3!D7~{AIojGyvF32vK%)_iXm4}_hNJdgk$*cR7uvmt zK{MG3PzH~n-3SJXb=vh_AdsiMPgw=6ZqVFH@9gFXYTK_;7CM1mNC3Bc?SKN>+9!i| zyA~9{?VZ`SHaEjaS>Yy}^wFvZvp!ngzy;{+)%Mqe#%p?KC)?lY-b-PQ(4lm(o`U~S zy3N3y=pX0&iQr*%8?_*a?bd^dQ@#3L9acYdSi6cg-cUPsH?!(6w7ZJ%irajRM}dzualcaUL5J*uFo+e-FkpeYw0F3@E*MNa@X# zYCCk2o8c5@>Vir#@rU{P_3Qul$APJ-7QS@R-@}>LxS5KNdo-0Q$ZW{c6 zja7>pa+>O`Y>H`NwO#7oqs~P!XDszk7NG@vUzp=9^4k@Jc&aFYS|V={CEu?WF}* z&0JabAza++>a}j)tVUJc;P3Gpe>7LIl*$o>$yIOc`RtkJxQ2M*?-%bEKtlh&APypO zpo)pEUM~zFh%x+ee521MKr+PIJTDwZBbciwtbh;TtEzBc&jORWge^F>DB3{sD#Oy@ zjMj`A!1y~H9V`0|V6uaC!tdZ0^=_oST8Oqs2PuIi?n1Z{W&XRG zsN%<-alL~-8*%MGQQ0Xy#bT=nW>kQx0#t30y^L1Vskd_45A-^M!L0ot0jn&?s@LfZ z+I9LiVikB9076*N3{*ve<4IK5ubWE8F|(tg04k50fIL2txCG9cA0L9)myBkkydiCe$n_YTpv z#6u7MoMg9ydN%h;X$5#Iz}w@th-I^h)qAx;n_I=WT@2n>gR3@bOx9{NjMtjvJS_81 za>yoDqPWk-3gGsLfm^%LX$O3L@K!Tm?C6EOpGKus~9CQ;TyCwM6i}Ihh zd$E0`w{*v!kZtYhlUz>!@&i&>0oV$_mIAP?7M42IoTf$CF2fjGz!Wq#*DVWqk;;^3 z>=Hg@-zm)Ebxu=R#CVfogjJnpf8g4~;1xigBZl!7avck7*RjMl(jv@)_dPP?y)VJn zT8P9rR+8fnczOhHX(y69@RN1tll<$%Xa?+C%jSP?(BIuOKxsewG88}maj(`bvE@UH zc6$g%@t9#!_-WPxr46DnBc;aK9cuMfFIau8*6iIw_Of#wQWalo1!CDc&0R%DwKgZm zC%&zb$xfTwW~{r`k=b9HhYa8Uyy?R6qBfH73t{`G7q;+KHq!yMVN@A2K4CK|Y|W)j zQiSf{^&%5RbI^98cA6+ikB-(D2xf+{WI${a3!73+bX1aNcjc-lJST|(0h{>%r&aLt z3M;i3Tz^27<$H|Bfn6MW_il(=I;227G5^8<7!9)E9qxQd-pV!KD}PWJtZa10CfZb8 z%^tONV$E~rH&o!(`ko@sF7L)}5=Wv*qmqK@f9-xC^RgL=n{MZa1>#z#%i|7aamSlb za5J`KKWRoqPq%%Y^3t=RMAngb{(0~xI?J4eX?Avcv2bWTLn?4lfs3|^i`pJs)ZU1T zN^?|Su#4ziUB0`#n~#iHRgU+eR94u@$;lG~Nd>mKFEG(<1(K<|_0FCOpkOL{d;h^i zqPx2rWbq^q_5qPa@}n$ZMgcSS0cLbOFr%{(W*}KtVJ=hGETHCc1-pYQC?-qXk@xOn z<a}3kk$NbE zVqfG^u(9o$-U53AIuhUD-GGiKdb|$^JJKC!0XquVu@A7L;ej2Ejj%)b_L&?4q@v1{ z->o6+h!Y>C6quvH9N92OsIpzX-rG~Bez5-Fn(BjlgE^92-yH#tr+Kyy2sl!lW`Q;e zw6PCp!xPrp*c{ec8iRB*=1d9s43!F_`3j^_AdQSjBUqrd-e@=WR2l`s2OEzd6m;{| z-4)7slIQx6!5hg=vOpLG!q^9d(efaS)<%SJtt|w0=81b&h5gt6_}^ubgg=|XTTH1^ z!y&~gz(xT!vVo0eE6`mbqKDwV2&F);OMJcWU?bHn-VyG2nn(PAxFh|c77(O>Ao~D8 zJUJ?j%{eN!AoSQfG}}4(^|rw??v)Qk_(p*_GGdNaFg>!~+}HfbMj(r!@d(mW)?eEl zfsChlrVj`*5}aazDhgDQ4OQ4Ty2TWIs<0c?VmeX@Q1y(BX2$rVm8Qy;TNb1<=ro+F zRq!%YRun4*V->j*rccQ;2!}Bo>9$oWvu{oq;N{`8)AGFOl*MAhTtEMT>*+crxx7D7 z*QA{(r325a7P%=R0{^2luY#&3+G|MJdly*<**NX{#{64D0gzBq!2{CEXalO|GCZ{$6ahvr}A8jnd{t)>h ztzccw=B}DIccWkcK6XS|&g_>ns;pRRbA7U8w=Qb%dMokZo31Cvq?NtWszTTB9*P)k zzWRA88Lk)laS7+OZZPA#R&Q;()SboyRkI1UWN&uvv!4|{c1(+ebin6vT;}vFYHiEY zhznP!Dut@D168HK$Z0Y1_7s#>ZP04Do8PLf+5GhjWob9kQqTj*YqLqY%)X{;DjOesfR$B%AH&t3Owe!bv~6%7 zd%zU$QYdt1F!|AyZ0f*I-7hQQomL>dv)c?sKt7nEGi2#pS0&`W zp;I@?3e)ymN4L*zc8jK-Hi_i4_dVQs7a*$uS$hYvx=m0rydbOF^q?TT2@?Y@W}cfs z18fIq6=16XTlWgKdfk3IAW3`OZosSD-ANz#Op>%4?6OAh>q(PI zPQdlBXI_A=0(9*k=;{yJT_5P`2SAsI)XjVmwg$Hfv{j(3dqZ3OS}V{62HtAa17frj z5~JOR5~KZ)813&7+Ui6}-fpDi-4?&uG0u9@1dRx#t5@$f1Ku5YtG>71 zoo*`_s7&t^4#3?(tfx&Pg#)kvSp~@27Rc&1{SH8Qqi_Hgc)7o4A zPQMqDo4vvTxIU~q~r|4J_u1^_L=$I1y?-Tw|Nn zt*+DOz80)TPow-l_TF^6Z6sS0{ePbVsl08IPKhEWPEKbpr^{L8UR8E2+g10Rm39&k z2}($l0E-|ktJ2DKe)R+NI?vGkyIXz#=2*Mm|P9r77ya)`xB}0Jq&-0YHO682%g%0J|bvH^tq* z%Sel#%O1cL>`_thr113<$3sppDhY!_O})q%pM#^%(r%D% z3&EjVCIpWj3VqeYTQ^BkshCS3l3JM6!mLIl3_y5<|4fkhe-#By&TeIG?Aa6!1Lqc^ zr{QR#Xg=~7@&+)UI{=W>Wga%tr`aItmu7xq*s8|JTTFHjFqtyexUzf7XsE}v=2+*o zrc(17i08C2>T}2$EQT5OtQyqa5Ud-Eid!n;%cMOBlmnu>6xn<90O_tCY`YC4)1tQ) zy_G<3>=d!sIWuhju_r-e9-QH<@UBHNzLnm=Q`;*;@+|UP(GrUZU?vabi5ynW9$;FB zQ)#_B^G5=lVr?Ah!_kWmN7BN<;-r)#fX1jw$hSlCZ5M^84J{`tYyWa1 zH5WayaZ}jU`*80V&ZbV8~5-POgI zx5XZ<C}k zjM{HaNO#YKbk8ZTH6pb@t_5<326F42cQIYNYhq;@>l1kxnwiGB09@sAjALEmzjXlI zFU|dwLvPt*ZxP)6Kyd0<<3qvZF{eipjx%yi$C(JDl`=b_VvCub@Po?WEt|lb0&pTf z969OtybqCbd(qpyrMjBH?WT#PMQtr=yH%*IG;C8szby*fl!N(h-8u8y!GalE__inb zHs~uVU)#4Y^ATsw8$zn8QiXSBewLtD>ft=RYCW;)bL*3U> z0M<=CGSt(+%<%;=R#C9U+tfJmcHz8jDIM?d~Hf1p!|z z^17?xk3;SfO3}u7IWW;HzmERn$i9pYje#886}Lk(IC)nceaU?_!4cqxxZ`&M)T!Ix2SgSd(twCL#; zqo;dER4s05anl39O$kYokR7&fp|;C7=7$hR8OyQI%CRg!B^ztI+c=Vqgl!j(jf}w) zyLE8C7XU@>j})$A9DF3JaebmHO*^Vo(kDR9T#VQ_J+H!%od;83VIAu^`*>+(AQe?9 z=CYE;VWq%FSt)V!&~~;ST4-c1TL91kfD!-z)_7+wC404|kdrDBcOe-)V3E~sxwYY& zsk`Vf$CV;V-`#Adu$VTG8&Un5GEw`X>erMEgM=bIgAUB)(v$uh{_#xeALqaTk@13Q zea4-n6a>2MV7vUplmmyv(Iub8M{%bUG>Im(2ka2t%))sNv=JX|u5!K-nwB_{_G>Dd zI0KYYH=4q!8~h;EM@LN0&A|&zl*|a1C&Qy6jf)FGjWY7+=ppWTJ&4ixex@gWN)ZYz z=4g!$#g7xJ!j2R0OSdxq7^o9n5Anx96<`UH63y#jE;?u4>GXTOrR8*cD|6lXYJZi^ zOwW?OV^~{Ny4|ORK#A0vE*_xiVm#z)T8xLhhi1|cuIo3afd*WmR`S6C%ojofIW9zs zJ}S+nP1`qO0_o@>ZvP%`L>k}l)(Fx9lDl0kt|-nS-Xp3u(bWJtz@H43G#sZG+%(q0 zJ|(NiwP5J3JDLnsl{=5aN4&LvI7;Y4wZ1+q>lL7Ku`1+)15}Y4iIk!mQ;K`z<@@A* za!*OEW+)`wQ%eKz%k@W;Ai|V!ZKCwPqaY*V&G2>G2Jj8Yk}AUbEwhuKJRv+ zX+tje@=#6`TOHKYj&Z&yqa}f7;#!h?Z~#CiDxrbvAh1%jNbCX9T1`ZDbL7=Ru@;Jz zfMVMVkR1k`4tl+wwe&1QTA5eUnI&zk%Z`%fAJNS!Kit`UD@7$Hu@!Z`8IQ@c=`ZIh?4vMtlPlvCPO>D`) zL-YA&N_w5ZD!?W|6Vvk4^vqxT2Aj!hUlYHC;^$CgX!$7h65GCT4r4w}@M_ zGEP{EF29l-6^0ed(D71J)XXrqmFr@_xvDBVda%4#)0@5Jh#TgJRIJZyvli&LHrEEt z3cFFvd;ouT>z)V3LlC%;nm$7=GdwWzrMsB}HVD`s&c>4o;qskh0<$>Qywkzyg{R`( zsM~`cJMa(Ae=_-gH_(3Qbh{D6-pCDi%%TcoXf3MuqXrLg>xy}r55_zO=qEsca^omq z%vXWN57H1g&}&m>RUsr$g!#3b=jel*R|RtL=m8T_O`GY>(@twUZ6Vd|x1B2TFk(A} zzmm4orFrGd4mwio&mWK#6 z?>~LltOE3aX|V;LE%?0c;8Pt<#v%ArM*;YZaV89S>MdPz45Wo z4&xiw#2Odpps1s4q*;N~o3dAm3Nnv{cYgJRhER9wg>-ij{Vf-R0XG9E9|k4YG+#bQ zLTu4wizdsVNqb>PKvi2p>e9?~P%MGiSek3kn%6~+njSSS_z@RpWK|Of%o4_l?a=ab96ZFSk2Ki$x>@VCw?^q(7dYtI$hi8(~m9A-T z!(8YYH-%o~M-lsH9EkpMP{_zO%02@jZZG^k9d~O1=>7I*-0O}n0^-khKZ2Tp&AyW6 z*23H^w;vojRDbU!hsb1H{*H%Am)O8dQqCR_ei{)LhWdkX0w4{>96(YN{&~vi<`I(4XBO7ev3`S9DMThXC0_R^ zRc0gfIOgg_sDnhkh{$^TC7t5SFZXYL`FW$KHaf)e%cA9%lUbgxMG$e2Z)+6n(6F!b zJ2dR8ci;#y;CCpaz}%xp4epU#=tQwkxKiS%1iSb}$&{@U4Ce*;c=~Ah`@V zDLCKtiyiRxOIG_m!uE?DVQa{?^n-5#EVU=!HgxV*ht4UOg=`caw}LEWw<>I|4Vil| zRsF_&C4uEfe0KB%D9~>HEXC)CQnGT9H5W8D5GgHfl<;SGPyurfgp6wD+P_)KX~X4O z7**;5!2)%@T)LMiPLLq%8R)$wEIf|E1NpIA&hgx7E$z8ApGc3*ve=0FpJ)?#5OF}k zJY5S%np-pA-z7SKegD|}p|jd;Y4wST1Rue%XSbM0j~<&6e)02e^i-1jAG;{8@I(0E zBifIJ=m*eDD((?}cu=h4Sk`=Lp-l6aI@|J}d_L9sPj-szEY~($_><-q9-I4)Yc8d! zWIM6lyUSQFxi<$e=ocV}Jz!1&Z58zp*GEIngH|8$w#sqBoZOIIsw`gM6U8f8H3=HD zPmV>llF&5O5aT9H$>RZ^R|`JjO#Nt%<8Ynwpf*PnnbS1o0Gp#~{N|`~9_SvZ4{CFS zuzR5HV{-~v@5_U#qg1ImNJvfYz$GV2YsiD!zxVY{S+c0ShCDcgpj2`NrFItu}nPP%q~E~-TsgbPCY{%YOoi0WuIOqn~@Ac{L-%Hw5 z8Eez=U)O?i_? zBtW?oC%k7zR$ZF{OxmDHS{RQZ^fqrsq!mJr1ts{=gC&xhhPNBp^i&j=ChuA(*IME3 zwiPZ88P&l=jpn!U&2dk14@^M;cJZ01oV~3OUZnOlzu(rxb}vk9V_D-bqGXwKZy6-q zThyCYj4B_Ar)F5%{7#zku@*VIsBu+Un}6?-HSGbASWWD8FoJ5WW-Ziupipa|j3&Ao zfR+JCG969D#FCaB7I?KVtc77Tid@#XM7{74@1Yg(JNB<$)SK0k1I*JA)sp0c0|7B% zkyl+6CR%HVyYCS!dk`d7^S1Mb2&{!^ElfK&Ohb3c-9Tev#s7=onF5##^fHWR4#Sw@ z(5ZDx2Z=&}3CShE;jMrX3NQ^Cn{6}GKY$IGI+}g0cr#k&CkDrA&cN_jsl{-2xxg={ zPKRSXu1v=XD+lJ%t)ol@Y*#M6oDVNg2X8e=ys6qDB3lWrqCh3@Nx~cu1E$F2qlZX< zHS2ub61r)jT?_5*wgs+;0d7sQfzX1CAsih01~`O+<49(yG7JYFm54ZK*bW!Nd@zz0 zx7~*+zcY(ky5IY&pSCz$8OMNQ$;pL`6iLQvGhH%zTJPKt64+i z#_6m@YAsSLnUM7ePNs3#{bP|$Nu!l>|#jCv6u2w^8+jZxy8 zjs&YqsuvOYZjo%mCc3F|%XX5oY~;)Df-gJvvGhG|*biNNjBH&GyXbU#k;cOXzZcn{ z!i7I%I;f28-b;~(qLfn*L=O5IZ+(G}`1Iv+zu~0zRdhHKd0dOrPf~*qLN3S#k$*D1 zzv6or?h@9^D_e6Q?(oDjXCj3LuJ|~y;zKPrHJ5h#mpo04Qd0#w(H%QKM){rYvV{Cj$V8? z!o;1wdecZ#)1WD|$9HgV@WeL>(+?k$V?UPW#=uwmpBBjo1cyBa-o7?@HJtKuKw}}> zqp3%>X9|0Fr=wpJv&n>nIXbE$X{WhSsVY~@NKw>b-nE-tSyQF+PbnuVPH7F)L*BcE zRa6ec;W@E}BI;^YV5En>c4xY|3*5OSyV~X^1F5FZ=}T4-*8_Z z#Dmd3)L)#pE0$0bNdaL~aL<4p z%Al(9hYqJRbBp<2&O6vrSY(`6*|HLr7oVBS?l)X)a$P(ur0$n3(JeVSt7W{>9V$FG}2B3fZ2qPIxofg%yT zKj7>Z+DO%II}+jRfy#R;Hb3g`6Nx0n$KIfcqU1vpULds)r-e8z#JNKdM;}EYjy~E8 z#F>H&g%4c3PLcI-I@THVGqKJAXl%iONxKy-Q=OJR9fx`Kw>gwpW-_gjtkAkf4 zEzisNpjaoABQ5A@K~D>MTF_Go^eFN;0(#)DMnDg}TE4Koj$gt=4004D;t~RnPgxDd z1^YGvOPJI%7ciWOWD^jiC~9*cNKv$cAV?u;h*}Wz071}jG~gUHhXX~v z7IC}RtEY%u*&paB;Hkn%Dq%BPKKe+Cv=%+J=&40d_a@DBVOYk@Ps5lD^4 zl&JtXP8{gH$5c0miyUv$-RvpdjXoS<)%%z=XgHF`xp{v_4Pc?t_g$l5!U!}xM4lUQ z>fZ(mofc*7dz9i=vldfxm zwHB#8G^92dj>a;V2V+QTyT|lqBBzY5-+i+DqM|IH6yTX zFL?lkS8d4xTj>mxNDBz7%_k(l4d62Js0m|}Ji7H8P+k%=wNK(J#Zk$9YAkzTpt4ev zYu{HIs0U*k+Qv4UV2effgGE>7xsjVciSgQ*y}h(Oi{el}Gd6)%qtd_O6AHErcuwAwkbC@tQzd z+Mg`x%H2IiH*nM0nakxB0HyU6>ee%BdudsYRr4TW){0KLVaKr}(`0vkfpTeDmW|cySzi@tV(}IgQ-* zN|dE>+JUG$!#iNsRpux^_HfCji;cUQlEvyg@<$au1ubMv^t)Jt-KU4FhDUdPy0TWY z^%d(;Tu>(Vq@a|{9gen$&g=lSTC!JiKUd{qA}@%O6_t;BRTQOP4k!P11oNB1MnN0! zA$|~cz_rdd-B>h9AY7whU|}x3jQdgUanN6v(Hq2bG)@RvllkVx|V(-^pkr4tO6O2T20bwl2((nnxx&pLyGeBm{IPG z(^`Vs%fy0qT}rrB?h}Wy@79K8SmYF^wj3K!As4rMa_b0dbW&xF;Jr-WH@bzH{w^6k zv{#fjcSWhF+K|I$sy5iW7hE;fKI9qEa5);EySG%-k<9Og&gDKq=lO=+q4vKU zH3dXdJE)DyJ67fHU}G1YOcACYZSN;-)C1xB+0pjevjw~5z%INBbmVPOAFm|$v$a8{ zc7WQ8;#yGc@YWV_?WjM|eMCgc{Q+5I#+;&rSpeNh7_oK^@PMRFLJ_kDp<-=5gPiF& z?lyvUv*2yy?vmmR1K%*DjwXR*nps}=fB+a)b{bvJDK7Jr6ehpRcrjyId%B@Z*~+3o zam?q2P{#5g&r@5kseMAGC{;F)%f63)ry&zuj)o#!g>Ktn@L^L-TnKZd%cG+QwZD6C z#NX47recn4Nzr1D7JD>`J>&@Xkc(gsXm1A1&rdybyTgv?nP#AMTe#7}jf!wX?aRDf zYCIa>Qgy@~c1QA^fE($2yB~ycPq*}D5k}4?wxFT~71cn6x7`4x(A?dCRu}e{z$K?} z0*VN%Q037?>4$k2WImHuhYV4AVt<(Wg;#lWo$Breh3%JByNM4U{ut&0JcOIWS?q+1sD01O=pyc-S z@}6wD-(#keHhEIuqs;?3+!TX6Jf(YMNGof5;m%_#`+I?v#c$rZE35N8B}{An1Ac=G z9=0B=IFi@zBJzs7y}#TW2?yT_*D^ERfPlusJH=sRLnaj;dKG=^F zj_6Jfr_I^_%keA)K*zT+ihvOC;erUnoW9p1L#ohdnPqZRP82qEZ@ND& zmFIZrtA+OD_TW!$8w-mC`kItFm7tftDH$N24e1OP1;54E82IpP>CQeCI3u}V$iYa{ znSGdMF_DANTa^9l?FPjC^LPLL`o;9eH~%(${^I?szdwKf>douvPj6qooc`(M^FQ>6 z2Kb8kPQTJ5CrT`qHf#qU>A_NVx=-;jHTD?j6nLtK$_A*sLt%fUzL@_*>gK@UE%@h0 z_se7g;=-M7%*#&V8^^lrJjX<*@YnMh>?j3p&~UHUV-wcG9`pxw1%Rj$-{_f@U?eo`vd`VhU z`x&i)P%71yENIICy*OQLEGwlY@*(W#glIYHR7hJ>xYn+_UHmvoG1ro{^enPhs>VI; z=LN>^biu#~jd?(0ohQ(Jw-*eQ5+0#ERYU;nd3%nCcupQ0ray)>LAsG?i=*^MIYJe0j^^xdu|L>^*3WMOwmhQ&IlX~!`S5k&u97AayNVyG+=oQ0qKy77{+z#$ z*WG)NaWyWE4`2$&k^g%z24t&}qIQ6xJmBpB19`-ycpWu&;Y1Kpsq+WA+{9A>Wn3NR zT^nNkM(a8Icxh!F=f|0sPSw$zu*_kx_%fjq7nXe-7HTi4??sJ``i0}`8h{4E=@cIU zLlMF_!C|RZvH^#%M5bJ-gEH7e)ZI`nIiD&pMmW!LrH;!Wo(ASy4IBxhKL>?71{@`9 zp&04;kgH-rSRS2;n$gR#QZA4aN;9QY9~|Zrwm7KLViX=Wuok&UQphX)Y9r4Fox&N7 z>hzY5Pn(-r5hyFg^_fs?^NO@t@WOI@ZM89{E{R!ow?4| zv>k8y$+|M6g}Yq3m)0CFJ`MO3MoR8M;kflD)4TYKxi$(rQR#}#su$o*H2f8-Uw|Oo zB1fHGbO@bC=6t>(HXxl8aE<#pk>eA7HH=p#2y6|yk}P)M_e1B?!48h4t$B`zWL+62 zp2sDGZ`8h^`a!(>!9kswR^}RH!gh0&7reqA%ZglyZOiY`O~Jz!1&%-pK*2C_Z!)=n z&7VTclgUeLdNTRDIWwJY$3n+ve|<@>o!I`x9TzNr3xdVxT|?N?$2@_eo6Ea-`1BBS z)VaO~?hnB(9wZ1Njbio_0Z}+&IE_M#l^p8DEV&q9C7XGk3n%fxgyYvp8+JY$cC?cSm zxX2MpR^>P_L@DJ;wM%-(v_Ey7T1 z-a%`W^klW$NYy9Ehw<~YQqZ8LB{GK4Phtr}n!8rx1VlMqJ>*sO zFe}?&L%9a^+$?pCFkpqmg8~tK^q@AmrdQhmH#RdFp-4Kkc&x=^d%`-vE*&twPbFkg}s6P;qcMzJ!qIU4q#Tfg=$gMLqbsltl}C|u>-!Y>upi7 zV_wCMZv~3V=dS&Nr2Dyp`vyq`cdf-hEe0x!foQ5-$#{#kUqQw!cODE5Jyxl=nIYM$ z^^(weIY=}&x8`Ttx+I`T9!v(IwwDJ?dv|EOjp)wLhq-rXmbeN>O3ZUrbTq2dNe0 zOVW0O`T0b#jf0rWWs~Bd5R54+{Ei+Pz3icm$)2}7FQ@e`S&Ibsh4sfU^61P4Fhbg!ObCZeCjaBz-{~)CUnL%gotbNGX4V`? zf&Sg?_DpX|M>$<@H=Ph!O=Ca5B*Q69PhzuV-HImrG#Oc0g3{ixA5c z>Fq8fHhwNQ8#gHHea;tIk<~GmKOkac@YSAnGx}HO4GVhK1zQ7j-jHo+B=m9C61k$9 zk~+fVM#b`56ca;*5aKOR4Mz`l}{ShI#r^11_ZP!Z97@1FSNMd^nkWul&&I_WFm#dC{3pL1YBu$xh>u`kElE z$K3^vsk1yl+Kb{Vyaza&Pr5}-ljEVvnVQBr7k8&7l4U7sO`RVweJM*5A5Bj_NJF|w z#%<2_sEQ)uaZw`LxPZ_qm^h)7+&y|=`&RE(qnvC+`ok07TsI~lf+Or?fD?rz&#@4So7 zW9cy_4pOvX;<EWt>98AlON2rp6Io0v$y+u4w78zC7d;b@pYI&)=gpSO>X=Qi6SsDm#!=4?{x zysyI{Dy&=Gk77+$p%in{khiA92u^$Mz&~j1PFk!*BReLM)#!E`))O!EQ^jkK-Uzet zwYR$W;#OCdRhml*$j^=kvq&Gt$B`I&JD!Ru$+vTm(+p z?T57weuY|5OddTjBCC0Qdh;~Z-gUM}?1qq-x!IUNXcvSqCzI#+r$EqTJk~9e(K8Oq zWJT8}+8~bxF%Fyq zv;|~)0%Y2FAnVB+DK2(zmW}=y=m?(rBx_eRG5W%h<~9hL?d-xo zt>C-n*4<23*7m}kcksRNZV#a=7!O=cs?Cjlpxo%1JXAQv)gQ=ly)|wwF?x&-%EbZ7oYLy=%O5+ZCUH47 z6<#5!xi>yp{4A_Qo8M%T@kI?~S3wB{M4Q^ZRj^f@kt}KHx@+mPxv|j;QZj6V;B}Ux zh)7Mz@QlJb)!D7AjXguPstvSgfFb-D@$k0M!LHxyIVs-UVFi!_={U!-=1W*E7UPS{ z;%A=X{BJSOFB2=|q+^je!?Fayj&!mo;>qGy-vwWF>|^PB%!Bho7a#I^MAVQfzr9Gq zy{-Al>NuhA`(0MRf~DTS*L23N6}?p&jCIbf7C+i!2{N9g%4ldHv$%#PAEah>2+1(p zkntze`zyY8;VxmpybMc*uu9fA;cOe>jbwG_!FV7iSA58=_^9zHwL>g<9;-LD52O5e zHo-;|aEU6aJdRTN>E7;cJ;+;i%TfWLSmL$_utk9TMSx=^h5*OP144i>*)#+QU$qGE zE+W8TBCrZSx~&LstZ)hoKe%HEa5x^x$rZn~7@^dXw+Qea?{13#TLgF)5FmO^@B9p$`(YB{5t48Iaz5iamHCaj@raCW7> z{mzDc+8L#ln2)5e$2V&vj_=uxJFSC3FDQO!Vhuz?9QD&TCq8UU`a@g>xIweg?nccH zF&N;u=m3cZT3SwX`Pmr7ryU2ZQn z?&Xvv1JCUDo4Q?+TWsi(v`d!Q*GdIlED} z2RInMnNKDwYc-kRIHvAmGWkBbT0eBU-KX(}2^fG@$*Ue5i~XF5h^^N^V_wJa`xwU` zeILlc`UlnIaE!gQHXU;!JwgC+ES<662pycc?vkG~l4B2nURV0&nRLc}=(O`w>soiE4IRrjm(rAM*_1=GUnbTmQvldEp( z7P+5b8M*Z!s|$!>s8P_HC^H^Ck~&nT_j;r$c}m&~{u3>SK}H=N1Q~;{tH?wB#G*H74Z!6l z(w2z#)ZL7%wg2=ts8?Y6uoN5X+(v8$Ab^gk!ybxF_MN-3{4XNLjaH=DabYC(Fn_s)yKW=;5S_XAOzLrki?#*GqWUjA^ibf z`8&Mv;RuDMFVo_%kx9&jNARsZCw~RA+gLLTmUkYkra%7*<{+H^$~%YY)AQUnop1&p zj^4wu=);E(N2Cq>MKU+%J3JatW;wGYZgvrVI+px@;oSHh&ZBekWlws`#xMPL{o&|1 z>@Q>c*xvigBwQaldp!6~;k@K-rkH7Sis!=4Bbeeb%;)9Xx6@az|Ni{Xul_K7{`Qa4 z_y7Lamqf4nD_GXLwLkL7+e?mO$SGkJtqQnSe z(`S2#`!#1_X-n7rv|E!coKI9kalD0 zEe8Grfkcu*bpW>HZea8n5MQd?SIda+;`Y+u1d`x_E<5(nGtSvp>B$+^W$J$!E_^zK zc4C?GIn0O0w~qS>j=D5&ezh6om|BAgQ2IrEM@AIB7Mm0yDfd&S-W1R}@<(e+Oi0+e z#2CRvTL~5KQs?plj_ov&8@WsW+xwqRM%{AruWIGpt6?L}ih=!KM^*?eMJL|&3f&4= zU3Yx^&vZIuKSIOrfA1Q-%4<{Bpo}O{>C5T_W{Ow4uxpO%u$?=lV?B+iwbM`>u&S%R zPK*FW*ndN$Y>Z=C2IOQR1PT${IKr@k+Gw zB=49MRhoohLLR%57SG0Pp100i8E*mPNrf#5@)~9DO0*MysIXJ4Pj09Dk!0@_{yh5m zt?84lbGt8WFj1Um`13d#RkKjS|RAZw9wX(I{UXo`p z0vTZ;iixe4f?dgqiH;q_eBynTydDLYQ(`Rcpk9Q@i0>&v+X;6U!}c~ZnjfeNq@@#< zrnjZkM^2fK&K^H|EWB-rG;s1vlAk7@;Cqq7UO<3$SbxZ8JtHb$Z#|?jz=DOK(^%sSJOWybzFxXoYv^v58otOqyCK8rmsVxJpF*Z+kj5$4m=6fVfHqVeTY7t zb`|d=ZsD3MZ={HFu?LRk*U69!WuWrOwbWt%7W%EIDxX~5kK7t!kjIX8JrbsryL!j$~XEBiVk3wLRhpIfHNnOeA2qe7JnfA;t>1?FsuB7G8}aetyC(^hUa%W}_PGRM?YHC>`Vm`=I8gJ#L48 zzTe|&1;&7V?uc(Ws8Q3rp!?)Ld4nBOg-6>Z*J7v{< zEC^Woca3|8Y99AC;tX9;Qx*1}7Rq|=eWpLv;kJ~+ZWED7zEC8^uMc2GZ@xqnw(ID z1JaCEnPyUhA!>k_SoFlr0s3(sBq$ZmA?%{q^+CP^zp!z+h~Cfj_^&}PB_m84RJ(dU zOf40{a*K(uR7_39>H*0h9P!zp7yvv>*iH?7l@;eB#1XlziivxqRHM@Bfke01I#N8c z={`wPt=Op~KiH~C;W;ca-O|xq!u#_<8AZ}`_*a8#HY!gdb>ho}e5_SjOR*p?ZW7*C z2%AvOmb{y*67wcpk7CQwC_$~U!nx(^{E}gQcXpSD z^>#Tm)>631O7TrD8=QI1w>gJDYJ`{W!JFTg|b1;{rsT;J?v z_HbCqGEpU_zDdvc(mdKmFx*H4L(_+?n~!;Tz_9@pcC+6vJjOjGa}Wx>QK?bY%Kji! zY{dWO@z|@Q{DV8!u$Zl%ItHDkxsvD?f;xJ1lrDNla^v8_~AC*fTBH8gFI zd8l#WHfTh+WrX|I3X>IQrmB!=r&=nj8a~`5b6+(rMfc4)B~Q8~({a_DQEvXO#!u4Y zg7!b>27lZ)X8dnpE<6AzG9VmXny zP1Df3H@F5jxIX+;D#2xWN<6L z=sI8WdZ=sqZG=AxO2XKp;|Dhcf67E+aw|SckoibaIgN`~_qSlh6;8;L5B7uk2m1?W z;@4k85Eom2O&)OTe=C%%!e`4SAM9uS^}Pie@ykEtRqJRl;L-o>kn$RL?Nv%nD5YLdNlcs{d+W9+UxbzWI`-= zQ)0Oz2Bm3Ww}V|+nhv@9p_974zW#rHJK9*Lho3-0t2OM)=EOGx9v`jE*(dmIYR_>h z=Jw({+_}l=>FM7*YvY}otL5(ebiHvgOoi>?>E-r>;_4Il0zTSaot#_SQ_((u+wbW; zSs$oqd^8<2&Vn{&6fbyrJF{SSXwTU<5_2Z#MU+AQs}BV0~=mjsM^ z(T^FCk|w9DNwk4(W=)S1Ngg_-ly1#!x=%++Uyk>U!|0vU*bPO9~ahgJs~r&=XjAyr)hdq z+Wutnz4Ak+Yxs^wcVk}9@Lm*T!Iis{W~L*Vvl;9zx!GmC#kRB8XO4)*v1B@P^4!K+ znYI&I685NU_+8MITeur(vD?5a8(1Tnng+;E`fPjlR=U`3*B&taX6J2BK!lw4&Vgih zXFc1cpHbO!x-u~?+BJC7zWBLYV6MpF8OKgw)B#n_Sdt399)d^Y*sJw_fS?&yX!wIk)oGI|lHF0L2J2Wdr~Bh;8(@A*%r z_g8%H!d=2@c^TE7#gUFfp|(unox}|(tiR0Jx^PQ0&e)aklu?vhzW&A8zp3pJR{m9# zvfGmjO3Ny#qg2kjmpfn6z}e6yrXoLXdC9&$kITI8_fNtQ=07TjgY2``ZOLDIt!IxA1=NEiSg|EIw$)3~! z`Ec~xq^Dl5ybnjm&{h|p)Pg6&REV@2%zPN>>8sy58ydCxd9b4xUWRK?b;jC6iOyIH zMxHaG1d3uYb3NvqwR_zpFy&=k3-yHF4Jn`=fixoNV#MIbrBl#ptX8J)2XtBkG?RB?< zM+P|AEnxs4{GbzaY5$YZL^X^w*2WV(fJpEc0FzT66n=wLhIMmxFq8%GIY}w$?qH8$ zIf$)ntoLJ3h<;C#gZU3W#m8j+F&N%-W;%0{H631X&v50Z{z7+L65~lTOVG!$q&zmI z#F}EyQ4eHnhyD#u_If=wtwGUO#)A;wUZ>&HgW6MZr>D5n@jG$j+nD#`_ohDosD%Iq_yi2F#vks+k%{45!FJk7J^EL zw&ydAz4ff+qKECN(b)t84(89??Yn}H$oRFykz=gu@gdR>YVU-u4jGtqd4biE{n2>R z%J$H-dy4CCdlzJ6gC^J6Czk7{_sQxWuwZ?od*Vn{f$#TV`fo^t6g(5Esx}^S`B_wL zIL=GZqTdiK9&20@3-UplaXQ=N{1+2zl~~W&$0QV{RK^xPS==frVxJ~%0dQ%x#A@q& zI-J4nS?wXe+QWma_Mp&e^D0ib;Myp$;OdaO_PRw2KHwL8aEJw$3okh6B+)Vt27Hz$ zRoA#>RufWWd{fJ;a~Bc_mzY??Q^zj{q}&CF%MeO^L!kYHBvN3YI-ilDPj;2hzXJ? zGPYavqs*Iy!Hr1?m6sCf$%l@fHn;pDJuu*tmKN~K$uiWYB_S1TQIer<&nY0WMcTd+ z=V)?6OmSRHvda%lvR5kVTgWsjOh;dAxOJ_l!ra1xa=U#`AY$_F9*9w!b$ikL;4hkIriV3sFa@&2N=ka9oE6Ai;?;%oC$@eP`sQGmA$lDH?7@&j zfDcl~VEMUBEbTp+T#y7^lL@KxO|x|wm=&tPV=OSF^yRj!4n`B5c>t2EH}FB^8jMs@ zTw3&YBB-m$215Rs`d^bYx9|~HX)*pvWXxT^Q>p6DFU5b@UG#QyHIWQ9NF$uJbchS< z$ktDhdhYT~9zT~o+@Qf;6;0eT9ID*ymo^-XIp2IzNtQbq+>~1wav7I|gnW{Aeq$7y zcZ$0@vtBtfce4SxnRQJdtf{LH#pP@F#QlX1iMLG19z9U{tLd0{Ysf7X+{$zR=e=*nJlU(`7(p&4?MoeJMf7&_ZnRo7PGqb*r<-Pvl zhaZlyx6rfk2jFXepm?^r?1V{hZo-KW_iDd|4myjuL|=V?l-Tp^VB`H7;ecs_x4gEes;yqC(Tfm$+1$T+|x1 zH$hg-x+D^K*;pjWi7gaqp~%fc5nY)mY6wLl4&97V-u(UL+qbX&@bX=8EJDDDu4aP~ zd_;>q5;8d0;&uNZ;ftEo{pwBXex372 zRrS4Pgb>|};^dRMUnDQ;-ATsfhN!J^@hY~B3m74=DTZrW^wFY^dve!B)7pdv)@W(U zm?1XvLA*RF2xEwj!r`A%6C!PwM0QRz0%$NoFH-6O1#D=3^oJ2C=-7eZ#fC@!;pkW? zM)uQn{s+=NsqumXUXi5^O^k zTO&~l1Wio@z%hoRw|9&;30S8k*sCGX51M$E_m~1b;=r`?(exQ597Vhl{?#cZTpK1U;(g%ld1WskDa>ecke6jn% zt@KLYmmIi9$nRkh;{jdN_ey&$2y8)M84$QMSL>6d{mGJG^dN{FQg9DLd}+-g@&IUF z>Yz{!q>(sVWVelv(d4lZqmiO>M3#{F4R`5H&#tE4KQ`MeKd@i0kzvg9s<*P8j{p9p zJ>OpRR_2$EjJZ1%ZIpagR=OBWjTDcS?bNRHMAGotvEW&qJZqkLFx0IjLCX>>g!CF1 z4qoBX^|FpRN3YoEW6+Jdj?-now3kcR7ssBF-oElHq-QTtd^5(VD)w^5-+s+dWpkm?e;7Y+)xO?6zc(@#0banv&19-?Vl-nbFoNIji# zy0tx-wI{QCV4f$=7X2YeyRbxDf0$t=U!lUE!Z?Z;JdX2>?$!NZgK@Nm^?PAhS4Lx% z%lxQ}M&o`QEesQ;Ohs=HEtI{$?sG|^$p>k;JfPTy5cN=G&{T9`q)T-UzDMTrdrxBZ zQ0M{asWpMOKlG9H`?F=kGVv5(bR%&FMzu6fO@f`Q%_$GEq7hWt?l(c+i%z2S8{w zZDoh0sup*(xa&dUu7NU$*RFsM4jM1i)~;w#TTRq9R7i5Zs4|6*c#FoqqcqBD(}BX- zH0UR7pwL~!a}R+8+wh$O;~mH_g$m@{`Wc}M;gh#uhsW$r@Hm+qOlBq@Frc@!;t z0e^D9jtV$Z$B<{CX#d%FoF#A<>!!WGyceizq{v)o>_{Gsxx(Da9_lxQBwotfT;{4Z zkq^?)79-V$(3Y;`7jr1flm`b-6=m1a!=s*hKxuEp(&C;L_uLTf*^Oe70{*OsX+|S` zqKBUJ@Mj7xu^0X^U}K$IUnUb^b@JPk&7~7(m))o<{Z=o7O(ynfanHT++tSrOSE*9f zm9flS-N=cPzJ5cxYc%50z>yEqkWX`{XDAA~)3e>3E3xgtp^!kF9X&*1sd>eBQ2J=m zPm6v^pdWi{tvtzG07*%vgl|eKcfMO%C2)(gTb)@n-LfhVCURK#OQv^h&?44P@~r7% z>6+UqcH>21h|s3;!RhsS9~_Nc)U9`C5-<$LkbgLO@!?2XIMT1)bn8x$A+h5@ye_(3n!04(>XRfuGS^F3d8^%CWvxY%Wt0}{Hvf9N@ zP|Yn;bcjPm@rT$UB9A!Kf%!tk^@38geX7AdG3KDM-+iA0M<;UlyPZr&b! zO)Zp1=Q;?M9p|;NP!LVMtJRsiM82W3j4gPjh4#A}%2|X68|;`)qm1BpJXUi$CPJZc zCS=`@`qbb|_xSaX)A!H+IDP;2Z!cj(p@(Nu|I6^FpI%J+@Duz;dz#lVHat!?{L}M4 zzsqb{&22dtxU3ZrV0+j%ZWyXuY#965MQ$+Ku-IUj(%F}y@rN@|iw(y!7uLSV#0GZ2 z!#zPKQ-V$iXqZN@NznPq{cMrr4aG8W);Y6a2=ucEqLD5EFO#B;*8DD82~rki55|Hj zD_b~`)?hr~bNY~vq6fyLVZ8QnF$Alns$!yxL#!$$evoEcKQsf!WXnHILPgYyM)v+fF_p4sWEfcSN|WdmF*Z3*|<~K%~N{hJC>~NtOrQc z-mt+KWFOuv48VuRI|7s7l=xR55F1Zy2Cab84f3X#g3SbIDx*i{S!zK-A85c}3gvE@5ZfOL+Y3 z3W#J58wB9ZGFOtp)N>amc;Rlgv)vZ9uBo#U-n}>=XvN1FKPuQ>NKVfmhyN=6^m~2! z$F*cFJuCW^(<6k?VcwC~ADnCCnmEnXJXyiQeXHw=E?u}=X#sMSFv$cK5SZ0=q*pIr zzC0P~8m#B;45V0R>#ij@vI1Xu$FKwE^o+7zTl3?fMGz0}CD}&;zQ)pDQPv=RpPad0 zq^)@_ox$FAk*Ulj?9m)|jPir@umAYZfH~lSpiz4cn@x!Qt+m~494{(pcMcP+rzn+9 z@j!G+p*v`Wt*V@!+2`=fY0w%o5s|Sh%{d+!$f$eL*=%#Q-u~)6_M{)-gN5yZ%)ovY zXdPO5l0_;a8>Vw*oCNKmi~s@j?q?fh5A#WqaAs2H^1_~7NCs@m{K}aUW}E_V8Spio zhv@~&jXM;!32d`FzmV`yC6S#()fk!ePZk!;T>@7F|H28(o*g6CgXTnKgHL=bON$MN z{h&>1#UQ!~M|?sYqx=D%m@~9~fn0=!3)))1rB` zbYZ@*%N`*Upc1nEqb?B&z?~9Br?4dpMo&bjUP&yIE}b+?7JGY&dvgwpN{APlq_ouQ zJtM#T1X2l`^cM*j0d4yGL|DKgACN{jT&qBUJ8-C^OQ{qJw!F zFr+U4e)ZrB5CZ?>-QNkTO%@w>MZ4t&fdU~IA$bkOLO{Q9;Q-_?nY@1fIwm2a?;*8k z%aiES$QJRZgKtgIxA-Ib?TKYntjoxv2zm#G@sHE7USQMziiR&{>_B#48eV!1^tc9P zb>@QNe)s0}1zsqOR&;8x#sc#Uc@_rIqh`&7lx9Oi> zzW(?$-U{h9aIN(HHpFwMw0tZ*igew58lxs`@}0Y~Ivw=eJchrWZWr1o-EedRkCWo- zAss(@gfB?X;MC4P9N|Hrx2N$huj7C296aiYTEO9vc@aMeEGxdWXFj`b%*!b$VIPhi ziIG^Gx=)jhvFX0~)bYAOd)p0bZMR*FI;5|zXe9n}~%w%f|DqubNjoqE1oZ zfgAyCnc7|lQ*BD-`Nl#TLR@r7^!|n-fH}PV<~@PRwz)jPwV|{5aMVkuw+*b*7ofHk zksCfmq4-Bq&8DcI&mQ+5A4_MCzdV+{!ax58fAo4ErDs1-o(B+D7F2Gg*NrGTSs^%W35|%1!3$W4eh*_DCr`a`t>T12n#U>}9r{0NrCkQY)JskcdOl!n#b5t zxR>4<0Cd2>x+qmBN@Jx$B;Vi8n>TVps0fD;%OMKtblwonq00g%riV6 z0+NQa_Vxlu-}aoxTR|@wx`Vv@EKnNc;6Gi1Ig2pn=7ho*pd}gpH_t#xz6!s{ zY(1-S$8=I(&qrlB{E|Y!{>l?ZnM}TiR(|M2*V}JaFfQ@gO?=YK7|M0tX)xJR`jL>> zW)i2t=kzvjvzu)}WxiONp7+*TphTrcjaRSVs|vLu?Y6{*B>lv)<4f)ta>FFnUSLh4 zI%(&?CxOMXW+lw8C*s+R@ zYC_ta0>e!0IkOMqGI$6u5|S1!IaEH9$k~-Qvd>FjypW5VZ0_ZSeOxO#9 zccYAZ9Y3;D^B~y@X4vy>H3Xl`sOcV+KTt$uRRVj1zxgJS$LU53V!2BY$&dCqU>DLA z9XspM^UE@YYe-@TLo)|ykAw?GXXoeRBHvCXzXlI79R$yJQ^)8#obiKgR4UNtf&DtcPNH;q8ZqG0I}&QZMMOkN%U)dJMt(S=gX{Eqy)K-X+)bQ0Htu{kV<7E4+WdWE zB`7B}+hdn(sZP8Lb8P|MbmmKpR)y#7xLIa~wh(6eK_@(W1}Mm2%jjLLy7aDrT+^)B z*P$U)ECBFf|9S)#1?>QMoRT^QG$=ih6ysPjPT+Tg-F)c$VecccS_{?7octFy0e_j!UX_ax#hUV;#AT#ogI=FfS%T+icEL>q zNbn)d_iV{=CAo82*zhbBvUq+49SbB0)ay|Tl7WN^((Q}%>=}YfpDyFue&H?=t^W}> z+@-h6Te5Z=>)Zw@dxh=qoQ<_4SDxMqIhL(!++6*)S9m@@x9|dPzOn!L&!y$x(|TL1 zs>VruDI(s5#~6lD;3YX(t|0r&s>u}f&8k7~vLOlKeJQ9CEzhx-r6#|nD{ z1dV~_A@~G_&?9$nq~A)F8aJclLBW(E)qc>5+sYtzXu{u z9gZTDLVfFekG<)Suin2a;Wd>cAidl(Y8^MPNRl9hq zi?_9~H{O=r4;aV{$kD+tC_B)5>9fslO{icEdxv732erhP1+A