From cc95d5e9a15aae95476f11298a408bfa93684498 Mon Sep 17 00:00:00 2001 From: Tekalign <152792726+tekuuu@users.noreply.github.com> Date: Tue, 13 Oct 2026 08:27:08 +0300 Subject: [PATCH 1/2] Independently verify eight PR699 frame changes and exact kappa --- .../CLAIM.json | 29 + .../ENVIRONMENT.json | 8 + .../INDEPENDENT-FRAMES.json | 128 + .../INDEPENDENT-OWNERS.json | 98 + .../INDEPENDENT-PRICE.json | 155 + .../OVERLAP-CHECK.json | 9 + .../pr699-frame-retiming-validation/README.md | 19 + .../RECEIPT.json | 34 + .../RESULT.json | 91 + .../RETAINED-ARTIFACTS.json | 34 + .../STAGES.json | 38 + .../cold-replay.log | 13 + .../dependency-manifest.log | 1 + .../fresh-native-and-controls.log | 11 + .../global-replay/ADMISSION-CONTROLS.json | 102 + .../global-replay/ASSEMBLY.json | 345 + .../global-replay/BIT-SUPPLIER-CONTROLS.json | 49 + .../global-replay/REPLAY.json | 92 + .../global-replay/STAGES.json | 50 + .../independent-owners-and-moments.log | 1 + .../independent-pointset-frames.log | 1 + .../independent-two-engine-outer47.log | 1 + .../native/FRAME-CONTROLS.json | 146 + .../native/INDEPENDENT-AUDIT.json | 137 + .../native/NATIVE-PINS.json | 11 + .../native/STEPS.json | 52 + .../native/controls/COLD-END-CONTROLS.json | 101 + .../native/local/CLIFFORD-REVIEW.json | 19 + .../local/INDEPENDENT-LOCAL-REPLAY.json | 71 + .../native/local/LOCAL-CHECKS.json | 36 + .../native/local/RESIDUAL-ADAPTERS.json | 1 + .../native/local/SCALAR-FRAME-AUDIT.json | 832 + .../native/local/WRAPPER-CHECKS.json | 445 + .../native/word/FRAME-CHECKS.json | 340 + .../selected-record-check.log | 2 + .../strict-global-admission.log | 10 + research/pr699-frame-retiming/MANIFEST.json | 28 + research/pr699-frame-retiming/NOTICE.md | 15 + research/pr699-frame-retiming/PROOF.md | 46 + research/pr699-frame-retiming/README.md | 96 + research/pr699-frame-retiming/SOURCES.json | 13 + research/pr699-frame-retiming/audit_owners.py | 239 + .../construction/FRAME-RAISES.json | 179 + .../construction/LOCAL-PINS.json | 11 + .../construction/build_frame_raises.py | 131 + .../construction/frame_controls.py | 57 + .../construction/reproduce_native.py | 64 + .../pr699-frame-retiming/data/OWNERS.json.gz | Bin 0 -> 421490 bytes research/pr699-frame-retiming/data/PLAN.json | 42000 ++++++++++++++++ research/pr699-frame-retiming/data/SPEC.json | 1348 + .../evidence/CONCURRENT-COMPARISON.json | 10 + .../evidence/FRAME-SEARCH.json | 231 + .../evidence/INDEPENDENT-FRAMES.json | 128 + .../evidence/INDEPENDENT-PRICE.json | 155 + .../evidence/READ-EXCHANGE-SEARCH.json | 20 + .../pr699-frame-retiming/exact_intervals.py | 28 + research/pr699-frame-retiming/freeze_spec.py | 76 + .../independent_frames.py | 196 + .../inputs/PIVOT-SWAP-NP.json | 588 + .../inputs/PR699-WORD.json.gz | Bin 0 -> 59372 bytes research/pr699-frame-retiming/prepare_plan.py | 84 + research/pr699-frame-retiming/verify.py | 194 + .../pr699-frame-retiming/verify_global.py | 141 + 63 files changed, 49590 insertions(+) create mode 100644 research/pr699-frame-retiming-validation/CLAIM.json create mode 100644 research/pr699-frame-retiming-validation/ENVIRONMENT.json create mode 100644 research/pr699-frame-retiming-validation/INDEPENDENT-FRAMES.json create mode 100644 research/pr699-frame-retiming-validation/INDEPENDENT-OWNERS.json create mode 100644 research/pr699-frame-retiming-validation/INDEPENDENT-PRICE.json create mode 100644 research/pr699-frame-retiming-validation/OVERLAP-CHECK.json create mode 100644 research/pr699-frame-retiming-validation/README.md create mode 100644 research/pr699-frame-retiming-validation/RECEIPT.json create mode 100644 research/pr699-frame-retiming-validation/RESULT.json create mode 100644 research/pr699-frame-retiming-validation/RETAINED-ARTIFACTS.json create mode 100644 research/pr699-frame-retiming-validation/STAGES.json create mode 100644 research/pr699-frame-retiming-validation/cold-replay.log create mode 100644 research/pr699-frame-retiming-validation/dependency-manifest.log create mode 100644 research/pr699-frame-retiming-validation/fresh-native-and-controls.log create mode 100644 research/pr699-frame-retiming-validation/global-replay/ADMISSION-CONTROLS.json create mode 100644 research/pr699-frame-retiming-validation/global-replay/ASSEMBLY.json create mode 100644 research/pr699-frame-retiming-validation/global-replay/BIT-SUPPLIER-CONTROLS.json create mode 100644 research/pr699-frame-retiming-validation/global-replay/REPLAY.json create mode 100644 research/pr699-frame-retiming-validation/global-replay/STAGES.json create mode 100644 research/pr699-frame-retiming-validation/independent-owners-and-moments.log create mode 100644 research/pr699-frame-retiming-validation/independent-pointset-frames.log create mode 100644 research/pr699-frame-retiming-validation/independent-two-engine-outer47.log create mode 100644 research/pr699-frame-retiming-validation/native/FRAME-CONTROLS.json create mode 100644 research/pr699-frame-retiming-validation/native/INDEPENDENT-AUDIT.json create mode 100644 research/pr699-frame-retiming-validation/native/NATIVE-PINS.json create mode 100644 research/pr699-frame-retiming-validation/native/STEPS.json create mode 100644 research/pr699-frame-retiming-validation/native/controls/COLD-END-CONTROLS.json create mode 100644 research/pr699-frame-retiming-validation/native/local/CLIFFORD-REVIEW.json create mode 100644 research/pr699-frame-retiming-validation/native/local/INDEPENDENT-LOCAL-REPLAY.json create mode 100644 research/pr699-frame-retiming-validation/native/local/LOCAL-CHECKS.json create mode 100644 research/pr699-frame-retiming-validation/native/local/RESIDUAL-ADAPTERS.json create mode 100644 research/pr699-frame-retiming-validation/native/local/SCALAR-FRAME-AUDIT.json create mode 100644 research/pr699-frame-retiming-validation/native/local/WRAPPER-CHECKS.json create mode 100644 research/pr699-frame-retiming-validation/native/word/FRAME-CHECKS.json create mode 100644 research/pr699-frame-retiming-validation/selected-record-check.log create mode 100644 research/pr699-frame-retiming-validation/strict-global-admission.log create mode 100644 research/pr699-frame-retiming/MANIFEST.json create mode 100644 research/pr699-frame-retiming/NOTICE.md create mode 100644 research/pr699-frame-retiming/PROOF.md create mode 100644 research/pr699-frame-retiming/README.md create mode 100644 research/pr699-frame-retiming/SOURCES.json create mode 100644 research/pr699-frame-retiming/audit_owners.py create mode 100644 research/pr699-frame-retiming/construction/FRAME-RAISES.json create mode 100644 research/pr699-frame-retiming/construction/LOCAL-PINS.json create mode 100644 research/pr699-frame-retiming/construction/build_frame_raises.py create mode 100644 research/pr699-frame-retiming/construction/frame_controls.py create mode 100644 research/pr699-frame-retiming/construction/reproduce_native.py create mode 100644 research/pr699-frame-retiming/data/OWNERS.json.gz create mode 100644 research/pr699-frame-retiming/data/PLAN.json create mode 100644 research/pr699-frame-retiming/data/SPEC.json create mode 100644 research/pr699-frame-retiming/evidence/CONCURRENT-COMPARISON.json create mode 100644 research/pr699-frame-retiming/evidence/FRAME-SEARCH.json create mode 100644 research/pr699-frame-retiming/evidence/INDEPENDENT-FRAMES.json create mode 100644 research/pr699-frame-retiming/evidence/INDEPENDENT-PRICE.json create mode 100644 research/pr699-frame-retiming/evidence/READ-EXCHANGE-SEARCH.json create mode 100644 research/pr699-frame-retiming/exact_intervals.py create mode 100644 research/pr699-frame-retiming/freeze_spec.py create mode 100644 research/pr699-frame-retiming/independent_frames.py create mode 100644 research/pr699-frame-retiming/inputs/PIVOT-SWAP-NP.json create mode 100644 research/pr699-frame-retiming/inputs/PR699-WORD.json.gz create mode 100644 research/pr699-frame-retiming/prepare_plan.py create mode 100644 research/pr699-frame-retiming/verify.py create mode 100644 research/pr699-frame-retiming/verify_global.py diff --git a/research/pr699-frame-retiming-validation/CLAIM.json b/research/pr699-frame-retiming-validation/CLAIM.json new file mode 100644 index 0000000000..aabe3018c5 --- /dev/null +++ b/research/pr699-frame-retiming-validation/CLAIM.json @@ -0,0 +1,29 @@ +{ + "assignment_seed": 60, + "original_track": "Adversarial mathematical audit; completed separately in PR675.", + "authorization": "Subsequent user explicitly requested a persistent goal to find and verify a conditional kappa improvement.", + "base_commit": "66849e1475c930fd7732b1a0067ffee7e1e95f60", + "coordination": "No pinned sprint coordination issue found; claim recorded locally and PR overlap checked throughout.", + "initial_candidates": [ + "Further packing of fixed PR676; rejected because its reported fixed-word ceiling was attained.", + "Uniform additional whole-group promotions; retained prior packing obstruction.", + "Mixed promotion dispatch; investigated with complete native profiles and literal owners." + ], + "bounded_findings": [ + "Mixed k3/k4 dispatch produced a literal improving allocation over PR676, superseded by concurrent PR685.", + "Seventy-two single-call k4/k5 greedy nominations lost to four rank-one gaps.", + "One-helper demotion failed complete-cost accounting because shared carriers added frame changes.", + "PR699 read exchanges created new single-gate frame opportunities; 600 legal dimension alternatives yielded eight improvements." + ], + "final_object": "Eight frame changes on the pinned PR699 SW4 word, with unchanged scalar program, helper widths and literal owners.", + "method": "Independent construction, explicit GF(2)^9 point-set accounting, all-column native and phase replay, exact owner/invoice/outer admission.", + "stopping_rule": "Stop search after composing the eight improvements and finding no further improvement among 604 single-gate dimension alternatives; reserve remaining work for verification and handoff.", + "concurrent_overlap": { + "pr": 741, + "head": "e516b1463606840a15f80aac1995d64ce0092e89", + "published_utc": "2026-10-13T05:01:16Z", + "comparison": "Same input/output word hashes and conditional kappa. No priority claim. This submission adds an independent finite-point-set checker and fresh replay." + }, + "expected_finish_utc": "2026-10-13T05:30:00Z", + "status": "verification in progress" +} diff --git a/research/pr699-frame-retiming-validation/ENVIRONMENT.json b/research/pr699-frame-retiming-validation/ENVIRONMENT.json new file mode 100644 index 0000000000..21c6d4276d --- /dev/null +++ b/research/pr699-frame-retiming-validation/ENVIRONMENT.json @@ -0,0 +1,8 @@ +{ + "python": "3.14.7 (main, Aug 10 2026, 00:00:00) [GCC 16.1.1 20260515 (Red Hat 16.1.1-2)]", + "platform": "Linux-7.2.8-200.fc44.x86_64-x86_64-with-glibc2.43", + "zlib_runtime": "1.3.1.zlib-ng", + "assertions": true, + "external_packages_required": false, + "cold_command": "python -B research/pr699-frame-retiming/verify.py --main . --pr635 /tmp/mult-promotion-native/pr635 --dependency /tmp/mult-pr699/research/gauge44-promo-p6k4sw --work /tmp/mult-frame8-cold" +} diff --git a/research/pr699-frame-retiming-validation/INDEPENDENT-FRAMES.json b/research/pr699-frame-retiming-validation/INDEPENDENT-FRAMES.json new file mode 100644 index 0000000000..a5fddb421d --- /dev/null +++ b/research/pr699-frame-retiming-validation/INDEPENDENT-FRAMES.json @@ -0,0 +1,128 @@ +{ + "changed_frames": [ + [ + "B", + 856 + ], + [ + "B", + 860 + ], + [ + "B", + 868 + ], + [ + "B", + 873 + ], + [ + "B", + 876 + ], + [ + "B", + 953 + ], + [ + "B", + 961 + ], + [ + "B", + 965 + ] + ], + "scalar_gates_unchanged": true, + "helper_footprints_unchanged": true, + "width_inventory": { + "9": 216, + "4": 80, + "8": 122, + "7": 54, + "5": 32 + }, + "local_profile": { + "1": 2556, + "2": 334, + "3": 430, + "4": 194, + "5": 56, + "8": 8 + }, + "delta": { + "1": 8, + "2": -8, + "3": -8, + "4": 8 + }, + "rank_mass": 5634, + "status": "PASS_EXPLICIT_512_POINT_FRAME_RECOUNT", + "input_content_sha256": "d232183f233899961bf55cac67a18545ed33548d9a7ca7078990d1a83d557c59", + "output_content_sha256": "e78047028c7dcd25fb1b6216c2b53eda76d2f91292b21d43f5d1903cc13a5c6c", + "negative_controls": [ + { + "name": "delete-frame-change-B-856", + "rejected": true, + "site": "local paid profile mismatch" + }, + { + "name": "delete-frame-change-B-860", + "rejected": true, + "site": "local paid profile mismatch" + }, + { + "name": "delete-frame-change-B-868", + "rejected": true, + "site": "local paid profile mismatch" + }, + { + "name": "delete-frame-change-B-873", + "rejected": true, + "site": "local paid profile mismatch" + }, + { + "name": "delete-frame-change-B-876", + "rejected": true, + "site": "local paid profile mismatch" + }, + { + "name": "delete-frame-change-B-953", + "rejected": true, + "site": "local paid profile mismatch" + }, + { + "name": "delete-frame-change-B-961", + "rejected": true, + "site": "local paid profile mismatch" + }, + { + "name": "delete-frame-change-B-965", + "rejected": true, + "site": "local paid profile mismatch" + }, + { + "name": "mass-preserving-false-profile", + "rejected": true, + "site": "local paid profile mismatch" + }, + { + "name": "scalar-coefficient-perturbation", + "rejected": true, + "site": "scalar gate changed" + }, + { + "name": "helper-start-expansion", + "rejected": true, + "site": "non-frame word field changed: start_extra" + }, + { + "name": "helper-end-contraction", + "rejected": true, + "site": "non-frame word field changed: helper_final" + } + ], + "method": "Explicit finite subspace sets, independent of native Gaussian elimination.", + "strict_gain": "For 0 < b < 1, strict concavity gives 1^(1-b) + 4^(1-b) < 2^(1-b) + 3^(1-b). The profile delta is eight times this difference.", + "scope": "Finite frame containment and local paid-child accounting only. Scalar endpoint identities, phases, controller admission, whole-owner invoices and analytic transfer remain separate obligations." +} diff --git a/research/pr699-frame-retiming-validation/INDEPENDENT-OWNERS.json b/research/pr699-frame-retiming-validation/INDEPENDENT-OWNERS.json new file mode 100644 index 0000000000..13271d7568 --- /dev/null +++ b/research/pr699-frame-retiming-validation/INDEPENDENT-OWNERS.json @@ -0,0 +1,98 @@ +{ + "status": "PASS_INDEPENDENT_LITERAL_OWNERS_NATIVE_PROFILE_AND_EXACT_MOMENTS", + "calls": 72, + "roles": 36288, + "cross_replica_roles": 28211, + "provider_counts": { + "gauge44": 72 + }, + "profile": { + "1": 184033, + "2": 24048, + "3": 30961, + "4": 13968, + "5": 4032, + "8": 576, + "44": 1, + "48": 2396 + }, + "idle": { + "1": 1, + "3": 1, + "44": 1, + "48": 2396 + }, + "fixed_map_identity_multiset_checked": false, + "costs": [ + { + "endpoint": "dependency", + "complex_lower": "1663428754540205730067/1000000000000000000000000", + "lower": "420425747236955987069178944153308594400650929710666217095424781129/420426414395568143770594626143403054023089013669379655085569605632", + "upper": "840851494473911974138357888306617188801301859421332707638767118569/840852828791136287541189252286806108046178027338759310171139211264", + "strict_margin_lower": "1334317224313402831363980188919244876167917426602532372092695/840852828791136287541189252286806108046178027338759310171139211264" + }, + { + "endpoint": "candidate", + "complex_lower": "1663966829367501881629/1000000000000000000000000", + "lower": "840852828791136287541188793887162690804665601237692703071922315495/840852828791136287541189252286806108046178027338759310171139211264", + "upper": "210213207197784071885297198471790672701166400309423244506868819033/210213207197784071885297313071701527011544506834689827542784802816", + "strict_margin_lower": "114599910854310378106525266583035915983783/210213207197784071885297313071701527011544506834689827542784802816" + } + ], + "kappa": "1661202643272239/1000000000000000000", + "negative_controls": [ + { + "name": "omit one role", + "reason": "all helper roles" + }, + { + "name": "wrong native width", + "reason": "actual native width" + }, + { + "name": "wrong physical family", + "reason": "physical family identity" + }, + { + "name": "legal-size owner outside window", + "reason": "owner outside physical window" + }, + { + "name": "overlapping pending coordinates", + "reason": "overlapping pending coordinates" + }, + { + "name": "whole-family alias with disjoint coordinates", + "reason": "same-call whole-family alias" + }, + { + "name": "underived paid profile", + "reason": "literal global profile" + } + ], + "source_sha256": { + "plan": "a288308c071be086e5cd6ab8c433cac46c8b74d36d24336bf2c28d6e7917b2ea", + "owners": "99d1c4caf85855c353d30f122d9efbd9e51562914facded13027f347b18a6082", + "spec": "904aa58e64548c51e887e4d1a21d16ae25599dfe92acc682724a5195d0368754", + "dependency_manifest": "1ec13d3f02dfd2966558264dfb010c52e83364d7cfee63af53df32df9384b9f8" + }, + "dependency_sources": { + "data/SPEC.json": "56eb544289c8bc4314bf1bb6cc00883f132f5c46b92c61bcc84488943b48a615", + "data/PLAN.json": "46cf9a3cc363a197323575a370caa5a2d74e7726797e21e49933d3933a5d5ed2", + "data/OWNERS.json.gz": "99d1c4caf85855c353d30f122d9efbd9e51562914facded13027f347b18a6082" + }, + "independent_intervals_sha256": "aa3c2327c5d3742248b720a87b2de0bbe2e34ed2af89a578e3c8d5bd2656a9cf", + "native_sources": { + "gauge44": { + "CANONICAL-WORD.json.gz": "cf18c83bac89897f4d152f845a31c6a806a004283b3ee497e75bbe1d9279e25e", + "LOCAL-PROGRAMS.json.gz": "94c11145e34cf6f060b2f0cd420dd38b942720b83fe6629d447904f7d8078c81" + } + }, + "native_semantic_sha256": { + "gauge44": { + "CANONICAL-WORD.json.gz": "b0d27d99423047ce07af847734f5a86f9411038bb3b0bf721918ece1ee579325", + "LOCAL-PROGRAMS.json.gz": "69384a1069969209c5c082cd17cafbf97b8e02f0bd141cb0f08e46cea56df92c" + } + }, + "scope": "Finite literal roles using unchanged inherited phase windows and widths/paid children rederived from explicit native artifacts. Independent rational moment check; complete scalar, phase, wrapper, controller, coefficient and finite/outer admission remain separate obligations." +} diff --git a/research/pr699-frame-retiming-validation/INDEPENDENT-PRICE.json b/research/pr699-frame-retiming-validation/INDEPENDENT-PRICE.json new file mode 100644 index 0000000000..c6ff413520 --- /dev/null +++ b/research/pr699-frame-retiming-validation/INDEPENDENT-PRICE.json @@ -0,0 +1,155 @@ +{ + "status": "PASS_FROZEN_PROFILE_TWO_EXACT_ENGINE_AND_OUTER47_CROSSCHECK", + "profile_input_file": "PLAN.json", + "profile_input_sha256": "a288308c071be086e5cd6ab8c433cac46c8b74d36d24336bf2c28d6e7917b2ea", + "global_profile": { + "1": 184033, + "2": 24048, + "3": 30961, + "4": 13968, + "5": 4032, + "8": 576, + "44": 1, + "48": 2396 + }, + "live": 7168, + "m": 73, + "rank_mass": 520704, + "deficit": 2560, + "prices": { + "native": { + "root": { + "lower": "0.001663966829367501881629", + "upper": "0.00166396682936750188163", + "lower_endpoint_residual_upper": "-5.451603749448831695879643639644321092963499604883818730337551160268475E-25", + "upper_endpoint_residual_lower": "2.403989579877237643270636801903247849609908064735940944296654344314982E-24", + "strict_rational_signs": true + }, + "exact_moments": [ + { + "endpoint": "1663966829367501881629/1000000000000000000000000", + "accept": true, + "mercator_residual": [ + "-14697494633557896163579725774531980101206853/26959946667150639794667015087019630673637144422540572481103610249216", + "-14697494633557896163579725774531980101206851/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two_residual": [ + "-545161/1000000000000000000000000000000", + "-13629/25000000000000000000000000000" + ] + }, + { + "endpoint": "166396682936750188163/100000000000000000000000", + "accept": false, + "mercator_residual": [ + "64811430861876199766555490569126441384468587/26959946667150639794667015087019630673637144422540572481103610249216", + "64811430861876199766555490569126441384468589/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two_residual": [ + "2403989/1000000000000000000000000000000", + "240399/100000000000000000000000000000" + ] + } + ], + "outer_with_bit": { + "complex_b": "1663966829367501881629/1000000000000000000000000", + "bit_c": "1733427039589844234749/1000000000000000000000000", + "kappa": "1661202643272239/1000000000000000000", + "kappa_decimal": "0.001661202643272239", + "binding": "complex", + "strict_constraints_passed": 47, + "controls_rejected": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ] + } + }, + "conservative": { + "root": { + "lower": "0.001663966826473646016562", + "upper": "0.001663966826473646016563", + "lower_endpoint_residual_upper": "-1.344627795181758689442745676140389224928261052739006430840746676915538E-24", + "upper_endpoint_residual_lower": "1.604522159645724584658890616006593501453035960588895161517356425056097E-24", + "strict_rational_signs": true + }, + "exact_moments": [ + { + "endpoint": "831983413236823008281/500000000000000000000000", + "accept": true, + "mercator_residual": [ + "-36251093645268568293609980726137287994597871/26959946667150639794667015087019630673637144422540572481103610249216", + "-36251093645268568293609980726137287994597869/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two_residual": [ + "-13446282976270870281079/10000000000000000000000000000000000000000000000", + "-1680784122033858785117/1250000000000000000000000000000000000000000000" + ] + }, + { + "endpoint": "1663966826473646016563/1000000000000000000000000", + "accept": false, + "mercator_residual": [ + "43257831850310099305642124947279306886060263/26959946667150639794667015087019630673637144422540572481103610249216", + "43257831850310099305642124947279306886060265/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two_residual": [ + "8022608512047647664237/5000000000000000000000000000000000000000000000", + "16045227024095295328617/10000000000000000000000000000000000000000000000" + ] + } + ], + "outer_with_bit": { + "complex_b": "831983413236823008281/500000000000000000000000", + "bit_c": "1733427039589844234749/1000000000000000000000000", + "kappa": "1661202640387989/1000000000000000000", + "kappa_decimal": "0.001661202640387989", + "binding": "complex", + "strict_constraints_passed": 47, + "controls_rejected": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ] + } + } + }, + "bit_supplier_pr": 589, + "bit_deficit": 10272, + "bit_moments_with_surcharge": [ + { + "endpoint": "1733427039589844234749/1000000000000000000000000", + "accept": true, + "mercator_residual": [ + "-43100600330766044577088869872467188970742291/26959946667150639794667015087019630673637144422540572481103610249216", + "-43100600330766044577088869872467188970742289/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two_residual": [ + "-799345163337715793503/500000000000000000000000000000000000000000000", + "-3197378653350863173989/2000000000000000000000000000000000000000000000" + ] + }, + { + "endpoint": "6933708158359376939/4000000000000000000000", + "accept": false, + "mercator_residual": [ + "22502934905675809315035333485365686073718547/13479973333575319897333507543509815336818572211270286240551805124608", + "5625733726418952328758833371341421518429637/3369993333393829974333376885877453834204643052817571560137951281152" + ], + "base_two_residual": [ + "8346798366759439729359/5000000000000000000000000000000000000000000000", + "16693606733518879458833/10000000000000000000000000000000000000000000000" + ] + } + ], + "gain_over_pr635_percent": "1.52551696505698783614016944256863707024183859541247947827683890195801199091", + "input_sha256": { + "research/complex-k492-owner-repair/vendor/multicold/engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "research/complex-k492-owner-repair/vendor/multicold/engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "research/complex-k492-owner-repair/vendor/multicold/engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "package:inputs/PR589-EXPECTED.json": "b9f0e5ca038abe837b0007c8fe006f366a6f02009244ac57705a8a200e2301f4" + }, + "scope": "Independent arithmetic for the exact nominated all72 profile. Complete local, controller and finite invoice admission are separately replayed by the package driver; this receipt does not replace them. The cited PR589 bit supplier is unchanged and its exceptional-residue surcharge is retained. Any alternative c is only a headroom comparison." +} diff --git a/research/pr699-frame-retiming-validation/OVERLAP-CHECK.json b/research/pr699-frame-retiming-validation/OVERLAP-CHECK.json new file mode 100644 index 0000000000..464f46b9d1 --- /dev/null +++ b/research/pr699-frame-retiming-validation/OVERLAP-CHECK.json @@ -0,0 +1,9 @@ +{ + "base_commit": "66849e1475c930fd7732b1a0067ffee7e1e95f60", + "reference_pr": 741, + "reference_head": "e516b1463606840a15f80aac1995d64ce0092e89", + "reference_state": "OPEN", + "reference_title": "Conditional \u03ba = 0.001661202643272239: eight B-frame coalescences after SW4", + "main_remote_head": "66849e1475c930fd7732b1a0067ffee7e1e95f60", + "overlap_handling": "Submission explicitly credits identical concurrent construction and adds independent GF(2)^9 point-set replay with corruption controls." +} diff --git a/research/pr699-frame-retiming-validation/README.md b/research/pr699-frame-retiming-validation/README.md new file mode 100644 index 0000000000..72d749b5e8 --- /dev/null +++ b/research/pr699-frame-retiming-validation/README.md @@ -0,0 +1,19 @@ +# Fresh verification receipts + +These receipts belong to `../pr699-frame-retiming/`, whose exact frozen source +manifest is named in `RESULT.json` and `RECEIPT.json`. The cold command and +Python/zlib environment are recorded in `ENVIRONMENT.json`. Every output was +written to a new directory; native programs, phases, controls and the global +invoice were freshly rebuilt from the package's pinned PR699 input word. + +`RESULT.json` records the exact conditional κ, final profile, source/native pins +and control census. `RECEIPT.json` records hashes of generated artifacts; these +can be reproduced with the README command, but most large generated programs +are not duplicated here. The full construction, audit, owner and exact pricing +receipts are retained below. This is incremental verification; neither the +ancestral PR699 construction nor the cited PR589 bit circuit is rebuilt by this +command. All inherited all-size and analytic assumptions remain conditional. + +`CLAIM.json` records assignment seed 60, bounded experiments, the final scope +and handoff. `OVERLAP-CHECK.json` records the concurrent PR741 head and our +independent contribution. PR741 published the same construction first. diff --git a/research/pr699-frame-retiming-validation/RECEIPT.json b/research/pr699-frame-retiming-validation/RECEIPT.json new file mode 100644 index 0000000000..1fb7f9fef2 --- /dev/null +++ b/research/pr699-frame-retiming-validation/RECEIPT.json @@ -0,0 +1,34 @@ +{ + "status": "PASS_PINNED_INPUT_FRAME_RETIMING_COMPLETE_REPLAY", + "kappa": "1661202643272239/1000000000000000000", + "artifacts": { + "RESULT.json": "f38998f86a42c6bcf7b47d5757cefd255228916191be1c89fbd3a23ee964a1d4", + "STAGES.json": "d3f97a883ff43087b1bd2516bbbfe267018889312f406e1919fb7dbe8fb95b89", + "INDEPENDENT-FRAMES.json": "d3fc2cb0703751465e1d6d055f004b1443716ce0d2b8c39b17043a2a0c571a37", + "INDEPENDENT-OWNERS.json": "f2f900030ec96d31d66ba71ecde388fb02c7803cb79fd68c8c71d32be9906e31", + "INDEPENDENT-PRICE.json": "c92ae2240837efd7bb4c0a01e0b6b40e35107aa39f26dab95732bb4086b95fce", + "native/STEPS.json": "c48d81bd261cd145d00031e4e74db6dcef8c808d302ca6a32baa76c7451ecadb", + "native/NATIVE-PINS.json": "352649c7e9f3aed910a56ff467e59553cf6d1cd7080259de3b75e47d663b82a8", + "native/INDEPENDENT-AUDIT.json": "dff20dc7290fb912af0f4e942d35c1d1de5762068e55c6df4dce69f52e819458", + "native/FRAME-CONTROLS.json": "c5c20851be585967090ff76f116d4f18722a4c0b17681d4bc413b43eb3d72ca0", + "native/controls/COLD-END-CONTROLS.json": "a719aadab9de3804da6a657936a719943f5ab311f50e94386984d8eb336ce1b9", + "native/word/FULL-WORD.json.gz": "db59437744b4bf0ce20aeeca32f2a98eb4f4455cdc22eb90c86f90c2d6d28d89", + "native/word/FRAME-CHECKS.json": "d70347ce61e89a0de9378c6e22f5365f7e8122448e16adc0c236827e85f2b812", + "global-replay/ASSEMBLY.json": "2941784ef863b5d57b7e830edeb7fc9f6c7cbe8551f20f4f8cec7caef813c6f5", + "global-replay/REPLAY.json": "2c9e800ba355a33e23e1b732bd603beb655cc4dd6faf25503ede77b65c90b004", + "global-replay/STAGES.json": "83c69ddac0225764a57d2acaacc69b684d5cf8ee63893c20e014946621501316", + "global-replay/ADMISSION-CONTROLS.json": "bc2cbc97cca801bd4dc9d55af640998d242a38ebb580fb5371b72ad063798e51", + "global-replay/BIT-SUPPLIER-CONTROLS.json": "01fb510936293d896953a7149b0749e545c3010e371c636bbb3e8d4ffa8e1fd6", + "native/local/CLIFFORD-REVIEW.json": "4130eb35581b547b2a0aaf5e9b16273961889beedc519d89cd543134116c271c", + "native/local/CLIFFORD-RECIPES.json": "eb7569e004bd2a2937928db9db49dad949ec291f00c2d21df6af722df7cb6c9c", + "native/local/WRAPPER-CHECKS.json": "75510637de1a14c5d37e2fe95d4c11aabc5cf3d2f1508dfb04f9795972629865", + "native/local/RESIDUAL-ADAPTERS.json": "8b06181f69832da05e3bffab0737598013e20de6f1f48aad43617fbfe62df615", + "native/local/INDEPENDENT-LOCAL-REPLAY.json": "1f4fe3eed1e29f25d77a60a18379f0d4e33191e8eee753f0263b949e505f27d0", + "native/local/LOCAL-CHECKS.json": "e01b9c16e363a37b069d12d8cb82959f5ce1c52830b05088a466b0080cd4023c", + "native/local/LOCAL-PROGRAMS.json.gz": "94c11145e34cf6f060b2f0cd420dd38b942720b83fe6629d447904f7d8078c81", + "native/local/SCALAR-FRAME-AUDIT.json": "1a1e8564449f0513e69f80a563bdba1d71edcfe45c7a9427fa1b5ad689dd5c2f", + "native/local/FULL-WORD.json.gz": "db59437744b4bf0ce20aeeca32f2a98eb4f4455cdc22eb90c86f90c2d6d28d89", + "native/local/CANONICAL-WORD.json.gz": "cf18c83bac89897f4d152f845a31c6a806a004283b3ee497e75bbe1d9279e25e" + }, + "package_manifest_sha256": "e0102586186663b2a667768565f61db184638b370f68f0ea58dd673e523173ec" +} diff --git a/research/pr699-frame-retiming-validation/RESULT.json b/research/pr699-frame-retiming-validation/RESULT.json new file mode 100644 index 0000000000..bfb74b3bc9 --- /dev/null +++ b/research/pr699-frame-retiming-validation/RESULT.json @@ -0,0 +1,91 @@ +{ + "status": "PASS_PINNED_INPUT_FRAME_RETIMING_COMPLETE_REPLAY", + "kappa": "1661202643272239/1000000000000000000", + "kappa_decimal": "0.001661202643272239", + "complex_lower": "1663966829367501881629/1000000000000000000000000", + "bit_lower": "1733427039589844234749/1000000000000000000000000", + "global_profile": { + "1": 184033, + "2": 24048, + "3": 30961, + "4": 13968, + "5": 4032, + "8": 576, + "44": 1, + "48": 2396 + }, + "seconds": 465.483, + "stages": [ + { + "name": "dependency-manifest", + "exit_code": 0, + "seconds": 0.064, + "log_sha256": "8765ca4c6d75eb1d55fa92ddbccc6c75e1a862dfdbf4585b6913d9ba933da674" + }, + { + "name": "fresh-native-and-controls", + "exit_code": 0, + "seconds": 433.334, + "log_sha256": "7d71911db48e1944df0fc9f5e512c9b64d8a63a195752489b851108769d08a69" + }, + { + "name": "independent-pointset-frames", + "exit_code": 0, + "seconds": 1.213, + "log_sha256": "a0f204ad7efae2f5a66278c3a9d77c27006a90c580d730b0b31ed7cc5a50d1e9" + }, + { + "name": "strict-global-admission", + "exit_code": 0, + "seconds": 28.844, + "log_sha256": "6a5c9c731633ca5716087d1d0ec848e0d1793a9bfdac678314cbc1b42a2c1c3b" + }, + { + "name": "independent-owners-and-moments", + "exit_code": 0, + "seconds": 1.236, + "log_sha256": "c9feb7351ea22c79674c0747dc6086f771b4e6c704bd0ddfe7086b306fe35659" + }, + { + "name": "independent-two-engine-outer47", + "exit_code": 0, + "seconds": 0.785, + "log_sha256": "2f0fb3a010bd37c92b10cc2b54576abf6c9eeb6f2f47016f008d810dc960e61f" + } + ], + "package_manifest_sha256": "e0102586186663b2a667768565f61db184638b370f68f0ea58dd673e523173ec", + "source_pins": { + "main_commit": "66849e1475c930fd7732b1a0067ffee7e1e95f60", + "pr699_commit": "03e8d7ca494a083e5053cd6b1228f66b98414479", + "pr635_commit": "a6895a69f8ad98ab45777b03e9e6f48888c39f6f", + "pr699_manifest_sha256": "1ec13d3f02dfd2966558264dfb010c52e83364d7cfee63af53df32df9384b9f8", + "pr699_plan_sha256": "46cf9a3cc363a197323575a370caa5a2d74e7726797e21e49933d3933a5d5ed2", + "pr699_owners_sha256": "99d1c4caf85855c353d30f122d9efbd9e51562914facded13027f347b18a6082", + "input_word_content_sha256": "d232183f233899961bf55cac67a18545ed33548d9a7ca7078990d1a83d557c59", + "concurrent_pr741_commit": "e516b1463606840a15f80aac1995d64ce0092e89", + "concurrent_pr741_created_utc": "2026-10-13T05:01:16Z", + "exact_intervals_sha256": "aa3c2327c5d3742248b720a87b2de0bbe2e34ed2af89a578e3c8d5bd2656a9cf", + "exact_intervals_source": "research/complex-k492-owner-repair/extras/exact_intervals.py" + }, + "native_pins": { + "raw_word_content_sha256": "e78047028c7dcd25fb1b6216c2b53eda76d2f91292b21d43f5d1903cc13a5c6c", + "canonical_sha256": "b0d27d99423047ce07af847734f5a86f9411038bb3b0bf721918ece1ee579325", + "program_sha256": { + "forward": "b2cf8298488cc81aeee1385d4d9ebd842efbb21abb9296fca903adb8ad50f8d0", + "backward": "6f28cf1413671d5b7c50488a1603fa8f1558da469abbbb45b6a9b66ec640712b" + }, + "clifford_recipes_sha256": "eb7569e004bd2a2937928db9db49dad949ec291f00c2d21df6af722df7cb6c9c", + "frame_controls": 35, + "layer_controls": 95 + }, + "controls": { + "frame": 35, + "cold_end": 95, + "independent_frames": 12, + "native": 25, + "owner": 7, + "admission": 69, + "bit_supplier": 12 + }, + "scope": "Fresh incremental replay from the pinned PR699 raw word: frame construction, both complete native orientations, exact wrappers/phases, physical controller and full coefficient invoice, independent owners, rational moments and 47 outer inequalities. The PR699 ancestral construction and cited PR589 bit circuit are inherited, not rebuilt by this command. All-size/compiler, hosting, precision/tape and analytic-transfer assumptions remain conditional. This corroborates concurrent PR741; no mathematical priority claim." +} diff --git a/research/pr699-frame-retiming-validation/RETAINED-ARTIFACTS.json b/research/pr699-frame-retiming-validation/RETAINED-ARTIFACTS.json new file mode 100644 index 0000000000..f8f4d74e99 --- /dev/null +++ b/research/pr699-frame-retiming-validation/RETAINED-ARTIFACTS.json @@ -0,0 +1,34 @@ +{ + "retained_receipt_artifacts": [ + "RESULT.json", + "STAGES.json", + "INDEPENDENT-FRAMES.json", + "INDEPENDENT-OWNERS.json", + "INDEPENDENT-PRICE.json", + "native/STEPS.json", + "native/NATIVE-PINS.json", + "native/INDEPENDENT-AUDIT.json", + "native/FRAME-CONTROLS.json", + "native/controls/COLD-END-CONTROLS.json", + "native/word/FRAME-CHECKS.json", + "global-replay/ASSEMBLY.json", + "global-replay/REPLAY.json", + "global-replay/STAGES.json", + "global-replay/ADMISSION-CONTROLS.json", + "global-replay/BIT-SUPPLIER-CONTROLS.json", + "native/local/CLIFFORD-REVIEW.json", + "native/local/WRAPPER-CHECKS.json", + "native/local/RESIDUAL-ADAPTERS.json", + "native/local/INDEPENDENT-LOCAL-REPLAY.json", + "native/local/LOCAL-CHECKS.json", + "native/local/SCALAR-FRAME-AUDIT.json" + ], + "generated_on_replay_not_duplicated": [ + "native/word/FULL-WORD.json.gz", + "native/local/CLIFFORD-RECIPES.json", + "native/local/LOCAL-PROGRAMS.json.gz", + "native/local/FULL-WORD.json.gz", + "native/local/CANONICAL-WORD.json.gz" + ], + "note": "RECEIPT.json hashes every generated artifact; large programs and duplicate words are regenerated by the documented command." +} diff --git a/research/pr699-frame-retiming-validation/STAGES.json b/research/pr699-frame-retiming-validation/STAGES.json new file mode 100644 index 0000000000..00acf1dee9 --- /dev/null +++ b/research/pr699-frame-retiming-validation/STAGES.json @@ -0,0 +1,38 @@ +[ + { + "name": "dependency-manifest", + "exit_code": 0, + "seconds": 0.064, + "log_sha256": "8765ca4c6d75eb1d55fa92ddbccc6c75e1a862dfdbf4585b6913d9ba933da674" + }, + { + "name": "fresh-native-and-controls", + "exit_code": 0, + "seconds": 433.334, + "log_sha256": "7d71911db48e1944df0fc9f5e512c9b64d8a63a195752489b851108769d08a69" + }, + { + "name": "independent-pointset-frames", + "exit_code": 0, + "seconds": 1.213, + "log_sha256": "a0f204ad7efae2f5a66278c3a9d77c27006a90c580d730b0b31ed7cc5a50d1e9" + }, + { + "name": "strict-global-admission", + "exit_code": 0, + "seconds": 28.844, + "log_sha256": "6a5c9c731633ca5716087d1d0ec848e0d1793a9bfdac678314cbc1b42a2c1c3b" + }, + { + "name": "independent-owners-and-moments", + "exit_code": 0, + "seconds": 1.236, + "log_sha256": "c9feb7351ea22c79674c0747dc6086f771b4e6c704bd0ddfe7086b306fe35659" + }, + { + "name": "independent-two-engine-outer47", + "exit_code": 0, + "seconds": 0.785, + "log_sha256": "2f0fb3a010bd37c92b10cc2b54576abf6c9eeb6f2f47016f008d810dc960e61f" + } +] diff --git a/research/pr699-frame-retiming-validation/cold-replay.log b/research/pr699-frame-retiming-validation/cold-replay.log new file mode 100644 index 0000000000..842db77817 --- /dev/null +++ b/research/pr699-frame-retiming-validation/cold-replay.log @@ -0,0 +1,13 @@ +RUN dependency-manifest +PASS dependency-manifest +RUN fresh-native-and-controls +PASS fresh-native-and-controls +RUN independent-pointset-frames +PASS independent-pointset-frames +RUN strict-global-admission +PASS strict-global-admission +RUN independent-owners-and-moments +PASS independent-owners-and-moments +RUN independent-two-engine-outer47 +PASS independent-two-engine-outer47 +PASS_PINNED_INPUT_FRAME_RETIMING_COMPLETE_REPLAY 0.001661202643272239 diff --git a/research/pr699-frame-retiming-validation/dependency-manifest.log b/research/pr699-frame-retiming-validation/dependency-manifest.log new file mode 100644 index 0000000000..e14a864834 --- /dev/null +++ b/research/pr699-frame-retiming-validation/dependency-manifest.log @@ -0,0 +1 @@ +PASS package manifest: 122 files diff --git a/research/pr699-frame-retiming-validation/fresh-native-and-controls.log b/research/pr699-frame-retiming-validation/fresh-native-and-controls.log new file mode 100644 index 0000000000..0c2413c08a --- /dev/null +++ b/research/pr699-frame-retiming-validation/fresh-native-and-controls.log @@ -0,0 +1,11 @@ +PASS dependency-manifest +PASS frame-construction +PASS independent-audit +PASS native +PASS ledgers +PASS local-replay +PASS wrappers +PASS frame-controls +PASS layer-end-controls +PASS phases +PASS_EIGHT_FRAME_RAISES_FULL_NATIVE_CHAIN /tmp/mult-frame8-cold/native/local diff --git a/research/pr699-frame-retiming-validation/global-replay/ADMISSION-CONTROLS.json b/research/pr699-frame-retiming-validation/global-replay/ADMISSION-CONTROLS.json new file mode 100644 index 0000000000..6a1a2b6b58 --- /dev/null +++ b/research/pr699-frame-retiming-validation/global-replay/ADMISSION-CONTROLS.json @@ -0,0 +1,102 @@ +{ + "status": "PASS_EXACT_MIXED_048_ALLCOLD_NATIVE_ASSEMBLY_ADMISSION_NEGATIVE_CONTROLS", + "valid_receipt_kappa": "1661202643272239/1000000000000000000", + "input_sha256": { + "owner_audit": "646464ed582b17d49465a37cd37f28f3ea4cafa06b8e1211a88954f5e1d04a10", + "fresh_invoice": "9b342bf06d23032a4d7cd9dfaf33d838c6897ff4086fcfa3a2d6260cf986fe6e", + "package:inputs/PR589-EXPECTED.json": "b9f0e5ca038abe837b0007c8fe006f366a6f02009244ac57705a8a200e2301f4", + "engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c" + }, + "assembler_sha256": "4c270a996b380ab712f72b81173ab24f1c73203a33578f261bfbaa7e67d75aec", + "rejected_controls": [ + "empty_certification_maps", + "failed_invoice_status", + "nonboolean_precision_check", + "wrong_owner_role_count", + "understated_physical_stock", + "changed_profile_same_rank_mass", + "insufficient_finite_C0", + "missing_finite_check", + "wrong_reflected_orientation_selfconsistent_totals", + "missing_selected_call", + "wrong_selected_primitive_sum", + "wrong_selected_coefficient_work_sum", + "unpaid_wrapper_factors", + "wrong_global_compiler", + "wrong_global_adapter_maximum", + "understated_exact_prefix_and_global_sum", + "wrong_global_prefix_sum", + "wrong_row_prefix_reserve", + "wrong_parent_geometry_charge", + "wrong_rebased_geometry_charge", + "wrong_complete_pervertex_envelope", + "wrong_prior_added_complete_invoice", + "wrong_finite_router_bits", + "wrong_finite_literal_bits", + "wrong_finite_physical_stock_bits", + "wrong_finite_row_coefficient", + "reordered_complete_calls", + "understated_explicit_idle_remainders", + "understated_actual_chart_types", + "wrong_cross_replica_role_count", + "old_no_cold_wrapper_counts_selfconsistent", + "gauge44:missing_provider", + "gauge44:missing_backward_orientation", + "gauge44:unpaid_scalar_primitive", + "gauge44:wrong_local_artifact_binding", + "gauge44:false_dirty_restoration", + "gauge44:wrong_declared_provider_count", + "gauge44:wrong_local_compiler", + "gauge44:wrong_local_adapter_charge", + "gauge44:wrong_local_primitive_bound", + "gauge44:forged_provider_and_call_program_hash", + "gauge44:provider_at_wrong_call", + "gauge44:synchronized_forged_source_recipe_hash", + "gauge44:synchronized_forged_phase_review_semantics", + "gauge44:width_order_swap_4_5", + "gauge44:width_inventory_shift_4_5", + "gauge44:width_order_swap_4_7", + "gauge44:width_inventory_shift_4_7", + "gauge44:width_order_swap_4_8", + "gauge44:width_inventory_shift_4_8", + "gauge44:width_order_swap_4_9", + "gauge44:width_inventory_shift_4_9", + "gauge44:width_order_swap_5_7", + "gauge44:width_inventory_shift_5_7", + "gauge44:width_order_swap_5_8", + "gauge44:width_inventory_shift_5_8", + "gauge44:width_order_swap_5_9", + "gauge44:width_inventory_shift_5_9", + "gauge44:width_order_swap_7_8", + "gauge44:width_inventory_shift_7_8", + "gauge44:width_order_swap_7_9", + "gauge44:width_inventory_shift_7_9", + "gauge44:width_order_swap_8_9", + "gauge44:width_inventory_shift_8_9", + "gauge44:cold_helper_width_swap_270", + "gauge44:cold_helper_width_swap_282", + "gauge44:cold_helper_width_swap_294", + "gauge44:cold_helper_width_swap_306", + "wrong_owner_receipt_hash" + ], + "discovery_accepted_controls": [], + "exact_outer_controls": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ], + "conservative_outer_controls": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ], + "recurrence_model_controls": [ + "native_complex_endpoint_rejected_with_old_surcharge", + "omitting_bit_surcharge_would_fail_next_endpoint_rejection" + ], + "scope": "Complete receipt schema; ordered widths and both reflected providers; exact program, work and paid-profile binding; independently recounted compiler, conservative envelope and finite inequalities. Does not replace fresh physical replay." +} diff --git a/research/pr699-frame-retiming-validation/global-replay/ASSEMBLY.json b/research/pr699-frame-retiming-validation/global-replay/ASSEMBLY.json new file mode 100644 index 0000000000..4edc986237 --- /dev/null +++ b/research/pr699-frame-retiming-validation/global-replay/ASSEMBLY.json @@ -0,0 +1,345 @@ +{ + "status": "PASS_GAUGE44_NATIVE_EXACT_GLOBAL_ASSEMBLY", + "kappa": "1661202643272239/1000000000000000000", + "kappa_decimal": "0.001661202643272239", + "complex_lower": "1663966829367501881629/1000000000000000000000000", + "complex_decimal": "0.001663966829367501881629", + "bit_lower": "1733427039589844234749/1000000000000000000000000", + "bit_decimal": "0.001733427039589844234749", + "binding": "complex", + "gain_over_pr635_percent": "1.525516965056987836140169442568637070241838595412479478276838901958012", + "complex_profile": { + "1": 184033, + "2": 24048, + "3": 30961, + "4": 13968, + "5": 4032, + "8": 576, + "44": 1, + "48": 2396 + }, + "provider_counts": { + "gauge44": 72 + }, + "surcharge_model": { + "complex": false, + "bit": true + }, + "conservative_complex_lower": "831983413236823008281/500000000000000000000000", + "conservative_complex_decimal": "0.001663966826473646016562", + "conservative_kappa": "1661202640387989/1000000000000000000", + "conservative_kappa_decimal": "0.001661202640387989", + "conservative_moments": [ + { + "side": "conservative_complex", + "surcharge": true, + "endpoint": "831983413236823008281/500000000000000000000000", + "accept": true, + "mercator": [ + "-36251093645268568293609980726137287994597871/26959946667150639794667015087019630673637144422540572481103610249216", + "-36251093645268568293609980726137287994597869/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two": [ + "-13446282976270870281079/10000000000000000000000000000000000000000000000", + "-1680784122033858785117/1250000000000000000000000000000000000000000000" + ] + }, + { + "side": "conservative_complex", + "surcharge": true, + "endpoint": "1663966826473646016563/1000000000000000000000000", + "accept": false, + "mercator": [ + "43257831850310099305642124947279306886060263/26959946667150639794667015087019630673637144422540572481103610249216", + "43257831850310099305642124947279306886060265/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two": [ + "8022608512047647664237/5000000000000000000000000000000000000000000000", + "16045227024095295328617/10000000000000000000000000000000000000000000000" + ] + } + ], + "conservative_bootstrap": [ + { + "exponent": "415315509217947683386638236991648357595758859111289856584712051132715249807576642737405425039/250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "676197400463820753861097016645023992737000388710143415287948867284750192423357262594574961/250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "4920797851562" + }, + { + "exponent": "207995290724184492313773279782527909524627155717611120237674221762220065414961320548444263958171066762342416534102311272294378410534578252041/125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "562585021259756476387221618781269620774032388879762325778237779934585038679451555736041828933237657583465897688727705621589465421747959/125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "1777240481265241099" + }, + { + "exponent": "103997926186541469811522003580013673710520852404054106470240122663546024163593238125168973786290564867669903428148613828976826983283441653558786993966651470930977602143076561047051751848479/62500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "468061406223602829922059671686603112470945893529759877336453975836406761874831026213709435132330096571851386171023173016716558346441213006033348529069022397856923438952948248151521/62500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "641884471487762987935622" + }, + { + "exponent": "51998963326912018691208076517159550794444245407539235860173671977535906742001738932027791271916241855951009342975901404410054052620967408413585314072209553621536329918360233036388204489260957289118503343764064820570943662525100725745401/31250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "389419326354340233877121904117737029960764139826328022464093257998261067972208728083758144048990657024098595589945947379032591586414685927790446378463670081639766963611795510739042710881496656235935179429056337474899274254599/31250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "231828882517803885629958292900" + }, + { + "exponent": "25999481663650395018360887707226842048336538595522379847303076319205196845137037680596199395953318434562608371828480283887329874355454662578423788439998119452181150331012995248305054193642894929187252645755160306679357145931429737940442647063695714257723432695697408422824789079334319/15625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "323990420320668291494300944452623227620152696923680794803154862962319403800604046681565437391628171519716112670125644545337421576211560001880547818849668987004751694945806357105070812747354244839693320642854068570262059557352936304285742276567304302591577175210920665681/15625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "83729445339103073009264102681234859" + }, + { + "exponent": "12999740831825359234835948433336622581767259872415070605791120009560594888535174828962482572913135923240056961700640787174164046020205615890721442742809362815263030097028483615253632694766979313309807942311935369069850940249249999316360030996310930406739241379334465113449422847780828604451327261004501328753271836801983205495504361/7812500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "269554655754422545592873235736959929394208879990439405111464825171037517427086864076759943038299359212825835953979794384109278557257190637184736969902971516384746367305233020686690192057688064630930149059750750000683639969003689069593260758620665534886550577152219171395548672738995498671246728163198016794504495639/7812500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "30240494370909332289682038079624556016181" + }, + { + "exponent": "6499870415912679751971037091331142783521829665767726814989426341949072742049829643141903650743235546425083192692362501095567001607890867942142034901638653220473188757570248846743969308224800297997285209103659169306642589229937199529128433284383503145427235882659305922623403415126834925887083542294477143674827660124481252034353792593525326189097179776058595846551153006625386559/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "224265002548441303798418138919773185010573658050927257950170356858096349256764453574916807307637498904432998392109132057857965098361346779526811242429751153256030691775199702002714790896340830693357410770062800470871566715616496854572764117340694077376596584873165074112916457705522856325172339875518747965646207406474673810902820223941404153448846993374613441/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "10921934286001030262243019581597196681117272050" + } + ], + "conservative_outer": { + "bit_positive": "6499870415912679751971037091331142783521829665767726814989426341949072742049829643141903650743235546425083192692362501095567001607890867942142034901638653220473188757570248846743969308224800297997285209103659169306642589229937199529128433284383503145427235882659305922623403415126834925887083542294477143674827660124481252034353792593525326189097179776058595846551153006625386559/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "complex_above_bit": "224275408668857216478170334232273185010573658050927257950170356858096349256764453574916807307637498904432998392109132057857965098361346779526811242429751153256030691775199702002714790896340830693357410770062800470871566715616496854572764117340694077376596584873165074112916457705522856325172339875518747965646207406474673810902820223941404153448846993374613441/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "complex_below_one_over32": "14793016586763176991719/500000000000000000000000", + "beta_positive": "1/1000000000000000000000000", + "beta_below_one": "999999999999999999999999/1000000000000000000000000", + "leaf_saving_above_bit": "224268908798441303798418138919773185010573658050927257950170356858096349256764453574916807307637498904432998392109132057857965098361346779526811242429751153256030691775199702002714790896340830693357410770062800470871566715616496854572764117340694077376596584873165074112916457705522856325172339875518747965646207406474673810902820223941404153448846993374613441/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_positive": "3249935207956339875985512045795155479081162861846772076351929649144870603298099832144609876298875723382898454442530507312237075720752741608569921883817718719368652236750222784718764180923642578749795860582521359853023297329759496105394909999602521635514088812896368577808556280327534803637619147743823445002487942978698331540033221469102538613296555534236704397949387406132917220904153448846993374613441/1953125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_internal": "6499870415912679751971037091331142783521829665767726814989426341949072742049829643141903650743235546425083192692362501095567001607890867942142034901638653220473188757570248846743969308224800297997285209103659169306642589229937199529128433284383503145427235882659305922623403415126834925887083542294477143674827660124481252034353792593525326189097179776058595846551153006625386559/1953125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_leaf": "112140954269636564578961040496977923648070350855129396701900167855390123701124276617101545557469492687762924279247258391430078116182281280631347763249777215281235819076357421250204139417478640146976702670240503894605090000397478364485911187103631422191443719672465196362380852256176554997512057021301668459966778530897461386703444465763295602050612593867082779095846551153006625386559/1953125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "c_positive": "3249935207956339875986000327045155479081162861846772076351929649144870603298099832144609876298875723382898454442530507312237075720752741608569921883817718719368652236750222784718764180923642578749795860582521359853023297329759496105394909999602521635514088812896368577808556280327534803637619147743823445002487942978698331540033221469102538613296555534236704397949387406132917220904153448846993374613441/1953125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "c_below_one": "1949875064792043660124013999672954844520918837138153227923648070350855129396701900167855390123701124276617101545557469492687762924279247258391430078116182281280631347763249777215281235819076357421250204139417478640146976702670240503894605090000397478364485911187103631422191443719672465196362380852256176554997512057021301668459966778530897461386703444465763295602050612593867082779095846551153006625386559/1953125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_reservations": "1/4000000000000000000000000", + "lambda_above_tau": "6499870415912679751971037091331142783521829665767726814989426341949072742049829643141903650743235546425083192692362501095567001607890867942142034901638653220473188757570248846743969308224800297997285209103659169306642589229937199529128433284383503145427235882659305922623403415126834925887083542294477143674827660124481252034353792593525326189097179776058595846551153006625386559/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_above_sigma": "224281908539273129157922305269364516153357179880593025676985346284438298329506503404559949211288242139979423475301824420359060665362954670394753384464652791909251164963957272251561534865649055493655408055271904130040873358205726791772293245773978460879742012109047733418839081108937983160098226959061042442789882234134798292154854577733997678775036090554389499595846551153006625386559/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_above_internal": "6499870415912679751971037091331142783521829665767726814989426341949072742049829643141903650743235546425083192692362501095567001607890867942142034901638653220473188757570248846743969308224800297997285209103659169306642589229937199529128433284383503145427235882659305922623403415126834925887083542294477143674827660124481252034353792593525326189097179776058595846551153006625386559/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_prime_above_lambda": "6499870415912679751971037091331142783521829665767726814989426341949072742049829643141903650743235546425083192692362501095567001607890867942142034901638653220473188757570248846743969308224800297997285209103659169306642589229937199529128433284383503145427235882659305922623403415126834925887083542294477143674827660124481252034353792593525326189097179776058595846551153006625386559/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_leaf": "112140954269636564578961040496977923648070350855129396701900167855390123701124276617101545557469492687762924279247258391430078116182281280631347763249777215281235819076357421250204139417478640146976702670240503894605090000397478364485911187103631422191443719672465196362380852256176554997512057021301668459966778530897461386703444465763295602050612593867082779095846551153006625386559/1953125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_reservations": "1/4000000000000000000000000", + "lambda_prime_below_one": "3249935207956339875985512045795155479081162861846772076351929649144870603298099832144609876298875723382898454442530507312237075720752741608569921883817718719368652236750222784718764180923642578749795860582521359853023297329759496105394909999602521635514088812896368577808556280327534803637619147743823445002487942978698331540033221469102538613296555534236704397949387406132917220904153448846993374613441/1953125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "epsilon_positive": "1953124999999999999999998046875000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000/1956374935207956339875985512045795155479081162861846772076351929649144870603298099832144609876298875723382898454442530507312237075720752741608569921883817718719368652236750222784718764180923642578749795860582521359853023297329759496105394909999602521635514088812896368577808556280327534803637619147743823445002487942978698331540033221469102538613296555534236704397949387406132917220904153448846993374613441", + "epsilon_below_one": "3249935207956339875987465170795155479081162861846772076351929649144870603298099832144609876298875723382898454442530507312237075720752741608569921883817718719368652236750222784718764180923642578749795860582521359853023297329759496105394909999602521635514088812896368577808556280327534803637619147743823445002487942978698331540033221469102538613296555534236704397949387406132917220904153448846993374613441/1956374935207956339875985512045795155479081162861846772076351929649144870603298099832144609876298875723382898454442530507312237075720752741608569921883817718719368652236750222784718764180923642578749795860582521359853023297329759496105394909999602521635514088812896368577808556280327534803637619147743823445002487942978698331540033221469102538613296555534236704397949387406132917220904153448846993374613441", + "guard_width": "3249935207956339875987465170795155479081162861846772076351929649144870603298099832144609876298875723382898454442530507312237075720752741608569921883817718719368652236750222784718764180923642578749795860582521359853023297329759496105394909999602521635514088812896368577808556280327534803637619147743823445002487942978698331540033221469102538613296555534236704397949387406132917220904153448846993374613441/1956374935207956339875985512045795155479081162861846772076351929649144870603298099832144609876298875723382898454442530507312237075720752741608569921883817718719368652236750222784718764180923642578749795860582521359853023297329759496105394909999602521635514088812896368577808556280327534803637619147743823445002487942978698331540033221469102538613296555534236704397949387406132917220904153448846993374613441", + "K_geometry": "1468093685207956339875986000327045155479081162861846772076351929649144870603298099832144609876298875723382898454442530507312237075720752741608569921883817718719368652236750222784718764180923642578749795860582521359853023297329759496105394909999602521635514088812896368577808556280327534803637619147743823445002487942978698331540033221469102538613296555534236704397949387406132917220904153448846993374613441/1956374935207956339875985512045795155479081162861846772076351929649144870603298099832144609876298875723382898454442530507312237075720752741608569921883817718719368652236750222784718764180923642578749795860582521359853023297329759496105394909999602521635514088812896368577808556280327534803637619147743823445002487942978698331540033221469102538613296555534236704397949387406132917220904153448846993374613441000000000000000000000000", + "K_dominates_log": "3249935207956339875985997077109947522741286875846445031196450567982008756526023480214960731428272425283066309832654208436513692822298299078062609646741997966627043666828338967000044812271405828527011141818340436210444547533898913584035056976305191876017983417986368975286920766238721907269041339187543117467684305359550587716588218981159559914965015501015235295410774109577382984199755499459587241696220095846551153006625386559/1956374935207956339875985512045795155479081162861846772076351929649144870603298099832144609876298875723382898454442530507312237075720752741608569921883817718719368652236750222784718764180923642578749795860582521359853023297329759496105394909999602521635514088812896368577808556280327534803637619147743823445002487942978698331540033221469102538613296555534236704397949387406132917220904153448846993374613441000000000000000000000000", + "record_suffix": "3249935207956339875987465170795155479081162861846772076351929649144870603298099832144609876298875723382898454442530507312237075720752741608569921883817718719368652236750222784718764180923642578749795860582521359853023297329759496105394909999602521635514088812896368577808556280327534803637619147743823445002487942978698331540033221469102538613296555534236704397949387406132917220904153448846993374613441/1956374935207956339875985512045795155479081162861846772076351929649144870603298099832144609876298875723382898454442530507312237075720752741608569921883817718719368652236750222784718764180923642578749795860582521359853023297329759496105394909999602521635514088812896368577808556280327534803637619147743823445002487942978698331540033221469102538613296555534236704397949387406132917220904153448846993374613441", + "phase_local": "25999481663650719007897764991426035876309426909262130815659958111996102979612722305227229865520402488963355490930367759622173222867567490338052062833466029002207609324079898460031394078736903879775582165895989955181607628842215386321799426973522843324616605108260949019946814728531465532732375373394307232485099906210438908496820769264877330208040904240672166081056485952507803530528829641388540863990307095846551153006625386559/15650999481663650719007884096366361243832649302894774176610815437193158964826384798657156879010391005787063187635540244058497896605766021932868559375070541749754949217894001782277750113447389140629998366884660170878824186378638075968843159279996820173084112710503170948622468450242620278429100953181950587560019903543829586652320265771752820308906372444273893635183595099249063337767233227590775946996907528000000000000000000000000", + "phase_boundary": "5199896332730143801577987898337040810189984593442789527007608357468931118504883379501726657207597859312805382498172512823855938254749944043204562777032629198248235008878472637831303320825591375776888658167853252122258525931754611247272002976066704857326436705724190121972054534435242789451612827833837184469177071146769586640608151862621083082942948821557257934180406553257133316742247568767783266464284695846551153006625386559/3130199896332730143801576819273272248766529860578954835322163087438631792965276959731431375802078201157412637527108048811699579321153204386573711875014108349950989843578800356455550022689477828125999673376932034175764837275727615193768631855999364034616822542100634189724493690048524055685820190636390117512003980708765917330464053154350564061781274488854778727036719019849812667553446645518155189399381505600000000000000000000000", + "gamma_sublinear": "1/2000000000000000000000000", + "cell_above_band": "3906249999999999999999994137375064792043660124014487954204844520918837138153227923648070350855129396701900167855390123701124276617101545557469492687762924279247258391430078116182281280631347763249777215281235819076357421250204139417478640146976702670240503894605090000397478364485911187103631422191443719672465196362380852256176554997512057021301668459966778530897461386703444465763295602050612593867082779095846551153006625386559/7825499740831825359503942048183180621916324651447387088305407718596579482413192399328578439505195502893531593817770122029248948302883010966434279687535270874877474608947000891138875056723694570314999183442330085439412093189319037984421579639998410086542056355251585474311234225121310139214550476590975293780009951771914793326160132885876410154453186222136946817591797549624531668883616613795387973498453764000000000000000000000000", + "prime_interval_packing": "3249935207956339875987465170795155479081162861846772076351929649144870603298099832144609876298875723382898454442530507312237075720752741608569921883817718719368652236750222784718764180923642578749795860582521359853023297329759496105394909999602521635514088812896368577808556280327534803637619147743823445002487942978698331540033221469102538613296555534236704397949387406132917220904153448846993374613441/1956374935207956339875985512045795155479081162861846772076351929649144870603298099832144609876298875723382898454442530507312237075720752741608569921883817718719368652236750222784718764180923642578749795860582521359853023297329759496105394909999602521635514088812896368577808556280327534803637619147743823445002487942978698331540033221469102538613296555534236704397949387406132917220904153448846993374613441", + "alpha_positive": "6499870415912679751972973966655103001822449738181498357548380217126879359824123312359570607727148148665964764275184715748750768543051040686632531530559716685995695903578561751718808993195048407276807002400861796063467844863658409689429966975907713511532072230882737553095477046566256710906660486931366562470172248338248919256621440450262098528261571035251939693360161515710300205103908948306580616309661095846551153006625386559/3912749870415912679751971024091590310958162325723693544152703859298289741206596199664289219752597751446765796908885061014624474151441505483217139843767635437438737304473500445569437528361847285157499591721165042719706046594659518992210789819999205043271028177625792737155617112560655069607275238295487646890004975885957396663080066442938205077226593111068473408795898774812265834441808306897693986749226882000000000000000000000000", + "alpha_below_one": "3906249999999999999999998050124935207956339875985512045795155479081162861846772076351929649144870603298099832144609876298875723382898454442530507312237075720752741608569921883817718719368652236750222784718764180923642578749795860582521359853023297329759496105394909999602521635514088812896368577808556280327534803637619147743823445002487942978698331540033221469102538613296555534236704397949387406132917220904153448846993374613441/3912749870415912679751971024091590310958162325723693544152703859298289741206596199664289219752597751446765796908885061014624474151441505483217139843767635437438737304473500445569437528361847285157499591721165042719706046594659518992210789819999205043271028177625792737155617112560655069607275238295487646890004975885957396663080066442938205077226593111068473408795898774812265834441808306897693986749226882000000000000000000000000", + "alpha_below_one_fourth": "971687597188065490186019782056242474737718131692741887680627584607445555941824926603712734330422289713025484462946080537907367769317325330117652429411349142673688630214796549640640573097266772882098090927890398883863043803801221338363267488023893547306224972175565446735808801093597510690912149086940545160031071723151100246513395170284289170778386706731866412505614532187356158405348167776116916070997059404153448846993374613441/3912749870415912679751971024091590310958162325723693544152703859298289741206596199664289219752597751446765796908885061014624474151441505483217139843767635437438737304473500445569437528361847285157499591721165042719706046594659518992210789819999205043271028177625792737155617112560655069607275238295487646890004975885957396663080066442938205077226593111068473408795898774812265834441808306897693986749226882000000000000000000000000", + "delta_positive": "1/8000000000000000000000000", + "delta_below_one_eighth": "999999999999999999999999/8000000000000000000000000", + "short_record_fallback": "7616678347686208718923192816254619287269752345277970783188498845591851573031776388987261866359609895224625716952639427542360128904450496896879616912262430540005968210151521051840457249325557422412369623656214591720872273904153528922092403219023404526140982763559671740751388524465751021365854645529828489511931671012599449450194018422897016815863571547664242246284002745472515683726507405845620554230925410933109480892676747166328177869087397366637791932389476982757212562950685752357930853347017432859120561568785442590968114147526475779235780918352904849168723736371703570750257777472950051304101214594856737087399945590354833019407816355099353642590830091479190514898873731743727715626117379821959431939900543913989718909844628662480045698452696334607058535474971228200801056177860481/7642089590656079452640568406428887326090160792429088953423249725191972150794133202469314882329292483294464447087666134794188426077034190396908476257358662963747533797799805557752807672581732978823241390080400474061925872255194373031661698867185947350138726909425376439757064672970029432826709449795874310332040968527260540357578254771363681791458189670055612126554489794555206707894156849409558567869583753906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "small_field_exposure": "1/1000000000000000000000000", + "artificial_boundary": "109582995853309205752063094265055695574530214051114729550271989934788760304151394618313043979517739856190804997518151581364610342994823538790539996937275561160297818568861779909675157065685069835290655289233573909801521227278492189498309353799044453373951390000210097587787312508483228666121913358881273541462763639263494136450032461181486391407345974174290813488776376633882173304847979014574369794374011886712460346540980123840323/15650999481663650719007884096366361243832649302894774176610815437193158964826384798657156879010391005787063187635540244058497896605766021932868559375070541749754949217894001782277750113447389140629998366884660170878824186378638075968843159279996820173084112710503170948622468450242620278429100953181950587560019903543829586652320265771752820308906372444273893635183595099249063337767233227590775946996907528000000000000000000000000", + "literal_scalar_guard": "1", + "row_product_gap": "23971789/25", + "balanced_prefix_above_kappa": "1900444340993230785023066966752747229042005610474791485161676800566795964667054824002560887549306119048516768745217257979700650708547495759516331479059653082285595516736020734537463767908638974048886027513136365780023791882199734183461886679908036349188476260812071930758814476453311348299236441936886650878113406960828954474848156869732226289456933441308484810481755567901531182262671005946718892865639851/1956374935207956339875985512045795155479081162861846772076351929649144870603298099832144609876298875723382898454442530507312237075720752741608569921883817718719368652236750222784718764180923642578749795860582521359853023297329759496105394909999602521635514088812896368577808556280327534803637619147743823445002487942978698331540033221469102538613296555534236704397949387406132917220904153448846993374613441000000000000000000", + "coordinate_movement_above_kappa": "10797601897097720721037091331142783521829665767726814989426341949072742049829643141903650743235546425083192692362501095567001607890867942142034901638653220473188757570248846743969308224800297997285209103659169306642589229937199529128433284383503145427235882659305922623403415126834925887083542294477143674827660124481252034353792593525326189097179776058595846551153006625386559/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_phase_layer_above_kappa": "1900442384618295577066727090767235183246850131393628623314904724214866315522184220704461055404696242749641045362318803537170143396310420038763589870489731198467876797367368497787240983189874793125243448763340505197502432029176436853702390574513126349585954625297983117862445898644755067971701638299267503134289961958341011496149825329699004820354394828011929276245051169952143776129753785042565444018646476386559/1956374935207956339875985512045795155479081162861846772076351929649144870603298099832144609876298875723382898454442530507312237075720752741608569921883817718719368652236750222784718764180923642578749795860582521359853023297329759496105394909999602521635514088812896368577808556280327534803637619147743823445002487942978698331540033221469102538613296555534236704397949387406132917220904153448846993374613441000000000000000000000000", + "bulk_exposure_above_kappa": "10797601897097720721037091331142783521829665767726814989426341949072742049829643141903650743235546425083192692362501095567001607890867942142034901638653220473188757570248846743969308224800297997285209103659169306642589229937199529128433284383503145427235882659305922623403415126834925887083542294477143674827660124481252034353792593525326189097179776058595846551153006625386559/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "Gaussian_arithmetic_above_kappa": "3040708989214234048080567270818883520672053497678503514411910804554943894322417115105997587934279914178751106609449158324990533821438917494473388757925523047839234107408980938509719243935058177554575065271222324665516707158496277363779522582457948159099040381785226276317734584516741876951243503461399493661158006134838384181058719451538340594028554892797020162534104510693062485487356388610596779738030386986559/3130199896332730143801576819273272248766529860578954835322163087438631792965276959731431375802078201157412637527108048811699579321153204386573711875014108349950989843578800356455550022689477828125999673376932034175764837275727615193768631855999364034616822542100634189724493690048524055685820190636390117512003980708765917330464053154350564061781274488854778727036719019849812667553446645518155189399381505600000000000000000000000", + "scalar_work_above_kappa": "15203552771570911072228195858036465786540889404717169019446642328182438068191567988722387268249839076089258426578839609395074698356142890355377910223907302774467045414519513639549487358550347611467445641355295065657668975204574576137935597333869380793905288450982486633174147233817934506066356731857474059281083810684143692820086923417824588846552928917171322949617340145262862051968450826669597694078125433386559/15650999481663650719007884096366361243832649302894774176610815437193158964826384798657156879010391005787063187635540244058497896605766021932868559375070541749754949217894001782277750113447389140629998366884660170878824186378638075968843159279996820173084112710503170948622468450242620278429100953181950587560019903543829586652320265771752820308906372444273893635183595099249063337767233227590775946996907528000000000000000000000000", + "dimension_above_kappa": "1949875064792043662024454922697435629543985803890900456965653680825646614558378700734651354790755948279177989094863588541204531669496505238092080786663678040796962826822902859500876752555097091958713972048056452689033004215806606283918396972200131661826372591095139980610667704531744395955176857305567524854233953993907952546573373739359851936234860314197989585058984053902351893260851414452684188888057564946718892865639851/1956374935207956339875985512045795155479081162861846772076351929649144870603298099832144609876298875723382898454442530507312237075720752741608569921883817718719368652236750222784718764180923642578749795860582521359853023297329759496105394909999602521635514088812896368577808556280327534803637619147743823445002487942978698331540033221469102538613296555534236704397949387406132917220904153448846993374613441000000000000000000" + }, + "conservative_controls": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ], + "model_controls": [ + "native_complex_endpoint_rejected_with_old_surcharge", + "omitting_bit_surcharge_would_fail_next_endpoint_rejection" + ], + "native_correction_gain": "2.88425E-12", + "template_sha256": "68435e7042c38913821ba9642760867116cdf31e2501bb6ae27ff5c00bde2a7a", + "input_sha256": { + "owner_audit": "646464ed582b17d49465a37cd37f28f3ea4cafa06b8e1211a88954f5e1d04a10", + "fresh_invoice": "9b342bf06d23032a4d7cd9dfaf33d838c6897ff4086fcfa3a2d6260cf986fe6e", + "package:inputs/PR589-EXPECTED.json": "b9f0e5ca038abe837b0007c8fe006f366a6f02009244ac57705a8a200e2301f4", + "engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c" + }, + "bit_supplier": { + "pr": 589, + "repository": "CrocSwap/integer-mult-bounds", + "commit": "a5afc8c6169ea61ba7c51dfd3cade02cc7b13b46", + "merged_as": "b3eb785ac5b4b1ca2beea0f80db078a505626a90", + "path": "research/e8-bit-p111-tuned/tune/EXPECTED.json", + "git_blob_sha1": "e293ddc557742637f9f679f083a1a282d87b1b13", + "word": { + "v": 111, + "decoder_constant": 63, + "copy_ranks": [ + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7 + ] + }, + "derived_deficit": 10272, + "deficit_formula": "T(2Kv-L*cst), L=9 T=32 K=4 M=64", + "replay_scope": "Cited unchanged supplier; this assembly reprices its full profile and does not rebuild its bit circuit." + }, + "moments": [ + { + "side": "bit", + "surcharge": true, + "endpoint": "1733427039589844234749/1000000000000000000000000", + "accept": true, + "mercator": [ + "-43100600330766044577088869872467188970742291/26959946667150639794667015087019630673637144422540572481103610249216", + "-43100600330766044577088869872467188970742289/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two": [ + "-799345163337715793503/500000000000000000000000000000000000000000000", + "-3197378653350863173989/2000000000000000000000000000000000000000000000" + ] + }, + { + "side": "bit", + "surcharge": true, + "endpoint": "6933708158359376939/4000000000000000000000", + "accept": false, + "mercator": [ + "22502934905675809315035333485365686073718547/13479973333575319897333507543509815336818572211270286240551805124608", + "5625733726418952328758833371341421518429637/3369993333393829974333376885877453834204643052817571560137951281152" + ], + "base_two": [ + "8346798366759439729359/5000000000000000000000000000000000000000000000", + "16693606733518879458833/10000000000000000000000000000000000000000000000" + ] + }, + { + "side": "complex", + "surcharge": false, + "endpoint": "1663966829367501881629/1000000000000000000000000", + "accept": true, + "mercator": [ + "-14697494633557896163579725774531980101206853/26959946667150639794667015087019630673637144422540572481103610249216", + "-14697494633557896163579725774531980101206851/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two": [ + "-545161/1000000000000000000000000000000", + "-13629/25000000000000000000000000000" + ] + }, + { + "side": "complex", + "surcharge": false, + "endpoint": "166396682936750188163/100000000000000000000000", + "accept": false, + "mercator": [ + "64811430861876199766555490569126441384468587/26959946667150639794667015087019630673637144422540572481103610249216", + "64811430861876199766555490569126441384468589/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two": [ + "2403989/1000000000000000000000000000000", + "240399/100000000000000000000000000000" + ] + } + ], + "bootstrap": [ + { + "exponent": "1661262039756127335692228069371436756315311552413806929946443085046396355461398117144472306359/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "2704789611374545936769266661733876182806818586193070053556914953603644538601882855527693641/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "4920797816926" + }, + { + "exponent": "1663962328687308136568192024531931483367688788396889495946584982569285230860896795611675327521552734216670306408256647624826897365786158021189/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "4500680193745060805311501239149130429582603110504053415017430714769139103204388324672478447265783329693591743352375173102634213841978811/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "1777240462573859115" + }, + { + "exponent": "1663966821878519329645914433595135425747320137261665306386721481847068453813516771637789044495784843021173332262693911681556040496078853167654037276252524575638533967863748300689311248163119/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "7488982551983082902438035206750798233738334693613278518152931546186483228362210955504215156978826667737306088318443959503921146832345962723747475424361466032136251699310688751836881/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "641884462504370042104292" + }, + { + "exponent": "1663966829355040463076785502735016185364529713494645156602433349381683330503135846965254361096726280412321712832640826084899434864212672927944574201094155326431133386964191567795800494940135346471104199812019522887690641392368197578559149/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "12461418552211833298154447133588657505354843397566650618316669496864153034745638903273719587678287167359173915100565135787327072055425798905844673568866613035808432204199505059864653528895800187980477112309358607631802421440851/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "231828878466917841077160372317" + }, + { + "exponent": "1663966829367481146241879590743215521486649179575842922866816941295548305970272521163615484143219590937759136433569631924500479697947611508448058376218065595289110887114306433125425091140774130954371544423088505928018659378209315355008706749185244415091778515772120359031750195827026279/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "20735387117745289955111011469191424157077133183058704451694029727478836384515856780409062240863566430368075499520302052388491551941623781934404710889112885693566874574908859225869045628455576911494071981340621790684644991293250814755584908221484227879640968249804172973721/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "83729443584815018722124802531844649" + }, + { + "exponent": "1663966829367501847126000978010797094129430477554900858512610127813640351002459912587286794878511325935621561303798209854993340682293063997207724310474625016736727799479010683163845251904257883833071981217334674509496822099627321110296331155519056734594413997668583814130243015903939611331212731941819965107811529513179327655869671509/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "34502996358022373538368687893445099141487389872186359648997540087412713205121488674064378438696201790145006659317706936002792275689525374983263272200520989316836154748095742116166928018782665325490503177900372678889703668844480943265405586002331416185869756984096060388668787268058180034892188470486820672344130328491/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "30240493632130225352955848354563358782245" + }, + { + "exponent": "1663966829367501881571585494579633678807013851063260088627298928814486024584821678724483699828151127688014277759790815896053082420516762199853079677484820008203321908829182293271289219430487968560346734111538912474014116625497761542539008734830055017041501259269156892011912282677880796257051805552682413878783954796788735068805529865557988058282841485655159685260402973048368191839/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "57411841453536953691104519936739911372701071185513975415178321275516300171848872311985722240209184103946917579483237800146920322515179991796678091170817706728710780569512031439653265888461087525985883374502238457460991265169944982958498740730843107988087717322119203742948194447317586121216045203211264931194470134442011941717158514344840314739597026951631808161/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "10921933981187450197747520660427218370651579227" + } + ], + "outer": { + "bit_positive": "1663966829367501881571585494579633678807013851063260088627298928814486024584821678724483699828151127688014277759790815896053082420516762199853079677484820008203321908829182293271289219430487968560346734111538912474014116625497761542539008734830055017041501259269156892011912282677880796257051805552682413878783954796788735068805529865557988058282841485655159685260402973048368191839/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "complex_above_bit": "57414505420366321192986148936739911372701071185513975415178321275516300171848872311985722240209184103946917579483237800146920322515179991796678091170817706728710780569512031439653265888461087525985883374502238457460991265169944982958498740730843107988087717322119203742948194447317586121216045203211264931194470134442011941717158514344840314739597026951631808161/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "complex_below_one_over32": "29586033170632498118371/1000000000000000000000000", + "beta_positive": "1/1000000000000000000000000", + "beta_below_one": "999999999999999999999999/1000000000000000000000000", + "leaf_saving_above_bit": "57412841453536953691104519936739911372701071185513975415178321275516300171848872311985722240209184103946917579483237800146920322515179991796678091170817706728710780569512031439653265888461087525985883374502238457460991265169944982958498740730843107988087717322119203742948194447317586121216045203211264931194470134442011941717158514344840314739597026951631808161/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_positive": "831983414683750940785791083322987471901625353946135464679970657393391949032322212063313035428050979022328414396195579796898853195980621309110643785659989487339461101334913661815636406393335155097880095766550025749038497966014769232357030353298402010759208090625843615950939099837681128971633890864058529058595720346588814851988886148824197240406351937297714284642143203682698440759814739597026951631808161/500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_internal": "1663966829367501881571585494579633678807013851063260088627298928814486024584821678724483699828151127688014277759790815896053082420516762199853079677484820008203321908829182293271289219430487968560346734111538912474014116625497761542539008734830055017041501259269156892011912282677880796257051805552682413878783954796788735068805529865557988058282841485655159685260402973048368191839/500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_leaf": "28708084693597844347433831553864535320029342606608050967677787936686964571949020977671585603804420203101146804019378690889356214340010512660538898665086338184363593606664844902119904233449974250961502033985230767642969646701597989240791909374156384049060900162318871028366109135941470941404279653411185148011113851175802759593648062702285715357856796317301559240185260402973048368191839/500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "c_positive": "831983414683750940785916083322987471901625353946135464679970657393391949032322212063313035428050979022328414396195579796898853195980621309110643785659989487339461101334913661815636406393335155097880095766550025749038497966014769232357030353298402010759208090625843615950939099837681128971633890864058529058595720346588814851988886148824197240406351937297714284642143203682698440759814739597026951631808161/500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "c_below_one": "499168016585316249059214083916677012528098374646053864535320029342606608050967677787936686964571949020977671585603804420203101146804019378690889356214340010512660538898665086338184363593606664844902119904233449974250961502033985230767642969646701597989240791909374156384049060900162318871028366109135941470941404279653411185148011113851175802759593648062702285715357856796317301559240185260402973048368191839/500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_reservations": "1/4000000000000000000000000", + "lambda_above_tau": "1663966829367501881571585494579633678807013851063260088627298928814486024584821678724483699828151127688014277759790815896053082420516762199853079677484820008203321908829182293271289219430487968560346734111538912474014116625497761542539008734830055017041501259269156892011912282677880796257051805552682413878783954796788735068805529865557988058282841485655159685260402973048368191839/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_above_sigma": "57416169387195688694867720522234491006379878199365038675266948574445114657873457133664446723909012255074605593760997590962816375597600508558877944250495191548718983891420860621946537177680518013954443721236349996373465279286570480720041279739577938043104758823378472899840206359600264002012302255016817613608348918396808730452227319874705872727655309793117463320685260402973048368191839/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_above_internal": "1663966829367501881571585494579633678807013851063260088627298928814486024584821678724483699828151127688014277759790815896053082420516762199853079677484820008203321908829182293271289219430487968560346734111538912474014116625497761542539008734830055017041501259269156892011912282677880796257051805552682413878783954796788735068805529865557988058282841485655159685260402973048368191839/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_prime_above_lambda": "1663966829367501881571585494579633678807013851063260088627298928814486024584821678724483699828151127688014277759790815896053082420516762199853079677484820008203321908829182293271289219430487968560346734111538912474014116625497761542539008734830055017041501259269156892011912282677880796257051805552682413878783954796788735068805529865557988058282841485655159685260402973048368191839/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_leaf": "28708084693597844347433831553864535320029342606608050967677787936686964571949020977671585603804420203101146804019378690889356214340010512660538898665086338184363593606664844902119904233449974250961502033985230767642969646701597989240791909374156384049060900162318871028366109135941470941404279653411185148011113851175802759593648062702285715357856796317301559240185260402973048368191839/500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_reservations": "1/4000000000000000000000000", + "lambda_prime_below_one": "831983414683750940785791083322987471901625353946135464679970657393391949032322212063313035428050979022328414396195579796898853195980621309110643785659989487339461101334913661815636406393335155097880095766550025749038497966014769232357030353298402010759208090625843615950939099837681128971633890864058529058595720346588814851988886148824197240406351937297714284642143203682698440759814739597026951631808161/500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "epsilon_positive": "499999999999999999999999500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000/500831983414683750940785791083322987471901625353946135464679970657393391949032322212063313035428050979022328414396195579796898853195980621309110643785659989487339461101334913661815636406393335155097880095766550025749038497966014769232357030353298402010759208090625843615950939099837681128971633890864058529058595720346588814851988886148824197240406351937297714284642143203682698440759814739597026951631808161", + "epsilon_below_one": "831983414683750940786291083322987471901625353946135464679970657393391949032322212063313035428050979022328414396195579796898853195980621309110643785659989487339461101334913661815636406393335155097880095766550025749038497966014769232357030353298402010759208090625843615950939099837681128971633890864058529058595720346588814851988886148824197240406351937297714284642143203682698440759814739597026951631808161/500831983414683750940785791083322987471901625353946135464679970657393391949032322212063313035428050979022328414396195579796898853195980621309110643785659989487339461101334913661815636406393335155097880095766550025749038497966014769232357030353298402010759208090625843615950939099837681128971633890864058529058595720346588814851988886148824197240406351937297714284642143203682698440759814739597026951631808161", + "guard_width": "831983414683750940786291083322987471901625353946135464679970657393391949032322212063313035428050979022328414396195579796898853195980621309110643785659989487339461101334913661815636406393335155097880095766550025749038497966014769232357030353298402010759208090625843615950939099837681128971633890864058529058595720346588814851988886148824197240406351937297714284642143203682698440759814739597026951631808161/500831983414683750940785791083322987471901625353946135464679970657393391949032322212063313035428050979022328414396195579796898853195980621309110643785659989487339461101334913661815636406393335155097880095766550025749038497966014769232357030353298402010759208090625843615950939099837681128971633890864058529058595720346588814851988886148824197240406351937297714284642143203682698440759814739597026951631808161", + "K_geometry": "375831983414683750940785916083322987471901625353946135464679970657393391949032322212063313035428050979022328414396195579796898853195980621309110643785659989487339461101334913661815636406393335155097880095766550025749038497966014769232357030353298402010759208090625843615950939099837681128971633890864058529058595720346588814851988886148824197240406351937297714284642143203682698440759814739597026951631808161/500831983414683750940785791083322987471901625353946135464679970657393391949032322212063313035428050979022328414396195579796898853195980621309110643785659989487339461101334913661815636406393335155097880095766550025749038497966014769232357030353298402010759208090625843615950939099837681128971633890864058529058595720346588814851988886148824197240406351937297714284642143203682698440759814739597026951631808161000000000000000000000000", + "K_dominates_log": "831983414683750940785915251339572788150684568030052141692498755768038002896857532092655642036101946700116351083160151745919830867566225113530846886806793506718151990691128001826149066932233820184218280130143632413883400085919002682331281314800435995989975733595490317548928340629590503128017939924958691377466748712697950793459827553103850651591499948411565460444902797330761143045530097453823268933367401185260402973048368191839/500831983414683750940785791083322987471901625353946135464679970657393391949032322212063313035428050979022328414396195579796898853195980621309110643785659989487339461101334913661815636406393335155097880095766550025749038497966014769232357030353298402010759208090625843615950939099837681128971633890864058529058595720346588814851988886148824197240406351937297714284642143203682698440759814739597026951631808161000000000000000000000000", + "record_suffix": "831983414683750940786291083322987471901625353946135464679970657393391949032322212063313035428050979022328414396195579796898853195980621309110643785659989487339461101334913661815636406393335155097880095766550025749038497966014769232357030353298402010759208090625843615950939099837681128971633890864058529058595720346588814851988886148824197240406351937297714284642143203682698440759814739597026951631808161/500831983414683750940785791083322987471901625353946135464679970657393391949032322212063313035428050979022328414396195579796898853195980621309110643785659989487339461101334913661815636406393335155097880095766550025749038497966014769232357030353298402010759208090625843615950939099837681128971633890864058529058595720346588814851988886148824197240406351937297714284642143203682698440759814739597026951631808161", + "phase_local": "6655867317470007526289827834600485091462062045778000394452293357521781646123113016535846890032458799856415251856529210324211803239430574277305353386426719918094379700035523634535603911685579905869378950495993812657152885848022387308830493787889250071304432367976395629205502039493358405929455175973368394787636791138819654757382030594873231334435963509495565452939905223109650228364233274633011930356024528185260402973048368191839/4006655867317470007526286328666583899775213002831569083717439765259147135592258577696506504283424407832178627315169564638375190825567844970472885150285279915898715688810679309294525091251146681240783040766132400205992307983728118153858856242826387216086073664725006748927607512798701449031773071126912468232468765762772710518815911089190593577923250815498381714277137145629461587526078517916776215613054465288000000000000000000000000", + "phase_boundary": "1331173463494001505257564901333365271291659780522733420500481150204073172316250859330643463292932534113513399720877499624059142785154597898997233158202787199121828651492076198915530910768234913242946337590073647863306498865527864221745499526779477202445500587970996487119491800532199180510998274443393808812624180920651239704653159242398368995835311110790194031230188719540380207501418941212039439912452297785260402973048368191839/801331173463494001505257265733316779955042600566313816743487953051829427118451715539301300856684881566435725463033912927675038165113568994094577030057055983179743137762135861858905018250229336248156608153226480041198461596745623630771771248565277443217214732945001349785521502559740289806354614225382493646493753152554542103763182217838118715584650163099676342855427429125892317505215703583355243122610893057600000000000000000000000", + "gamma_sublinear": "1/2000000000000000000000000", + "cell_above_band": "999999999999999999999998499168016585316249059214208916677012528098374646053864535320029342606608050967677787936686964571949020977671585603804420203101146804019378690889356214340010512660538898665086338184363593606664844902119904233449974250961502033985230767642969646701597989240791909374156384049060900162318871028366109135941470941404279653411185148011113851175802759593648062702285715357856796317301559240185260402973048368191839/2003327933658735003763143164333291949887606501415784541858719882629573567796129288848253252141712203916089313657584782319187595412783922485236442575142639957949357844405339654647262545625573340620391520383066200102996153991864059076929428121413193608043036832362503374463803756399350724515886535563456234116234382881386355259407955544595296788961625407749190857138568572814730793763039258958388107806527232644000000000000000000000000", + "prime_interval_packing": "831983414683750940786291083322987471901625353946135464679970657393391949032322212063313035428050979022328414396195579796898853195980621309110643785659989487339461101334913661815636406393335155097880095766550025749038497966014769232357030353298402010759208090625843615950939099837681128971633890864058529058595720346588814851988886148824197240406351937297714284642143203682698440759814739597026951631808161/500831983414683750940785791083322987471901625353946135464679970657393391949032322212063313035428050979022328414396195579796898853195980621309110643785659989487339461101334913661815636406393335155097880095766550025749038497966014769232357030353298402010759208090625843615950939099837681128971633890864058529058595720346588814851988886148824197240406351937297714284642143203682698440759814739597026951631808161", + "alpha_positive": "1663966829367501881572081334662560260052309922101187606372469413161429951929179744155968677464152925722444765479355731542818684063546846422641490672466782994057613092026041663641785473325568975282098375896693658162921898051933771914688311668098838006749183824221333933499867440467271632099651830789017220436062469059286765645448713701928047891997851885709279745087046001013459583805344837050850220565175562185260402973048368191839/1001663966829367501881571582166645974943803250707892270929359941314786783898064644424126626070856101958044656828792391159593797706391961242618221287571319978974678922202669827323631272812786670310195760191533100051498076995932029538464714060706596804021518416181251687231901878199675362257943267781728117058117191440693177629703977772297648394480812703874595428569284286407365396881519629479194053903263616322000000000000000000000000", + "alpha_below_one": "999999999999999999999999500831983414683750940785791083322987471901625353946135464679970657393391949032322212063313035428050979022328414396195579796898853195980621309110643785659989487339461101334913661815636406393335155097880095766550025749038497966014769232357030353298402010759208090625843615950939099837681128971633890864058529058595720346588814851988886148824197240406351937297714284642143203682698440759814739597026951631808161/1001663966829367501881571582166645974943803250707892270929359941314786783898064644424126626070856101958044656828792391159593797706391961242618221287571319978974678922202669827323631272812786670310195760191533100051498076995932029538464714060706596804021518416181251687231901878199675362257943267781728117058117191440693177629703977772297648394480812703874595428569284286407365396881519629479194053903263616322000000000000000000000000", + "alpha_below_one_fourth": "248752024877974373588820814206998933475898502754871880125967515915535266022586981361875687840249872563788719441718742058355630742534443464231913831220363211749612117458641415167266032729871098602266841671986581354711597350931073612701490203508550362998630420221091587874475602109451568932386165114643012044093235391114007641780545729372484050728205324082939577397234025600827889636574562532747663255250728518314739597026951631808161/1001663966829367501881571582166645974943803250707892270929359941314786783898064644424126626070856101958044656828792391159593797706391961242618221287571319978974678922202669827323631272812786670310195760191533100051498076995932029538464714060706596804021518416181251687231901878199675362257943267781728117058117191440693177629703977772297648394480812703874595428569284286407365396881519629479194053903263616322000000000000000000000000", + "delta_positive": "1/8000000000000000000000000", + "delta_below_one_eighth": "999999999999999999999999/8000000000000000000000000", + "short_record_fallback": "499166632192511631390652609522010571372266250399653064631666003507314845200956206064663858532033622635158210231414846251086157328359070404787603397165163336792695181648818015608350866441869148746382730126878448846550368708785378315833142374021003212099790249463887868533999200015944146441063194716629434426413237982177609470482134875549209810335865114437980056411925747762846010135376902413848772087206013247191990905981663306633262015358300048867943665031092818400654293169060682658716566790789784208399013659541366447640111355224612321297674840280064743360528563905506752731911893667977320437948870275105373775535927558553910748166338080988626177876024195854673466510793358060652435814575852956925248022913026215678742960583949771768271875321601594717351891707845831839359356675774306201921/500831983414683750940785791083322987471901625353946135464679970657393391949032322212063313035428050979022328414396195579796898853195980621309110643785659989487339461101334913661815636406393335155097880095766550025749038497966014769232357030353298402010759208090625843615950939099837681128971633890864058529058595720346588814851988886148824197240406351937297714284642143203682698440759814739597026951631808161000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "small_field_exposure": "1/1000000000000000000000000", + "artificial_boundary": "28053246938539760060210296131828621442252956845009925919708480537778053146576475015611964006447571109754395654711295623391154463671528002952369820592978798915131589437817365831336169192027556753931005311575968420827943929163465232530520927189726591626732897014871145051316066134667235864131715416868117045372793513017083356742702875889311909663152451079953712160689688886254748512101770997260639335952531044583444218791080854895424483/4006655867317470007526286328666583899775213002831569083717439765259147135592258577696506504283424407832178627315169564638375190825567844970472885150285279915898715688810679309294525091251146681240783040766132400205992307983728118153858856242826387216086073664725006748927607512798701449031773071126912468232468765762772710518815911089190593577923250815498381714277137145629461587526078517916776215613054465288000000000000000000000000", + "literal_scalar_guard": "1", + "row_product_gap": "23971789/25", + "balanced_prefix_above_kappa": "130381473901006156908911913718885801307381675315015398588304056677481393242963571643822185887707708560785388521529399461357119946495859248614750176283637136604861685147455928497601006567258476847955881087346024982881883433878594823835984906776044101904960632833806535864499594278299656672837601948404188189596411089564980653790231965848432956166549578828644419562353025182282604002499922013099792538655057521/500831983414683750940785791083322987471901625353946135464679970657393391949032322212063313035428050979022328414396195579796898853195980621309110643785659989487339461101334913661815636406393335155097880095766550025749038497966014769232357030353298402010759208090625843615950939099837681128971633890864058529058595720346588814851988886148824197240406351937297714284642143203682698440759814739597026951631808161000000000000000000", + "coordinate_movement_above_kappa": "2764186095262881571585494579633678807013851063260088627298928814486024584821678724483699828151127688014277759790815896053082420516762199853079677484820008203321908829182293271289219430487968560346734111538912474014116625497761542539008734830055017041501259269156892011912282677880796257051805552682413878783954796788735068805529865557988058282841485655159685260402973048368191839/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_phase_layer_above_kappa": "130380973069022742225160972933094717984394203413390044642168591997510735849571622611499973824394673132734409499200985065161540149597006052634128867172993350944872197807994827162687344751622070454620725989465929216331857684840096857821215674419013748606558622074598445238655978327360556835156472976770297325537882030969260307201417113859546807342352338422292482264638740540139400319801481253285052941628105889191839/500831983414683750940785791083322987471901625353946135464679970657393391949032322212063313035428050979022328414396195579796898853195980621309110643785659989487339461101334913661815636406393335155097880095766550025749038497966014769232357030353298402010759208090625843615950939099837681128971633890864058529058595720346588814851988886148824197240406351937297714284642143203682698440759814739597026951631808161000000000000000000000000", + "bulk_exposure_above_kappa": "2764186095262881571585494579633678807013851063260088627298928814486024584821678724483699828151127688014277759790815896053082420516762199853079677484820008203321908829182293271289219430487968560346734111538912474014116625497761542539008734830055017041501259269156892011912282677880796257051805552682413878783954796788735068805529865557988058282841485655159685260402973048368191839/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "Gaussian_arithmetic_above_kappa": "208609857409626436370508121164426198768823208602399283795151026003999571795349765597793285357019298269205642612118624741975812117494521601802978972943175632907789208896468384261247948691977156563394254641873544206060987745167253752122806618484640209749535001774882366757355734894340350838859034145812810239295728684708248699475556293368606581042282085719479134002050555649508962721301434461144928464821140401791839/801331173463494001505257265733316779955042600566313816743487953051829427118451715539301300856684881566435725463033912927675038165113568994094577030057055983179743137762135861858905018250229336248156608153226480041198461596745623630771771248565277443217214732945001349785521502559740289806354614225382493646493753152554542103763182217838118715584650163099676342855427429125892317505215703583355243122610893057600000000000000000000000", + "scalar_work_above_kappa": "1043051290376065840587544368965295327136065930618497834760296988739880488550316624118255275038348633058232129149906781294661379775068020792937380101158453307178903993840186326645894390722431408390311893600888104096505041721990260624673110021851322461941283051911244196290153138275458153545019686615599614652712759657924124883733040874798577500508199390222803419201109916816117628337300935344983600712213508536191839/4006655867317470007526286328666583899775213002831569083717439765259147135592258577696506504283424407832178627315169564638375190825567844970472885150285279915898715688810679309294525091251146681240783040766132400205992307983728118153858856242826387216086073664725006748927607512798701449031773071126912468232468765762772710518815911089190593577923250815498381714277137145629461587526078517916776215613054465288000000000000000000000000", + "dimension_above_kappa": "499168016585316249189594682817683169437010288364939665842701704657622006639271734465418080207535520664799857473311512980988489668333418840048009302710199259127410715182302222943046048741062593342503126471491926822206842589380010213649526403525296421825225698685418258289009693733968854735527960387435598143779006228057599374744422203416156456549825613911135241881907435624961721121593210442685577050868113852099792538655057521/500831983414683750940785791083322987471901625353946135464679970657393391949032322212063313035428050979022328414396195579796898853195980621309110643785659989487339461101334913661815636406393335155097880095766550025749038497966014769232357030353298402010759208090625843615950939099837681128971633890864058529058595720346588814851988886148824197240406351937297714284642143203682698440759814739597026951631808161000000000000000000" + }, + "controls": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ], + "scope": "Conditional native exact-complex witness after complete conservative admission, moment and outer checks; PR559 exact-cover recurrence correction only, bit bad-residue surcharge and H1-H5 retained. The new source-branch gauge and retired-basis completion, 44 cold dimension-four ends, and explicit all72 whole-owner dispatch are composed with the cited unchanged merged PR589 bit supplier (PR555 punctured R439 word; derived bit deficit T(2Kv-L*cst)), replacing the PR543 supplier of PR635; this bit composition is unreviewed. All-size compiler, common-label/mutable-source realization, whole-call hosting, precision/tape and analytic transfer remain assumptions. No unconditional theorem or full Lean certification." +} diff --git a/research/pr699-frame-retiming-validation/global-replay/BIT-SUPPLIER-CONTROLS.json b/research/pr699-frame-retiming-validation/global-replay/BIT-SUPPLIER-CONTROLS.json new file mode 100644 index 0000000000..f55f51dd73 --- /dev/null +++ b/research/pr699-frame-retiming-validation/global-replay/BIT-SUPPLIER-CONTROLS.json @@ -0,0 +1,49 @@ +{ + "status": "PASS_PR589_BIT_SUPPLIER_DERIVED_DEFICIT_NEGATIVE_CONTROLS", + "kappa": "0.001661202643272239", + "bit_lower": "1733427039589844234749/1000000000000000000000000", + "bit_decimal": "0.001733427039589844234749", + "binding": "complex", + "bit_supplier": { + "pr": 589, + "repository": "CrocSwap/integer-mult-bounds", + "commit": "a5afc8c6169ea61ba7c51dfd3cade02cc7b13b46", + "merged_as": "b3eb785ac5b4b1ca2beea0f80db078a505626a90", + "path": "research/e8-bit-p111-tuned/tune/EXPECTED.json", + "git_blob_sha1": "e293ddc557742637f9f679f083a1a282d87b1b13", + "word": { + "v": 111, + "decoder_constant": 63, + "copy_ranks": [ + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7 + ] + }, + "derived_deficit": 10272, + "deficit_formula": "T(2Kv-L*cst), L=9 T=32 K=4 M=64", + "replay_scope": "Cited unchanged supplier; this assembly reprices its full profile and does not rebuild its bit circuit." + }, + "derived_deficit": 10272, + "rejected_controls": [ + "revert_hardcoded_9984", + "ports_112", + "decoder_constant_64_copy_ranks_unchanged", + "decoder_constant_64_with_one_copy_rank_8", + "eight_retained_totals", + "live_minus_one", + "profile_rank_mass_plus_one", + "profile_rank_mass_receipt_mismatch", + "bit_lower_next_grid", + "not_nine_stage_record", + "tampered_bytes_next_grid", + "pr543_file_under_pr589_pin" + ], + "assembler_sha256": "4c270a996b380ab712f72b81173ab24f1c73203a33578f261bfbaa7e67d75aec" +} diff --git a/research/pr699-frame-retiming-validation/global-replay/REPLAY.json b/research/pr699-frame-retiming-validation/global-replay/REPLAY.json new file mode 100644 index 0000000000..34d3e3571f --- /dev/null +++ b/research/pr699-frame-retiming-validation/global-replay/REPLAY.json @@ -0,0 +1,92 @@ +{ + "status": "PASS_FRAME_RETIMING_STRICT_GLOBAL_REPLAY", + "kappa": "1661202643272239/1000000000000000000", + "kappa_decimal": "0.001661202643272239", + "complex_lower": "1663966829367501881629/1000000000000000000000000", + "bit_lower": "1733427039589844234749/1000000000000000000000000", + "bit_supplier": { + "pr": 589, + "repository": "CrocSwap/integer-mult-bounds", + "commit": "a5afc8c6169ea61ba7c51dfd3cade02cc7b13b46", + "merged_as": "b3eb785ac5b4b1ca2beea0f80db078a505626a90", + "path": "research/e8-bit-p111-tuned/tune/EXPECTED.json", + "git_blob_sha1": "e293ddc557742637f9f679f083a1a282d87b1b13", + "word": { + "v": 111, + "decoder_constant": 63, + "copy_ranks": [ + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7 + ] + }, + "derived_deficit": 10272, + "deficit_formula": "T(2Kv-L*cst), L=9 T=32 K=4 M=64", + "replay_scope": "Cited unchanged supplier; this assembly reprices its full profile and does not rebuild its bit circuit." + }, + "provider_counts": { + "gauge44": 72 + }, + "gain_over_pr635_percent": "1.525516965056987836140169442568637070241838595412479478276838901958012", + "stages": [ + { + "name": "restore-parent", + "seconds": 1.569, + "exit_code": 0, + "log_sha256": "fc3a01967636bd3173ee7e5049fae45b890e1fad4564b6acdd6aaca30a4e4ea5" + }, + { + "name": "bind", + "seconds": 0.523, + "exit_code": 0, + "log_sha256": "71f679ce5a123fb58397fd6852ba64ce3832fd20e81a096bfda9a1cf3237237a" + }, + { + "name": "emit", + "seconds": 4.776, + "exit_code": 0, + "log_sha256": "4ab786dd749f2a379b5c3fa8aecf56b9235c1141b238eabe241c23b691d43226" + }, + { + "name": "audit", + "seconds": 18.034, + "exit_code": 0, + "log_sha256": "779b11b5928d42e9871e3433c1d173a631e2f61139d8f33cd05a74fe0577ca38" + }, + { + "name": "invoice", + "seconds": 1.379, + "exit_code": 0, + "log_sha256": "2024e018960ca596081f71177af982173f59b082cc942d0d436fbd93d27bf437" + }, + { + "name": "assembly", + "seconds": 0.565, + "exit_code": 0, + "log_sha256": "b5be16aa12f9216d0c9278c7745f88a9d6db5310d3272917c7eef79b00a9d479" + }, + { + "name": "admission-controls", + "seconds": 0.694, + "exit_code": 0, + "log_sha256": "051d242318154827c1672ffbb63ad2bdc8ecc4033be650b791dd69cd57d716b3" + }, + { + "name": "bit-supplier-controls", + "seconds": 1.145, + "exit_code": 0, + "log_sha256": "d54d260bf95bd8ae4ab8846314082b93b2e3d8f427eb35376691f2ce543a6b67" + } + ], + "dependency_manifest_sha256": "1ec13d3f02dfd2966558264dfb010c52e83364d7cfee63af53df32df9384b9f8", + "spec_sha256": "904aa58e64548c51e887e4d1a21d16ae25599dfe92acc682724a5195d0368754", + "plan_sha256": "a288308c071be086e5cd6ab8c433cac46c8b74d36d24336bf2c28d6e7917b2ea", + "owners_sha256": "99d1c4caf85855c353d30f122d9efbd9e51562914facded13027f347b18a6082", + "scope": "Conditional native exact-complex witness after complete conservative admission, moment and outer checks; PR559 exact-cover recurrence correction only, bit bad-residue surcharge and H1-H5 retained. The new source-branch gauge and retired-basis completion, 44 cold dimension-four ends, and explicit all72 whole-owner dispatch are composed with the cited unchanged merged PR589 bit supplier (PR555 punctured R439 word; derived bit deficit T(2Kv-L*cst)), replacing the PR543 supplier of PR635; this bit composition is unreviewed. All-size compiler, common-label/mutable-source realization, whole-call hosting, precision/tape and analytic transfer remain assumptions. No unconditional theorem or full Lean certification." +} diff --git a/research/pr699-frame-retiming-validation/global-replay/STAGES.json b/research/pr699-frame-retiming-validation/global-replay/STAGES.json new file mode 100644 index 0000000000..d9ab5f5899 --- /dev/null +++ b/research/pr699-frame-retiming-validation/global-replay/STAGES.json @@ -0,0 +1,50 @@ +[ + { + "name": "restore-parent", + "seconds": 1.569, + "exit_code": 0, + "log_sha256": "fc3a01967636bd3173ee7e5049fae45b890e1fad4564b6acdd6aaca30a4e4ea5" + }, + { + "name": "bind", + "seconds": 0.523, + "exit_code": 0, + "log_sha256": "71f679ce5a123fb58397fd6852ba64ce3832fd20e81a096bfda9a1cf3237237a" + }, + { + "name": "emit", + "seconds": 4.776, + "exit_code": 0, + "log_sha256": "4ab786dd749f2a379b5c3fa8aecf56b9235c1141b238eabe241c23b691d43226" + }, + { + "name": "audit", + "seconds": 18.034, + "exit_code": 0, + "log_sha256": "779b11b5928d42e9871e3433c1d173a631e2f61139d8f33cd05a74fe0577ca38" + }, + { + "name": "invoice", + "seconds": 1.379, + "exit_code": 0, + "log_sha256": "2024e018960ca596081f71177af982173f59b082cc942d0d436fbd93d27bf437" + }, + { + "name": "assembly", + "seconds": 0.565, + "exit_code": 0, + "log_sha256": "b5be16aa12f9216d0c9278c7745f88a9d6db5310d3272917c7eef79b00a9d479" + }, + { + "name": "admission-controls", + "seconds": 0.694, + "exit_code": 0, + "log_sha256": "051d242318154827c1672ffbb63ad2bdc8ecc4033be650b791dd69cd57d716b3" + }, + { + "name": "bit-supplier-controls", + "seconds": 1.145, + "exit_code": 0, + "log_sha256": "d54d260bf95bd8ae4ab8846314082b93b2e3d8f427eb35376691f2ce543a6b67" + } +] diff --git a/research/pr699-frame-retiming-validation/independent-owners-and-moments.log b/research/pr699-frame-retiming-validation/independent-owners-and-moments.log new file mode 100644 index 0000000000..e333096e18 --- /dev/null +++ b/research/pr699-frame-retiming-validation/independent-owners-and-moments.log @@ -0,0 +1 @@ +PASS_INDEPENDENT_LITERAL_OWNERS_NATIVE_PROFILE_AND_EXACT_MOMENTS 1661202643272239/1000000000000000000 diff --git a/research/pr699-frame-retiming-validation/independent-pointset-frames.log b/research/pr699-frame-retiming-validation/independent-pointset-frames.log new file mode 100644 index 0000000000..4037e13929 --- /dev/null +++ b/research/pr699-frame-retiming-validation/independent-pointset-frames.log @@ -0,0 +1 @@ +PASS_EXPLICIT_512_POINT_FRAME_RECOUNT 12 negative controls rejected diff --git a/research/pr699-frame-retiming-validation/independent-two-engine-outer47.log b/research/pr699-frame-retiming-validation/independent-two-engine-outer47.log new file mode 100644 index 0000000000..109bd81c16 --- /dev/null +++ b/research/pr699-frame-retiming-validation/independent-two-engine-outer47.log @@ -0,0 +1 @@ +PASS_FROZEN_PROFILE_TWO_EXACT_ENGINE_AND_OUTER47_CROSSCHECK 0.001661202643272239 1.52551696505698783614016944256863707024183859541247947827683890195801199091 diff --git a/research/pr699-frame-retiming-validation/native/FRAME-CONTROLS.json b/research/pr699-frame-retiming-validation/native/FRAME-CONTROLS.json new file mode 100644 index 0000000000..1038939d0b --- /dev/null +++ b/research/pr699-frame-retiming-validation/native/FRAME-CONTROLS.json @@ -0,0 +1,146 @@ +{ + "status": "PASS_FRAME_RETIMING_35_NEGATIVE_CONTROLS", + "honest": "PASS", + "rejected": [ + { + "name": "B856-wrong-old-frame", + "rejection": "('old frame mismatch', 'B', 856)" + }, + { + "name": "B856-above-successor-cap", + "rejection": "('above successor cap', 'B', 856)" + }, + { + "name": "B856-recipe-edit-omitted", + "rejection": "final profile" + }, + { + "name": "B856-word-frame-reverted-cost-kept", + "rejection": "paid profile mismatch" + }, + { + "name": "B860-wrong-old-frame", + "rejection": "('old frame mismatch', 'B', 860)" + }, + { + "name": "B860-above-successor-cap", + "rejection": "('above successor cap', 'B', 860)" + }, + { + "name": "B860-recipe-edit-omitted", + "rejection": "final profile" + }, + { + "name": "B860-word-frame-reverted-cost-kept", + "rejection": "paid profile mismatch" + }, + { + "name": "B868-wrong-old-frame", + "rejection": "('old frame mismatch', 'B', 868)" + }, + { + "name": "B868-above-successor-cap", + "rejection": "('above successor cap', 'B', 868)" + }, + { + "name": "B868-recipe-edit-omitted", + "rejection": "final profile" + }, + { + "name": "B868-word-frame-reverted-cost-kept", + "rejection": "paid profile mismatch" + }, + { + "name": "B873-wrong-old-frame", + "rejection": "('old frame mismatch', 'B', 873)" + }, + { + "name": "B873-above-successor-cap", + "rejection": "('above successor cap', 'B', 873)" + }, + { + "name": "B873-recipe-edit-omitted", + "rejection": "final profile" + }, + { + "name": "B873-word-frame-reverted-cost-kept", + "rejection": "paid profile mismatch" + }, + { + "name": "B876-wrong-old-frame", + "rejection": "('old frame mismatch', 'B', 876)" + }, + { + "name": "B876-above-successor-cap", + "rejection": "('above successor cap', 'B', 876)" + }, + { + "name": "B876-recipe-edit-omitted", + "rejection": "final profile" + }, + { + "name": "B876-word-frame-reverted-cost-kept", + "rejection": "paid profile mismatch" + }, + { + "name": "B953-wrong-old-frame", + "rejection": "('old frame mismatch', 'B', 953)" + }, + { + "name": "B953-above-successor-cap", + "rejection": "('above successor cap', 'B', 953)" + }, + { + "name": "B953-recipe-edit-omitted", + "rejection": "final profile" + }, + { + "name": "B953-word-frame-reverted-cost-kept", + "rejection": "paid profile mismatch" + }, + { + "name": "B961-wrong-old-frame", + "rejection": "('old frame mismatch', 'B', 961)" + }, + { + "name": "B961-above-successor-cap", + "rejection": "('above successor cap', 'B', 961)" + }, + { + "name": "B961-recipe-edit-omitted", + "rejection": "final profile" + }, + { + "name": "B961-word-frame-reverted-cost-kept", + "rejection": "paid profile mismatch" + }, + { + "name": "B965-wrong-old-frame", + "rejection": "('old frame mismatch', 'B', 965)" + }, + { + "name": "B965-above-successor-cap", + "rejection": "('above successor cap', 'B', 965)" + }, + { + "name": "B965-recipe-edit-omitted", + "rejection": "final profile" + }, + { + "name": "B965-word-frame-reverted-cost-kept", + "rejection": "paid profile mismatch" + }, + { + "name": "changed-scalar-with-frames-intact", + "rejection": "all-column endpoint failure (False, [168, 171])" + }, + { + "name": "misreported-paid-rank-four-count", + "rejection": "paid profile mismatch" + }, + { + "name": "tampered-input-pin", + "rejection": "input word pin" + } + ] +} diff --git a/research/pr699-frame-retiming-validation/native/INDEPENDENT-AUDIT.json b/research/pr699-frame-retiming-validation/native/INDEPENDENT-AUDIT.json new file mode 100644 index 0000000000..1f2b154124 --- /dev/null +++ b/research/pr699-frame-retiming-validation/native/INDEPENDENT-AUDIT.json @@ -0,0 +1,137 @@ +{ + "status": "PASS_INDEPENDENT_EXACT_FORWARD_AND_DUAL_ENDPOINT_FRAMES_ENTRANCES_CONES", + "input_file": "FULL-WORD.json.gz", + "content_sha256": "e78047028c7dcd25fb1b6216c2b53eda76d2f91292b21d43f5d1903cc13a5c6c", + "compressed_sha256": "db59437744b4bf0ce20aeeca32f2a98eb4f4455cdc22eb90c86f90c2d6d28d89", + "parent_center_interface": { + "parent_path": "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/CANONICAL-WORD.json.gz", + "parent_file_sha256": "66d3c3c70983224650643a0a05a21ac6c6959f84d0f4528650601016f5a76844", + "transport_tau": 43, + "ordered_frame_bases_match": true, + "all_ports_match": true, + "transported_centers": [ + 92, + 57, + 81, + 224, + 11, + 240, + 9, + 256 + ], + "source_centers": [ + 92, + 57, + 81, + 11, + 9 + ], + "ordered_frame_bases": [ + [ + 256, + 128, + 64, + 34, + 16, + 10, + 4, + 1 + ], + [ + 256, + 128, + 64, + 32, + 16, + 8, + 5, + 3 + ], + [ + 256, + 128, + 64, + 32, + 17, + 9, + 4, + 2 + ], + [ + 256, + 128, + 64, + 36, + 20, + 8, + 2, + 1 + ], + [ + 256, + 128, + 66, + 32, + 18, + 8, + 4, + 1 + ], + [ + 256, + 128, + 65, + 33, + 17, + 9, + 5, + 3 + ], + [ + 256, + 128, + 65, + 33, + 16, + 8, + 4, + 2 + ], + [ + 256, + 128, + 68, + 32, + 16, + 12, + 2, + 1 + ] + ] + }, + "v": 112, + "h": 9, + "R": 504, + "entering": 216, + "lowends": 126, + "coldends": 72, + "compensation_gates": 6320, + "local_profile": { + "1": 2556, + "2": 334, + "3": 430, + "4": 194, + "5": 56, + "8": 8 + }, + "width_inventory": { + "4": 80, + "5": 32, + "7": 54, + "8": 122, + "9": 216 + }, + "checked_columns": 728, + "elapsed_seconds": 1.4593268079988775, + "scope": "Exact rational full scalar map in both orientations; all literal native frame chains, center levels, dyadic units, entrance-zero response, wrapper exclusion and final helper row/column cones. No global owner admission or exponent repricing." +} diff --git a/research/pr699-frame-retiming-validation/native/NATIVE-PINS.json b/research/pr699-frame-retiming-validation/native/NATIVE-PINS.json new file mode 100644 index 0000000000..fa17943503 --- /dev/null +++ b/research/pr699-frame-retiming-validation/native/NATIVE-PINS.json @@ -0,0 +1,11 @@ +{ + "raw_word_content_sha256": "e78047028c7dcd25fb1b6216c2b53eda76d2f91292b21d43f5d1903cc13a5c6c", + "canonical_sha256": "b0d27d99423047ce07af847734f5a86f9411038bb3b0bf721918ece1ee579325", + "program_sha256": { + "forward": "b2cf8298488cc81aeee1385d4d9ebd842efbb21abb9296fca903adb8ad50f8d0", + "backward": "6f28cf1413671d5b7c50488a1603fa8f1558da469abbbb45b6a9b66ec640712b" + }, + "clifford_recipes_sha256": "eb7569e004bd2a2937928db9db49dad949ec291f00c2d21df6af722df7cb6c9c", + "frame_controls": 35, + "layer_controls": 95 +} diff --git a/research/pr699-frame-retiming-validation/native/STEPS.json b/research/pr699-frame-retiming-validation/native/STEPS.json new file mode 100644 index 0000000000..9d585c02a1 --- /dev/null +++ b/research/pr699-frame-retiming-validation/native/STEPS.json @@ -0,0 +1,52 @@ +[ + { + "step": "dependency-manifest", + "exit_code": 0, + "seconds": 0.057 + }, + { + "step": "frame-construction", + "exit_code": 0, + "seconds": 2.319 + }, + { + "step": "independent-audit", + "exit_code": 0, + "seconds": 1.549 + }, + { + "step": "native", + "exit_code": 0, + "seconds": 1.997 + }, + { + "step": "ledgers", + "exit_code": 0, + "seconds": 1.306 + }, + { + "step": "local-replay", + "exit_code": 0, + "seconds": 9.595 + }, + { + "step": "wrappers", + "exit_code": 0, + "seconds": 3.807 + }, + { + "step": "frame-controls", + "exit_code": 0, + "seconds": 43.685 + }, + { + "step": "layer-end-controls", + "exit_code": 0, + "seconds": 130.765 + }, + { + "step": "phases", + "exit_code": 0, + "seconds": 238.153 + } +] diff --git a/research/pr699-frame-retiming-validation/native/controls/COLD-END-CONTROLS.json b/research/pr699-frame-retiming-validation/native/controls/COLD-END-CONTROLS.json new file mode 100644 index 0000000000..98edecde29 --- /dev/null +++ b/research/pr699-frame-retiming-validation/native/controls/COLD-END-CONTROLS.json @@ -0,0 +1,101 @@ +{ + "status": "PASS_COLD_END_RAW_WORD_CONTROLS", + "word": "/tmp/mult-frame8-cold/native/word/FULL-WORD.json.gz", + "rejected": [ + "premix placed in the zero-frame precondition (before the cold wrappers)", + "one premix gate dropped (the compensation then reads a cold-ended helper)", + "one lower-frame cleanup gate dropped (gate and its early_cleanup entry)", + "one FULL-remainder gate dropped", + "lower-frame gate coefficient changed", + "lower-frame gate moved into the FULL remainder (touches a cold-ended helper at FULL)", + "lower-frame gate frame below its registers' frames", + "cold end at another dim-4 frame", + "profile pin: cold end dropped (valid FULL end, but the reported profile counts the low end)", + "extra cold end on a premixed partner (the compensation reads it before its wrapper)", + "refactored-cleanup marker removed (literal-inverse rule applies)", + "remainder gate retargeted to a target register", + "non-dyadic remainder coefficient", + "profile not updated (paid climbs misreported)", + "entering end 543: lower-frame gate dropped (gate and its early_cleanup entry)", + "entering end 543: profile pin: end dropped (valid FULL end, but the reported profile counts the low end)", + "entering end 543: end at another hyperplane", + "entering end 555: lower-frame gate dropped (gate and its early_cleanup entry)", + "entering end 555: profile pin: end dropped (valid FULL end, but the reported profile counts the low end)", + "entering end 555: end at another hyperplane", + "entering end 566: premix gate dropped", + "entering end 566: premix gate at frame [] instead of its entrance E", + "entering end 566: premix gate moved into the zero-frame precondition", + "entering end 566: lower-frame gate dropped (gate and its early_cleanup entry)", + "entering end 566: profile pin: end dropped (valid FULL end, but the reported profile counts the low end)", + "entering end 566: end at another hyperplane", + "entering end 567: lower-frame gate dropped (gate and its early_cleanup entry)", + "entering end 567: profile pin: end dropped (valid FULL end, but the reported profile counts the low end)", + "entering end 567: end at another hyperplane", + "entering end 578: lower-frame gate dropped (gate and its early_cleanup entry)", + "entering end 578: profile pin: end dropped (valid FULL end, but the reported profile counts the low end)", + "entering end 578: end at another hyperplane", + "entering end 579: lower-frame gate dropped (gate and its early_cleanup entry)", + "entering end 579: profile pin: end dropped (valid FULL end, but the reported profile counts the low end)", + "entering end 579: end at another hyperplane", + "entering end 608: premix gate dropped", + "entering end 608: premix gate at frame [] instead of its entrance E", + "entering end 608: premix gate moved into the zero-frame precondition", + "entering end 608: lower-frame gate dropped (gate and its early_cleanup entry)", + "entering end 608: profile pin: end dropped (valid FULL end, but the reported profile counts the low end)", + "entering end 608: end at another hyperplane", + "entering end 610: premix gate dropped", + "entering end 610: premix gate at frame [] instead of its entrance E", + "entering end 610: premix gate moved into the zero-frame precondition", + "entering end 610: lower-frame gate dropped (gate and its early_cleanup entry)", + "entering end 610: profile pin: end dropped (valid FULL end, but the reported profile counts the low end)", + "entering end 610: end at another hyperplane", + "dim-8 cold end 311 (frame [256, 128, 72, 40, 24, 4, 2, 1]) at another dim-8 frame", + "dim-8 cold end 311 (frame [256, 128, 72, 40, 24, 4, 2, 1]): one lower-frame gate dropped (gate and its early_cleanup entry)", + "dim-8 cold end 311 (frame [256, 128, 72, 40, 24, 4, 2, 1]): profile pin (end dropped)", + "dim-8 cold end 327 (frame [256, 128, 66, 34, 18, 10, 6, 1]) at another dim-8 frame", + "dim-8 cold end 327 (frame [256, 128, 66, 34, 18, 10, 6, 1]): one lower-frame gate dropped (gate and its early_cleanup entry)", + "dim-8 cold end 327 (frame [256, 128, 66, 34, 18, 10, 6, 1]): profile pin (end dropped)", + "dim-8 cold end 510 (frame [256, 128, 72, 40, 24, 4, 2, 1]) at another dim-8 frame", + "dim-8 cold end 510 (frame [256, 128, 72, 40, 24, 4, 2, 1]): one lower-frame gate dropped (gate and its early_cleanup entry)", + "dim-8 cold end 510 (frame [256, 128, 72, 40, 24, 4, 2, 1]): profile pin (end dropped)", + "dim-8 cold end 512 (frame [256, 128, 66, 34, 16, 8, 6, 1]) at another dim-8 frame", + "dim-8 cold end 512 (frame [256, 128, 66, 34, 16, 8, 6, 1]): one lower-frame gate dropped (gate and its early_cleanup entry)", + "dim-8 cold end 512 (frame [256, 128, 66, 34, 16, 8, 6, 1]): profile pin (end dropped)", + "dim-8 cold end 513 (frame [256, 128, 66, 34, 16, 8, 6, 1]) at another dim-8 frame", + "dim-8 cold end 513 (frame [256, 128, 66, 34, 16, 8, 6, 1]): one lower-frame gate dropped (gate and its early_cleanup entry)", + "dim-8 cold end 513 (frame [256, 128, 66, 34, 16, 8, 6, 1]): profile pin (end dropped)", + "dim-8 cold end 522 (frame [256, 128, 66, 34, 18, 10, 6, 1]) at another dim-8 frame", + "dim-8 cold end 522 (frame [256, 128, 66, 34, 18, 10, 6, 1]): one lower-frame gate dropped (gate and its early_cleanup entry)", + "dim-8 cold end 522 (frame [256, 128, 66, 34, 18, 10, 6, 1]): profile pin (end dropped)", + "dim-8 cold end 524 (frame [256, 128, 96, 16, 8, 4, 2, 1]) at another dim-8 frame", + "dim-8 cold end 524 (frame [256, 128, 96, 16, 8, 4, 2, 1]): one lower-frame gate dropped (gate and its early_cleanup entry)", + "dim-8 cold end 524 (frame [256, 128, 96, 16, 8, 4, 2, 1]): profile pin (end dropped)", + "dim-8 cold end 525 (frame [256, 128, 96, 16, 8, 4, 2, 1]) at another dim-8 frame", + "dim-8 cold end 525 (frame [256, 128, 96, 16, 8, 4, 2, 1]): one lower-frame gate dropped (gate and its early_cleanup entry)", + "dim-8 cold end 525 (frame [256, 128, 96, 16, 8, 4, 2, 1]): profile pin (end dropped)", + "dim-8 cold end 586 (frame [256, 128, 66, 34, 16, 8, 6, 1]) at another dim-8 frame", + "dim-8 cold end 586 (frame [256, 128, 66, 34, 16, 8, 6, 1]): one lower-frame gate dropped (gate and its early_cleanup entry)", + "dim-8 cold end 586 (frame [256, 128, 66, 34, 16, 8, 6, 1]): profile pin (end dropped)", + "dim-8 cold end 587 (frame [256, 128, 66, 34, 16, 8, 6, 1]) at another dim-8 frame", + "dim-8 cold end 587 (frame [256, 128, 66, 34, 16, 8, 6, 1]): one lower-frame gate dropped (gate and its early_cleanup entry)", + "dim-8 cold end 587 (frame [256, 128, 66, 34, 16, 8, 6, 1]): profile pin (end dropped)", + "dim-8 cold end 588 (frame [256, 128, 96, 16, 8, 4, 2, 1]) at another dim-8 frame", + "dim-8 cold end 588 (frame [256, 128, 96, 16, 8, 4, 2, 1]): one lower-frame gate dropped (gate and its early_cleanup entry)", + "dim-8 cold end 588 (frame [256, 128, 96, 16, 8, 4, 2, 1]): profile pin (end dropped)", + "dim-8 cold end 589 (frame [256, 128, 96, 16, 8, 4, 2, 1]) at another dim-8 frame", + "dim-8 cold end 589 (frame [256, 128, 96, 16, 8, 4, 2, 1]): one lower-frame gate dropped (gate and its early_cleanup entry)", + "dim-8 cold end 589 (frame [256, 128, 96, 16, 8, 4, 2, 1]): profile pin (end dropped)", + "dim-8 cold end 598 (frame [256, 128, 66, 34, 18, 10, 6, 1]) at another dim-8 frame", + "dim-8 cold end 598 (frame [256, 128, 66, 34, 18, 10, 6, 1]): one lower-frame gate dropped (gate and its early_cleanup entry)", + "dim-8 cold end 598 (frame [256, 128, 66, 34, 18, 10, 6, 1]): profile pin (end dropped)", + "dim-8 cold end 599 (frame [256, 128, 66, 34, 18, 10, 6, 1]) at another dim-8 frame", + "dim-8 cold end 599 (frame [256, 128, 66, 34, 18, 10, 6, 1]): one lower-frame gate dropped (gate and its early_cleanup entry)", + "dim-8 cold end 599 (frame [256, 128, 66, 34, 18, 10, 6, 1]): profile pin (end dropped)", + "dim-8 cold end 600 (frame [256, 128, 72, 40, 24, 4, 2, 1]) at another dim-8 frame", + "dim-8 cold end 600 (frame [256, 128, 72, 40, 24, 4, 2, 1]): one lower-frame gate dropped (gate and its early_cleanup entry)", + "dim-8 cold end 600 (frame [256, 128, 72, 40, 24, 4, 2, 1]): profile pin (end dropped)", + "dim-8 cold end 601 (frame [256, 128, 72, 40, 24, 4, 2, 1]) at another dim-8 frame", + "dim-8 cold end 601 (frame [256, 128, 72, 40, 24, 4, 2, 1]): one lower-frame gate dropped (gate and its early_cleanup entry)", + "dim-8 cold end 601 (frame [256, 128, 72, 40, 24, 4, 2, 1]): profile pin (end dropped)" + ] +} diff --git a/research/pr699-frame-retiming-validation/native/local/CLIFFORD-REVIEW.json b/research/pr699-frame-retiming-validation/native/local/CLIFFORD-REVIEW.json new file mode 100644 index 0000000000..04149a8c4b --- /dev/null +++ b/research/pr699-frame-retiming-validation/native/local/CLIFFORD-REVIEW.json @@ -0,0 +1,19 @@ +{ + "status": "PASS_NEW_WORD_EXACT_LOCAL_PHASE_RECIPES", + "canonical_word_sha256": "cf18c83bac89897f4d152f845a31c6a806a004283b3ee497e75bbe1d9279e25e", + "frames": 1005, + "directed_edges": 2953, + "ranks": { + "1": 2011, + "2": 330, + "3": 406, + "8": 16, + "4": 176, + "5": 14 + }, + "endpoint_adapters": 224, + "all_child_equalities_include_global_phase": true, + "recipe_sha256": "eb7569e004bd2a2937928db9db49dad949ec291f00c2d21df6af722df7cb6c9c", + "seconds": 238.05558703000133, + "scope": "Every local frame and center transition. Expanded scalar-interface integration and global emitted program are separate obligations." +} diff --git a/research/pr699-frame-retiming-validation/native/local/INDEPENDENT-LOCAL-REPLAY.json b/research/pr699-frame-retiming-validation/native/local/INDEPENDENT-LOCAL-REPLAY.json new file mode 100644 index 0000000000..ebea5b2e1f --- /dev/null +++ b/research/pr699-frame-retiming-validation/native/local/INDEPENDENT-LOCAL-REPLAY.json @@ -0,0 +1,71 @@ +{ + "status": "PASS_INDEPENDENT_LOCAL_SCALAR_FRAME_AND_WRAPPER_REPLAY", + "canonical_word_sha256": "cf18c83bac89897f4d152f845a31c6a806a004283b3ee497e75bbe1d9279e25e", + "local_programs_sha256": "94c11145e34cf6f060b2f0cd420dd38b942720b83fe6629d447904f7d8078c81", + "v": 112, + "helpers": 504, + "local": { + "forward": { + "all_exact_columns": 728, + "prefix_l1_upper": "6812058044968180837/256", + "prefix_bits_upper": 55, + "charged_payload_bits": 192, + "private_work_erased": true + }, + "backward": { + "all_exact_columns": 728, + "prefix_l1_upper": "48299247699832632898063/16", + "prefix_bits_upper": 72, + "charged_payload_bits": 192, + "private_work_erased": true + } + }, + "paid_profiles": { + "forward": { + "1": 2556, + "4": 194, + "8": 8, + "3": 430, + "2": 334, + "5": 56 + }, + "backward": { + "1": 2556, + "4": 194, + "8": 8, + "3": 430, + "2": 334, + "5": 56 + } + }, + "entering_helpers": 216, + "cold_hyperplane_ended_helpers": 72, + "negative_controls_rejected": [ + "wrong_scale", + "missing_center", + "wrong_common_frame", + "wrong_child_rank", + "missing_pre_wrapper", + "missing_post_wrapper", + "wrapper_with_wrong_frame", + "wrapper_in_wrong_phase", + "wrapper_on_a_data_register", + "wrapper_on_a_target_register", + "wrapper_on_a_centre_register", + "hpe_pre_wrapper_resolved_to_full_recipe", + "hpe_post_wrapper_without_terminal_frame", + "hpe_post_wrapper_wrong_terminal_frame", + "hpe_tail_gate_at_full_frame", + "hpe_tail_climb_dropped", + "hpe_helper_exit_adapter_to_full", + "hpe_tail_gate_moved_into_full_cleanup", + "cold_hpe_pre_wrapper_replaced_by_identity_entry_adapter", + "cold_hpe_pre_wrapper_dropped", + "cold_hpe_post_wrapper_replaced_by_exit_adapter", + "cold_hpe_pre_wrapper_resolved_to_cold_full_convention", + "cold_hpe_wrapper_with_nonzero_entrance", + "cold_hpe_post_wrapper_wrong_terminal_frame", + "cold_hpe_premix_gate_before_pre_wrapper" + ], + "scope": "Literal forward and inverse-transpose replay on every arbitrary data/helper column, physical frame incidence, ordered paid wrappers, cleared private work and prefix coefficients. Global hosting and outer exponent are separate." +} diff --git a/research/pr699-frame-retiming-validation/native/local/LOCAL-CHECKS.json b/research/pr699-frame-retiming-validation/native/local/LOCAL-CHECKS.json new file mode 100644 index 0000000000..844c460702 --- /dev/null +++ b/research/pr699-frame-retiming-validation/native/local/LOCAL-CHECKS.json @@ -0,0 +1,36 @@ +{ + "forward": { + "sha256": "b2cf8298488cc81aeee1385d4d9ebd842efbb21abb9296fca903adb8ad50f8d0", + "events": 24403, + "scalar_macros": 19197, + "real_component_primitive_bound": 193162, + "paid_profile": { + "1": 2556, + "2": 334, + "3": 430, + "4": 194, + "5": 56, + "8": 8 + }, + "all_columns": 728, + "private_centers_cleared": true, + "private_coefficient_stream_cleared_after_each_macro": true + }, + "backward": { + "sha256": "6f28cf1413671d5b7c50488a1603fa8f1558da469abbbb45b6a9b66ec640712b", + "events": 24403, + "scalar_macros": 19197, + "real_component_primitive_bound": 193210, + "paid_profile": { + "1": 2556, + "2": 334, + "3": 430, + "4": 194, + "5": 56, + "8": 8 + }, + "all_columns": 728, + "private_centers_cleared": true, + "private_coefficient_stream_cleared_after_each_macro": true + } +} diff --git a/research/pr699-frame-retiming-validation/native/local/RESIDUAL-ADAPTERS.json b/research/pr699-frame-retiming-validation/native/local/RESIDUAL-ADAPTERS.json new file mode 100644 index 0000000000..7aed663b6c --- /dev/null +++ b/research/pr699-frame-retiming-validation/native/local/RESIDUAL-ADAPTERS.json @@ -0,0 +1 @@ +{"recipes":{"0:1001":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[3,3,2,3,2,2,2,2,0],"matrix_rows":[267,3,4,9,16,32,1,64,128],"offset":0,"phase":0,"quadratic_rows":[1,10,0,10,0,0,0,0,0]},"rank":8,"right":{"linear_Z4":[1,3,2,3,2,2,0,2,2],"matrix_rows":[1,73,4,67,16,32,128,256,75],"offset":245,"phase":2,"quadratic_rows":[65,10,0,10,0,0,1,0,0]},"terminal":1001,"terminal_rank":8,"terminal_vectors":[256,128,65,32,16,9,4,3],"vectors":[]},"0:1002":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[2,3,3,2,2,3,2,2,0],"matrix_rows":[1,294,6,8,16,34,2,64,128],"offset":0,"phase":0,"quadratic_rows":[0,2,36,0,0,36,0,0,0]},"rank":8,"right":{"linear_Z4":[2,1,3,2,2,3,0,2,2],"matrix_rows":[1,2,98,8,16,70,128,256,102],"offset":219,"phase":2,"quadratic_rows":[0,66,36,0,0,36,2,0,0]},"terminal":1002,"terminal_rank":8,"terminal_vectors":[256,128,66,34,16,8,6,1],"vectors":[]},"0:1003":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[3,2,3,2,3,2,2,2,0],"matrix_rows":[277,2,5,8,17,32,1,64,128],"offset":0,"phase":0,"quadratic_rows":[1,0,20,0,20,0,0,0,0]},"rank":8,"right":{"linear_Z4":[1,2,3,2,3,2,0,2,2],"matrix_rows":[1,2,81,8,69,32,128,256,85],"offset":235,"phase":2,"quadratic_rows":[65,0,20,0,20,0,1,0,0]},"terminal":1003,"terminal_rank":8,"terminal_vectors":[256,128,65,32,17,8,5,2],"vectors":[]},"0:1004":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[2,2,2,3,3,3,2,2,0],"matrix_rows":[1,2,4,312,24,40,8,64,128],"offset":0,"phase":0,"quadratic_rows":[0,0,0,8,48,48,0,0,0]},"rank":8,"right":{"linear_Z4":[2,2,2,1,3,3,0,2,2],"matrix_rows":[1,2,4,8,104,88,128,256,120],"offset":207,"phase":2,"quadratic_rows":[0,0,0,72,48,48,8,0,0]},"terminal":1004,"terminal_rank":8,"terminal_vectors":[256,128,72,40,24,4,2,1],"vectors":[]},"0:124":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[2,2,2,3,0,0,0,0,0],"matrix_rows":[18,33,68,136,10,9,11,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,8,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[1,1,3,1,1,1,2,3,2],"matrix_rows":[50,49,388,8,97,82,260,120,384],"offset":4,"phase":1,"quadratic_rows":[81,98,132,120,57,58,11,132,0]},"terminal":124,"terminal_rank":4,"terminal_vectors":[388,75,41,26],"vectors":[]},"0:153":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[3,3,3,2,0,0,0,0,0],"matrix_rows":[30,35,69,128,270,3,5,9,1],"offset":0,"phase":0,"quadratic_rows":[9,2,4,1,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[1,2,2,0,1,2,2,3,0],"matrix_rows":[390,19,21,145,481,34,68,8,496],"offset":8,"phase":1,"quadratic_rows":[375,437,467,0,375,19,21,390,151]},"terminal":153,"terminal_rank":4,"terminal_vectors":[273,145,85,51],"vectors":[]},"0:182":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[2,2,2,3,0,0,0,0,0],"matrix_rows":[17,36,66,136,14,12,10,257,1],"offset":0,"phase":0,"quadratic_rows":[0,4,2,8,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[3,1,1,1,2,1,1,3,2],"matrix_rows":[385,100,98,8,257,82,52,120,384],"offset":1,"phase":1,"quadratic_rows":[129,50,84,120,14,106,108,129,0]},"terminal":182,"terminal_rank":4,"terminal_vectors":[385,74,44,30],"vectors":[]},"0:211":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[3,3,3,2,0,0,0,0,0],"matrix_rows":[19,45,70,141,6,256,3,10,2],"offset":0,"phase":0,"quadratic_rows":[1,10,4,2,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[2,1,2,1,2,0,2,3,0],"matrix_rows":[11,389,14,138,65,466,20,472,32],"offset":8,"phase":1,"quadratic_rows":[462,351,411,351,14,0,11,389,143]},"terminal":211,"terminal_rank":4,"terminal_vectors":[266,138,75,30],"vectors":[]},"0:240":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[3,3,2,2,0,0,0,0,0],"matrix_rows":[22,33,71,5,3,136,2,264,8],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[2,3,1,2,2,3,2,3,2],"matrix_rows":[6,5,93,416,25,82,76,288,384],"offset":15,"phase":0,"quadratic_rows":[64,86,22,0,6,160,3,160,0]},"terminal":240,"terminal_rank":4,"terminal_vectors":[416,70,19,13],"vectors":[]},"0:269":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[3,3,3,2,0,0,0,0,0],"matrix_rows":[16,46,78,131,3,261,5,9,1],"offset":0,"phase":0,"quadratic_rows":[9,2,4,1,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[0,1,1,2,2,2,2,3,0],"matrix_rows":[424,14,38,134,1,466,468,24,96],"offset":8,"phase":1,"quadratic_rows":[0,382,382,438,14,462,38,424,174]},"terminal":269,"terminal_rank":4,"terminal_vectors":[262,134,102,30],"vectors":[]},"0:298":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[3,3,2,2,0,0,0,0,0],"matrix_rows":[18,41,75,132,10,1,3,260,4],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[3,2,1,3,2,2,2,3,2],"matrix_rows":[6,5,392,118,97,82,52,264,384],"offset":15,"phase":0,"quadratic_rows":[101,32,69,136,0,3,5,136,0]},"terminal":298,"terminal_rank":4,"terminal_vectors":[392,67,37,22],"vectors":[]},"0:327":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[3,3,3,2,0,0,0,0,0],"matrix_rows":[30,46,64,131,261,5,3,9,1],"offset":0,"phase":0,"quadratic_rows":[9,2,4,1,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[1,1,0,2,2,2,2,3,0],"matrix_rows":[408,11,19,131,481,482,4,72,48],"offset":8,"phase":1,"quadratic_rows":[379,379,0,467,427,19,11,408,155]},"terminal":327,"terminal_rank":4,"terminal_vectors":[259,131,75,51],"vectors":[]},"0:356":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[3,3,3,2,0,0,0,0,0],"matrix_rows":[30,35,69,142,256,5,3,9,1],"offset":0,"phase":0,"quadratic_rows":[9,2,4,1,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[1,2,2,1,0,2,2,3,0],"matrix_rows":[390,11,13,137,481,66,36,488,16],"offset":8,"phase":1,"quadratic_rows":[367,461,427,367,0,13,11,390,143]},"terminal":356,"terminal_rank":4,"terminal_vectors":[265,137,75,45],"vectors":[]},"0:37":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[3,3,2,2,0,0,0,0,0],"matrix_rows":[22,37,67,7,1,2,136,264,8],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[2,2,2,2,2,2,3,3,2],"matrix_rows":[6,5,59,448,25,42,52,320,384],"offset":15,"phase":0,"quadratic_rows":[38,21,51,0,6,5,192,192,0]},"terminal":37,"terminal_rank":4,"terminal_vectors":[448,38,21,11],"vectors":[]},"0:385":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[2,2,2,3,0,0,0,0,0],"matrix_rows":[20,34,65,136,12,13,9,258,2],"offset":0,"phase":0,"quadratic_rows":[4,0,1,8,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[1,3,1,1,1,2,1,3,2],"matrix_rows":[84,386,81,8,97,258,52,120,384],"offset":2,"phase":1,"quadratic_rows":[49,130,100,120,89,13,92,130,0]},"terminal":385,"terminal_rank":4,"terminal_vectors":[386,73,45,28],"vectors":[]},"0:414":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[3,3,3,2,0,0,0,0,0],"matrix_rows":[21,38,75,139,6,5,256,12,4],"offset":0,"phase":0,"quadratic_rows":[1,2,12,4,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[2,2,1,1,2,2,0,3,0],"matrix_rows":[13,14,387,140,33,18,436,440,64],"offset":8,"phase":1,"quadratic_rows":[430,413,319,319,14,13,0,387,143]},"terminal":414,"terminal_rank":4,"terminal_vectors":[268,140,45,30],"vectors":[]},"0:66":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[3,3,3,2,0,0,0,0,0],"matrix_rows":[30,32,78,131,261,3,5,9,1],"offset":0,"phase":0,"quadratic_rows":[9,2,4,1,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[1,0,1,2,2,2,2,3,0],"matrix_rows":[408,13,21,133,481,2,484,40,80],"offset":8,"phase":1,"quadratic_rows":[381,0,381,437,461,13,21,408,157]},"terminal":66,"terminal_rank":4,"terminal_vectors":[261,133,85,45],"vectors":[]},"0:95":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[3,3,2,2,0,0,0,0,0],"matrix_rows":[18,37,71,6,136,3,1,264,8],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[3,2,1,2,3,2,2,3,2],"matrix_rows":[6,5,110,400,97,42,76,272,384],"offset":15,"phase":0,"quadratic_rows":[101,64,37,0,144,5,3,144,0]},"terminal":95,"terminal_rank":4,"terminal_vectors":[400,69,35,14],"vectors":[]},"2":{"entrance_rank":1,"frame":2,"left":{"linear_Z4":[2,3,3,3,2,2,2,2,0],"matrix_rows":[1,258,4,8,14,16,32,64,128],"offset":0,"phase":0,"quadratic_rows":[0,14,14,14,0,0,0,0,0]},"rank":8,"right":{"linear_Z4":[2,0,0,0,0,2,2,2,2],"matrix_rows":[1,2,20,24,32,64,128,256,16],"offset":241,"phase":1,"quadratic_rows":[0,16,16,16,14,0,0,0,0]},"vectors":[30]},"2:1000":{"entrance_rank":1,"frame":2,"left":{"linear_Z4":[2,3,3,2,2,2,2,0,0],"matrix_rows":[1,128,262,2,4,8,16,32,64],"offset":0,"phase":0,"quadratic_rows":[0,6,6,0,0,0,0,0,0]},"rank":7,"right":{"linear_Z4":[2,2,0,3,3,2,2,2,2],"matrix_rows":[1,28,4,32,64,128,256,14,16],"offset":511,"phase":1,"quadratic_rows":[0,12,2,26,24,0,0,0,0]},"terminal":1000,"terminal_rank":8,"terminal_vectors":[256,128,64,32,18,10,6,1],"vectors":[30]},"3":{"entrance_rank":1,"frame":3,"left":{"linear_Z4":[3,3,2,2,3,2,2,2,0],"matrix_rows":[257,2,4,8,16,19,32,64,128],"offset":0,"phase":0,"quadratic_rows":[19,19,0,0,19,0,0,0,0]},"rank":8,"right":{"linear_Z4":[0,0,2,2,0,0,2,2,2],"matrix_rows":[1,34,4,8,48,64,128,256,32],"offset":236,"phase":1,"quadratic_rows":[32,32,0,0,32,19,0,0,0]},"vectors":[51]},"3:999":{"entrance_rank":1,"frame":3,"left":{"linear_Z4":[3,3,2,2,2,2,2,0,0],"matrix_rows":[128,259,4,8,1,2,16,32,64],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"rank":7,"right":{"linear_Z4":[2,0,2,2,3,3,2,2,2],"matrix_rows":[50,2,4,8,64,128,256,19,32],"offset":511,"phase":1,"quadratic_rows":[18,1,0,0,49,48,0,0,0]},"terminal":999,"terminal_rank":8,"terminal_vectors":[256,128,64,33,17,8,4,3],"vectors":[51]},"4":{"entrance_rank":1,"frame":4,"left":{"linear_Z4":[3,3,2,3,2,2,3,3,0],"matrix_rows":[257,2,4,8,16,32,64,128,203],"offset":0,"phase":0,"quadratic_rows":[203,203,0,203,0,0,203,203,0]},"rank":8,"right":{"linear_Z4":[0,0,2,0,2,2,0,0,0],"matrix_rows":[1,258,4,264,16,32,320,384,256],"offset":309,"phase":3,"quadratic_rows":[256,256,0,256,0,0,256,256,203]},"vectors":[459]},"423":{"entrance_rank":1,"frame":423,"left":{"linear_Z4":[3,2,3,3,2,2,2,2,0],"matrix_rows":[257,2,4,8,16,13,32,64,128],"offset":0,"phase":0,"quadratic_rows":[13,0,13,13,0,0,0,0,0]},"rank":8,"right":{"linear_Z4":[0,2,0,0,2,0,2,2,2],"matrix_rows":[1,2,36,40,16,64,128,256,32],"offset":242,"phase":1,"quadratic_rows":[32,0,32,32,0,13,0,0,0]},"vectors":[45]},"423:998":{"entrance_rank":1,"frame":423,"left":{"linear_Z4":[3,2,3,2,2,2,2,0,0],"matrix_rows":[128,2,261,1,8,4,16,32,64],"offset":0,"phase":0,"quadratic_rows":[5,0,5,0,0,0,0,0,0]},"rank":7,"right":{"linear_Z4":[2,2,0,3,2,3,2,2,2],"matrix_rows":[44,2,4,16,64,128,256,13,32],"offset":511,"phase":1,"quadratic_rows":[12,0,1,41,0,40,0,0,0]},"terminal":998,"terminal_rank":8,"terminal_vectors":[256,128,64,33,16,9,5,2],"vectors":[45]},"424":{"entrance_rank":4,"frame":424,"left":{"linear_Z4":[2,3,2,2,3,0,0,0,0],"matrix_rows":[33,65,2,132,264,8,4,16,31],"offset":0,"phase":0,"quadratic_rows":[30,31,27,23,31,0,0,0,0]},"rank":5,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,260,264,272,384,352,354,64,32],"offset":429,"phase":0,"quadratic_rows":[96,0,256,320,288,17,9,256,156]},"vectors":[413,72,48,3]},"425":{"entrance_rank":4,"frame":425,"left":{"linear_Z4":[2,2,2,3,3,0,0,0,0],"matrix_rows":[33,66,132,257,8,4,2,16,31],"offset":0,"phase":0,"quadratic_rows":[30,29,27,31,31,0,0,0,0]},"rank":5,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,258,260,272,384,352,64,32,360],"offset":231,"phase":0,"quadratic_rows":[96,320,288,0,256,5,3,256,150]},"vectors":[407,66,36,9]},"426":{"entrance_rank":4,"frame":426,"left":{"linear_Z4":[2,2,2,3,3,0,0,0,0],"matrix_rows":[33,66,132,260,2,1,8,16,31],"offset":0,"phase":0,"quadratic_rows":[30,29,27,31,31,0,0,0,0]},"rank":5,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,258,260,320,384,32,16,304,312],"offset":231,"phase":0,"quadratic_rows":[288,272,48,0,6,5,256,256,195]},"vectors":[455,33,18,12]},"427":{"entrance_rank":4,"frame":427,"left":{"linear_Z4":[2,2,2,3,3,0,0,0,0],"matrix_rows":[33,66,4,136,16,13,21,258,2],"offset":0,"phase":0,"quadratic_rows":[24,0,24,13,21,0,0,0,0]},"rank":5,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[33,258,100,72,80,64,256,96,384],"offset":66,"phase":0,"quadratic_rows":[96,0,96,32,64,13,21,0,0]},"vectors":[258,130,85,45]},"428":{"entrance_rank":4,"frame":428,"left":{"linear_Z4":[2,3,3,2,2,0,0,0,0],"matrix_rows":[33,66,4,136,16,19,21,264,8],"offset":0,"phase":0,"quadratic_rows":[6,19,21,0,6,0,0,0,0]},"rank":5,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[33,66,68,264,112,64,96,256,384],"offset":136,"phase":0,"quadratic_rows":[96,32,64,0,96,19,21,0,0]},"vectors":[264,136,85,51]},"429":{"entrance_rank":4,"frame":429,"left":{"linear_Z4":[3,2,2,2,3,0,0,0,0],"matrix_rows":[33,66,2,132,4,264,8,16,31],"offset":0,"phase":0,"quadratic_rows":[31,29,27,23,31,0,0,0,0]},"rank":5,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[85,258,264,288,384,340,4,16,64],"offset":462,"phase":0,"quadratic_rows":[256,260,258,272,264,320,288,256,255]},"vectors":[427,96,24,6]},"430":{"entrance_rank":4,"frame":430,"left":{"linear_Z4":[2,2,2,3,3,0,0,0,0],"matrix_rows":[33,66,132,258,4,8,1,16,31],"offset":0,"phase":0,"quadratic_rows":[30,29,27,31,31,0,0,0,0]},"rank":5,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,258,260,288,384,64,336,16,344],"offset":231,"phase":0,"quadratic_rows":[320,80,272,0,6,256,3,256,165]},"vectors":[423,65,20,10]},"431":{"entrance_rank":5,"frame":431,"left":{"linear_Z4":[2,2,2,3,0,0,0,0,0],"matrix_rows":[17,34,68,136,14,10,12,257,1],"offset":0,"phase":0,"quadratic_rows":[0,4,2,8,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[0,0,0,2,0,1,1,0,2],"matrix_rows":[257,98,100,8,256,80,48,112,384],"offset":127,"phase":1,"quadratic_rows":[0,48,80,112,14,106,108,0,0]},"vectors":[257,129,76,42,30]},"432":{"entrance_rank":5,"frame":432,"left":{"linear_Z4":[2,2,2,3,0,0,0,0,0],"matrix_rows":[17,34,68,128,257,2,4,8,15],"offset":0,"phase":0,"quadratic_rows":[14,13,11,15,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[2,0,0,0,0,0,0,0,1],"matrix_rows":[257,258,260,384,352,32,64,8,368],"offset":359,"phase":0,"quadratic_rows":[96,288,320,0,0,3,5,256,390]},"vectors":[391,68,34,17,8]},"433":{"entrance_rank":5,"frame":433,"left":{"linear_Z4":[2,2,2,3,0,0,0,0,0],"matrix_rows":[17,32,65,130,260,2,4,8,15],"offset":0,"phase":0,"quadratic_rows":[14,13,11,15,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[2,0,0,0,0,0,0,0,1],"matrix_rows":[257,264,272,384,352,2,356,32,64],"offset":455,"phase":0,"quadratic_rows":[96,0,0,288,320,9,17,256,408]},"vectors":[409,80,40,5,2]},"434":{"entrance_rank":5,"frame":434,"left":{"linear_Z4":[2,3,2,2,0,0,0,0,0],"matrix_rows":[17,34,67,4,136,6,7,264,8],"offset":0,"phase":0,"quadratic_rows":[4,2,1,0,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[2,0,0,0,0,3,3,0,2],"matrix_rows":[97,2,104,272,96,32,68,256,384],"offset":250,"phase":2,"quadratic_rows":[0,32,0,96,0,106,104,0,0]},"vectors":[272,144,75,42,7]},"435":{"entrance_rank":4,"frame":435,"left":{"linear_Z4":[3,3,2,2,2,0,0,0,0],"matrix_rows":[33,66,4,8,14,13,144,272,16],"offset":0,"phase":0,"quadratic_rows":[13,14,3,3,0,0,0,0,0]},"rank":5,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[1,2,52,56,320,32,16,256,384],"offset":144,"phase":0,"quadratic_rows":[32,16,48,48,14,13,0,0,0]},"vectors":[320,192,45,30]},"436":{"entrance_rank":5,"frame":436,"left":{"linear_Z4":[3,2,2,2,0,0,0,0,0],"matrix_rows":[17,34,67,4,5,136,7,264,8],"offset":0,"phase":0,"quadratic_rows":[1,4,2,0,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[0,2,0,0,3,0,3,0,2],"matrix_rows":[1,82,88,288,16,80,68,256,384],"offset":249,"phase":2,"quadratic_rows":[16,0,0,80,89,0,88,0,0]},"vectors":[288,160,75,25,7]},"437":{"entrance_rank":5,"frame":437,"left":{"linear_Z4":[2,2,2,3,0,0,0,0,0],"matrix_rows":[17,34,68,136,9,10,11,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,8,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[0,0,0,2,1,1,0,0,2],"matrix_rows":[49,50,260,8,96,80,256,112,384],"offset":127,"phase":1,"quadratic_rows":[80,96,0,112,57,58,11,0,0]},"vectors":[260,132,75,42,25]},"5":{"entrance_rank":1,"frame":5,"left":{"linear_Z4":[3,3,2,3,2,2,2,2,0],"matrix_rows":[257,2,4,8,16,32,11,64,128],"offset":0,"phase":0,"quadratic_rows":[11,11,0,11,0,0,0,0,0]},"rank":8,"right":{"linear_Z4":[0,0,2,0,2,2,0,2,2],"matrix_rows":[1,66,4,72,16,32,128,256,64],"offset":244,"phase":1,"quadratic_rows":[64,64,0,64,0,0,11,0,0]},"vectors":[75]},"6":{"entrance_rank":1,"frame":6,"left":{"linear_Z4":[2,3,3,2,2,3,2,2,0],"matrix_rows":[1,258,4,8,16,32,38,64,128],"offset":0,"phase":0,"quadratic_rows":[0,38,38,0,0,38,0,0,0]},"rank":8,"right":{"linear_Z4":[2,0,0,2,2,0,0,2,2],"matrix_rows":[1,2,68,8,16,96,128,256,64],"offset":217,"phase":1,"quadratic_rows":[0,64,64,0,0,64,38,0,0]},"vectors":[102]},"7":{"entrance_rank":1,"frame":7,"left":{"linear_Z4":[2,2,2,3,3,3,2,2,0],"matrix_rows":[1,2,4,264,16,32,56,64,128],"offset":0,"phase":0,"quadratic_rows":[0,0,0,56,56,56,0,0,0]},"rank":8,"right":{"linear_Z4":[2,2,2,0,0,0,0,2,2],"matrix_rows":[1,2,4,8,80,96,128,256,64],"offset":199,"phase":1,"quadratic_rows":[0,0,0,64,64,64,56,0,0]},"vectors":[120]},"8":{"entrance_rank":1,"frame":8,"left":{"linear_Z4":[3,2,3,2,3,2,2,2,0],"matrix_rows":[257,2,4,8,16,32,21,64,128],"offset":0,"phase":0,"quadratic_rows":[21,0,21,0,21,0,0,0,0]},"rank":8,"right":{"linear_Z4":[0,2,0,2,0,2,0,2,2],"matrix_rows":[1,2,68,8,80,32,128,256,64],"offset":234,"phase":1,"quadratic_rows":[64,0,64,0,64,0,21,0,0]},"vectors":[85]}},"status":"RESIDUAL_ADAPTER_RECIPES"} diff --git a/research/pr699-frame-retiming-validation/native/local/SCALAR-FRAME-AUDIT.json b/research/pr699-frame-retiming-validation/native/local/SCALAR-FRAME-AUDIT.json new file mode 100644 index 0000000000..5b1cf51db7 --- /dev/null +++ b/research/pr699-frame-retiming-validation/native/local/SCALAR-FRAME-AUDIT.json @@ -0,0 +1,832 @@ +{ + "status": "PASS_CHANGED_WORD_ALL_COLUMNS_AND_NATIVE_FRAMES", + "input_content_sha256": "e78047028c7dcd25fb1b6216c2b53eda76d2f91292b21d43f5d1903cc13a5c6c", + "routing_content_sha256": "7c84ac65c8b37173aa4293934f041915895e8ec30595844cc1534e2a19ae0d25", + "canonical_content_sha256": "b0d27d99423047ce07af847734f5a86f9411038bb3b0bf721918ece1ee579325", + "live_columns_each_orientation": 728, + "helpers": 504, + "compensation_additions": 6320, + "scalar_operations": 19173, + "center_rank_sum": 64, + "local_profile": { + "1": 2556, + "2": 334, + "3": 430, + "4": 194, + "5": 56, + "8": 8 + }, + "local_rank_mass": 5634, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ], + "frames": 1005, + "directed_edges": 2953, + "tau": 43, + "target_port_order_matches_baseline": true, + "seconds": 1.8910290359999635, + "scope": "Fresh exact forward and inverse-transpose scalar replay on every arbitrary input; all native frame chains and dyadic primitives. Phase lowering, wrappers, global owners and global assembly are separate.", + "hyperplane_ended_helpers": [ + 225, + 227, + 229, + 234, + 241, + 243, + 245, + 250, + 257, + 259, + 261, + 266, + 273, + 275, + 277, + 282, + 289, + 291, + 293, + 298, + 305, + 307, + 309, + 311, + 314, + 321, + 323, + 325, + 327, + 330, + 337, + 339, + 341, + 346, + 353, + 355, + 357, + 362, + 369, + 371, + 373, + 378, + 385, + 387, + 389, + 394, + 401, + 403, + 405, + 410, + 417, + 419, + 421, + 426, + 433, + 435, + 437, + 442, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 470, + 471, + 472, + 473, + 482, + 483, + 496, + 497, + 510, + 512, + 513, + 520, + 521, + 522, + 524, + 525, + 543, + 544, + 545, + 555, + 566, + 567, + 568, + 569, + 578, + 579, + 580, + 581, + 586, + 587, + 588, + 589, + 590, + 591, + 592, + 593, + 598, + 599, + 600, + 601, + 602, + 603, + 604, + 605, + 606, + 607, + 608, + 609, + 610, + 611, + 612, + 613, + 614, + 615 + ], + "early_cleanup_gates": 163, + "cold_hyperplane_ended_helpers": [ + 225, + 227, + 229, + 234, + 241, + 243, + 245, + 250, + 257, + 259, + 261, + 266, + 273, + 275, + 277, + 282, + 289, + 291, + 293, + 298, + 305, + 307, + 309, + 311, + 314, + 321, + 323, + 325, + 327, + 330, + 337, + 339, + 341, + 346, + 353, + 355, + 357, + 362, + 369, + 371, + 373, + 378, + 385, + 387, + 389, + 394, + 401, + 403, + 405, + 410, + 417, + 419, + 421, + 426, + 433, + 435, + 437, + 442, + 510, + 512, + 513, + 522, + 524, + 525, + 586, + 587, + 588, + 589, + 598, + 599, + 600, + 601 + ], + "refactored_cleanup_gates": 6260, + "refactored_cleanup": { + "cold_low_frame_ended_helpers": [ + 225, + 227, + 229, + 234, + 241, + 243, + 245, + 250, + 257, + 259, + 261, + 266, + 273, + 275, + 277, + 282, + 289, + 291, + 293, + 298, + 305, + 307, + 309, + 311, + 314, + 321, + 323, + 325, + 327, + 330, + 337, + 339, + 341, + 346, + 353, + 355, + 357, + 362, + 369, + 371, + 373, + 378, + 385, + 387, + 389, + 394, + 401, + 403, + 405, + 410, + 417, + 419, + 421, + 426, + 433, + 435, + 437, + 442, + 510, + 512, + 513, + 522, + 524, + 525, + 586, + 587, + 588, + 589, + 598, + 599, + 600, + 601 + ], + "construction": "; G44Stack premix-only factored entering ends 566,567,578,579 (start frame [24]); G44Stack premix-only factored entering ends 608,610,543,555 (start frame [30]); CarrierBypass premix-only factored cold ends 525,588,589,587,599,600; CarrierBypass premix-only factored cold ends 586,601,598,524; CarrierBypass premix-only factored cold ends 512,513,311,510,522,327", + "entering_low_frame_ended_helpers": [ + 543, + 555, + 566, + 567, + 578, + 579, + 608, + 610 + ], + "exact_non_target_isolation_checked": true, + "forward_absorption_A_indices": [], + "forward_absorptions": 0, + "high_inverse": "dyadic_sparse_Gauss_Jordan", + "kind": "source_branch_gauge_and_retired_completion_cold44", + "lower_frame_gates": 117, + "new_cold_ends": 56, + "premix_gates": 2022, + "premix_target_writes": 0 + } +} diff --git a/research/pr699-frame-retiming-validation/native/local/WRAPPER-CHECKS.json b/research/pr699-frame-retiming-validation/native/local/WRAPPER-CHECKS.json new file mode 100644 index 0000000000..74bf1e988f --- /dev/null +++ b/research/pr699-frame-retiming-validation/native/local/WRAPPER-CHECKS.json @@ -0,0 +1,445 @@ +{ + "status": "PASS_RESIDUAL_WRAPPERS_ARE_EXACT", + "frames": 22, + "hyperplane_end_pairs": [ + { + "frame": 0, + "terminal": 37, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 66, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 95, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 124, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 153, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 182, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 211, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 240, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 269, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 298, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 327, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 356, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 385, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 414, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 1001, + "entrance_rank": 0, + "terminal_rank": 8, + "residual_width": 8 + }, + { + "frame": 0, + "terminal": 1002, + "entrance_rank": 0, + "terminal_rank": 8, + "residual_width": 8 + }, + { + "frame": 0, + "terminal": 1003, + "entrance_rank": 0, + "terminal_rank": 8, + "residual_width": 8 + }, + { + "frame": 0, + "terminal": 1004, + "entrance_rank": 0, + "terminal_rank": 8, + "residual_width": 8 + }, + { + "frame": 2, + "terminal": 1000, + "entrance_rank": 1, + "terminal_rank": 8, + "residual_width": 7 + }, + { + "frame": 3, + "terminal": 999, + "entrance_rank": 1, + "terminal_rank": 8, + "residual_width": 7 + }, + { + "frame": 423, + "terminal": 998, + "entrance_rank": 1, + "terminal_rank": 8, + "residual_width": 7 + } + ], + "cold_hyperplane_end_pairs": 18, + "wrappers_reject": [ + "wrong global phase", + "wrong translation", + "wrong quadratic form", + "sides swapped", + "wrong width", + "hpe: U-wrapper decoded against a FULL ending", + "hpe: width misreported as 9 - dim E", + "hpe: wrong terminal hyperplane", + "hpe: pre wrapper resolved to the FULL recipe R_{E,FULL}", + "hpe: wrong global phase", + "cold hpe: identity pre wrapper instead of R_{0,U}", + "cold hpe: identity post wrapper instead of L_{0,U}", + "cold hpe: no wrappers (cold FULL convention L = R = I)", + "cold hpe: U-wrapper decoded against a FULL ending", + "cold hpe: width misreported as 9", + "cold hpe: wrong terminal hyperplane", + "cold hpe: wrong global phase" + ], + "all_even_weight": false, + "all_totally_isotropic": false, + "detail": [ + { + "frame": 2, + "entrance_rank": 1, + "residual_width": 8, + "vectors": [ + 30 + ], + "all_even_weight": true, + "totally_isotropic": true + }, + { + "frame": 3, + "entrance_rank": 1, + "residual_width": 8, + "vectors": [ + 51 + ], + "all_even_weight": true, + "totally_isotropic": true + }, + { + "frame": 4, + "entrance_rank": 1, + "residual_width": 8, + "vectors": [ + 459 + ], + "all_even_weight": true, + "totally_isotropic": true + }, + { + "frame": 5, + "entrance_rank": 1, + "residual_width": 8, + "vectors": [ + 75 + ], + "all_even_weight": true, + "totally_isotropic": true + }, + { + "frame": 6, + "entrance_rank": 1, + "residual_width": 8, + "vectors": [ + 102 + ], + "all_even_weight": true, + "totally_isotropic": true + }, + { + "frame": 7, + "entrance_rank": 1, + "residual_width": 8, + "vectors": [ + 120 + ], + "all_even_weight": true, + "totally_isotropic": true + }, + { + "frame": 8, + "entrance_rank": 1, + "residual_width": 8, + "vectors": [ + 85 + ], + "all_even_weight": true, + "totally_isotropic": true + }, + { + "frame": 423, + "entrance_rank": 1, + "residual_width": 8, + "vectors": [ + 45 + ], + "all_even_weight": true, + "totally_isotropic": true + }, + { + "frame": 424, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 413, + 72, + 48, + 3 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 425, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 407, + 66, + 36, + 9 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 426, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 455, + 33, + 18, + 12 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 427, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 258, + 130, + 85, + 45 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 428, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 264, + 136, + 85, + 51 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 429, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 427, + 96, + 24, + 6 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 430, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 423, + 65, + 20, + 10 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 431, + "entrance_rank": 5, + "residual_width": 4, + "vectors": [ + 257, + 129, + 76, + 42, + 30 + ], + "all_even_weight": false, + "totally_isotropic": false + }, + { + "frame": 432, + "entrance_rank": 5, + "residual_width": 4, + "vectors": [ + 391, + 68, + 34, + 17, + 8 + ], + "all_even_weight": false, + "totally_isotropic": false + }, + { + "frame": 433, + "entrance_rank": 5, + "residual_width": 4, + "vectors": [ + 409, + 80, + 40, + 5, + 2 + ], + "all_even_weight": false, + "totally_isotropic": false + }, + { + "frame": 434, + "entrance_rank": 5, + "residual_width": 4, + "vectors": [ + 272, + 144, + 75, + 42, + 7 + ], + "all_even_weight": false, + "totally_isotropic": false + }, + { + "frame": 435, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 320, + 192, + 45, + 30 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 436, + "entrance_rank": 5, + "residual_width": 4, + "vectors": [ + 288, + 160, + 75, + 25, + 7 + ], + "all_even_weight": false, + "totally_isotropic": false + }, + { + "frame": 437, + "entrance_rank": 5, + "residual_width": 4, + "vectors": [ + 260, + 132, + 75, + 42, + 25 + ], + "all_even_weight": false, + "totally_isotropic": false + } + ] +} diff --git a/research/pr699-frame-retiming-validation/native/word/FRAME-CHECKS.json b/research/pr699-frame-retiming-validation/native/word/FRAME-CHECKS.json new file mode 100644 index 0000000000..cc9b161e24 --- /dev/null +++ b/research/pr699-frame-retiming-validation/native/word/FRAME-CHECKS.json @@ -0,0 +1,340 @@ +{ + "status": "PASS_EIGHT_EXACT_CAPPED_INTERIOR_FRAME_RAISES", + "records": [ + { + "section": "B", + "index": 856, + "registers": [ + 168, + 25 + ], + "operand_span": [ + 272, + 144, + 64, + 6 + ], + "successor_frames": { + "168": [ + 256, + 128, + 64, + 16, + 8, + 6, + 1 + ], + "25": [ + 272, + 144, + 64, + 32, + 8, + 6, + 1 + ] + }, + "delta": { + "1": 1, + "2": -1, + "3": -1, + "4": 1 + } + }, + { + "section": "B", + "index": 860, + "registers": [ + 171, + 89 + ], + "operand_span": [ + 265, + 137, + 88, + 6 + ], + "successor_frames": { + "171": [ + 256, + 128, + 64, + 16, + 8, + 6, + 1 + ], + "89": [ + 256, + 128, + 65, + 32, + 16, + 9, + 6 + ] + }, + "delta": { + "1": 1, + "2": -1, + "3": -1, + "4": 1 + } + }, + { + "section": "B", + "index": 868, + "registers": [ + 139, + 415 + ], + "operand_span": [ + 265, + 200, + 33, + 6 + ], + "successor_frames": { + "139": [ + 256, + 144, + 80, + 32, + 8, + 6, + 1 + ], + "415": [ + 256, + 129, + 64, + 33, + 17, + 9, + 6 + ] + }, + "delta": { + "1": 1, + "2": -1, + "3": -1, + "4": 1 + } + }, + { + "section": "B", + "index": 873, + "registers": [ + 129, + 461 + ], + "operand_span": [ + 320, + 192, + 16, + 6 + ], + "successor_frames": { + "129": [ + 256, + 128, + 64, + 32, + 16, + 6, + 1 + ], + "461": [ + 320, + 192, + 32, + 16, + 8, + 6, + 1 + ] + }, + "delta": { + "1": 1, + "2": -1, + "3": -1, + "4": 1 + } + }, + { + "section": "B", + "index": 876, + "registers": [ + 131, + 431 + ], + "operand_span": [ + 392, + 73, + 33, + 6 + ], + "successor_frames": { + "131": [ + 272, + 144, + 64, + 32, + 8, + 6, + 1 + ], + "431": [ + 256, + 129, + 64, + 33, + 17, + 9, + 6 + ] + }, + "delta": { + "1": 1, + "2": -1, + "3": -1, + "4": 1 + } + }, + { + "section": "B", + "index": 953, + "registers": [ + 193, + 581 + ], + "operand_span": [ + 265, + 137, + 73, + 6 + ], + "successor_frames": { + "193": [ + 257, + 129, + 65, + 32, + 17, + 8, + 6 + ], + "581": [ + 264, + 136, + 72, + 32, + 24, + 6, + 1 + ] + }, + "delta": { + "1": 1, + "2": -1, + "3": -1, + "4": 1 + } + }, + { + "section": "B", + "index": 961, + "registers": [ + 161, + 591 + ], + "operand_span": [ + 265, + 185, + 80, + 6 + ], + "successor_frames": { + "161": [ + 257, + 128, + 64, + 33, + 16, + 8, + 6 + ], + "591": [ + 264, + 128, + 64, + 40, + 16, + 6, + 1 + ] + }, + "delta": { + "1": 1, + "2": -1, + "3": -1, + "4": 1 + } + }, + { + "section": "B", + "index": 965, + "registers": [ + 167, + 603 + ], + "operand_span": [ + 272, + 185, + 73, + 6 + ], + "successor_frames": { + "167": [ + 257, + 128, + 64, + 33, + 17, + 9, + 6 + ], + "603": [ + 256, + 128, + 72, + 40, + 16, + 6, + 1 + ] + }, + "delta": { + "1": 1, + "2": -1, + "3": -1, + "4": 1 + } + } + ], + "profile": { + "1": 2556, + "2": 334, + "3": 430, + "4": 194, + "5": 56, + "8": 8 + }, + "width_inventory": { + "4": 80, + "5": 32, + "7": 54, + "8": 122, + "9": 216 + } +} diff --git a/research/pr699-frame-retiming-validation/selected-record-check.log b/research/pr699-frame-retiming-validation/selected-record-check.log new file mode 100644 index 0000000000..4ec0c12e62 --- /dev/null +++ b/research/pr699-frame-retiming-validation/selected-record-check.log @@ -0,0 +1,2 @@ +python3 -B scripts/verify_selected_result.py +PASS selected record, exact kappa, original source inventory and proof supplement: 51110230636731/31250000000000000 diff --git a/research/pr699-frame-retiming-validation/strict-global-admission.log b/research/pr699-frame-retiming-validation/strict-global-admission.log new file mode 100644 index 0000000000..5b666f982c --- /dev/null +++ b/research/pr699-frame-retiming-validation/strict-global-admission.log @@ -0,0 +1,10 @@ +PASS package manifest: 122 files +PASS restore-parent 1.569 +PASS bind 0.523 +PASS emit 4.776 +PASS audit 18.034 +PASS invoice 1.379 +PASS assembly 0.565 +PASS admission-controls 0.694 +PASS bit-supplier-controls 1.145 +PASS_GAUGE44_NATIVE_EXACT_GLOBAL_ASSEMBLY 0.001661202643272239 diff --git a/research/pr699-frame-retiming/MANIFEST.json b/research/pr699-frame-retiming/MANIFEST.json new file mode 100644 index 0000000000..f4d1547c3a --- /dev/null +++ b/research/pr699-frame-retiming/MANIFEST.json @@ -0,0 +1,28 @@ +{ + "NOTICE.md": "fa5a21a72705ab8705d93f2a13e107a32dae5dd96453527c26e09ce76bb0891e", + "PROOF.md": "4141d4b3d05ca7677f6d50b3295846a64d81438c754fda859a3a1f2d472ba0e2", + "README.md": "074691e97af7660b58d57024c5cd30400fb32a4d1752fbeea490cca09da836b7", + "SOURCES.json": "d85617ae60ce305b1a99291c7b792721eb3fa9064ccf7424ff42e12d6e216bd6", + "audit_owners.py": "45b71725afab7d5652c4769b716b2a24abcef86be138ccf4b77f26187f63ee97", + "construction/FRAME-RAISES.json": "ae0103b87d3473a78030979a8a5254ccf50371921d1092e75459f25e032fd9ce", + "construction/LOCAL-PINS.json": "352649c7e9f3aed910a56ff467e59553cf6d1cd7080259de3b75e47d663b82a8", + "construction/build_frame_raises.py": "291fb8bfae984179f9339f60ab68e14ec5018a8ad982eaba8966ad0e983e6d03", + "construction/frame_controls.py": "cefccddf45019ea170d20673387bf4775f36660ebdcd7a42e57f59fe44bd51a2", + "construction/reproduce_native.py": "1e71610a0aa4933b210e58301760aef0c2b6b07e54c21e176f62a5f553e09233", + "data/OWNERS.json.gz": "99d1c4caf85855c353d30f122d9efbd9e51562914facded13027f347b18a6082", + "data/PLAN.json": "a288308c071be086e5cd6ab8c433cac46c8b74d36d24336bf2c28d6e7917b2ea", + "data/SPEC.json": "904aa58e64548c51e887e4d1a21d16ae25599dfe92acc682724a5195d0368754", + "evidence/CONCURRENT-COMPARISON.json": "6daba935d7d06d8707d28ebd8ec915eb5871725289602f3d075f1570d75d8762", + "evidence/FRAME-SEARCH.json": "f7601c72cd881bb7cec5d57bb5b1e476d1fae9a635f33fdc236bf41ee252f18b", + "evidence/INDEPENDENT-FRAMES.json": "d3fc2cb0703751465e1d6d055f004b1443716ce0d2b8c39b17043a2a0c571a37", + "evidence/INDEPENDENT-PRICE.json": "8d5d10c31a903cf6e926af3eff7b19d1eec275bf4d930df10bc668544a4284ff", + "evidence/READ-EXCHANGE-SEARCH.json": "2533ee6d3f8d19740fb16b057007f0c6162d63e6c7734354aea86fdf4b77fe4c", + "exact_intervals.py": "aa3c2327c5d3742248b720a87b2de0bbe2e34ed2af89a578e3c8d5bd2656a9cf", + "freeze_spec.py": "da7cb91e78db2b77b0630b4159d3792f91a0003bff1af600e803f57f884c1590", + "independent_frames.py": "071b37fb9fd9a8e2ddff76cb520e3b12327893505b79cba6b804917af0afb1a4", + "inputs/PIVOT-SWAP-NP.json": "d49b8d316da1cbdaf995dd0e8314d3c67cc9cd4d5902e9d85ccb907be645bef5", + "inputs/PR699-WORD.json.gz": "96ccee0d1d095c543e5a3df9c0ea6cdf8e2adaa5130f0c6a6c97cf4117644942", + "prepare_plan.py": "85675cee8ff1799d5919b59bd372f912345bc745a13ea3151a0b4abef267c8a8", + "verify.py": "5022833019addb91115ec94ad9fdc83485b7e64149cd13c838167a49960881c3", + "verify_global.py": "8de4d43038498e4c81ebdd0bb9747da5fe352bcd63a289651031848817adb098" +} diff --git a/research/pr699-frame-retiming/NOTICE.md b/research/pr699-frame-retiming/NOTICE.md new file mode 100644 index 0000000000..87fcf4c858 --- /dev/null +++ b/research/pr699-frame-retiming/NOTICE.md @@ -0,0 +1,15 @@ +New implementation and independent verification: Tekalign (tekuuu), with +substantial OpenAI Codex assistance, 2026. Apache License 2.0 (repository LICENSE). + +The frozen input is an exact reconstruction of PR699 by jeremykothe2/BRoute, +building on icekylinx's gauge44 work, BlockInvert's promotions, Q6Reviewer's +controls and the source lineage in PR699's SOURCES.json and NOTICE.md. +The unchanged owner assignment descends from chafreaky's PR685 and PR660, +with contributor lineage credited in PR699's README. PR741 by chafreaky +concurrently published the same eight-frame improvement before this submission. + +verify_global.py and freeze_spec.py adapt the PR699/PR676 orchestration; +audit_owners.py adapts PR685's literal-owner audit. exact_intervals.py is copied +unchanged from research/complex-k492-owner-repair/extras/exact_intervals.py. +All these sources retain Apache-2.0 provenance. The external pinned packages +are not relicensed; their existing license files and notices apply. diff --git a/research/pr699-frame-retiming/PROOF.md b/research/pr699-frame-retiming/PROOF.md new file mode 100644 index 0000000000..3ecfbcb94a --- /dev/null +++ b/research/pr699-frame-retiming/PROOF.md @@ -0,0 +1,46 @@ +# The finite change and its cost + +Fix PR699 commit `03e8d7ca494a083e5053cd6b1228f66b98414479` and raw word +`d232183f233899961bf55cac67a18545ed33548d9a7ca7078990d1a83d557c59`. +At zero-based B indices 856, 860, 868, 873, 876, 953, 961 and 965, replace the +rank-four frame by the rank-six frame in `construction/FRAME-RAISES.json`. +The resulting raw word is +`e78047028c7dcd25fb1b6216c2b53eda76d2f91292b21d43f5d1903cc13a5c6c`. + +For each changed operation, the union of the previous operand frames is +contained in its new frame, which is contained in each operand's next frame. +The unchanged center and endpoint constraints are also checked. The recipe +builder restores the old annotations and report and compares the entire input +JSON, so there are no unaccounted scalar, boundary or cleanup edits. The +independent checker constructs each subspace as a subset of the 512 points of +GF(2)^9 and checks inclusion directly. Cardinalities give exact dimensions. + +Recounting the complete A/B/early-cleanup/final chains, including center +copies, gives the per-operation change + + H_new - H_old = {1:+1, 2:-1, 3:-1, 4:+1}. + +The eight changes add to `{1:+8,2:-8,3:-8,4:+8}`. The rank mass is unchanged, +since `1 - 2 - 3 + 4 = 0`. Start and final frames are unchanged, so all 504 +helper widths are identical, and the original 72 complete calls, source +access, physical owners, copies, idle suffixes and restoration work are +retained. Global admission independently recomputes the unchanged geometry, +all 36,288 footprints and complete finite invoice; a width-only argument is +not substituted for these checks. + +For any 0 < b < 1, set f(r)=r^(1-b). Strict concavity gives + + f(2)-f(1) > f(4)-f(3), + f(1)+f(4) < f(2)+f(3). + +Consequently the complete recurrence moment strictly decreases by this +profile change for every such b. This argument explains the direction of the +improvement without a floating-point search. The two independent rational +moment engines certify the numerical complex endpoint; the bit endpoint and +all 47 outer constraints certify the displayed rational κ. + +The finite scalar, frame, phase, native and owner checks validate this +particular conditional witness. They do not establish the inherited all-size +realization or analytic-transfer assumptions. Nor does this note claim a +joint frame-schedule optimum. The finite discovery domain and stopping rule +are recorded separately in the search receipt. diff --git a/research/pr699-frame-retiming/README.md b/research/pr699-frame-retiming/README.md new file mode 100644 index 0000000000..99b0d6ec9a --- /dev/null +++ b/research/pr699-frame-retiming/README.md @@ -0,0 +1,96 @@ +# Independent verification of eight PR699 frame changes + +This contribution independently reconstructs and checks the conditional bound + +**κ = 1661202643272239 / 10^18 = 0.001661202643272239**, + +from PR699's κ = 0.001660666354374641. Concurrent +[PR741](https://github.com/CrocSwap/integer-mult-bounds/pull/741), by chafreaky, +published the same eight-frame construction during this investigation. **We do +not claim priority or a bound beyond PR741.** This package adds an independent +checker using explicit subsets of GF(2)^9, an independently discovered recipe, +complete local accounting and a fresh admission replay. + +The main checkout base is `66849e1475c930fd7732b1a0067ffee7e1e95f60`. +The accepted selected certificate at that base is κ = 0.001635527380375392; +PR699 and PR741 are pending contributions, not selected-frontier updates. +`upstream/` and the selected frontier are unchanged. + +## What is checked + +Eight phase-B gate frames grow from dimension four to six. Every scalar gate, +entrance, final frame, helper width and physical owner placement stays unchanged. +Each change replaces paid ranks `(2,3)` with `(1,4)`. The complete local profile +is `{1:2556, 2:334, 3:430, 4:194, 5:56, 8:8}`; its rank mass is 5634. +The global profile is +`{1:184033, 2:24048, 3:30961, 4:13968, 5:4032, 8:576, 44:1, 48:2396}`, +with rank mass 520704 and deficit 2560. All 36,288 owner roles are retained. + +`independent_frames.py` uses finite point sets, with no constructor, native +row-reduction or optimizer imports. It checks every frame inclusion, all paid +climbs, the eight center descent chains and every residual width. Twelve +negative controls include each omitted frame change, a mass-preserving false +profile, a changed scalar coefficient and changed entrance/final data. + +The full replay additionally checks all 728 arbitrary-input columns in both +orientations, native ledgers, exact phases and wrappers, 35 focused frame +controls, 95 inherited end controls, all literal owners, the finite invoice, +69 admission controls, 12 bit-supplier controls, two rational moment engines +and 47 strict outer constraints. An independent owner checker contributes seven +additional corruption controls. See `PROOF.md` and the replay receipts in +`../pr699-frame-retiming-validation/`. + +## Reproduce + +Use Python 3.11 or newer with assertions enabled; no third-party packages or +optimizer are required. Prepare the immutable dependencies once, from the +repository root: + +```sh +git fetch origin 03e8d7ca494a083e5053cd6b1228f66b98414479 +git fetch origin a6895a69f8ad98ab45777b03e9e6f48888c39f6f +mkdir -p /tmp/frame8-pr699 /tmp/frame8-pr635 +git archive 03e8d7ca494a083e5053cd6b1228f66b98414479 research/gauge44-promo-p6k4sw | tar -x -C /tmp/frame8-pr699 +git archive a6895a69f8ad98ab45777b03e9e6f48888c39f6f research/complex-571-cold14-st2 | tar -x -C /tmp/frame8-pr635 +``` + +Then run one command with a new output directory: + +```sh +python -B research/pr699-frame-retiming/verify.py \ + --main . --pr635 /tmp/frame8-pr635 \ + --dependency /tmp/frame8-pr699/research/gauge44-promo-p6k4sw \ + --work /tmp/frame8-verified +``` + +Expected: `PASS_PINNED_INPUT_FRAME_RETIMING_COMPLETE_REPLAY` and +κ `0.001661202643272239`. Allow several minutes for exact phase and mutation +checks. The small frozen PR699 input has decompressed SHA-256 +`d232183f233899961bf55cac67a18545ed33548d9a7ca7078990d1a83d557c59`; +it was rebuilt from the pinned PR635→gauge44→no-triangle→p6n→promotion→SW4 +chain during this investigation. This command is an incremental replay from +that pinned input, not a fresh ancestral replay. PR699's README gives the full +ancestral reconstruction commands. `SOURCES.json` pins all dependencies; +regenerated compressed files are compared semantically where appropriate. + +For the independent frame/cost check alone, first build the changed word with +`construction/build_frame_raises.py`, then run `independent_frames.py --before +inputs/PR699-WORD.json.gz --after NEW_WORD --out RECEIPT` using package-relative +paths. That short check does not establish scalar endpoints, phases or hosting. + +## Scope and attribution + +The arithmetic certificate is conditional on the inherited all-size compiler, +common-label/mutable-source realization, complete-invocation hosting, +precision/tape, exact recovery, analytic transfer and PR589 bit interfaces. +Finite replay is not a formal proof of the full multiplication theorem. +The complex lower endpoint is `1663966829367501881629/10^24`; PR589's bit +endpoint `1733427039589844234749/10^24` remains nonbinding. + +Prepared by **Tekalign (tekuuu)** with substantial **OpenAI Codex** assistance, +including delegated research, implementation and verification. Credit goes to +**chafreaky** for concurrent PR741 and the PR685/660 owner map; **jeremykothe2** +and BRoute for PR699's read exchanges; **icekylinx** for gauge44 and the native +verification lineage; BlockInvert for promotion machinery; Q6Reviewer for +end controls; and the PR589, PR635, PR653, PR658, PR676 and earlier contributors +credited in the pinned packages. See `NOTICE.md`. New work is Apache-2.0. diff --git a/research/pr699-frame-retiming/SOURCES.json b/research/pr699-frame-retiming/SOURCES.json new file mode 100644 index 0000000000..8460a9e55d --- /dev/null +++ b/research/pr699-frame-retiming/SOURCES.json @@ -0,0 +1,13 @@ +{ + "main_commit": "66849e1475c930fd7732b1a0067ffee7e1e95f60", + "pr699_commit": "03e8d7ca494a083e5053cd6b1228f66b98414479", + "pr635_commit": "a6895a69f8ad98ab45777b03e9e6f48888c39f6f", + "pr699_manifest_sha256": "1ec13d3f02dfd2966558264dfb010c52e83364d7cfee63af53df32df9384b9f8", + "pr699_plan_sha256": "46cf9a3cc363a197323575a370caa5a2d74e7726797e21e49933d3933a5d5ed2", + "pr699_owners_sha256": "99d1c4caf85855c353d30f122d9efbd9e51562914facded13027f347b18a6082", + "input_word_content_sha256": "d232183f233899961bf55cac67a18545ed33548d9a7ca7078990d1a83d557c59", + "concurrent_pr741_commit": "e516b1463606840a15f80aac1995d64ce0092e89", + "concurrent_pr741_created_utc": "2026-10-13T05:01:16Z", + "exact_intervals_sha256": "aa3c2327c5d3742248b720a87b2de0bbe2e34ed2af89a578e3c8d5bd2656a9cf", + "exact_intervals_source": "research/complex-k492-owner-repair/extras/exact_intervals.py" +} diff --git a/research/pr699-frame-retiming/audit_owners.py b/research/pr699-frame-retiming/audit_owners.py new file mode 100644 index 0000000000..24447707df --- /dev/null +++ b/research/pr699-frame-retiming/audit_owners.py @@ -0,0 +1,239 @@ +"""Independent literal owners, native profiles and rational moment audit. + +Adapted from PR685 complex-promo4-cold72/extras/check_owner_map.py. The separate +rational interval helper is copied unchanged from PR626's +research/complex-k492-owner-repair/extras/exact_intervals.py and pinned in +SOURCES.json. No optimizer, emitter, constructor, +assembler or production moment-engine imports. Prepared for tekuuu with +substantial OpenAI Codex assistance; Apache-2.0. Predecessor credits remain +in the explicitly supplied dependency's NOTICE.md. +""" +import argparse +from collections import Counter, defaultdict +from fractions import Fraction as Q +import gzip +import hashlib +import importlib.util +import json +from pathlib import Path + + +def need(value, message): + if not value: + raise ValueError(message) + + +def read(path): + data = path.read_bytes() + return json.loads(gzip.decompress(data) if path.suffix == '.gz' else data) + + +def sha(path): + return hashlib.sha256(path.read_bytes()).hexdigest() + + +def role_identity(rows): + return Counter((r['time'], r['helper'], r['stage'], r['replica'], r['width']) for r in rows) + + +def literal_audit(plan, rows, spec, widths, local_paid, baseline_plan): + for field in ('order', 'windows', 'pairs', 'sides'): + need(plan[field] == baseline_plan[field], 'unchanged inherited geometry') + need(len(plan['provider_calls']) == 72 and len(plan['order']) == 72, '72 calls') + calls = {c['time']: c for c in plan['provider_calls']} + need(set(calls) == set(range(72)), 'complete chronology') + need(sorted(map(tuple, plan['order'])) == [(s, r) for s in range(9) for r in range(8)], 'complete call identities') + dispatch = {(s, r): pid for s, r, pid in spec['dispatch']} + need(len(spec['dispatch']) == len(dispatch) == 72, 'complete spec dispatch') + need({(c['stage'], c['replica']): c['provider'] for c in calls.values()} == dispatch, 'spec dispatch') + need(set(widths) == set(local_paid) == set(plan['provider_registry']) == set(dispatch.values()), 'provider census') + need(plan['call_order'] == spec['call_order'] if 'call_order' in plan else plan['order'] == spec['call_order'], 'spec call order') + paid = Counter() + for t, call in calls.items(): + need((call['stage'], call['replica']) == tuple(plan['order'][t]), 'ordered provider call') + pid = call['provider'] + need(call['orientation'] == ('forward' if call['stage'] % 2 == 0 else 'backward'), 'call orientation') + need(plan['provider_registry'][pid]['widths'] == widths[pid], 'registry native widths') + paid.update(local_paid[pid]) + helpers, families, cells = defaultdict(set), defaultdict(set), defaultdict(set) + stage_pairs = {0: 0, 1: 0, 2: 0, 3: 1, 4: 1, 5: 2, 6: 2, 7: 3, 8: 3} + cross = 0 + for row in rows: + t, helper = row['time'], row['helper'] + need(type(t) is int and t in calls and type(helper) is int and 0 <= helper < 504, 'role domain') + call = calls[t] + need((row['stage'], row['replica']) == (call['stage'], call['replica']), 'ordered helper call') + width = widths[call['provider']][helper] + need(row['width'] == width, 'actual native width') + rep, child, port, off = (row[k] for k in ('owner_replica', 'child', 'port', 'offset')) + need(all(type(x) is int for x in (rep, child, port, off)) and 0 <= rep < 8 and 0 <= port < 112, 'owner domain') + key = f'{rep},{child}' + need(key in plan['windows'], 'known pending child') + cap, times = plan['windows'][key] + need(t in times, 'owner outside physical window') + need(0 <= off and off + width <= cap, 'pending child capacity') + pair, side = plan['pairs'][str(child)], plan['sides'][str(child)] + family = rep * 896 + (2 * pair + side) * 112 + port + need(row['family'] == family and row['copy'] == rep * 112 + port, 'physical family identity') + need((rep, pair) != (row['replica'], stage_pairs[row['stage']]), 'active data alias') + need(helper not in helpers[t], 'duplicate helper role') + need(family not in families[t], 'same-call whole-family alias') + helpers[t].add(helper) + families[t].add(family) + occupied = set(range(off, off + width)) + group = rep, child, port + need(not cells[group] & occupied, 'overlapping pending coordinates') + cells[group].update(occupied) + cross += rep != row['replica'] + need(len(rows) == 36288 and all(helpers[t] == set(range(504)) for t in range(72)), 'all helper roles') + idle = Counter() + for key, (cap, _) in plan['windows'].items(): + rep, child = map(int, key.split(',')) + for port in range(112): + used = cells[rep, child, port] + need(used == set(range(len(used))), 'compacted pending prefix') + if len(used) < cap: + idle[cap - len(used)] += 1 + paid.update(idle) + need(dict(paid) == {int(r): n for r, n in plan['profile'].items()}, 'literal global profile') + need(dict(paid) == {int(r): n for r, n in spec['expected']['global_profile'].items()}, 'spec global profile') + need(sum(r * n for r, n in paid.items()) == 520704, 'rank mass') + return paid, idle, cross + + +def main(): + ap = argparse.ArgumentParser(description=__doc__) + for name in ('dependency', 'plan', 'owners', 'spec', 'output'): + ap.add_argument('--' + name, type=Path, required=True) + ap.add_argument('--provider', action='append', required=True, metavar='PID=DIR') + args = ap.parse_args() + dep = args.dependency.resolve() + pins = read(dep / 'MANIFEST.json') + dependencies = ('data/SPEC.json', 'data/PLAN.json', 'data/OWNERS.json.gz') + for relative in dependencies: + need(sha(dep / relative) == pins[relative], 'dependency source pin: ' + relative) + baseline_spec, baseline_plan, baseline_rows = [read(dep / 'data' / name) + for name in ('SPEC.json', 'PLAN.json', 'OWNERS.json.gz')] + here = Path(__file__).resolve().parent + interval_path = here / 'exact_intervals.py' + need(sha(interval_path) == read(here / 'SOURCES.json')['exact_intervals_sha256'], 'independent interval source pin') + module = importlib.util.spec_from_file_location('independent_owner_intervals', interval_path) + intervals = importlib.util.module_from_spec(module) + module.loader.exec_module(intervals) + spec, plan, rows = read(args.spec), read(args.plan), read(args.owners) + need(sha(args.plan) == spec['data']['plan_sha256'], 'candidate plan pin') + need(sha(args.owners) == spec['data']['owners_sha256'], 'candidate owner pin') + providers = {} + for item in args.provider: + pid, separator, directory = item.partition('=') + need(separator and pid and pid not in providers, 'unique PID=DIR arguments') + providers[pid] = Path(directory).resolve() + need(set(providers) == set(spec['providers']), 'complete native provider arguments') + widths, paid, native_sources, native_semantics = {}, {}, {}, {} + for pid, directory in providers.items(): + canonical = read(directory / 'CANONICAL-WORD.json.gz') + programs = read(directory / 'LOCAL-PROGRAMS.json.gz') + need((canonical['v'], canonical['h'], canonical['R']) == (112, 9, 504), 'native geometry') + need(set(programs) == {'forward', 'backward'}, 'both native orientations') + widths[pid] = [len(canonical['frames'][canonical['final'][h]]) - len(canonical['frames'][canonical['start'][h]]) + for h in range(224, 728)] + need(all(type(w) is int and 0 < w <= 9 for w in widths[pid]), 'positive native residual widths') + paid[pid] = Counter(e[-1] for e in programs['forward'] if e[0] in ('climb', 'center')) + need(paid[pid] == Counter(e[-1] for e in programs['backward'] if e[0] in ('climb', 'center')), 'equal orientation profiles') + need(widths[pid] == spec['providers'][pid]['complete_contract']['widths'], 'spec native widths') + need(dict(paid[pid]) == {int(r): n for r, n in spec['providers'][pid]['expected_profile'].items()}, 'spec native paid profile') + native_sources[pid] = {name: sha(directory / name) for name in ('CANONICAL-WORD.json.gz', 'LOCAL-PROGRAMS.json.gz')} + native_semantics[pid] = {name: hashlib.sha256(gzip.decompress((directory / name).read_bytes())).hexdigest() + for name in native_sources[pid]} + need(all(value == spec['providers'][pid]['artifact_semantic_sha256'][name] + for name, value in native_semantics[pid].items()), 'actual native payload binding') + global_paid, idle, cross = literal_audit(plan, rows, spec, widths, paid, baseline_plan) + fixed_map = False + if len(providers) == len(baseline_spec['providers']) == 1: + pid = next(iter(providers)) + old = next(iter(baseline_spec['providers'].values())) + fixed_map = all(value == old['artifact_semantic_sha256'][name] + for name, value in native_semantics[pid].items()) + if fixed_map: + need(role_identity(rows) == role_identity(baseline_rows), 'fixed-map invocation identity multiset') + + rejected = [] + def reject(name, changed_plan, changed_rows, expected): + try: + literal_audit(changed_plan, changed_rows, spec, widths, paid, baseline_plan) + except ValueError as error: + need(str(error) == expected, 'unexpected mutation rejection: ' + name + ': ' + str(error)) + rejected.append(dict(name=name, reason=str(error))) + else: + raise ValueError('accepted mutation: ' + name) + + reject('omit one role', plan, rows[:-1], 'all helper roles') + mutant = list(rows) + mutant[0] = dict(rows[0], width=rows[0]['width'] + 1) + reject('wrong native width', plan, mutant, 'actual native width') + mutant = list(rows) + mutant[0] = dict(rows[0], family=rows[0]['family'] + 1) + reject('wrong physical family', plan, mutant, 'physical family identity') + row = rows[0] + bad_key = next(key for key, (cap, times) in plan['windows'].items() if row['time'] not in times and cap >= row['width']) + rep, child = map(int, bad_key.split(',')) + family = rep * 896 + (2 * plan['pairs'][str(child)] + plan['sides'][str(child)]) * 112 + row['port'] + mutant = list(rows) + mutant[0] = dict(row, owner_replica=rep, child=child, family=family, copy=rep * 112 + row['port'], offset=0) + reject('legal-size owner outside window', plan, mutant, 'owner outside physical window') + groups = defaultdict(list) + for index, row in enumerate(rows): + groups[row['owner_replica'], row['child'], row['port']].append(index) + pair = next((i, j) for group in groups.values() for i in group for j in group if i < j + and rows[i]['offset'] + rows[j]['width'] <= plan['windows'][f"{rows[i]['owner_replica']},{rows[i]['child']}"][0]) + i, j = pair + mutant = list(rows) + mutant[j] = dict(rows[j], offset=rows[i]['offset']) + reject('overlapping pending coordinates', plan, mutant, 'overlapping pending coordinates') + same_call = defaultdict(list) + for index, row in enumerate(rows): + same_call[row['time'], row['width']].append(index) + pair = next((i, j) for group in same_call.values() for i in group for j in group if i < j + and rows[i]['offset'] + 2 * rows[i]['width'] <= plan['windows'][f"{rows[i]['owner_replica']},{rows[i]['child']}"][0]) + i, j = pair + mutant = list(rows) + mutant[j] = dict(rows[i], helper=rows[j]['helper'], offset=rows[i]['offset'] + rows[i]['width']) + reject('whole-family alias with disjoint coordinates', plan, mutant, 'same-call whole-family alias') + changed_profile = dict(plan['profile']) + changed_profile['1'] = changed_profile.get('1', 0) + 1 + reject('underived paid profile', dict(plan, profile=changed_profile), rows, 'literal global profile') + + costs = [] + for label, endpoint in (('dependency', baseline_spec['expected']['complex_lower']), + ('candidate', spec['expected']['complex_lower'])): + lower = upper = Q(0) + exponent = Q(endpoint) + for rank, count in global_paid.items(): + a, b = intervals.log(Q(73, rank)) + lo, hi = intervals.exp(exponent * a, exponent * b) + lower += Q(rank * count, 73 * 7168) * lo + upper += Q(rank * count, 73 * 7168) * hi + need(upper < 1, 'strict exact moment: ' + label) + costs.append(dict(endpoint=label, complex_lower=str(exponent), lower=str(lower), + upper=str(upper), strict_margin_lower=str(1 - upper))) + b, kappa = Q(spec['expected']['complex_lower']), Q(spec['expected']['kappa']) + need(kappa <= b / (1 + b), 'outer conversion') + need(kappa > Q(baseline_spec['expected']['kappa']), 'strict improvement over dependency') + result = dict(status='PASS_INDEPENDENT_LITERAL_OWNERS_NATIVE_PROFILE_AND_EXACT_MOMENTS', + calls=72, roles=len(rows), cross_replica_roles=cross, + provider_counts=dict(Counter(c['provider'] for c in plan['provider_calls'])), + profile=dict(sorted(global_paid.items())), idle=dict(sorted(idle.items())), + fixed_map_identity_multiset_checked=fixed_map, costs=costs, kappa=str(kappa), + negative_controls=rejected, + source_sha256=dict(plan=sha(args.plan), owners=sha(args.owners), spec=sha(args.spec), + dependency_manifest=sha(dep / 'MANIFEST.json')), + dependency_sources={relative: sha(dep / relative) for relative in dependencies}, + independent_intervals_sha256=sha(interval_path), + native_sources=native_sources, native_semantic_sha256=native_semantics, + scope='Finite literal roles using unchanged inherited phase windows and widths/paid children rederived from explicit native artifacts. Independent rational moment check; complete scalar, phase, wrapper, controller, coefficient and finite/outer admission remain separate obligations.') + args.output.write_text(json.dumps(result, indent=2) + '\n') + print(result['status'], result['kappa'], flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/pr699-frame-retiming/construction/FRAME-RAISES.json b/research/pr699-frame-retiming/construction/FRAME-RAISES.json new file mode 100644 index 0000000000..e3fb3b75b6 --- /dev/null +++ b/research/pr699-frame-retiming/construction/FRAME-RAISES.json @@ -0,0 +1,179 @@ +{ + "input_sha256": "d232183f233899961bf55cac67a18545ed33548d9a7ca7078990d1a83d557c59", + "changes": [ + { + "section": "B", + "index": 856, + "old": [ + 272, + 144, + 64, + 6 + ], + "new": [ + 272, + 144, + 64, + 8, + 6, + 1 + ] + }, + { + "section": "B", + "index": 860, + "old": [ + 265, + 137, + 88, + 6 + ], + "new": [ + 256, + 128, + 65, + 16, + 9, + 6 + ] + }, + { + "section": "B", + "index": 868, + "old": [ + 265, + 200, + 33, + 6 + ], + "new": [ + 256, + 144, + 81, + 33, + 9, + 6 + ] + }, + { + "section": "B", + "index": 873, + "old": [ + 320, + 192, + 16, + 6 + ], + "new": [ + 320, + 192, + 32, + 16, + 6, + 1 + ] + }, + { + "section": "B", + "index": 876, + "old": [ + 392, + 73, + 33, + 6 + ], + "new": [ + 273, + 144, + 64, + 33, + 9, + 6 + ] + }, + { + "section": "B", + "index": 953, + "old": [ + 265, + 137, + 73, + 6 + ], + "new": [ + 265, + 137, + 73, + 32, + 25, + 6 + ] + }, + { + "section": "B", + "index": 961, + "old": [ + 265, + 185, + 80, + 6 + ], + "new": [ + 265, + 128, + 64, + 41, + 16, + 6 + ] + }, + { + "section": "B", + "index": 965, + "old": [ + 272, + 185, + 73, + 6 + ], + "new": [ + 257, + 128, + 73, + 40, + 17, + 6 + ] + } + ], + "output_sha256": "e78047028c7dcd25fb1b6216c2b53eda76d2f91292b21d43f5d1903cc13a5c6c", + "profile": { + "1": 2556, + "2": 334, + "3": 430, + "4": 194, + "5": 56, + "8": 8 + }, + "expected_width_inventory": { + "4": 80, + "5": 32, + "7": 54, + "8": 122, + "9": 216 + }, + "expected_step_delta": { + "1": 1, + "2": -1, + "3": -1, + "4": 1 + }, + "baseline_profile": { + "1": 2548, + "2": 342, + "3": 438, + "4": 186, + "5": 56, + "8": 8 + } +} diff --git a/research/pr699-frame-retiming/construction/LOCAL-PINS.json b/research/pr699-frame-retiming/construction/LOCAL-PINS.json new file mode 100644 index 0000000000..fa17943503 --- /dev/null +++ b/research/pr699-frame-retiming/construction/LOCAL-PINS.json @@ -0,0 +1,11 @@ +{ + "raw_word_content_sha256": "e78047028c7dcd25fb1b6216c2b53eda76d2f91292b21d43f5d1903cc13a5c6c", + "canonical_sha256": "b0d27d99423047ce07af847734f5a86f9411038bb3b0bf721918ece1ee579325", + "program_sha256": { + "forward": "b2cf8298488cc81aeee1385d4d9ebd842efbb21abb9296fca903adb8ad50f8d0", + "backward": "6f28cf1413671d5b7c50488a1603fa8f1558da469abbbb45b6a9b66ec640712b" + }, + "clifford_recipes_sha256": "eb7569e004bd2a2937928db9db49dad949ec291f00c2d21df6af722df7cb6c9c", + "frame_controls": 35, + "layer_controls": 95 +} diff --git a/research/pr699-frame-retiming/construction/build_frame_raises.py b/research/pr699-frame-retiming/construction/build_frame_raises.py new file mode 100644 index 0000000000..65e2cc3a2e --- /dev/null +++ b/research/pr699-frame-retiming/construction/build_frame_raises.py @@ -0,0 +1,131 @@ +#!/usr/bin/env python3 +"""Raise eight PR699 interior frames with unchanged scalar word and boundaries. + +Apache-2.0. OpenAI Codex research contribution with substantial AI assistance. +The chain accounting follows BlockInvert's promotion constructor; the independent +scalar/frame audit imported by the replay driver shares no builder code. +""" +import argparse, collections, gzip, hashlib, json +from pathlib import Path + + +def basis(vs): + p = {} + for x in vs: + for k in sorted(p, reverse=True): + if x >> k & 1: x ^= p[k] + if x: + k = x.bit_length()-1 + for j in list(p): + if p[j] >> k & 1: p[j] ^= x + p[k] = x + return tuple(p[k] for k in sorted(p, reverse=True)) + + +def contained(a, b): return basis(tuple(a)+tuple(b)) == basis(b) +def regs(e): return e[1:3] if e[0] == 'add' else e[1:2] + + +def endpoints(w): + v, h, R = (w['report'][k] for k in ('v','h','R')); n=2*v+R + full = basis(1<len(old), ('not a strict frame raise',sec,i) + assert contained(lower,new), ('below operand frame',sec,i) + assert all(contained(new,f) for f in caps.values()), ('above successor cap',sec,i) + z[sec][i][-1]=list(new); current=profile(z) + delta={k:current.get(k,0)-oldprofile.get(k,0) for k in sorted(set(current)|set(oldprofile))} + delta={k:c for k,c in delta.items() if c} + assert delta==recipe['expected_step_delta'], ('step profile delta',sec,i,delta) + records.append(dict(section=sec,index=i,registers=rs,operand_span=list(lower),successor_frames=caps,delta=delta)) + oldprofile=current + assert oldprofile==recipe['profile'], 'final profile' + z['report']['local_profile']=oldprofile + z['report']['local_rank_mass']=sum(int(k)*c for k,c in oldprofile.items()) + assert width_inventory(z)==recipe['expected_width_inventory']==width_inventory(w), 'width changed' + assert z['report']['local_rank_mass']==w['report']['local_rank_mass'], 'rank mass changed' + # Restore all permitted edits and require exact equality of every other field. + check=json.loads(json.dumps(z)) + for change in recipe['changes']: check[change['section']][change['index']][-1]=change['old'] + check['report']=w['report']; assert check==w, 'scalar or boundary field changed' + return z,records + + +def main(): + if not __debug__: raise RuntimeError('Assertions are required; do not use Python -O') + ap=argparse.ArgumentParser(description=__doc__) + for k in ('input','recipe','out'): ap.add_argument('--'+k,type=Path,required=True) + a=ap.parse_args(); raw=gzip.decompress(a.input.read_bytes()); recipe=json.loads(a.recipe.read_text()) + assert hashlib.sha256(raw).hexdigest()==recipe['input_sha256'], 'input word pin' + z,records=apply(json.loads(raw),recipe); data=json.dumps(z,separators=(',',':')).encode() + assert hashlib.sha256(data).hexdigest()==recipe['output_sha256'], 'output word pin' + a.out.mkdir(parents=True,exist_ok=False) + (a.out/'FULL-WORD.json.gz').write_bytes(gzip.compress(data,mtime=0)) + (a.out/'FRAME-CHECKS.json').write_text(json.dumps(dict(status='PASS_EIGHT_EXACT_CAPPED_INTERIOR_FRAME_RAISES',records=records,profile=profile(z),width_inventory=width_inventory(z)),indent=2)+'\n') + print('PASS_EIGHT_EXACT_CAPPED_INTERIOR_FRAME_RAISES',recipe['output_sha256'],flush=True) + + +if __name__=='__main__': main() diff --git a/research/pr699-frame-retiming/construction/frame_controls.py b/research/pr699-frame-retiming/construction/frame_controls.py new file mode 100644 index 0000000000..984be62994 --- /dev/null +++ b/research/pr699-frame-retiming/construction/frame_controls.py @@ -0,0 +1,57 @@ +#!/usr/bin/env python3 +"""Reject frame omissions, cap violations, cost misreports and scalar changes. +Apache-2.0. Prepared by OpenAI Codex with substantial AI assistance. +""" +import argparse, contextlib, copy, gzip, hashlib, importlib.util, io, json, subprocess, sys, tempfile +from pathlib import Path +import build_frame_raises as B + + +def main(): + if not __debug__: raise RuntimeError('Assertions are required; do not use Python -O') + ap=argparse.ArgumentParser(description=__doc__) + for k in ('input','recipe','word','audit','main','out'): ap.add_argument('--'+k,type=Path,required=True) + a=ap.parse_args(); raw=gzip.decompress(a.input.read_bytes()); base=json.loads(raw); recipe=json.loads(a.recipe.read_text()) + word=json.loads(gzip.decompress(a.word.read_bytes())) + assert hashlib.sha256(raw).hexdigest()==recipe['input_sha256'] + assert hashlib.sha256(gzip.decompress(a.word.read_bytes())).hexdigest()==recipe['output_sha256'] + s=importlib.util.spec_from_file_location('independent_audit',a.audit); audit=importlib.util.module_from_spec(s); s.loader.exec_module(audit) + records=[] + with tempfile.TemporaryDirectory() as tmp: + tmp=Path(tmp) + def check(w): + p=tmp/'mutant.json.gz';p.write_bytes(gzip.compress(json.dumps(w,separators=(',',':')).encode(),mtime=0)) + with contextlib.redirect_stdout(io.StringIO()): audit.run(p,tmp/'audit.json',a.main) + def reject(name,fn,prefix): + try:fn() + except (AssertionError,RuntimeError) as e: + got=str(e.args[0]) if e.args else type(e).__name__ + assert got.startswith(prefix),(name,prefix,got) + records.append(dict(name=name,rejection=got[:240])); return + raise AssertionError('mutation accepted: '+name) + check(word) + for j,change in enumerate(recipe['changes']): + site='%s%d'%(change['section'],change['index']) + bad=copy.deepcopy(recipe);bad['changes'][j]['old']=[] + reject(site+'-wrong-old-frame',lambda bad=bad:B.apply(base,bad),"('old frame mismatch'") + bad=copy.deepcopy(recipe);bad['changes'][j]['new']=[256,128,64,32,16,8,4,2,1] + reject(site+'-above-successor-cap',lambda bad=bad:B.apply(base,bad),"('above successor cap'") + bad=copy.deepcopy(recipe);bad['changes'].pop(j) + reject(site+'-recipe-edit-omitted',lambda bad=bad:B.apply(base,bad),'final profile') + bad=copy.deepcopy(word);bad[change['section']][change['index']][-1]=change['old'] + reject(site+'-word-frame-reverted-cost-kept',lambda bad=bad:check(bad),'paid profile mismatch') + bad=copy.deepcopy(word);e=bad['B'][recipe['changes'][0]['index']];assert e[0]=='add';e[3]+=e[4] + reject('changed-scalar-with-frames-intact',lambda:check(bad),'all-column endpoint failure') + bad=copy.deepcopy(word);bad['report']['local_profile']['4']+=1 + reject('misreported-paid-rank-four-count',lambda:check(bad),'paid profile mismatch') + tampered=copy.deepcopy(base);tampered['report']['local_profile']['1']+=1 + p=tmp/'tampered.json.gz';p.write_bytes(gzip.compress(json.dumps(tampered,separators=(',',':')).encode(),mtime=0)) + result=subprocess.run([sys.executable,'-B',B.__file__,'--input',str(p),'--recipe',str(a.recipe),'--out',str(tmp/'badbuild')],capture_output=True,text=True) + assert result.returncode!=0 and 'AssertionError: input word pin' in result.stderr,'input pin control' + records.append(dict(name='tampered-input-pin',rejection='input word pin')) + assert len(records)==35 + a.out.write_text(json.dumps(dict(status='PASS_FRAME_RETIMING_35_NEGATIVE_CONTROLS',honest='PASS',rejected=records),indent=2)+'\n') + print('PASS_FRAME_RETIMING_35_NEGATIVE_CONTROLS',flush=True) + + +if __name__=='__main__':main() diff --git a/research/pr699-frame-retiming/construction/reproduce_native.py b/research/pr699-frame-retiming/construction/reproduce_native.py new file mode 100644 index 0000000000..acf5847cf7 --- /dev/null +++ b/research/pr699-frame-retiming/construction/reproduce_native.py @@ -0,0 +1,64 @@ +#!/usr/bin/env python3 +"""Rebuild retimed native locals and exact independent controls. +Apache-2.0. Prepared by OpenAI Codex with substantial AI assistance. Native +programs and per-end controls are credited unchanged PR635/PR699 predecessors. +""" +import argparse,gzip,hashlib,json,os,subprocess,sys,time +from pathlib import Path +HERE=Path(__file__).resolve().parent +PKG=HERE.parent + + +def read(p): + raw=p.read_bytes();return json.loads(gzip.decompress(raw) if p.suffix=='.gz' else raw) + + +def sha(p): + raw=p.read_bytes();return hashlib.sha256(gzip.decompress(raw) if p.suffix=='.gz' else raw).hexdigest() + + +def main(): + if not __debug__: raise RuntimeError('Assertions are required; do not use Python -O') + ap=argparse.ArgumentParser(description=__doc__) + for k in ('main','pr635','dependency699','out'):ap.add_argument('--'+k,type=Path,required=True) + ap.add_argument('--input',type=Path,default=PKG/'inputs/PR699-WORD.json.gz') + a=ap.parse_args(); main=a.main.resolve();dep=a.dependency699.resolve();out=a.out.resolve() + assert not out.exists(),'Use a fresh output directory';out.mkdir(parents=True) + up=a.pr635.resolve()/'research/complex-571-cold14-st2' + src=main/'research/complex-k492-owner-repair/vendor/multicold';base=src/'vendor/pr558';parent=base/'vendor/pr552' + # Check source manifests and every PR635 program used by the inherited chain. + assert hashlib.sha256((dep/'MANIFEST.json').read_bytes()).hexdigest()=='1ec13d3f02dfd2966558264dfb010c52e83364d7cfee63af53df32df9384b9f8','PR699 manifest pin' + pins=read(dep/'construction/INPUTS.json') + for family,root in [('main',main),('pr635',a.pr635.resolve())]: + for relative,expected in pins['files'][family].items(): + assert hashlib.sha256((root/relative).read_bytes()).hexdigest()==expected,('source pin',relative) + env=dict(os.environ,PYTHONDONTWRITEBYTECODE='1',PYTHONUTF8='1',PYTHONINTMAXSTRDIGITS='0',MULTICOLD_SOURCE=str(src),GAIN_PR564_SOURCE=str(src)) + for k in ('PYTHONOPTIMIZE','XPARAM','EXTRAH','PAIRING_RANKS','DIAG','HYBBUDGET','PR635_CODE'):env.pop(k,None) + steps=[] + def run(label,script,*args,portable=True): + t=time.monotonic();cmd=[sys.executable,'-B']+([str(src/'code/run_portable.py')] if portable else [])+[str(script),*map(str,args)] + with (out/(label+'.log')).open('w') as f:r=subprocess.run(cmd,env=env,stdout=f,stderr=subprocess.STDOUT) + steps.append(dict(step=label,exit_code=r.returncode,seconds=round(time.monotonic()-t,3))) + (out/'STEPS.json').write_text(json.dumps(steps,indent=2)+'\n') + assert r.returncode==0,(label,(out/(label+'.log')).read_text()[-4000:]) + print('PASS',label,flush=True) + run('dependency-manifest',dep/'verify_manifest.py',portable=False) + run('frame-construction',HERE/'build_frame_raises.py','--input',a.input,'--recipe',HERE/'FRAME-RAISES.json','--out',out/'word',portable=False) + word=out/'word/FULL-WORD.json.gz';local=out/'local';routing=parent/'complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz' + run('independent-audit',dep/'independent/audit_local.py','--word',word,'--main',main,'--output',out/'INDEPENDENT-AUDIT.json',portable=False) + run('native',up/'code/hpe_audit_and_transport.py','--raw',word,'--routing',routing,'--out',local) + run('ledgers',up/'code/hpe_emit_local.py',local) + run('local-replay',up/'code/hpe_audit_local.py',local) + run('wrappers',up/'code/hpe_adapters_local.py',local/'CANONICAL-WORD.json.gz',local/'RESIDUAL-ADAPTERS.json',local/'WRAPPER-CHECKS.json') + run('frame-controls',HERE/'frame_controls.py','--input',a.input,'--recipe',HERE/'FRAME-RAISES.json','--word',word,'--audit',dep/'independent/audit_local.py','--main',main,'--out',out/'FRAME-CONTROLS.json',portable=False) + env['PR635_CODE']=str(up/'code') + run('layer-end-controls',dep/'construction/layers_p6n/layer_end_controls.py',word,routing,out/'controls') + env.pop('PR635_CODE');assert len(read(out/'controls/COLD-END-CONTROLS.json')['rejected'])==95 + run('phases',base/'code/phases_full.py',local,parent/'complex-global/vendor531/vendor/clifford') + checks=read(local/'LOCAL-CHECKS.json') + record=dict(raw_word_content_sha256=sha(word),canonical_sha256=sha(local/'CANONICAL-WORD.json.gz'),program_sha256={k:checks[k]['sha256'] for k in ('forward','backward')},clifford_recipes_sha256=sha(local/'CLIFFORD-RECIPES.json'),frame_controls=35,layer_controls=95) + (out/'NATIVE-PINS.json').write_text(json.dumps(record,indent=2)+'\n') + print('PASS_EIGHT_FRAME_RAISES_FULL_NATIVE_CHAIN',local,flush=True) + + +if __name__=='__main__':main() diff --git a/research/pr699-frame-retiming/data/OWNERS.json.gz b/research/pr699-frame-retiming/data/OWNERS.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..c28fbf4af77f10d7a2ea79fd24a73d2988ee59b8 GIT binary patch literal 421490 zcmX_nbwCtvwDvA5-QkiFO9)C!cXx+U(jcXT3M{$w0ul>IOG$@xNW+q%5=%*Us&vPG z>+jzC?O)G%=A7p}^Ul1pGiS~)#o__}{jdnyJLcoL)xFp*`R=~s&crTWKE0`77W?4< z%4Y9j;ius~U%qf7f5|0y3Qr|Es%%DKzsqcm$k^#OQbH%7w{_8%qrq2c=<|}UgRUEt z?EQY%UA638;LG5PlHlto^nF_J)!BjN&B6WYXfVdOIq5?09t7WA1m9t{GX>u#pl`R) zw_WJl1N3$m`fB-plMj7K+I5FU%-QO`sRr{-@?dvz14`%BJu&xT8atCm{)f~qklOv(3~ns0kHf%^&% z+U$6ichz+{JlctNKoqdwa)=B1S=~pv5ze&W}FtDUq z>N*Q_&!IeYa;yEhOMJ!MAiVw0r}nVNq{05g$MHVLWAl#=y~|iE{g>Y4HA}AiF$im4 zg|>w({k48xB)@dnz6fv^<@FF{kA&{>ShYw2f}GPu+fQwUcu5n@>2`=IkJfu*aZ6v& z?e#k>whJ7dtS+TR`q`!DGF@K5T8nxt!!NEVWtn`e!a8gmO+uy^l

AeC>WeO)jrm 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

In3cGz1cp?oO#!zdRJ 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ðaj5k^+;U)V)hJ%YM`v4|JKzY;taNv97^!~D)ol5u-RRA| zIpg<_xh}ofIIHK8PU&sfTX9@lBx106!E)Nher+484k@;%zvehSG+W97JPmhW{2_@s z|8t#5LW*EUx+6KHNJx9)siA&%t)CDWGr~w z_Wkl@tb(Emb|}0T&D;RfbBLY|UqUBxb66#=h1dbfN>7#~Z^DT`96yP6C>eXFnE5X= z@vb?99jxB4T8hM#BAE!e?cZyp)MP;o$4GD}>%qHvGegX6J8jc@^%SA#)b2MOo*X+0 z4c;8h0UTV6SiI4EPuMd%f1INEe8%!8pTZOWdX}@XgIEh+p##Mbgv*6U9~PCnr$a7m z5?H~aF_bxB^Mir=y`tnRq7;r^ZGO;+=UM_Pa35|DF;^sRGvQOoi3iXBcWStfkzdkk zYRZTha2bmu;dyF=!~Kd%#K5)(_I#fry%e#GI-iQj{lR|4Li)vAD%&1L_wPo}=M^zU{%WrRJo?G_MM-du5f6ojNxL4~N<& z(;_E|cpH~aChWZ-^LjcI*eP5S3AqhK8_3*dgY_ZLHBJ|0>Fv#GO23DTEwEg5Vi`w1 zXn~d_98H}ZE;y|LR>du_|C!q30>3u18oqxXv+^j;7w<#vn+tP zxQfOS7rbUzYMX}<%TT?nl-t>Lnj7;ND>wP?7R4;zs;8!{uiI3`<*5A4w7jUaoJ;nr zZ%X)6zcj&!fi#~PIoSIS7>&}}5WNIWWh{p!-a+F{X+o%zEocll=z2a72Yuy4DN*(% zZ8LYSv|9f~VQD_Au6NF{?RYL-<=@q-i-*#_a`l+uLUU zDX*>$4VGh8!g4?PURtLGVKI}$BJ6|0?0h1Pk?0@}+6?SBl4g{oaV@M;kO$Ji>r)j7 zN6LI}Q$gPqlPCuaw$8sB9;g0Ludm?zKVK#M`z$w86F5de@qy`!qQDuDAZe_N-mJXs zlEU?(g_hfU?ROG*nbm220L`r;9{tDdxgvMoq6@B`&C2l8M;cx$w^!11`K{f!qSgH1 z4aAGq`Dcv)$S{n?uk5u}d*zbC^&ZTD-gqIPz0FO{K$Wμ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�)t-FJy_X| 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 literal 0 HcmV?d00001 diff --git a/research/pr699-frame-retiming/data/PLAN.json b/research/pr699-frame-retiming/data/PLAN.json new file mode 100644 index 0000000000..6c2a23967d --- /dev/null +++ b/research/pr699-frame-retiming/data/PLAN.json @@ -0,0 +1,42000 @@ +{ + "status": "PR699_UNCHANGED_OWNERS_WITH_EIGHT_FRAME_RETIMINGS", + "mode": "gauge44-all72", + "K": 4, + "T": 8, + "M": 73, + "L": 9, + "live": 7168, + "deficit": 2560, + "profile": { + "1": 184033, + "2": 24048, + "3": 30961, + "4": 13968, + "5": 4032, + "8": 576, + "44": 1, + "48": 2396 + }, + "order": [ + [ + 0, + 0 + ], + [ + 0, + 1 + ], + [ + 1, + 0 + ], + [ + 0, + 2 + ], + [ + 1, + 1 + ], + [ + 2, + 0 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 2, + 1 + ], + [ + 3, + 0 + ], + [ + 0, + 4 + ], + [ + 1, + 3 + ], + [ + 2, + 2 + ], + [ + 3, + 1 + ], + [ + 4, + 0 + ], + [ + 0, + 5 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 3, + 2 + ], + [ + 4, + 1 + ], + [ + 5, + 0 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 2, + 4 + ], + [ + 3, + 3 + ], + [ + 4, + 2 + ], + [ + 5, + 1 + ], + [ + 0, + 7 + ], + [ + 6, + 0 + ], + [ + 1, + 6 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 4, + 3 + ], + [ + 5, + 2 + ], + [ + 6, + 1 + ], + [ + 1, + 7 + ], + [ + 7, + 0 + ], + [ + 2, + 6 + ], + [ + 3, + 5 + ], + [ + 4, + 4 + ], + [ + 5, + 3 + ], + [ + 6, + 2 + ], + [ + 7, + 1 + ], + [ + 2, + 7 + ], + [ + 8, + 0 + ], + [ + 3, + 6 + ], + [ + 4, + 5 + ], + [ + 5, + 4 + ], + [ + 6, + 3 + ], + [ + 7, + 2 + ], + [ + 8, + 1 + ], + [ + 3, + 7 + ], + [ + 4, + 6 + ], + [ + 5, + 5 + ], + [ + 6, + 4 + ], + [ + 7, + 3 + ], + [ + 8, + 2 + ], + [ + 4, + 7 + ], + [ + 5, + 6 + ], + [ + 6, + 5 + ], + [ + 7, + 4 + ], + [ + 8, + 3 + ], + [ + 5, + 7 + ], + [ + 6, + 6 + ], + [ + 7, + 5 + ], + [ + 8, + 4 + ], + [ + 6, + 7 + ], + [ + 7, + 6 + ], + [ + 8, + 5 + ], + [ + 7, + 7 + ], + [ + 8, + 6 + ], + [ + 8, + 7 + ] + ], + "windows": { + "0,0": [ + 16, + [ + 0, + 1, + 2 + ] + ], + "0,2": [ + 16, + [ + 0, + 1, + 2 + ] + ], + "0,1": [ + 8, + [ + 3, + 4, + 5 + ] + ], + "0,3": [ + 8, + [ + 3, + 4, + 5 + ] + ], + "0,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ] + ], + "0,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ] + ], + "0,5": [ + 8, + [ + 10, + 11, + 12, + 13, + 14 + ] + ], + "0,7": [ + 8, + [ + 10, + 11, + 12, + 13, + 14 + ] + ], + "0,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20 + ] + ], + "0,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20 + ] + ], + "0,9": [ + 8, + [ + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ] + ], + "0,11": [ + 8, + [ + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ] + ], + "0,12": [ + 48, + [ + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44 + ] + ], + "0,13": [ + 48, + [ + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44 + ] + ], + "0,14": [ + 32, + [ + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44 + ] + ], + "0,15": [ + 32, + [ + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44 + ] + ], + "0,16": [ + 16, + [ + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44 + ] + ], + "0,17": [ + 16, + [ + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44 + ] + ], + "1,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4 + ] + ], + "1,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4 + ] + ], + "1,1": [ + 8, + [ + 5, + 6, + 7, + 8 + ] + ], + "1,3": [ + 8, + [ + 5, + 6, + 7, + 8 + ] + ], + "1,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13 + ] + ], + "1,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13 + ] + ], + "1,5": [ + 8, + [ + 14, + 15, + 16, + 17, + 18, + 19 + ] + ], + "1,7": [ + 8, + [ + 14, + 15, + 16, + 17, + 18, + 19 + ] + ], + "1,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26 + ] + ], + "1,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26 + ] + ], + "1,9": [ + 8, + [ + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34 + ] + ], + "1,11": [ + 8, + [ + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34 + ] + ], + "1,12": [ + 48, + [ + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50 + ] + ], + "1,13": [ + 48, + [ + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50 + ] + ], + "1,14": [ + 32, + [ + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50 + ] + ], + "1,15": [ + 32, + [ + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50 + ] + ], + "1,16": [ + 16, + [ + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50 + ] + ], + "1,17": [ + 16, + [ + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50 + ] + ], + "2,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ] + ], + "2,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ] + ], + "2,1": [ + 8, + [ + 8, + 9, + 10, + 11, + 12 + ] + ], + "2,3": [ + 8, + [ + 8, + 9, + 10, + 11, + 12 + ] + ], + "2,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18 + ] + ], + "2,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18 + ] + ], + "2,5": [ + 8, + [ + 19, + 20, + 21, + 22, + 23, + 24, + 25 + ] + ], + "2,7": [ + 8, + [ + 19, + 20, + 21, + 22, + 23, + 24, + 25 + ] + ], + "2,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33 + ] + ], + "2,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33 + ] + ], + "2,9": [ + 8, + [ + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41 + ] + ], + "2,11": [ + 8, + [ + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41 + ] + ], + "2,12": [ + 48, + [ + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ] + ], + "2,13": [ + 48, + [ + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ] + ], + "2,14": [ + 32, + [ + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ] + ], + "2,15": [ + 32, + [ + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ] + ], + "2,16": [ + 16, + [ + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ] + ], + "2,17": [ + 16, + [ + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ] + ], + "3,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ] + ], + "3,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ] + ], + "3,1": [ + 8, + [ + 12, + 13, + 14, + 15, + 16, + 17 + ] + ], + "3,3": [ + 8, + [ + 12, + 13, + 14, + 15, + 16, + 17 + ] + ], + "3,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24 + ] + ], + "3,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24 + ] + ], + "3,5": [ + 8, + [ + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32 + ] + ], + "3,7": [ + 8, + [ + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32 + ] + ], + "3,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40 + ] + ], + "3,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40 + ] + ], + "3,9": [ + 8, + [ + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48 + ] + ], + "3,11": [ + 8, + [ + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48 + ] + ], + "3,12": [ + 48, + [ + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61 + ] + ], + "3,13": [ + 48, + [ + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61 + ] + ], + "3,14": [ + 32, + [ + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61 + ] + ], + "3,15": [ + 32, + [ + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61 + ] + ], + "3,16": [ + 16, + [ + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61 + ] + ], + "3,17": [ + 16, + [ + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61 + ] + ], + "4,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16 + ] + ], + "4,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16 + ] + ], + "4,1": [ + 8, + [ + 17, + 18, + 19, + 20, + 21, + 22, + 23 + ] + ], + "4,3": [ + 8, + [ + 17, + 18, + 19, + 20, + 21, + 22, + 23 + ] + ], + "4,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31 + ] + ], + "4,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31 + ] + ], + "4,5": [ + 8, + [ + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39 + ] + ], + "4,7": [ + 8, + [ + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39 + ] + ], + "4,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47 + ] + ], + "4,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47 + ] + ], + "4,9": [ + 8, + [ + 48, + 49, + 50, + 51, + 52, + 53, + 54 + ] + ], + "4,11": [ + 8, + [ + 48, + 49, + 50, + 51, + 52, + 53, + 54 + ] + ], + "4,12": [ + 48, + [ + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65 + ] + ], + "4,13": [ + 48, + [ + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65 + ] + ], + "4,14": [ + 32, + [ + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65 + ] + ], + "4,15": [ + 32, + [ + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65 + ] + ], + "4,16": [ + 16, + [ + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65 + ] + ], + "4,17": [ + 16, + [ + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65 + ] + ], + "5,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22 + ] + ], + "5,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22 + ] + ], + "5,1": [ + 8, + [ + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30 + ] + ], + "5,3": [ + 8, + [ + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30 + ] + ], + "5,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38 + ] + ], + "5,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38 + ] + ], + "5,5": [ + 8, + [ + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46 + ] + ], + "5,7": [ + 8, + [ + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46 + ] + ], + "5,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53 + ] + ], + "5,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53 + ] + ], + "5,9": [ + 8, + [ + 54, + 55, + 56, + 57, + 58, + 59 + ] + ], + "5,11": [ + 8, + [ + 54, + 55, + 56, + 57, + 58, + 59 + ] + ], + "5,12": [ + 48, + [ + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68 + ] + ], + "5,13": [ + 48, + [ + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68 + ] + ], + "5,14": [ + 32, + [ + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68 + ] + ], + "5,15": [ + 32, + [ + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68 + ] + ], + "5,16": [ + 16, + [ + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68 + ] + ], + "5,17": [ + 16, + [ + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68 + ] + ], + "6,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29 + ] + ], + "6,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29 + ] + ], + "6,1": [ + 8, + [ + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37 + ] + ], + "6,3": [ + 8, + [ + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37 + ] + ], + "6,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45 + ] + ], + "6,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45 + ] + ], + "6,5": [ + 8, + [ + 46, + 47, + 48, + 49, + 50, + 51, + 52 + ] + ], + "6,7": [ + 8, + [ + 46, + 47, + 48, + 49, + 50, + 51, + 52 + ] + ], + "6,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58 + ] + ], + "6,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58 + ] + ], + "6,9": [ + 8, + [ + 59, + 60, + 61, + 62, + 63 + ] + ], + "6,11": [ + 8, + [ + 59, + 60, + 61, + 62, + 63 + ] + ], + "6,12": [ + 48, + [ + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70 + ] + ], + "6,13": [ + 48, + [ + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70 + ] + ], + "6,14": [ + 32, + [ + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70 + ] + ], + "6,15": [ + 32, + [ + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70 + ] + ], + "6,16": [ + 16, + [ + 64, + 65, + 66, + 67, + 68, + 69, + 70 + ] + ], + "6,17": [ + 16, + [ + 64, + 65, + 66, + 67, + 68, + 69, + 70 + ] + ], + "7,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ] + ], + "7,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ] + ], + "7,1": [ + 8, + [ + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43 + ] + ], + "7,3": [ + 8, + [ + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43 + ] + ], + "7,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51 + ] + ], + "7,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51 + ] + ], + "7,5": [ + 8, + [ + 52, + 53, + 54, + 55, + 56, + 57 + ] + ], + "7,7": [ + 8, + [ + 52, + 53, + 54, + 55, + 56, + 57 + ] + ], + "7,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62 + ] + ], + "7,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62 + ] + ], + "7,9": [ + 8, + [ + 63, + 64, + 65, + 66 + ] + ], + "7,11": [ + 8, + [ + 63, + 64, + 65, + 66 + ] + ], + "7,12": [ + 48, + [ + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71 + ] + ], + "7,13": [ + 48, + [ + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71 + ] + ], + "7,14": [ + 32, + [ + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71 + ] + ], + "7,15": [ + 32, + [ + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71 + ] + ], + "7,16": [ + 16, + [ + 67, + 68, + 69, + 70, + 71 + ] + ], + "7,17": [ + 16, + [ + 67, + 68, + 69, + 70, + 71 + ] + ] + }, + "sides": { + "0": 0, + "2": 1, + "1": 0, + "3": 1, + "4": 0, + "6": 1, + "5": 0, + "7": 1, + "8": 0, + "10": 1, + "9": 0, + "11": 1, + "12": 0, + "13": 1, + "14": 0, + "15": 1, + "16": 0, + "17": 1 + }, + "pairs": { + "0": 1, + "2": 1, + "1": 1, + "3": 1, + "4": 2, + "6": 2, + "5": 2, + "7": 2, + "8": 3, + "10": 3, + "9": 3, + "11": 3, + "12": 0, + "13": 0, + "14": 1, + "15": 1, + "16": 2, + "17": 2 + }, + "solver_status": "g44pack_early_lns_of_deterministic-capacity-matching", + "gap": null, + "provider_calls": [ + { + "time": 0, + "stage": 0, + "replica": 0, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "b2cf8298488cc81aeee1385d4d9ebd842efbb21abb9296fca903adb8ad50f8d0" + }, + { + "time": 1, + "stage": 0, + "replica": 1, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "b2cf8298488cc81aeee1385d4d9ebd842efbb21abb9296fca903adb8ad50f8d0" + }, + { + "time": 2, + "stage": 1, + "replica": 0, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "6f28cf1413671d5b7c50488a1603fa8f1558da469abbbb45b6a9b66ec640712b" + }, + { + "time": 3, + "stage": 0, + "replica": 2, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "b2cf8298488cc81aeee1385d4d9ebd842efbb21abb9296fca903adb8ad50f8d0" + }, + { + "time": 4, + "stage": 1, + "replica": 1, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "6f28cf1413671d5b7c50488a1603fa8f1558da469abbbb45b6a9b66ec640712b" + }, + { + "time": 5, + "stage": 2, + "replica": 0, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "b2cf8298488cc81aeee1385d4d9ebd842efbb21abb9296fca903adb8ad50f8d0" + }, + { + "time": 6, + "stage": 0, + "replica": 3, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "b2cf8298488cc81aeee1385d4d9ebd842efbb21abb9296fca903adb8ad50f8d0" + }, + { + "time": 7, + "stage": 1, + "replica": 2, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "6f28cf1413671d5b7c50488a1603fa8f1558da469abbbb45b6a9b66ec640712b" + }, + { + "time": 8, + "stage": 2, + "replica": 1, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "b2cf8298488cc81aeee1385d4d9ebd842efbb21abb9296fca903adb8ad50f8d0" + }, + { + "time": 9, + "stage": 3, + "replica": 0, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "6f28cf1413671d5b7c50488a1603fa8f1558da469abbbb45b6a9b66ec640712b" + }, + { + "time": 10, + "stage": 0, + "replica": 4, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "b2cf8298488cc81aeee1385d4d9ebd842efbb21abb9296fca903adb8ad50f8d0" + }, + { + "time": 11, + "stage": 1, + "replica": 3, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "6f28cf1413671d5b7c50488a1603fa8f1558da469abbbb45b6a9b66ec640712b" + }, + { + "time": 12, + "stage": 2, + "replica": 2, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "b2cf8298488cc81aeee1385d4d9ebd842efbb21abb9296fca903adb8ad50f8d0" + }, + { + "time": 13, + "stage": 3, + "replica": 1, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "6f28cf1413671d5b7c50488a1603fa8f1558da469abbbb45b6a9b66ec640712b" + }, + { + "time": 14, + "stage": 4, + "replica": 0, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "b2cf8298488cc81aeee1385d4d9ebd842efbb21abb9296fca903adb8ad50f8d0" + }, + { + "time": 15, + "stage": 0, + "replica": 5, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "b2cf8298488cc81aeee1385d4d9ebd842efbb21abb9296fca903adb8ad50f8d0" + }, + { + "time": 16, + "stage": 1, + "replica": 4, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "6f28cf1413671d5b7c50488a1603fa8f1558da469abbbb45b6a9b66ec640712b" + }, + { + "time": 17, + "stage": 2, + "replica": 3, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "b2cf8298488cc81aeee1385d4d9ebd842efbb21abb9296fca903adb8ad50f8d0" + }, + { + "time": 18, + "stage": 3, + "replica": 2, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "6f28cf1413671d5b7c50488a1603fa8f1558da469abbbb45b6a9b66ec640712b" + }, + { + "time": 19, + "stage": 4, + "replica": 1, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "b2cf8298488cc81aeee1385d4d9ebd842efbb21abb9296fca903adb8ad50f8d0" + }, + { + "time": 20, + "stage": 5, + "replica": 0, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "6f28cf1413671d5b7c50488a1603fa8f1558da469abbbb45b6a9b66ec640712b" + }, + { + "time": 21, + "stage": 0, + "replica": 6, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "b2cf8298488cc81aeee1385d4d9ebd842efbb21abb9296fca903adb8ad50f8d0" + }, + { + "time": 22, + "stage": 1, + "replica": 5, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "6f28cf1413671d5b7c50488a1603fa8f1558da469abbbb45b6a9b66ec640712b" + }, + { + "time": 23, + "stage": 2, + "replica": 4, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "b2cf8298488cc81aeee1385d4d9ebd842efbb21abb9296fca903adb8ad50f8d0" + }, + { + "time": 24, + "stage": 3, + "replica": 3, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "6f28cf1413671d5b7c50488a1603fa8f1558da469abbbb45b6a9b66ec640712b" + }, + { + "time": 25, + "stage": 4, + "replica": 2, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "b2cf8298488cc81aeee1385d4d9ebd842efbb21abb9296fca903adb8ad50f8d0" + }, + { + "time": 26, + "stage": 5, + "replica": 1, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "6f28cf1413671d5b7c50488a1603fa8f1558da469abbbb45b6a9b66ec640712b" + }, + { + "time": 27, + "stage": 0, + "replica": 7, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "b2cf8298488cc81aeee1385d4d9ebd842efbb21abb9296fca903adb8ad50f8d0" + }, + { + "time": 28, + "stage": 6, + "replica": 0, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "b2cf8298488cc81aeee1385d4d9ebd842efbb21abb9296fca903adb8ad50f8d0" + }, + { + "time": 29, + "stage": 1, + "replica": 6, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "6f28cf1413671d5b7c50488a1603fa8f1558da469abbbb45b6a9b66ec640712b" + }, + { + "time": 30, + "stage": 2, + "replica": 5, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "b2cf8298488cc81aeee1385d4d9ebd842efbb21abb9296fca903adb8ad50f8d0" + }, + { + "time": 31, + "stage": 3, + "replica": 4, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "6f28cf1413671d5b7c50488a1603fa8f1558da469abbbb45b6a9b66ec640712b" + }, + { + "time": 32, + "stage": 4, + "replica": 3, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "b2cf8298488cc81aeee1385d4d9ebd842efbb21abb9296fca903adb8ad50f8d0" + }, + { + "time": 33, + "stage": 5, + "replica": 2, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "6f28cf1413671d5b7c50488a1603fa8f1558da469abbbb45b6a9b66ec640712b" + }, + { + "time": 34, + "stage": 6, + "replica": 1, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "b2cf8298488cc81aeee1385d4d9ebd842efbb21abb9296fca903adb8ad50f8d0" + }, + { + "time": 35, + "stage": 1, + "replica": 7, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "6f28cf1413671d5b7c50488a1603fa8f1558da469abbbb45b6a9b66ec640712b" + }, + { + "time": 36, + "stage": 7, + "replica": 0, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "6f28cf1413671d5b7c50488a1603fa8f1558da469abbbb45b6a9b66ec640712b" + }, + { + "time": 37, + "stage": 2, + "replica": 6, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "b2cf8298488cc81aeee1385d4d9ebd842efbb21abb9296fca903adb8ad50f8d0" + }, + { + "time": 38, + "stage": 3, + "replica": 5, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "6f28cf1413671d5b7c50488a1603fa8f1558da469abbbb45b6a9b66ec640712b" + }, + { + "time": 39, + "stage": 4, + "replica": 4, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "b2cf8298488cc81aeee1385d4d9ebd842efbb21abb9296fca903adb8ad50f8d0" + }, + { + "time": 40, + "stage": 5, + "replica": 3, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "6f28cf1413671d5b7c50488a1603fa8f1558da469abbbb45b6a9b66ec640712b" + }, + { + "time": 41, + "stage": 6, + "replica": 2, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "b2cf8298488cc81aeee1385d4d9ebd842efbb21abb9296fca903adb8ad50f8d0" + }, + { + "time": 42, + "stage": 7, + "replica": 1, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "6f28cf1413671d5b7c50488a1603fa8f1558da469abbbb45b6a9b66ec640712b" + }, + { + "time": 43, + "stage": 2, + "replica": 7, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "b2cf8298488cc81aeee1385d4d9ebd842efbb21abb9296fca903adb8ad50f8d0" + }, + { + "time": 44, + "stage": 8, + "replica": 0, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "b2cf8298488cc81aeee1385d4d9ebd842efbb21abb9296fca903adb8ad50f8d0" + }, + { + "time": 45, + "stage": 3, + "replica": 6, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "6f28cf1413671d5b7c50488a1603fa8f1558da469abbbb45b6a9b66ec640712b" + }, + { + "time": 46, + "stage": 4, + "replica": 5, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "b2cf8298488cc81aeee1385d4d9ebd842efbb21abb9296fca903adb8ad50f8d0" + }, + { + "time": 47, + "stage": 5, + "replica": 4, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "6f28cf1413671d5b7c50488a1603fa8f1558da469abbbb45b6a9b66ec640712b" + }, + { + "time": 48, + "stage": 6, + "replica": 3, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "b2cf8298488cc81aeee1385d4d9ebd842efbb21abb9296fca903adb8ad50f8d0" + }, + { + "time": 49, + "stage": 7, + "replica": 2, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "6f28cf1413671d5b7c50488a1603fa8f1558da469abbbb45b6a9b66ec640712b" + }, + { + "time": 50, + "stage": 8, + "replica": 1, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "b2cf8298488cc81aeee1385d4d9ebd842efbb21abb9296fca903adb8ad50f8d0" + }, + { + "time": 51, + "stage": 3, + "replica": 7, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "6f28cf1413671d5b7c50488a1603fa8f1558da469abbbb45b6a9b66ec640712b" + }, + { + "time": 52, + "stage": 4, + "replica": 6, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "b2cf8298488cc81aeee1385d4d9ebd842efbb21abb9296fca903adb8ad50f8d0" + }, + { + "time": 53, + "stage": 5, + "replica": 5, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "6f28cf1413671d5b7c50488a1603fa8f1558da469abbbb45b6a9b66ec640712b" + }, + { + "time": 54, + "stage": 6, + "replica": 4, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "b2cf8298488cc81aeee1385d4d9ebd842efbb21abb9296fca903adb8ad50f8d0" + }, + { + "time": 55, + "stage": 7, + "replica": 3, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "6f28cf1413671d5b7c50488a1603fa8f1558da469abbbb45b6a9b66ec640712b" + }, + { + "time": 56, + "stage": 8, + "replica": 2, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "b2cf8298488cc81aeee1385d4d9ebd842efbb21abb9296fca903adb8ad50f8d0" + }, + { + "time": 57, + "stage": 4, + "replica": 7, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "b2cf8298488cc81aeee1385d4d9ebd842efbb21abb9296fca903adb8ad50f8d0" + }, + { + "time": 58, + "stage": 5, + "replica": 6, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "6f28cf1413671d5b7c50488a1603fa8f1558da469abbbb45b6a9b66ec640712b" + }, + { + "time": 59, + "stage": 6, + "replica": 5, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "b2cf8298488cc81aeee1385d4d9ebd842efbb21abb9296fca903adb8ad50f8d0" + }, + { + "time": 60, + "stage": 7, + "replica": 4, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "6f28cf1413671d5b7c50488a1603fa8f1558da469abbbb45b6a9b66ec640712b" + }, + { + "time": 61, + "stage": 8, + "replica": 3, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "b2cf8298488cc81aeee1385d4d9ebd842efbb21abb9296fca903adb8ad50f8d0" + }, + { + "time": 62, + "stage": 5, + "replica": 7, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "6f28cf1413671d5b7c50488a1603fa8f1558da469abbbb45b6a9b66ec640712b" + }, + { + "time": 63, + "stage": 6, + "replica": 6, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "b2cf8298488cc81aeee1385d4d9ebd842efbb21abb9296fca903adb8ad50f8d0" + }, + { + "time": 64, + "stage": 7, + "replica": 5, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "6f28cf1413671d5b7c50488a1603fa8f1558da469abbbb45b6a9b66ec640712b" + }, + { + "time": 65, + "stage": 8, + "replica": 4, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "b2cf8298488cc81aeee1385d4d9ebd842efbb21abb9296fca903adb8ad50f8d0" + }, + { + "time": 66, + "stage": 6, + "replica": 7, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "b2cf8298488cc81aeee1385d4d9ebd842efbb21abb9296fca903adb8ad50f8d0" + }, + { + "time": 67, + "stage": 7, + "replica": 6, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "6f28cf1413671d5b7c50488a1603fa8f1558da469abbbb45b6a9b66ec640712b" + }, + { + "time": 68, + "stage": 8, + "replica": 5, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "b2cf8298488cc81aeee1385d4d9ebd842efbb21abb9296fca903adb8ad50f8d0" + }, + { + "time": 69, + "stage": 7, + "replica": 7, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "6f28cf1413671d5b7c50488a1603fa8f1558da469abbbb45b6a9b66ec640712b" + }, + { + "time": 70, + "stage": 8, + "replica": 6, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "b2cf8298488cc81aeee1385d4d9ebd842efbb21abb9296fca903adb8ad50f8d0" + }, + { + "time": 71, + "stage": 8, + "replica": 7, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "b2cf8298488cc81aeee1385d4d9ebd842efbb21abb9296fca903adb8ad50f8d0" + } + ], + "per_call_widths": [ + { + "stage": 0, + "replica": 0, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 1, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 0, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 2, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 1, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 0, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 3, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 2, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 1, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 0, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 4, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 3, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 2, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 1, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 0, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 5, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 4, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 3, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 2, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 1, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 0, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 6, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 5, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 4, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 3, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 2, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 1, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 7, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 0, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 6, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 5, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 4, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 3, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 2, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 1, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 7, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 0, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 6, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 5, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 4, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 3, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 2, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 1, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 7, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 0, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 6, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 5, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 4, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 3, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 2, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 1, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 7, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 6, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 5, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 4, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 3, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 2, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 7, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 6, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 5, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 4, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 3, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 7, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 6, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 5, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 4, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 7, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 6, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 5, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 7, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 6, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 7, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + } + ], + "provider_registry": { + "gauge44": { + "directory": "providers/gauge44", + "artifact_sha256": { + "CANONICAL-WORD.json.gz": "cf18c83bac89897f4d152f845a31c6a806a004283b3ee497e75bbe1d9279e25e", + "LOCAL-PROGRAMS.json.gz": "94c11145e34cf6f060b2f0cd420dd38b942720b83fe6629d447904f7d8078c81", + "LOCAL-CHECKS.json": "e01b9c16e363a37b069d12d8cb82959f5ce1c52830b05088a466b0080cd4023c", + "INDEPENDENT-LOCAL-REPLAY.json": "1f4fe3eed1e29f25d77a60a18379f0d4e33191e8eee753f0263b949e505f27d0", + "CLIFFORD-RECIPES.json": "eb7569e004bd2a2937928db9db49dad949ec291f00c2d21df6af722df7cb6c9c", + "CLIFFORD-REVIEW.json": "0f423085fef0c322fe78c7b5c26a7c19d5a17bb89a350cd5a71a0c1fb93c4834", + "RESIDUAL-ADAPTERS.json": "8b06181f69832da05e3bffab0737598013e20de6f1f48aad43617fbfe62df615" + }, + "ports": [ + 11, + 19, + 35, + 67, + 131, + 259, + 13, + 21, + 37, + 69, + 133, + 261, + 41, + 73, + 137, + 265, + 49, + 81, + 145, + 273, + 161, + 289, + 193, + 321, + 385, + 14, + 22, + 38, + 70, + 134, + 262, + 26, + 74, + 138, + 266, + 50, + 146, + 274, + 98, + 162, + 290, + 194, + 322, + 386, + 28, + 44, + 140, + 268, + 84, + 148, + 276, + 100, + 164, + 292, + 196, + 324, + 388, + 56, + 88, + 152, + 280, + 104, + 168, + 296, + 200, + 328, + 392, + 112, + 176, + 304, + 208, + 336, + 400, + 224, + 352, + 416, + 448, + 508, + 506, + 502, + 494, + 478, + 446, + 382, + 254, + 505, + 501, + 493, + 477, + 445, + 381, + 253, + 499, + 491, + 475, + 443, + 379, + 251, + 487, + 471, + 439, + 375, + 247, + 463, + 431, + 367, + 239, + 415, + 351, + 223, + 319, + 191 + ], + "centers": [ + 92, + 57, + 81, + 224, + 11, + 240, + 9, + 256 + ], + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ], + "actual_paid_profile": { + "1": 2556, + "2": 334, + "3": 430, + "4": 194, + "5": 56, + "8": 8 + }, + "orientation_program_sha256": { + "forward": "b2cf8298488cc81aeee1385d4d9ebd842efbb21abb9296fca903adb8ad50f8d0", + "backward": "6f28cf1413671d5b7c50488a1603fa8f1558da469abbbb45b6a9b66ec640712b" + }, + "artifact_semantic_sha256": { + "CANONICAL-WORD.json.gz": "b0d27d99423047ce07af847734f5a86f9411038bb3b0bf721918ece1ee579325", + "LOCAL-PROGRAMS.json.gz": "69384a1069969209c5c082cd17cafbf97b8e02f0bd141cb0f08e46cea56df92c", + "LOCAL-CHECKS.json": "0639edeae441d1b7677e15aab4d2f301455be217231c29c09625231a55067f6e", + "INDEPENDENT-LOCAL-REPLAY.json": "fe3b912bb75bb444b5f1eb9a47473f26d748bff8d2ba77c4af818fe6fd444ed9", + "CLIFFORD-RECIPES.json": "eb7569e004bd2a2937928db9db49dad949ec291f00c2d21df6af722df7cb6c9c", + "CLIFFORD-REVIEW.json": "229c7b8f5204ac7ace61451389f961677465db7bc79cabc013c662670327d69a", + "RESIDUAL-ADAPTERS.json": "55281b345e902c04c38a6e82a44e2c84467cd1b93198c101d5cb00d8f7bf40fb" + } + } + }, + "source_plan_sha256": "46cf9a3cc363a197323575a370caa5a2d74e7726797e21e49933d3933a5d5ed2", + "assignment_sha256": "99d1c4caf85855c353d30f122d9efbd9e51562914facded13027f347b18a6082", + "source_owners_sha256": "935ff1a6823c6625daba3349b28d74acf9a3d70a5947ae155aa66c7821804add" +} diff --git a/research/pr699-frame-retiming/data/SPEC.json b/research/pr699-frame-retiming/data/SPEC.json new file mode 100644 index 0000000000..b19de45f46 --- /dev/null +++ b/research/pr699-frame-retiming/data/SPEC.json @@ -0,0 +1,1348 @@ +{ + "schema": "witness-spec/1", + "name": "PR699 frame retiming", + "data": { + "plan_sha256": "a288308c071be086e5cd6ab8c433cac46c8b74d36d24336bf2c28d6e7917b2ea", + "owners_sha256": "99d1c4caf85855c353d30f122d9efbd9e51562914facded13027f347b18a6082" + }, + "dispatch": [ + [ + 0, + 0, + "gauge44" + ], + [ + 0, + 1, + "gauge44" + ], + [ + 0, + 2, + "gauge44" + ], + [ + 0, + 3, + "gauge44" + ], + [ + 0, + 4, + "gauge44" + ], + [ + 0, + 5, + "gauge44" + ], + [ + 0, + 6, + "gauge44" + ], + [ + 0, + 7, + "gauge44" + ], + [ + 1, + 0, + "gauge44" + ], + [ + 1, + 1, + "gauge44" + ], + [ + 1, + 2, + "gauge44" + ], + [ + 1, + 3, + "gauge44" + ], + [ + 1, + 4, + "gauge44" + ], + [ + 1, + 5, + "gauge44" + ], + [ + 1, + 6, + "gauge44" + ], + [ + 1, + 7, + "gauge44" + ], + [ + 2, + 0, + "gauge44" + ], + [ + 2, + 1, + "gauge44" + ], + [ + 2, + 2, + "gauge44" + ], + [ + 2, + 3, + "gauge44" + ], + [ + 2, + 4, + "gauge44" + ], + [ + 2, + 5, + "gauge44" + ], + [ + 2, + 6, + "gauge44" + ], + [ + 2, + 7, + "gauge44" + ], + [ + 3, + 0, + "gauge44" + ], + [ + 3, + 1, + "gauge44" + ], + [ + 3, + 2, + "gauge44" + ], + [ + 3, + 3, + "gauge44" + ], + [ + 3, + 4, + "gauge44" + ], + [ + 3, + 5, + "gauge44" + ], + [ + 3, + 6, + "gauge44" + ], + [ + 3, + 7, + "gauge44" + ], + [ + 4, + 0, + "gauge44" + ], + [ + 4, + 1, + "gauge44" + ], + [ + 4, + 2, + "gauge44" + ], + [ + 4, + 3, + "gauge44" + ], + [ + 4, + 4, + "gauge44" + ], + [ + 4, + 5, + "gauge44" + ], + [ + 4, + 6, + "gauge44" + ], + [ + 4, + 7, + "gauge44" + ], + [ + 5, + 0, + "gauge44" + ], + [ + 5, + 1, + "gauge44" + ], + [ + 5, + 2, + "gauge44" + ], + [ + 5, + 3, + "gauge44" + ], + [ + 5, + 4, + "gauge44" + ], + [ + 5, + 5, + "gauge44" + ], + [ + 5, + 6, + "gauge44" + ], + [ + 5, + 7, + "gauge44" + ], + [ + 6, + 0, + "gauge44" + ], + [ + 6, + 1, + "gauge44" + ], + [ + 6, + 2, + "gauge44" + ], + [ + 6, + 3, + "gauge44" + ], + [ + 6, + 4, + "gauge44" + ], + [ + 6, + 5, + "gauge44" + ], + [ + 6, + 6, + "gauge44" + ], + [ + 6, + 7, + "gauge44" + ], + [ + 7, + 0, + "gauge44" + ], + [ + 7, + 1, + "gauge44" + ], + [ + 7, + 2, + "gauge44" + ], + [ + 7, + 3, + "gauge44" + ], + [ + 7, + 4, + "gauge44" + ], + [ + 7, + 5, + "gauge44" + ], + [ + 7, + 6, + "gauge44" + ], + [ + 7, + 7, + "gauge44" + ], + [ + 8, + 0, + "gauge44" + ], + [ + 8, + 1, + "gauge44" + ], + [ + 8, + 2, + "gauge44" + ], + [ + 8, + 3, + "gauge44" + ], + [ + 8, + 4, + "gauge44" + ], + [ + 8, + 5, + "gauge44" + ], + [ + 8, + 6, + "gauge44" + ], + [ + 8, + 7, + "gauge44" + ] + ], + "call_order": [ + [ + 0, + 0 + ], + [ + 0, + 1 + ], + [ + 1, + 0 + ], + [ + 0, + 2 + ], + [ + 1, + 1 + ], + [ + 2, + 0 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 2, + 1 + ], + [ + 3, + 0 + ], + [ + 0, + 4 + ], + [ + 1, + 3 + ], + [ + 2, + 2 + ], + [ + 3, + 1 + ], + [ + 4, + 0 + ], + [ + 0, + 5 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 3, + 2 + ], + [ + 4, + 1 + ], + [ + 5, + 0 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 2, + 4 + ], + [ + 3, + 3 + ], + [ + 4, + 2 + ], + [ + 5, + 1 + ], + [ + 0, + 7 + ], + [ + 6, + 0 + ], + [ + 1, + 6 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 4, + 3 + ], + [ + 5, + 2 + ], + [ + 6, + 1 + ], + [ + 1, + 7 + ], + [ + 7, + 0 + ], + [ + 2, + 6 + ], + [ + 3, + 5 + ], + [ + 4, + 4 + ], + [ + 5, + 3 + ], + [ + 6, + 2 + ], + [ + 7, + 1 + ], + [ + 2, + 7 + ], + [ + 8, + 0 + ], + [ + 3, + 6 + ], + [ + 4, + 5 + ], + [ + 5, + 4 + ], + [ + 6, + 3 + ], + [ + 7, + 2 + ], + [ + 8, + 1 + ], + [ + 3, + 7 + ], + [ + 4, + 6 + ], + [ + 5, + 5 + ], + [ + 6, + 4 + ], + [ + 7, + 3 + ], + [ + 8, + 2 + ], + [ + 4, + 7 + ], + [ + 5, + 6 + ], + [ + 6, + 5 + ], + [ + 7, + 4 + ], + [ + 8, + 3 + ], + [ + 5, + 7 + ], + [ + 6, + 6 + ], + [ + 7, + 5 + ], + [ + 8, + 4 + ], + [ + 6, + 7 + ], + [ + 7, + 6 + ], + [ + 8, + 5 + ], + [ + 7, + 7 + ], + [ + 8, + 6 + ], + [ + 8, + 7 + ] + ], + "width_spot_helpers": [ + 270, + 282, + 294, + 306 + ], + "providers": { + "gauge44": { + "inventory": { + "4": 80, + "5": 32, + "7": 54, + "8": 122, + "9": 216 + }, + "native_negative_controls": 25, + "phase_edges": 2953, + "expected_profile": { + "1": 2556, + "2": 334, + "3": 430, + "4": 194, + "5": 56, + "8": 8 + }, + "artifact_semantic_sha256": { + "CANONICAL-WORD.json.gz": "b0d27d99423047ce07af847734f5a86f9411038bb3b0bf721918ece1ee579325", + "LOCAL-PROGRAMS.json.gz": "69384a1069969209c5c082cd17cafbf97b8e02f0bd141cb0f08e46cea56df92c", + "LOCAL-CHECKS.json": "0639edeae441d1b7677e15aab4d2f301455be217231c29c09625231a55067f6e", + "INDEPENDENT-LOCAL-REPLAY.json": "fe3b912bb75bb444b5f1eb9a47473f26d748bff8d2ba77c4af818fe6fd444ed9", + "CLIFFORD-RECIPES.json": "eb7569e004bd2a2937928db9db49dad949ec291f00c2d21df6af722df7cb6c9c", + "CLIFFORD-REVIEW.json": "229c7b8f5204ac7ace61451389f961677465db7bc79cabc013c662670327d69a", + "RESIDUAL-ADAPTERS.json": "55281b345e902c04c38a6e82a44e2c84467cd1b93198c101d5cb00d8f7bf40fb" + }, + "entering": 216, + "entrance": 408, + "width_digest": "039cd71ed914537041e51b1894ce84f3c3af69c5ea7cf684ca1139a387ebeb42", + "program_hashes": { + "backward": "6f28cf1413671d5b7c50488a1603fa8f1558da469abbbb45b6a9b66ec640712b", + "forward": "b2cf8298488cc81aeee1385d4d9ebd842efbb21abb9296fca903adb8ad50f8d0" + }, + "artifacts": { + "LOCAL-CHECKS.json": "e01b9c16e363a37b069d12d8cb82959f5ce1c52830b05088a466b0080cd4023c", + "CLIFFORD-RECIPES.json": "eb7569e004bd2a2937928db9db49dad949ec291f00c2d21df6af722df7cb6c9c", + "RESIDUAL-ADAPTERS.json": "8b06181f69832da05e3bffab0737598013e20de6f1f48aad43617fbfe62df615" + }, + "complete_contract": { + "local": { + "backward": { + "events": 24403, + "macros": 19197, + "real_component_primitives": 193210, + "prefix_l1": "48299247699832632898063/16", + "prefix_bits": 72, + "coefficient_work_primitive_count": 95441, + "all_exact_columns": 728, + "dirty_helper_columns": 504, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 288, + "post_wrappers": 288, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + }, + "forward": { + "events": 24403, + "macros": 19197, + "real_component_primitives": 193162, + "prefix_l1": "6812058044968180837/256", + "prefix_bits": 55, + "coefficient_work_primitive_count": 95409, + "all_exact_columns": 728, + "dirty_helper_columns": 504, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 288, + "post_wrappers": 288, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + } + }, + "helpers": 504, + "centres": 8, + "v": 112, + "h": 9, + "n": 728, + "entering_helpers": 216, + "entrance_rank": 408, + "terminal_codimension": 350, + "hyperplane_ended_helpers": 126, + "cold_hyperplane_ended_helpers": 72, + "width_inventory": { + "4": 80, + "5": 32, + "7": 54, + "8": 122, + "9": 216 + }, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ], + "local_adapters": 380848, + "local_primitive_bound": 9877040190138, + "compiler": 25934336, + "children": 3578, + "paid_profile": { + "1": 2556, + "2": 334, + "3": 430, + "4": 194, + "5": 56, + "8": 8 + }, + "program_hashes": { + "backward": "6f28cf1413671d5b7c50488a1603fa8f1558da469abbbb45b6a9b66ec640712b", + "forward": "b2cf8298488cc81aeee1385d4d9ebd842efbb21abb9296fca903adb8ad50f8d0" + }, + "semantic_artifact_sha256": { + "CANONICAL-WORD.json.gz": "b0d27d99423047ce07af847734f5a86f9411038bb3b0bf721918ece1ee579325", + "LOCAL-PROGRAMS.json.gz": "69384a1069969209c5c082cd17cafbf97b8e02f0bd141cb0f08e46cea56df92c", + "LOCAL-CHECKS.json": "0639edeae441d1b7677e15aab4d2f301455be217231c29c09625231a55067f6e", + "INDEPENDENT-LOCAL-REPLAY.json": "fe3b912bb75bb444b5f1eb9a47473f26d748bff8d2ba77c4af818fe6fd444ed9", + "CLIFFORD-RECIPES.json": "eb7569e004bd2a2937928db9db49dad949ec291f00c2d21df6af722df7cb6c9c", + "CLIFFORD-REVIEW.json": "229c7b8f5204ac7ace61451389f961677465db7bc79cabc013c662670327d69a", + "RESIDUAL-ADAPTERS.json": "55281b345e902c04c38a6e82a44e2c84467cd1b93198c101d5cb00d8f7bf40fb" + } + }, + "semantic_phase_sha256": "229c7b8f5204ac7ace61451389f961677465db7bc79cabc013c662670327d69a", + "expected_local": { + "forward": { + "events": 24403, + "macros": 19197, + "real_component_primitives": 193162, + "prefix_l1": "6812058044968180837/256", + "coefficient_work_primitive_count": 95409 + }, + "backward": { + "events": 24403, + "macros": 19197, + "real_component_primitives": 193210, + "prefix_l1": "48299247699832632898063/16", + "coefficient_work_primitive_count": 95441 + } + }, + "wrappers": 288 + } + }, + "expected": { + "gain_baseline_kappa": "0.001636241501576388", + "hosted_residuals": 36288, + "rank_mass": 520704, + "actual_73column_sigmas": 8545, + "cross_replica_helper_roles": 28211, + "idle_remainders": 2399, + "idle_remainder_profile": { + "1": 1, + "3": 1, + "44": 1, + "48": 2396 + }, + "global_profile": { + "1": 184033, + "2": 24048, + "3": 30961, + "4": 13968, + "5": 4032, + "8": 576, + "44": 1, + "48": 2396 + }, + "live": 7168, + "physical": 7682, + "conservative_kappa_decimal": "0.001661202640387989", + "kappa_decimal": "0.001661202643272239", + "complex_lower": "1663966829367501881629/1000000000000000000000000", + "conservative_complex_lower": "831983413236823008281/500000000000000000000000", + "kappa": "1661202643272239/1000000000000000000", + "assembly_controls_rejected": 69, + "provider_counts": { + "gauge44": 72 + }, + "mutations_rejected": 15 + }, + "pivot_swap": { + "recipe": "inputs/PIVOT-SWAP-NP.json", + "sha256": "d49b8d316da1cbdaf995dd0e8314d3c67cc9cd4d5902e9d85ccb907be645bef5" + } +} diff --git a/research/pr699-frame-retiming/evidence/CONCURRENT-COMPARISON.json b/research/pr699-frame-retiming/evidence/CONCURRENT-COMPARISON.json new file mode 100644 index 0000000000..3a4842e8b2 --- /dev/null +++ b/research/pr699-frame-retiming/evidence/CONCURRENT-COMPARISON.json @@ -0,0 +1,10 @@ +{ + "pr": 741, + "head": "e516b1463606840a15f80aac1995d64ce0092e89", + "recipe_path": "research/complex-sw4-frame8/data/FRAME-RECIPE.json", + "recipe_sha256": "a2c7ca4d44671386d05974e2627645b42bbb7da7a35cefff6e9fa158b6ac8473", + "input_payload_equal": true, + "output_payload_equal": true, + "profile_equal": true, + "scope": "Read-only comparison after independently discovering and constructing our eight frame changes. PR741 published first; no priority or larger-bound claim." +} diff --git a/research/pr699-frame-retiming/evidence/FRAME-SEARCH.json b/research/pr699-frame-retiming/evidence/FRAME-SEARCH.json new file mode 100644 index 0000000000..1a4da163c9 --- /dev/null +++ b/research/pr699-frame-retiming/evidence/FRAME-SEARCH.json @@ -0,0 +1,231 @@ +{ + "assignment_seed": 60, + "domain": "Each non-boundary scalar gate in A, B or early cleanup; change only its frame, between predecessor join and successor intersection, preserving center/target boundaries. One representative per feasible dimension, since the profile depends on dimensions.", + "input_sha256": "d232183f233899961bf55cac67a18545ed33548d9a7ca7078990d1a83d557c59", + "first_pass": { + "baseline": "PR699 d232183f", + "events": 7212, + "candidate_dimensions": 600, + "negative": [ + { + "event": 5259, + "section": "B", + "index": 856, + "old": [ + 272, + 144, + 64, + 6 + ], + "new": [ + 272, + 144, + 64, + 8, + 6, + 1 + ], + "delta": { + "4": 1, + "1": 1, + "2": -1, + "3": -1 + }, + "phi_delta": -0.0014415757764610314 + }, + { + "event": 5263, + "section": "B", + "index": 860, + "old": [ + 265, + 137, + 88, + 6 + ], + "new": [ + 256, + 128, + 65, + 16, + 9, + 6 + ], + "delta": { + "4": 1, + "1": 1, + "2": -1, + "3": -1 + }, + "phi_delta": -0.0014415757764610314 + }, + { + "event": 5271, + "section": "B", + "index": 868, + "old": [ + 265, + 200, + 33, + 6 + ], + "new": [ + 256, + 144, + 81, + 33, + 9, + 6 + ], + "delta": { + "4": 1, + "1": 1, + "2": -1, + "3": -1 + }, + "phi_delta": -0.0014415757764610314 + }, + { + "event": 5276, + "section": "B", + "index": 873, + "old": [ + 320, + 192, + 16, + 6 + ], + "new": [ + 320, + 192, + 32, + 16, + 6, + 1 + ], + "delta": { + "4": 1, + "1": 1, + "2": -1, + "3": -1 + }, + "phi_delta": -0.0014415757764610314 + }, + { + "event": 5279, + "section": "B", + "index": 876, + "old": [ + 392, + 73, + 33, + 6 + ], + "new": [ + 273, + 144, + 64, + 33, + 9, + 6 + ], + "delta": { + "4": 1, + "1": 1, + "2": -1, + "3": -1 + }, + "phi_delta": -0.0014415757764610314 + }, + { + "event": 5356, + "section": "B", + "index": 953, + "old": [ + 265, + 137, + 73, + 6 + ], + "new": [ + 265, + 137, + 73, + 32, + 25, + 6 + ], + "delta": { + "4": 1, + "1": 1, + "2": -1, + "3": -1 + }, + "phi_delta": -0.0014415757764610314 + }, + { + "event": 5364, + "section": "B", + "index": 961, + "old": [ + 265, + 185, + 80, + 6 + ], + "new": [ + 265, + 128, + 64, + 41, + 16, + 6 + ], + "delta": { + "4": 1, + "1": 1, + "2": -1, + "3": -1 + }, + "phi_delta": -0.0014415757764610314 + }, + { + "event": 5368, + "section": "B", + "index": 965, + "old": [ + 272, + 185, + 73, + 6 + ], + "new": [ + 257, + 128, + 73, + 40, + 17, + 6 + ], + "delta": { + "4": 1, + "1": 1, + "2": -1, + "3": -1 + }, + "phi_delta": -0.0014415757764610314 + } + ], + "seconds": 0.2417681899969466 + }, + "post_composition_pass": { + "baseline": "PR699 raised8 e7804702", + "events": 7212, + "candidate_dimensions": 604, + "negative": [], + "seconds": 0.25308125299488893 + }, + "stopping_rule": "Compose the eight individually improving frame changes, verify exact full profile, then stop at the first single-gate fixed point and reserve remaining work for verification.", + "scope": "Finite single-gate dimension screen; not a proof of joint optimality or an exhaustive search over multi-gate mechanisms.", + "concurrent_result": "PR741 published identical construction before submission; independent implementation and point-set recount supplied here." +} diff --git a/research/pr699-frame-retiming/evidence/INDEPENDENT-FRAMES.json b/research/pr699-frame-retiming/evidence/INDEPENDENT-FRAMES.json new file mode 100644 index 0000000000..a5fddb421d --- /dev/null +++ b/research/pr699-frame-retiming/evidence/INDEPENDENT-FRAMES.json @@ -0,0 +1,128 @@ +{ + "changed_frames": [ + [ + "B", + 856 + ], + [ + "B", + 860 + ], + [ + "B", + 868 + ], + [ + "B", + 873 + ], + [ + "B", + 876 + ], + [ + "B", + 953 + ], + [ + "B", + 961 + ], + [ + "B", + 965 + ] + ], + "scalar_gates_unchanged": true, + "helper_footprints_unchanged": true, + "width_inventory": { + "9": 216, + "4": 80, + "8": 122, + "7": 54, + "5": 32 + }, + "local_profile": { + "1": 2556, + "2": 334, + "3": 430, + "4": 194, + "5": 56, + "8": 8 + }, + "delta": { + "1": 8, + "2": -8, + "3": -8, + "4": 8 + }, + "rank_mass": 5634, + "status": "PASS_EXPLICIT_512_POINT_FRAME_RECOUNT", + "input_content_sha256": "d232183f233899961bf55cac67a18545ed33548d9a7ca7078990d1a83d557c59", + "output_content_sha256": "e78047028c7dcd25fb1b6216c2b53eda76d2f91292b21d43f5d1903cc13a5c6c", + "negative_controls": [ + { + "name": "delete-frame-change-B-856", + "rejected": true, + "site": "local paid profile mismatch" + }, + { + "name": "delete-frame-change-B-860", + "rejected": true, + "site": "local paid profile mismatch" + }, + { + "name": "delete-frame-change-B-868", + "rejected": true, + "site": "local paid profile mismatch" + }, + { + "name": "delete-frame-change-B-873", + "rejected": true, + "site": "local paid profile mismatch" + }, + { + "name": "delete-frame-change-B-876", + "rejected": true, + "site": "local paid profile mismatch" + }, + { + "name": "delete-frame-change-B-953", + "rejected": true, + "site": "local paid profile mismatch" + }, + { + "name": "delete-frame-change-B-961", + "rejected": true, + "site": "local paid profile mismatch" + }, + { + "name": "delete-frame-change-B-965", + "rejected": true, + "site": "local paid profile mismatch" + }, + { + "name": "mass-preserving-false-profile", + "rejected": true, + "site": "local paid profile mismatch" + }, + { + "name": "scalar-coefficient-perturbation", + "rejected": true, + "site": "scalar gate changed" + }, + { + "name": "helper-start-expansion", + "rejected": true, + "site": "non-frame word field changed: start_extra" + }, + { + "name": "helper-end-contraction", + "rejected": true, + "site": "non-frame word field changed: helper_final" + } + ], + "method": "Explicit finite subspace sets, independent of native Gaussian elimination.", + "strict_gain": "For 0 < b < 1, strict concavity gives 1^(1-b) + 4^(1-b) < 2^(1-b) + 3^(1-b). The profile delta is eight times this difference.", + "scope": "Finite frame containment and local paid-child accounting only. Scalar endpoint identities, phases, controller admission, whole-owner invoices and analytic transfer remain separate obligations." +} diff --git a/research/pr699-frame-retiming/evidence/INDEPENDENT-PRICE.json b/research/pr699-frame-retiming/evidence/INDEPENDENT-PRICE.json new file mode 100644 index 0000000000..f527931726 --- /dev/null +++ b/research/pr699-frame-retiming/evidence/INDEPENDENT-PRICE.json @@ -0,0 +1,155 @@ +{ + "status": "PASS_FROZEN_PROFILE_TWO_EXACT_ENGINE_AND_OUTER47_CROSSCHECK", + "profile_input_file": "PROFILE-8.json", + "profile_input_sha256": "2a938a045f33243f75a7a7d14e26a74ae6790cc415dc30f90862010b53a01c68", + "global_profile": { + "1": 184033, + "2": 24048, + "3": 30961, + "4": 13968, + "5": 4032, + "8": 576, + "44": 1, + "48": 2396 + }, + "live": 7168, + "m": 73, + "rank_mass": 520704, + "deficit": 2560, + "prices": { + "native": { + "root": { + "lower": "0.001663966829367501881629", + "upper": "0.00166396682936750188163", + "lower_endpoint_residual_upper": "-5.451603749448831695879643639644321092963499604883818730337551160268475E-25", + "upper_endpoint_residual_lower": "2.403989579877237643270636801903247849609908064735940944296654344314982E-24", + "strict_rational_signs": true + }, + "exact_moments": [ + { + "endpoint": "1663966829367501881629/1000000000000000000000000", + "accept": true, + "mercator_residual": [ + "-14697494633557896163579725774531980101206853/26959946667150639794667015087019630673637144422540572481103610249216", + "-14697494633557896163579725774531980101206851/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two_residual": [ + "-545161/1000000000000000000000000000000", + "-13629/25000000000000000000000000000" + ] + }, + { + "endpoint": "166396682936750188163/100000000000000000000000", + "accept": false, + "mercator_residual": [ + "64811430861876199766555490569126441384468587/26959946667150639794667015087019630673637144422540572481103610249216", + "64811430861876199766555490569126441384468589/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two_residual": [ + "2403989/1000000000000000000000000000000", + "240399/100000000000000000000000000000" + ] + } + ], + "outer_with_bit": { + "complex_b": "1663966829367501881629/1000000000000000000000000", + "bit_c": "1733427039589844234749/1000000000000000000000000", + "kappa": "1661202643272239/1000000000000000000", + "kappa_decimal": "0.001661202643272239", + "binding": "complex", + "strict_constraints_passed": 47, + "controls_rejected": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ] + } + }, + "conservative": { + "root": { + "lower": "0.001663966826473646016562", + "upper": "0.001663966826473646016563", + "lower_endpoint_residual_upper": "-1.344627795181758689442745676140389224928261052739006430840746676915538E-24", + "upper_endpoint_residual_lower": "1.604522159645724584658890616006593501453035960588895161517356425056097E-24", + "strict_rational_signs": true + }, + "exact_moments": [ + { + "endpoint": "831983413236823008281/500000000000000000000000", + "accept": true, + "mercator_residual": [ + "-36251093645268568293609980726137287994597871/26959946667150639794667015087019630673637144422540572481103610249216", + "-36251093645268568293609980726137287994597869/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two_residual": [ + "-13446282976270870281079/10000000000000000000000000000000000000000000000", + "-1680784122033858785117/1250000000000000000000000000000000000000000000" + ] + }, + { + "endpoint": "1663966826473646016563/1000000000000000000000000", + "accept": false, + "mercator_residual": [ + "43257831850310099305642124947279306886060263/26959946667150639794667015087019630673637144422540572481103610249216", + "43257831850310099305642124947279306886060265/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two_residual": [ + "8022608512047647664237/5000000000000000000000000000000000000000000000", + "16045227024095295328617/10000000000000000000000000000000000000000000000" + ] + } + ], + "outer_with_bit": { + "complex_b": "831983413236823008281/500000000000000000000000", + "bit_c": "1733427039589844234749/1000000000000000000000000", + "kappa": "1661202640387989/1000000000000000000", + "kappa_decimal": "0.001661202640387989", + "binding": "complex", + "strict_constraints_passed": 47, + "controls_rejected": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ] + } + } + }, + "bit_supplier_pr": 589, + "bit_deficit": 10272, + "bit_moments_with_surcharge": [ + { + "endpoint": "1733427039589844234749/1000000000000000000000000", + "accept": true, + "mercator_residual": [ + "-43100600330766044577088869872467188970742291/26959946667150639794667015087019630673637144422540572481103610249216", + "-43100600330766044577088869872467188970742289/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two_residual": [ + "-799345163337715793503/500000000000000000000000000000000000000000000", + "-3197378653350863173989/2000000000000000000000000000000000000000000000" + ] + }, + { + "endpoint": "6933708158359376939/4000000000000000000000", + "accept": false, + "mercator_residual": [ + "22502934905675809315035333485365686073718547/13479973333575319897333507543509815336818572211270286240551805124608", + "5625733726418952328758833371341421518429637/3369993333393829974333376885877453834204643052817571560137951281152" + ], + "base_two_residual": [ + "8346798366759439729359/5000000000000000000000000000000000000000000000", + "16693606733518879458833/10000000000000000000000000000000000000000000000" + ] + } + ], + "gain_over_pr635_percent": "1.52551696505698783614016944256863707024183859541247947827683890195801199091", + "input_sha256": { + "research/complex-k492-owner-repair/vendor/multicold/engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "research/complex-k492-owner-repair/vendor/multicold/engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "research/complex-k492-owner-repair/vendor/multicold/engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "package:inputs/PR589-EXPECTED.json": "b9f0e5ca038abe837b0007c8fe006f366a6f02009244ac57705a8a200e2301f4" + }, + "scope": "Independent arithmetic for the exact nominated all72 profile. Complete local, controller and finite invoice admission are separately replayed by the package driver; this receipt does not replace them. The cited PR589 bit supplier is unchanged and its exceptional-residue surcharge is retained. Any alternative c is only a headroom comparison." +} diff --git a/research/pr699-frame-retiming/evidence/READ-EXCHANGE-SEARCH.json b/research/pr699-frame-retiming/evidence/READ-EXCHANGE-SEARCH.json new file mode 100644 index 0000000000..e3d1b5569b --- /dev/null +++ b/research/pr699-frame-retiming/evidence/READ-EXCHANGE-SEARCH.json @@ -0,0 +1,20 @@ +{ + "status": "COMPLETED_SCOPED_SINGLE_PAIR_SCREEN_NO_ADDITIONAL_POSITIVE", + "domain": "PR685 cold72 word after the four inherited PR699 read exchanges; one copy-pair varied at a time. This source differs from PR699 at cold-end geometry.", + "source_pr": 685, + "source_commit": "5fc2a0c4e10558f09f03a8e42559dcf8e381e57e", + "source_content_sha256": "d0817dca9d4ed646c97b1f2483a0f3d9cd8fa3743d74ad711b0bf7a1148c1565", + "inherited_sw4_pr": 699, + "inherited_sw4_commit": "03e8d7ca494a083e5053cd6b1228f66b98414479", + "enumeration": "All nonempty subsets of movable target reads between an entering helper copy and the next write of that helper or its source, with every other pair fixed.", + "copy_pairs": 107, + "pairs_with_reads": 54, + "completed_candidates": 602, + "frame_legal_candidates": 38, + "additional_positive_candidates": 0, + "stopping_rule": "Complete all602 single-pair subsets. Stop broader exploration when a separate frame-retiming construction is found.", + "seed": "Deterministic complete single-pair enumeration; no random choices.", + "two_pair_work": "Generated30826 pairs passing a coarse frame-dependency overlap filter; zero two-pair candidates executed. No two-pair coverage or impossibility claim.", + "scope": "Finite screening of this stated read-exchange family only; no scalar or asymptotic theorem follows from a negative screen. The delivered improvement instead changes8 gate frames after the inherited read exchanges.", + "attribution": "PR699 BRoute read-exchange mechanism and existingconstructor credited. Independent enumeration and this receipt prepared by Tekalign with substantial OpenAI Codex assistance; credit to icekylinx and the PR699 predecessors." +} diff --git a/research/pr699-frame-retiming/exact_intervals.py b/research/pr699-frame-retiming/exact_intervals.py new file mode 100644 index 0000000000..8a904997c9 --- /dev/null +++ b/research/pr699-frame-retiming/exact_intervals.py @@ -0,0 +1,28 @@ +"""Rational logarithm and exponential enclosures for the independent moment check. +Uses atanh logarithm intervals and Taylor exponential intervals, stdlib only. +""" +from pathlib import Path +from fractions import Fraction as Q +from collections import Counter,defaultdict +from functools import lru_cache +import json,gzip +P=Path(__file__).resolve().parent +load=lambda p:json.loads(gzip.decompress(p.read_bytes())if p.suffix=='.gz'else p.read_bytes()) +def need(x,msg): + if not x:raise ValueError(msg) +D=1<<200 +def down(x):return Q(x.numerator*D//x.denominator,D) +def up(x):return -down(-x) +@lru_cache(None) +def log(q): + k=0 + while q>=2:q/=2;k+=1 + def s(z): + lo=2*sum((z**(2*j+1)/Q(2*j+1)for j in range(80)),Q(0));hi=lo+2*z**161/(161*(1-z*z));return lo,hi + a,b=s((q-1)/(q+1));c,d=s(Q(1,3));return down(a+k*c),up(b+k*d) +def exp(a,b): + def s(x): + term=total=Q(1) + for j in range(1,17):term*=x/j;total+=term + return total,term*x/17/(1-x/18) + need(0<=a<=b 3 and parts[0] == 'providers' and parts[2] == 'artifacts': + parts = parts[:3] + ['.'.join(parts[3:])] + target = spec + for part in parts[:-1]: + target = target.setdefault(part, {}) + if parts[-1] in target: + need(target[parts[-1]] == value, 'Stale expectation in candidate skeleton: ' + key) + target[parts[-1]] = value + assembly = read(args.discovery / 'ASSEMBLY.json') + expected = spec.setdefault('expected', {}) + for key in ('complex_lower', 'conservative_complex_lower', 'kappa', + 'kappa_decimal', 'conservative_kappa_decimal'): + expected[key] = assembly[key] + admission = read(args.discovery / 'ADMISSION-CONTROLS.json') + attempted = admission['rejected_controls'] + admission['discovery_accepted_controls'] + need(len(attempted) == len(set(attempted)) and attempted, 'Unique admission control census required') + expected['assembly_controls_rejected'] = len(attempted) + counts = dict(Counter(provider for _, _, provider in spec['dispatch'])) + need(counts == assembly['provider_counts'] == replay['provider_counts'], 'Dispatch receipt mismatch') + need(set(spec['providers']) == set(counts), 'Stale or missing spec provider') + expected['provider_counts'] = counts + controller = read(args.discovery / 'global/audit/ASYNC-AUDIT.json') + need(controller['mutation_controls_run'] is True, 'Controller controls were not run') + need(len(controller['mutations_rejected']) == len(set(controller['mutations_rejected'])), + 'Duplicate controller control names') + expected['mutations_rejected'] = len(controller['mutations_rejected']) + (args.out or args.spec).write_text(json.dumps(spec, indent=2) + '\n') + print('Frozen candidate:', assembly['kappa_decimal'], + 'strict admission controls required:', len(attempted)) + + +if __name__ == '__main__': + main() diff --git a/research/pr699-frame-retiming/independent_frames.py b/research/pr699-frame-retiming/independent_frames.py new file mode 100644 index 0000000000..c362d841b8 --- /dev/null +++ b/research/pr699-frame-retiming/independent_frames.py @@ -0,0 +1,196 @@ +#!/usr/bin/env python3 +"""Independent finite frame accounting for the eight PR699 B-gate retimings. + +Subspaces are explicit subsets of GF(2)^9; no constructor or native auditor is +imported. This verifies frame containment and the complete local paid profile, +not scalar endpoint identities, phases, global hosting, or analytic transfer. +The preserved rank mass and eight copies of delta {1:+1, 2:-1, 3:-1, 4:+1} +strictly lower the moment for 0 < b < 1 by concavity of r^(1-b). +Prepared by Tekalign with substantial OpenAI Codex assistance; credits to +icekylinx and PR699 predecessors. Apache-2.0. +""" +import argparse +import collections +import copy +import functools +import gzip +import hashlib +import json +from pathlib import Path + +BEFORE_SHA = 'd232183f233899961bf55cac67a18545ed33548d9a7ca7078990d1a83d557c59' +AFTER_SHA = 'e78047028c7dcd25fb1b6216c2b53eda76d2f91292b21d43f5d1903cc13a5c6c' +SITES = (856, 860, 868, 873, 876, 953, 961, 965) +SECTIONS = ('A', 'B', 'cut', 'cleanup', 'precondition') + + +def require(condition, message): + if not condition: + raise RuntimeError(message) + + +@functools.lru_cache(None) +def span(vectors): + points = {0} + for vector in vectors: + require(type(vector) is int and 0 <= vector < 512, 'vector outside GF(2)^9') + points |= {point ^ vector for point in points} + require(len(points) & (len(points) - 1) == 0, 'invalid subspace cardinality') + return frozenset(points) + + +def dimension(points): + return len(points).bit_length() - 1 + + +def read(path): + data = path.read_bytes() + raw = gzip.decompress(data) if path.suffix == '.gz' else data + return json.loads(raw), hashlib.sha256(raw).hexdigest() + + +def recount(word): + v, helpers, h = (word['report'][key] for key in ('v', 'R', 'h')) + require((v, helpers, h) == (112, 504, 9), 'word dimensions') + n = 2 * v + helpers + full = frozenset(range(512)) + cur = [frozenset((0, p)) for p in word['ports']] + [frozenset((0,))] * (n - v) + for register, vectors in word['start_extra'].items(): + cur[int(register)] = span(tuple(vectors)) + starts = list(cur) + paid = collections.Counter() + + def climb(register, target): + require(cur[register] <= target, f'nonmonotone register {register}') + rank = dimension(target) - dimension(cur[register]) + if rank: + paid[rank] += 1 + cur[register] = target + + for section in ('A', 'B'): + if section == 'B': + levels = {int(t): span(tuple(u)) for t, u in word.get('target_levels', {}).items()} + for register, vectors in zip(word['centers'], word['center_frames']): + current = span(tuple(vectors)) + served = {levels.get(e[1] - v, frozenset((0,))) + for e in word['cut'] if e[2] == register} + for target in sorted(served, key=len, reverse=True): + require(target <= current, 'center descent inclusion') + if target != current: + paid[dimension(current) - dimension(target)] += 1 + current = target + for event in word[section]: + target = span(tuple(event[-1])) + registers = event[1:3] if event[0] == 'add' else event[1:2] + for register in registers: + climb(register, target) + for index, vectors in word['early_cleanup']: + event = word['cleanup'][index] + registers = event[1:3] if event[0] == 'add' else event[1:2] + for register in registers: + climb(register, span(tuple(vectors))) + ends = ([full] * v + + [frozenset(x for x in range(512) if (x & p).bit_count() % 2 == 0) + for p in word['ports']] + [full] * helpers) + for register, vectors in word['helper_final'].items(): + ends[int(register)] = span(tuple(vectors)) + for register, target in enumerate(ends): + climb(register, target) + widths = [dimension(ends[q]) - dimension(starts[q]) for q in range(2 * v, n)] + claimed = {int(rank): count for rank, count in word['report']['local_profile'].items()} + require(dict(paid) == claimed, 'local paid profile mismatch') + require(sum(rank * count for rank, count in paid.items()) == word['report']['local_rank_mass'], + 'local rank mass mismatch') + return paid, widths + + +def verify(before, after): + changes = [] + for section in SECTIONS: + require(len(before[section]) == len(after[section]), 'gate count changed') + for index, (old, new) in enumerate(zip(before[section], after[section])): + require(old[:-1] == new[:-1], 'scalar gate changed') + if old[-1] != new[-1]: + changes.append([section, index]) + for key in before.keys() | after.keys(): + if key not in set(SECTIONS) | {'report'}: + require(before.get(key) == after.get(key), 'non-frame word field changed: ' + key) + old_paid, old_widths = recount(before) + paid, widths = recount(after) + require(old_widths == widths, 'helper footprints changed') + require(changes == [['B', index] for index in SITES], 'exact eight changed sites') + delta = {rank: paid[rank] - old_paid[rank] for rank in paid.keys() | old_paid.keys() + if paid[rank] != old_paid[rank]} + require(delta == {1: 8, 2: -8, 3: -8, 4: 8}, 'profile delta') + require(sum(rank * count for rank, count in delta.items()) == 0, 'rank mass preservation') + return dict(changed_frames=changes, scalar_gates_unchanged=True, + helper_footprints_unchanged=True, width_inventory=dict(collections.Counter(widths)), + local_profile=dict(sorted(paid.items())), delta=delta, + rank_mass=sum(rank * count for rank, count in paid.items())) + + +def negative_controls(before, after): + results = [] + + def reject(name, mutant, expected): + try: + verify(before, mutant) + except RuntimeError as error: + require(str(error) == expected, 'unexpected rejection site: ' + name) + results.append(dict(name=name, rejected=True, site=expected)) + else: + raise RuntimeError('accepted negative control: ' + name) + + for index in SITES: + mutant = copy.deepcopy(after) + mutant['B'][index][-1] = list(before['B'][index][-1]) + reject(f'delete-frame-change-B-{index}', mutant, 'local paid profile mismatch') + mutant = copy.deepcopy(after) + mutant['report']['local_profile']['1'] += 2 + mutant['report']['local_profile']['2'] -= 1 + require(sum(int(r) * c for r, c in mutant['report']['local_profile'].items()) == 5634, + 'control must preserve rank mass') + reject('mass-preserving-false-profile', mutant, 'local paid profile mismatch') + mutant = copy.deepcopy(after) + mutant['B'][SITES[0]][3] *= -1 + reject('scalar-coefficient-perturbation', mutant, 'scalar gate changed') + mutant = copy.deepcopy(after) + register = next(iter(mutant['start_extra'])) + current = span(tuple(mutant['start_extra'][register])) + mutant['start_extra'][register].append(next(x for x in range(512) if x not in current)) + reject('helper-start-expansion', mutant, 'non-frame word field changed: start_extra') + mutant = copy.deepcopy(after) + register = next(iter(mutant['helper_final'])) + mutant['helper_final'][register].pop() + reject('helper-end-contraction', mutant, 'non-frame word field changed: helper_final') + require(len(results) == 12, 'negative control count') + return results + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--before', type=Path, required=True) + parser.add_argument('--after', type=Path, required=True) + parser.add_argument('--out', type=Path, required=True) + args = parser.parse_args() + before, before_sha = read(args.before) + after, after_sha = read(args.after) + require(before_sha == BEFORE_SHA and after_sha == AFTER_SHA, 'raw content pins') + result = verify(before, after) + result.update(status='PASS_EXPLICIT_512_POINT_FRAME_RECOUNT', + input_content_sha256=before_sha, output_content_sha256=after_sha, + negative_controls=negative_controls(before, after), + method='Explicit finite subspace sets, independent of native Gaussian elimination.', + strict_gain='For 0 < b < 1, strict concavity gives ' + '1^(1-b) + 4^(1-b) < 2^(1-b) + 3^(1-b). ' + 'The profile delta is eight times this difference.', + scope='Finite frame containment and local paid-child accounting only. Scalar endpoint ' + 'identities, phases, controller admission, whole-owner invoices and analytic ' + 'transfer remain separate obligations.') + args.out.parent.mkdir(parents=True, exist_ok=True) + args.out.write_text(json.dumps(result, indent=2) + '\n') + print(result['status'], '12 negative controls rejected') + + +if __name__ == '__main__': + main() diff --git a/research/pr699-frame-retiming/inputs/PIVOT-SWAP-NP.json b/research/pr699-frame-retiming/inputs/PIVOT-SWAP-NP.json new file mode 100644 index 0000000000..4e0d846426 --- /dev/null +++ b/research/pr699-frame-retiming/inputs/PIVOT-SWAP-NP.json @@ -0,0 +1,588 @@ +{ + "input_content_sha256": "864ff4a19987bcb27016367801a98ca50dae69eafe01d3614f8bae69f5713d6d", + "output_content_sha256": "beb3579fce83cb3b70f4e85761cbb3b8c91d711d4b9cf473074269b8447fc4e4", + "swaps": [ + { + "pivot": 494, + "new_pivot": 566, + "entrance": [ + 24 + ], + "gates": [ + { + "part": "B", + "index": 379, + "before": [ + "add", + 566, + 494, + -1, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 494, + 566, + -1, + 1, + [ + 24 + ] + ] + }, + { + "part": "B", + "index": 380, + "before": [ + "add", + 640, + 494, + 2, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 640, + 566, + -2, + 1, + [ + 24 + ] + ] + }, + { + "part": "B", + "index": 381, + "before": [ + "add", + 642, + 494, + -2, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 642, + 566, + 2, + 1, + [ + 24 + ] + ] + }, + { + "part": "B", + "index": 382, + "before": [ + "add", + 688, + 494, + 1, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 688, + 566, + -1, + 1, + [ + 24 + ] + ] + }, + { + "part": "B", + "index": 383, + "before": [ + "add", + 690, + 494, + -1, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 690, + 566, + 1, + 1, + [ + 24 + ] + ] + } + ] + }, + { + "pivot": 495, + "new_pivot": 567, + "entrance": [ + 24 + ], + "gates": [ + { + "part": "B", + "index": 516, + "before": [ + "add", + 123, + 495, + 1, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 123, + 567, + -1, + 1, + [ + 24 + ] + ] + }, + { + "part": "B", + "index": 584, + "before": [ + "add", + 187, + 495, + -1, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 187, + 567, + 1, + 1, + [ + 24 + ] + ] + }, + { + "part": "B", + "index": 686, + "before": [ + "add", + 567, + 495, + -1, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 495, + 567, + -1, + 1, + [ + 24 + ] + ] + } + ] + }, + { + "pivot": 506, + "new_pivot": 578, + "entrance": [ + 24 + ], + "gates": [ + { + "part": "B", + "index": 176, + "before": [ + "add", + 652, + 506, + 2, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 652, + 578, + -2, + 1, + [ + 24 + ] + ] + }, + { + "part": "B", + "index": 178, + "before": [ + "add", + 652, + 506, + -2, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 652, + 578, + 2, + 1, + [ + 24 + ] + ] + }, + { + "part": "B", + "index": 278, + "before": [ + "add", + 700, + 506, + -2, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 700, + 578, + 2, + 1, + [ + 24 + ] + ] + }, + { + "part": "B", + "index": 280, + "before": [ + "add", + 700, + 506, + 2, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 700, + 578, + -2, + 1, + [ + 24 + ] + ] + }, + { + "part": "B", + "index": 702, + "before": [ + "add", + 578, + 506, + -1, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 506, + 578, + -1, + 1, + [ + 24 + ] + ] + } + ] + }, + { + "pivot": 507, + "new_pivot": 579, + "entrance": [ + 24 + ], + "gates": [ + { + "part": "B", + "index": 93, + "before": [ + "add", + 211, + 507, + -1, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 211, + 579, + 1, + 1, + [ + 24 + ] + ] + }, + { + "part": "B", + "index": 541, + "before": [ + "add", + 147, + 507, + 1, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 147, + 579, + -1, + 1, + [ + 24 + ] + ] + }, + { + "part": "B", + "index": 704, + "before": [ + "add", + 579, + 507, + -1, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 507, + 579, + -1, + 1, + [ + 24 + ] + ] + } + ] + }, + { + "pivot": 519, + "new_pivot": 543, + "entrance": [ + 30 + ], + "gates": [ + { + "part": "B", + "index": 507, + "before": [ + "add", + 115, + 519, + -1, + 1, + [ + 30 + ] + ], + "after": [ + "add", + 115, + 543, + 1, + 1, + [ + 30 + ] + ] + }, + { + "part": "B", + "index": 575, + "before": [ + "add", + 179, + 519, + 1, + 1, + [ + 30 + ] + ], + "after": [ + "add", + 179, + 543, + -1, + 1, + [ + 30 + ] + ] + }, + { + "part": "B", + "index": 722, + "before": [ + "add", + 543, + 519, + -1, + 1, + [ + 30 + ] + ], + "after": [ + "add", + 519, + 543, + -1, + 1, + [ + 30 + ] + ] + } + ] + }, + { + "pivot": 531, + "new_pivot": 555, + "entrance": [ + 30 + ], + "gates": [ + { + "part": "B", + "index": 550, + "before": [ + "add", + 155, + 531, + -1, + 1, + [ + 30 + ] + ], + "after": [ + "add", + 155, + 555, + 1, + 1, + [ + 30 + ] + ] + }, + { + "part": "B", + "index": 617, + "before": [ + "add", + 219, + 531, + 1, + 1, + [ + 30 + ] + ], + "after": [ + "add", + 219, + 555, + -1, + 1, + [ + 30 + ] + ] + }, + { + "part": "B", + "index": 740, + "before": [ + "add", + 555, + 531, + -1, + 1, + [ + 30 + ] + ], + "after": [ + "add", + 531, + 555, + -1, + 1, + [ + 30 + ] + ] + } + ] + } + ] +} diff --git a/research/pr699-frame-retiming/inputs/PR699-WORD.json.gz b/research/pr699-frame-retiming/inputs/PR699-WORD.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..081aa469a0fe561b699bd9a1a9e1f2fcb93a4c95 GIT binary patch literal 59372 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

!Q>rbZ%9_L~4{m3Y#z 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↰|7XoeD)i(~bcEN|;H7<%Ur zoc~3^iIe}chF;R+95%_+wbSoEU9evdk@3SRx7CxCos8c`=i)fM{ho)fR=B4$?+?Rb z8~!!?AIb~QS+Sd3i2Q_bj!+`_KbRi_1A@u-X$;n+|KIGorUSa>uvDgh$-k_&1JT#fs_;%b45$*zW$1 zjjhvRD7N&(GxQ46{+p_Jdj8^tGOGO%n#wKE{gqAf$K$So`liY}D(Qdu{qf(_e^BWJ z{s-{?M3j5#nCe-THwogIfCx9;6OSK<%XdgIH&r5z6j<|)oEzukxqO@MOe zLJ~NyJ@woTxtCRw?fPGS;IzrTH<~357XFk20) z6RVEL(~Q^%5*jVrgTM3Y4|lqJ?l)Q}3@aZbn@ApFX?P1=ykyyGlq^osx5nJr52i5h68Pst3zmMzDv8D38&=X{cI**azM7^cl#Kh;Z@NV-a0kbVqGrt8qfVa`5RF7))TfR8%qdPFP}(oBRqGL0IZT2T6Ki7&4A zU4*!)Jg6cLe~H-1Ts>W)4yvnZe^!g?25Y~gF;*VFcNQLd9k0iEtw&TZ1MCnR;|4jb?zM|@x~2%% z|8pt%m;v6`uz>9`RMTlyrKCP+SuF0cjuoJsKZIG@17hbpP1Dq;#F(E;)?jX-F5@c# z*swEracCkL7dCW`o{CZRUc9qvuk$2LI3M??EimD&m=V!gcwX0v4aokp@MYnO&shL; zK&Dl-$}w4)T{HFPS;Qk<8n@XP)HrLt(2eigre2cNq)l14TFwvq0}{4ogSCPq#-v7q zA=b&rZnbxU!qwO?QUB}~P9hg*KhOJjMn0s%4n1r6@v5XNY*~+N=HgkrKa8P7bUL1U z#GP<`5(+k3H=WtKmBCjp z(5Zq7qeElJUAq~EvKX|WcFt`3F^}O+`+Qs47u!#+Z*5P`ZCB6ff2v8HN%u~J6Dw5C zJ*121h;Dy_;fD2qKFUP29l%lR3Gra>?+4wjpAec9~9Hm A8~^|S literal 0 HcmV?d00001 diff --git a/research/pr699-frame-retiming/prepare_plan.py b/research/pr699-frame-retiming/prepare_plan.py new file mode 100644 index 0000000000..7fb4f7b3c6 --- /dev/null +++ b/research/pr699-frame-retiming/prepare_plan.py @@ -0,0 +1,84 @@ +"""Bind unchanged PR699 owners to the freshly verified frame-retimed provider. + +Packaging only: admission independently checks the native contracts and every +owner role. Prepared by Tekalign with substantial OpenAI Codex assistance. +Apache-2.0; predecessor registry format and semantic identity code are PR699's. +""" +import argparse +from collections import Counter, defaultdict +import gzip +import hashlib +import importlib.util +import json +from pathlib import Path + + +def read(path): + raw = path.read_bytes() + return json.loads(gzip.decompress(raw) if path.suffix == '.gz' else raw) + + +def sha(path): + return hashlib.sha256(path.read_bytes()).hexdigest() + + +def main(): + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--dependency', type=Path, required=True) + ap.add_argument('--local', type=Path, required=True) + ap.add_argument('--out', type=Path, required=True) + args = ap.parse_args() + package = Path(__file__).resolve().parent + pins = read(package / 'SOURCES.json') + dep, local = args.dependency, args.local + assert sha(dep / 'MANIFEST.json') == pins['pr699_manifest_sha256'] + assert sha(dep / 'data/PLAN.json') == pins['pr699_plan_sha256'] + assert sha(dep / 'data/OWNERS.json.gz') == pins['pr699_owners_sha256'] + plan = read(dep / 'data/PLAN.json') + word = read(local / 'CANONICAL-WORD.json.gz') + programs = read(local / 'LOCAL-PROGRAMS.json.gz') + checks = read(local / 'LOCAL-CHECKS.json') + desc = plan['provider_registry']['gauge44'] + widths = [len(word['frames'][word['final'][h]]) - len(word['frames'][word['start'][h]]) + for h in range(224, 728)] + assert widths == desc['widths'] and word['ports'] == desc['ports'] + assert word['centers'] == desc['centers'] + paid = Counter(e[-1] for e in programs['forward'] if e[0] in ('climb', 'center')) + assert paid == Counter(e[-1] for e in programs['backward'] if e[0] in ('climb', 'center')) + assert paid == {1: 2556, 2: 334, 3: 430, 4: 194, 5: 56, 8: 8} + spec = importlib.util.spec_from_file_location('identity', dep / 'code/generated_identity.py') + identity = importlib.util.module_from_spec(spec) + spec.loader.exec_module(identity) + desc['artifact_semantic_sha256'] = identity.artifact_identities(local) + desc['artifact_sha256'] = {name: sha(local / name) for name in desc['artifact_sha256']} + desc['actual_paid_profile'] = dict(sorted(paid.items())) + desc['orientation_program_sha256'] = {o: checks[o]['sha256'] for o in checks} + desc['directory'] = 'providers/gauge44' + for call in plan['provider_calls']: + assert call['provider'] == 'gauge44' + call['local_program_sha256'] = checks[call['orientation']]['sha256'] + roles = read(dep / 'data/OWNERS.json.gz') + used = defaultdict(int) + for role in roles: + used[role['owner_replica'], role['child'], role['port']] += role['width'] + idle = Counter() + for key, (capacity, window) in plan['windows'].items(): + replica, child = map(int, key.split(',')) + for port in range(112): + left = capacity - used[replica, child, port] + assert left >= 0 + if left: + idle[left] += 1 + assert idle == {1: 1, 3: 1, 44: 1, 48: 2396} + profile = Counter({rank: 72 * count for rank, count in paid.items()}) + profile.update(idle) + assert sum(rank * count for rank, count in profile.items()) == 520704 + plan['profile'] = dict(sorted(profile.items())) + plan['status'] = 'PR699_UNCHANGED_OWNERS_WITH_EIGHT_FRAME_RETIMINGS' + plan['source_plan_sha256'] = pins['pr699_plan_sha256'] + args.out.write_text(json.dumps(plan, indent=2) + '\n') + print('PASS_UNCHANGED_OWNERS_FRESH_NATIVE_PLAN', dict(profile)) + + +if __name__ == '__main__': + main() diff --git a/research/pr699-frame-retiming/verify.py b/research/pr699-frame-retiming/verify.py new file mode 100644 index 0000000000..f64b0cce1d --- /dev/null +++ b/research/pr699-frame-retiming/verify.py @@ -0,0 +1,194 @@ +#!/usr/bin/env python3 +"""Fresh incremental verification from the pinned, previously rebuilt PR699 word. + +Rebuilds the frame edits, native programs, scalar/frame/phase/wrapper controls, +physical hosting, invoices, independent owner moments and both outer prices. +The ancestral PR699 construction and cited bit circuit are inherited inputs; +this command does not claim to rebuild either. Prepared for tekuuu with +substantial OpenAI Codex assistance. Apache-2.0. +""" +import argparse +from fractions import Fraction +import gzip +import hashlib +import json +import os +from pathlib import Path +import subprocess +import sys +import time + +PACKAGE = Path(__file__).resolve().parent + + +def need(condition, message): + if not condition: + raise ValueError(message) + + +def read(path): + raw = path.read_bytes() + return json.loads(gzip.decompress(raw) if path.suffix == '.gz' else raw) + + +def sha(path): + return hashlib.sha256(path.read_bytes()).hexdigest() + + +def content_sha(path): + return hashlib.sha256(gzip.decompress(path.read_bytes())).hexdigest() + + +def dump(path, value): + path.write_text(json.dumps(value, indent=2) + '\n') + + +def main(): + ap = argparse.ArgumentParser(description=__doc__) + for name in ('main', 'pr635', 'dependency', 'work'): + ap.add_argument('--' + name, type=Path, required=True) + args = ap.parse_args() + need(__debug__, 'Inherited verification requires assertions; do not use -O') + main, pr635, dep, work = [getattr(args, name).resolve() + for name in ('main', 'pr635', 'dependency', 'work')] + need(not work.exists(), 'Use a new output directory') + need(not any(work.is_relative_to(root) for root in (PACKAGE, main, pr635, dep)), + 'Output must be outside all input packages') + own_manifest = read(PACKAGE / 'MANIFEST.json') + actual = {p.relative_to(PACKAGE).as_posix(): sha(p) for p in PACKAGE.rglob('*') + if p.is_file() and p != PACKAGE / 'MANIFEST.json' and '__pycache__' not in p.parts} + need(actual == own_manifest, 'Exact submitted package manifest') + sources = read(PACKAGE / 'SOURCES.json') + need(sha(dep / 'MANIFEST.json') == sources['pr699_manifest_sha256'], 'PR699 dependency manifest pin') + for name, key in (('PLAN.json', 'pr699_plan_sha256'), ('OWNERS.json.gz', 'pr699_owners_sha256')): + need(sha(dep / 'data' / name) == sources[key], 'PR699 source pin: ' + name) + need(sha(PACKAGE / 'data/OWNERS.json.gz') == sources['pr699_owners_sha256'], 'Unchanged literal PR699 owners') + input_word = PACKAGE / 'inputs/PR699-WORD.json.gz' + need(content_sha(input_word) == sources['input_word_content_sha256'], 'Pinned raw PR699 input word') + need(sha(PACKAGE / 'exact_intervals.py') == sources['exact_intervals_sha256'], 'Independent interval helper pin') + recipe = read(PACKAGE / 'construction/FRAME-RAISES.json') + need(recipe['input_sha256'] == sources['input_word_content_sha256'], 'Recipe/source input binding') + plan, spec = read(PACKAGE / 'data/PLAN.json'), read(PACKAGE / 'data/SPEC.json') + for key in ('order', 'windows', 'pairs', 'sides'): + need(plan[key] == read(dep / 'data/PLAN.json')[key], 'Inherited physical geometry: ' + key) + need(set(spec['providers']) == {'gauge44'}, 'Single unchanged-width supplier dispatch') + work.mkdir(parents=True) + started = time.monotonic() + stages = [] + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', PYTHONINTMAXSTRDIGITS='0') + for key in ('PYTHONOPTIMIZE', 'WITNESS_SPEC', 'WITNESS_DISCOVER', 'WITNESS_RECORD'): + env.pop(key, None) + + def run(name, script, *arguments): + start = time.monotonic() + log = work / (name + '.log') + print('RUN', name, flush=True) + with log.open('w') as stream: + result = subprocess.run([sys.executable, '-B', str(script), *map(str, arguments)], + env=env, stdout=stream, stderr=subprocess.STDOUT) + stages.append(dict(name=name, exit_code=result.returncode, + seconds=round(time.monotonic() - start, 3), log_sha256=sha(log))) + dump(work / 'STAGES.json', stages) + if result.returncode: + raise RuntimeError(name + ' failed:\n' + log.read_text()[-8000:]) + print('PASS', name, flush=True) + + run('dependency-manifest', dep / 'verify_manifest.py') + native = work / 'native' + run('fresh-native-and-controls', PACKAGE / 'construction/reproduce_native.py', + '--main', main, '--pr635', pr635, '--dependency699', dep, '--out', native, + '--input', input_word) + native_stages = read(native / 'STEPS.json') + required_native = ['dependency-manifest', 'frame-construction', 'independent-audit', + 'native', 'ledgers', 'local-replay', 'wrappers', 'frame-controls', + 'layer-end-controls', 'phases'] + need([s['step'] for s in native_stages] == required_native + and all(s['exit_code'] == 0 for s in native_stages), 'Complete fresh native stage sequence') + word, local = native / 'word/FULL-WORD.json.gz', native / 'local' + need(content_sha(word) == recipe['output_sha256'], 'Constructed raw word payload') + need(read(native / 'NATIVE-PINS.json') == read(PACKAGE / 'construction/LOCAL-PINS.json'), 'Frozen native semantic pins') + raw_audit = read(native / 'INDEPENDENT-AUDIT.json') + need(raw_audit['status'] == 'PASS_INDEPENDENT_EXACT_FORWARD_AND_DUAL_ENDPOINT_FRAMES_ENTRANCES_CONES' + and raw_audit['checked_columns'] == 728 and raw_audit['content_sha256'] == recipe['output_sha256'], + 'Independent complete-column raw audit') + need(raw_audit['local_profile'] == recipe['profile'], 'Independent native paid profile') + local_audit = read(local / 'INDEPENDENT-LOCAL-REPLAY.json') + need(local_audit['status'] == 'PASS_INDEPENDENT_LOCAL_SCALAR_FRAME_AND_WRAPPER_REPLAY', 'Native scalar/frame replay') + need(len(local_audit['negative_controls_rejected']) == spec['providers']['gauge44']['native_negative_controls'], + 'Complete independent native negative controls') + for orientation in ('forward', 'backward'): + record = local_audit['local'][orientation] + need(record['all_exact_columns'] == 728 and record['private_work_erased'], 'All native columns/private restoration') + need(local_audit['paid_profiles'][orientation] == recipe['profile'], 'Native orientation profile') + need(read(local / 'WRAPPER-CHECKS.json')['status'] == 'PASS_RESIDUAL_WRAPPERS_ARE_EXACT', 'Exact normalized residual wrappers') + phases = read(local / 'CLIFFORD-REVIEW.json') + need(phases['status'] == 'PASS_NEW_WORD_EXACT_LOCAL_PHASE_RECIPES' + and phases['all_child_equalities_include_global_phase'] is True + and phases['directed_edges'] == spec['providers']['gauge44']['phase_edges'], 'All exact native phase edges') + frame_controls = read(native / 'FRAME-CONTROLS.json') + need(frame_controls['status'] == 'PASS_FRAME_RETIMING_35_NEGATIVE_CONTROLS' + and frame_controls['honest'] == 'PASS' + and len(frame_controls['rejected']) == 4 * len(recipe['changes']) + 3, 'Complete targeted frame controls') + end_controls = read(native / 'controls/COLD-END-CONTROLS.json') + need(end_controls['status'] == 'PASS_COLD_END_RAW_WORD_CONTROLS' + and len(end_controls['rejected']) == 95, 'All inherited cold-end controls') + run('independent-pointset-frames', PACKAGE / 'independent_frames.py', '--before', input_word, + '--after', word, '--out', work / 'INDEPENDENT-FRAMES.json') + frame_audit = read(work / 'INDEPENDENT-FRAMES.json') + need(frame_audit['status'] == 'PASS_EXPLICIT_512_POINT_FRAME_RECOUNT' + and frame_audit['local_profile'] == recipe['profile'] + and frame_audit['helper_footprints_unchanged'] and frame_audit['scalar_gates_unchanged'], + 'Independent point-set frame obligations') + need(len(frame_audit['negative_controls']) == 12 + and all(c['rejected'] for c in frame_audit['negative_controls']), 'Independent frame mutations') + global_run = work / 'global-replay' + run('strict-global-admission', PACKAGE / 'verify_global.py', '--main', main, '--dependency', dep, + '--plan', PACKAGE / 'data/PLAN.json', '--owners', PACKAGE / 'data/OWNERS.json.gz', + '--spec', PACKAGE / 'data/SPEC.json', '--provider', 'gauge44=' + str(local), '--work', global_run) + run('independent-owners-and-moments', PACKAGE / 'audit_owners.py', '--dependency', dep, + '--plan', PACKAGE / 'data/PLAN.json', '--owners', PACKAGE / 'data/OWNERS.json.gz', + '--spec', PACKAGE / 'data/SPEC.json', '--provider', 'gauge44=' + str(local), + '--output', work / 'INDEPENDENT-OWNERS.json') + run('independent-two-engine-outer47', dep / 'independent/price_profile.py', '--main', main, + '--profile', PACKAGE / 'data/PLAN.json', '--output', work / 'INDEPENDENT-PRICE.json') + assembly = read(global_run / 'ASSEMBLY.json') + owner_audit = read(work / 'INDEPENDENT-OWNERS.json') + price = read(work / 'INDEPENDENT-PRICE.json') + kappa = spec['expected']['kappa'] + need(kappa == assembly['kappa'] == owner_audit['kappa'] + == price['prices']['native']['outer_with_bit']['kappa'], 'All exact kappa witnesses agree') + need(Fraction(kappa) > Fraction(read(dep / 'data/SPEC.json')['expected']['kappa']), 'Strict improvement over PR699') + need(assembly['complex_profile'] == spec['expected']['global_profile'], 'Frozen final global profile') + need(len(owner_audit['negative_controls']) == 7 and owner_audit['roles'] == 36288, 'Independent full owner census and controls') + for mode in ('native', 'conservative'): + need(price['prices'][mode]['outer_with_bit']['strict_constraints_passed'] == 47, 'All outer constraints') + admission = read(global_run / 'ADMISSION-CONTROLS.json') + need(len(admission['rejected_controls']) == spec['expected']['assembly_controls_rejected'] + and not admission['discovery_accepted_controls'], 'Strict admission mutation census') + need(len(read(global_run / 'BIT-SUPPLIER-CONTROLS.json')['rejected_controls']) == 12, 'Cited bit-supplier controls') + result = dict(status='PASS_PINNED_INPUT_FRAME_RETIMING_COMPLETE_REPLAY', + kappa=kappa, kappa_decimal=assembly['kappa_decimal'], complex_lower=assembly['complex_lower'], + bit_lower=assembly['bit_lower'], global_profile=assembly['complex_profile'], + seconds=round(time.monotonic() - started, 3), stages=stages, + package_manifest_sha256=sha(PACKAGE / 'MANIFEST.json'), + source_pins=sources, native_pins=read(native / 'NATIVE-PINS.json'), + controls=dict(frame=len(frame_controls['rejected']), cold_end=95, independent_frames=12, + native=len(local_audit['negative_controls_rejected']), owner=7, + admission=len(admission['rejected_controls']), bit_supplier=12), + scope='Fresh incremental replay from the pinned PR699 raw word: frame construction, both complete native orientations, exact wrappers/phases, physical controller and full coefficient invoice, independent owners, rational moments and 47 outer inequalities. The PR699 ancestral construction and cited PR589 bit circuit are inherited, not rebuilt by this command. All-size/compiler, hosting, precision/tape and analytic-transfer assumptions remain conditional. This corroborates concurrent PR741; no mathematical priority claim.') + dump(work / 'RESULT.json', result) + retained = ['RESULT.json', 'STAGES.json', 'INDEPENDENT-FRAMES.json', 'INDEPENDENT-OWNERS.json', 'INDEPENDENT-PRICE.json', + 'native/STEPS.json', 'native/NATIVE-PINS.json', 'native/INDEPENDENT-AUDIT.json', + 'native/FRAME-CONTROLS.json', 'native/controls/COLD-END-CONTROLS.json', + 'native/word/FULL-WORD.json.gz', 'native/word/FRAME-CHECKS.json', + 'global-replay/ASSEMBLY.json', 'global-replay/REPLAY.json', 'global-replay/STAGES.json', + 'global-replay/ADMISSION-CONTROLS.json', 'global-replay/BIT-SUPPLIER-CONTROLS.json'] + retained += ['native/local/' + p.name for p in local.iterdir() if p.is_file()] + dump(work / 'RECEIPT.json', dict(status=result['status'], kappa=kappa, + artifacts={name: sha(work / name) for name in retained}, + package_manifest_sha256=result['package_manifest_sha256'])) + print(result['status'], result['kappa_decimal'], flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/pr699-frame-retiming/verify_global.py b/research/pr699-frame-retiming/verify_global.py new file mode 100644 index 0000000000..3a54f7cf0e --- /dev/null +++ b/research/pr699-frame-retiming/verify_global.py @@ -0,0 +1,141 @@ +"""Run the unchanged PR676 global admission on explicit provider directories. + +Adapted from gauge44-promo-p6/verify_global.py. Its exact controller, invoice, +assembly and mutation checks remain in the pinned dependency package. +Prepared for tekuuu with substantial OpenAI Codex assistance; Apache-2.0. +""" +import argparse +from collections import Counter +import hashlib +import json +import os +from pathlib import Path +import subprocess +import sys +import time + + +def need(condition, message): + if not condition: + raise ValueError(message) + + +def sha(path): + return hashlib.sha256(Path(path).read_bytes()).hexdigest() + + +def read(path): + return json.loads(Path(path).read_text()) + + +def dump(path, value): + Path(path).write_text(json.dumps(value, indent=2) + '\n') + + +def main(): + ap = argparse.ArgumentParser(description=__doc__) + for name in ('main', 'dependency', 'plan', 'owners', 'spec', 'work'): + ap.add_argument('--' + name, type=Path, required=True) + ap.add_argument('--provider', action='append', required=True, metavar='PID=DIR') + ap.add_argument('--discover', action='store_true', + help='Recompute candidate expectations; a separate strict replay is required') + args = ap.parse_args() + need(__debug__, 'Assertions required in inherited checks') + root, dep, plan, owners, spec, work = [getattr(args, name).resolve() + for name in ('main', 'dependency', 'plan', 'owners', 'spec', 'work')] + need(not work.exists(), 'Output directory must be new') + providers = {} + for item in args.provider: + pid, separator, directory = item.partition('=') + need(separator and pid and pid not in providers, 'Unique PID=DIR provider arguments required') + providers[pid] = Path(directory).resolve() + need(providers[pid].is_dir(), 'Missing provider directory: ' + directory) + witness = read(spec) + counts = Counter(p for _, _, p in witness['dispatch']) + need(set(providers) == set(counts), 'Provider arguments differ from spec dispatch') + need(len(witness['dispatch']) == 72 and sum(counts.values()) == 72, '72 dispatch rows required') + source = root / 'research/complex-k492-owner-repair/vendor/multicold' + baseline = root / 'research/community-k492-audit/pr622/replay/baseline558' + vendor = source / 'vendor/pr558/vendor/pr552/complex-global/vendor531' + pins = dep / 'data/UPSTREAM-PINS.json' + for relative, expected in read(pins).items(): + need(sha(root / relative) == expected, 'Upstream dependency changed: ' + relative) + # Check the dependency's own submitted inventory before invoking any code. + subprocess.run([sys.executable, '-B', str(dep / 'verify_manifest.py')], check=True) + work.mkdir(parents=True) + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', + PYTHONINTMAXSTRDIGITS='0', MULTICOLD_SOURCE=str(source), + GAIN_PR564_SOURCE=str(source), WITNESS_SPEC=str(spec)) + for key in ('PYTHONOPTIMIZE', 'WITNESS_DISCOVER', 'WITNESS_RECORD'): + env.pop(key, None) + if args.discover: + env.update(WITNESS_DISCOVER='1', WITNESS_RECORD=str(work / 'WITNESS-RECORD.jsonl')) + stages = [] + + def run(name, script, *arguments, record=True): + started = time.monotonic() + log = work / (name + '.log') + stage_env = env.copy() + if not record: + # Mutated admission receipts must never contaminate frozen expectations. + stage_env.pop('WITNESS_RECORD', None) + with log.open('w') as stream: + result = subprocess.run([sys.executable, '-B', str(source / 'code/run_portable.py'), + str(script), *map(str, arguments)], env=stage_env, + stdout=stream, stderr=subprocess.STDOUT) + stages.append(dict(name=name, seconds=round(time.monotonic() - started, 3), + exit_code=result.returncode, log_sha256=sha(log))) + dump(work / 'STAGES.json', stages) + if result.returncode: + raise RuntimeError(name + ' failed:\n' + log.read_text()[-7000:]) + print('PASS', name, stages[-1]['seconds'], flush=True) + + code = dep / 'code' + global_dir = work / 'global' + run('restore-parent', code / 'restore_parent.py', '--source', source, + '--baseline', baseline, '--out', work / 'parent558') + provider_args = [value for pid, path in sorted(providers.items()) + for value in ('--provider', pid + '=' + str(path))] + run('bind', code / 'bind_providers_portable.py', '--baseline', work / 'parent558', + *provider_args, '--plan', plan, '--out', global_dir) + run('emit', code / 'emit_allcold.py', '--base', global_dir / 'base', + '--owners', owners, '--plan', global_dir / 'PLAN.json', '--out', global_dir / 'hosted') + run('audit', code / 'audit_allcold.py', global_dir / 'base', global_dir / 'hosted', + global_dir / 'audit/ASYNC-AUDIT.json', '--mutation-controls') + run('invoice', code / 'invoice_allcold.py', '--base', global_dir / 'base', + '--hosted', global_dir / 'hosted', '--audit', global_dir / 'audit', '--out', global_dir / 'audit', + '--retained-invoice', vendor / 'evidence/audit/PREFIX-AND-INVOICE.json') + run('assembly', code / 'assemble.py', source, global_dir, work / 'ASSEMBLY.json') + # Discovery also enumerates every admission control. Its accepted spec-only + # mutations are recorded, and strict mode must reject the entire set. + run('admission-controls', code / 'assembly_controls.py', '--source-package', source, + '--owner', global_dir / 'audit/OWNERS-AND-PROFILE.json', + '--invoice', global_dir / 'audit/PREFIX-AND-INVOICE.json', + '--out', work / 'ADMISSION-CONTROLS.json', record=False) + admission = read(work / 'ADMISSION-CONTROLS.json') + if not args.discover: + need(not admission['discovery_accepted_controls'], 'Strict admission accepted a mutation') + run('bit-supplier-controls', code / 'bit_supplier_controls.py', '--source-package', source, + '--owner', global_dir / 'audit/OWNERS-AND-PROFILE.json', + '--invoice', global_dir / 'audit/PREFIX-AND-INVOICE.json', + '--out', work / 'BIT-SUPPLIER-CONTROLS.json', record=False) + bit = read(work / 'BIT-SUPPLIER-CONTROLS.json') + need(bit['status'] == 'PASS_PR589_BIT_SUPPLIER_DERIVED_DEFICIT_NEGATIVE_CONTROLS' + and len(bit['rejected_controls']) == 12 and bit['derived_deficit'] == 10272, + 'Incomplete inherited bit-supplier controls') + result = read(work / 'ASSEMBLY.json') + need(result['provider_counts'] == counts, 'Assembly dispatch changed') + dump(work / 'REPLAY.json', dict( + status='PASS_FRAME_RETIMING_DISCOVERY' if args.discover else 'PASS_FRAME_RETIMING_STRICT_GLOBAL_REPLAY', + kappa=result['kappa'], kappa_decimal=result['kappa_decimal'], + complex_lower=result['complex_lower'], bit_lower=result['bit_lower'], + bit_supplier=result['bit_supplier'], provider_counts=dict(counts), + gain_over_pr635_percent=result['gain_over_pr635_percent'], stages=stages, + dependency_manifest_sha256=sha(dep / 'MANIFEST.json'), + spec_sha256=sha(spec), plan_sha256=sha(plan), owners_sha256=sha(owners), + scope=result['scope'])) + print(result['status'], result['kappa_decimal'], flush=True) + + +if __name__ == '__main__': + main() From eca5c317d8176401a1f71a5ea1e81384c2eab1e0 Mon Sep 17 00:00:00 2001 From: Tekalign <152792726+tekuuu@users.noreply.github.com> Date: Tue, 13 Oct 2026 08:27:55 +0300 Subject: [PATCH 2/2] Record completed verification and PR handoff --- research/pr699-frame-retiming-validation/CLAIM.json | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/research/pr699-frame-retiming-validation/CLAIM.json b/research/pr699-frame-retiming-validation/CLAIM.json index aabe3018c5..17dfbeea6a 100644 --- a/research/pr699-frame-retiming-validation/CLAIM.json +++ b/research/pr699-frame-retiming-validation/CLAIM.json @@ -25,5 +25,13 @@ "comparison": "Same input/output word hashes and conditional kappa. No priority claim. This submission adds an independent finite-point-set checker and fresh replay." }, "expected_finish_utc": "2026-10-13T05:30:00Z", - "status": "verification in progress" + "status": "completed: independently constructed and verified conditional improvement over PR699; identical concurrent PR741 credited", + "result": { + "kappa": "1661202643272239/1000000000000000000", + "kappa_decimal": "0.001661202643272239", + "replay_status": "PASS_PINNED_INPUT_FRAME_RETIMING_COMPLETE_REPLAY", + "pr": "https://github.com/CrocSwap/integer-mult-bounds/pull/777", + "source_commit": "cc95d5e", + "completed_utc": "2026-10-13T05:27:55.244208+00:00" + } }