diff --git a/research/staged544-t385/.gitattributes b/research/staged544-t385/.gitattributes new file mode 100644 index 0000000000..b244bed7cc --- /dev/null +++ b/research/staged544-t385/.gitattributes @@ -0,0 +1,2 @@ +# Preserve exact authenticated evidence bytes, including retained CRLF sources. +* -text diff --git a/research/staged544-t385/PINS.json b/research/staged544-t385/PINS.json new file mode 100644 index 0000000000..585687fca4 --- /dev/null +++ b/research/staged544-t385/PINS.json @@ -0,0 +1,55 @@ +{ + ".gitattributes": "b3bc74676aab13a0d3b25a5783c99ca1b9cc5f35a8c8fa001fe87f49e621b464", + "PROOF.md": "52a2ab6ed6c61fcf03d257ae9e2aaefa90457ebc5511cdabc00d3b85b1ec8d45", + "README.md": "fa81def72fa3c4f45f9a1df8e626019fb5fdb8000131f9ba14f82f1ccedeb8c9", + "SOURCES.json": "6bfa992ab32f0bdfbd33d389262b86becccafa318370c72f8d4b78a9b2a5ef54", + "TASK.json": "96adaf7dc12df955a5391de5c24efd750cc9c333e6106f38bb2ff1ecafea66a2", + "VALIDATION.json": "80e21eeb7a061f00312fef7d5eb479e8bdb4679ccb9743ed3bd3b74f3e5c220d", + "VERIFY.json": "89060a493b3155b3717d18e0aab8151052711d7b4b7cb0eafed70a2f8301edce", + "admit_t385.py": "b208716e011b456e4344b6104f7dd43abbb57b9e1b9c273c4449e6e43d96cf8a", + "check_aggregate.py": "57ec76c86e17eb3815c7dd42bdc5e20ec63394668fc5d90627fca6c0d26eb96c", + "clock-source/CANDIDATE.json": "fbdda845beac5bba9baa4b1b8c8f596e98f70b59e1d60ebf4f4d3e8758631bfd", + "evidence/ENVIRONMENT.json": "1153679a090bf91222101c303d8e1ba27b0cbb5fa0d6c3fc77ae5d2e22235880", + "evidence/EQUAL-REPLICA-DELTA.json": "1d11570176a850a1cfd041d8c70129109be1026d85e6454ce8f92421bf052453", + "evidence/FRONTIER-COMPARISON.json": "8c18b60c9974a6f644ec5db8b3af8d216e6ca5d92b370c9f60a99b3622ee7bd7", + "evidence/PACKAGE-MANIFEST.json": "38ca5496382d088ff777015b797eb163f7e428763a4b661c798cd39d48030640", + "evidence/PORTABLE-REPRODUCTION.json": "6b7de52086ce566c4af8eefc06e7e4282b736515190aab1e6197569622414c59", + "evidence/PR3795-RELEASE.json": "48966ac00e3de60f3488e273ef72e020edf9a17150936228cb7c1762bdcc6c6d", + "evidence/PRICE.json": "fb7a2903d137a17828f9468904df73b06f16e3dcf8d57425f7fcee04cde89a4f", + "evidence/RELEASE-RECEIPT.json": "0cc595e71786f8a8b9e5944e8da1bdcd7a6c53db2b9ec12020fefa85ede3d9c7", + "evidence/RELEASE.json": "50d333ed3cea40c80d7e6086c57bccc8be54f8caaf104af8f8102b953c99467c", + "full_replay.py": "87b3f3c55b695551ae2661efbb9d0a8a2e9283e9ed9130215444fbbc8401aecf", + "inputs/AGGREGATE.json.gz": "b878121ca15d229d5c64e8d9639af9dacbb239a80813a1663a5fac7e8499c4e7", + "inputs/CLOCK77.json": "f1cfca6333d3165913f0380b8d3ea16401749d8ee177cf126ccf0a47922ba1b9", + "inputs/DISPATCH.json": "df0b91fbafad903b532af1396f4c4615a14bca1a0b1bc73a5b8e433fd93feab7", + "inputs/FILL.json.gz": "70c5ba97085c1f0a7acb44dda571c2e07c3f17e659396b70b7b433876db28edc", + "inputs/ORDER.json": "8e800fa77c58788d3656323ea01519bbba1945ace7fbe18551a370786d9fab8f", + "inputs/PROFILE.json": "1375994cc9fbfac3604960a78e82fe6ed9db2581e5ac30175543aa56441a72f4", + "integral_network.py": "97cce7cdaeea2c415b7959d3bdbf34d272e3b541f6e7dc9b87c134a2c2620740", + "outer-replay/CLAIM.json": "36414906085c1ff17a022f04f7a730f5e1e24696155b736c7fc8a0cd0b881cba", + "outer-replay/new/SPEC.json": "f352bbda6728390d82b25dcd8cdee4fb0bdff7b6109828def5aca4243f66acf6", + "outer-replay/outer/B.json": "4ddaaa34de1093fb4ce6fe9a5988e84fdf411338e41777a06697b5049233480d", + "outer-replay/outer/INDEPENDENT.json": "639d5cdd1ad11190a6198809aa3c5b00245d905dabf6d7671ccbf1a587202276", + "outer-replay/outer/LEDGER.json": "40a54bbbf43ca7a0d52215e6a1fe4c14d16b08a90c96627278ecc568f4d15d81", + "outer-replay/outer/check_ledger.py": "1dd56009986eb14dd6603c9193c7ad71dd45c7d005bf71c9cd3f916e66f54d98", + "outer-replay/outer/independent_check.py": "a5a0361539ec7cae9eb6c0371f857919335a1720040f22af291aa3e34fc864c7", + "owner_check.py": "681f421e52b110b88e81d229503476ddaa1cdfe1e8293106be1ca66690acf6ac", + "rational_price.py": "ee38ccbc94411b2c9c7ab88b1f6d1b34debdafa896bd5f4b7214f20168f90dab", + "replay_outer.py": "8d9ddbd6a5b54afc61b97512aec50c06bf42c3528af721ed5bb53a4239cb68b0", + "reproduce_t385.py": "a45f8f49fd3216bf48e12b5ac78dbb4733fe1870504eb687e20ef6096dda1724", + "source3734/CLAIM.json": "c0d8d1ae7f302ae00feade55470d524401fc464b392bf1bc931cdb7a421e23b4", + "source3734/DISPATCH.json": "5d6fa711d704a1b498e5fe066ea821c4fa0217463702e82a7ce5be9da4023e8a", + "source3734/NATIVE-EVIDENCE-base.json": "d12ca528547af356176837b83e0de08a33fe5e59cc851238f321388dfbd81383", + "source3734/NATIVE-EVIDENCE-extra.json": "dd3c7d52685a056415c7a5d0582cf83b4b1248b7e06913c288efd5b05725eeb6", + "source3734/NATIVE-base.json.gz": "bfe0cc0badac6c6d18461ceea0b299162c0f280c05f81b63f11fcc06cf9180e6", + "source3734/NATIVE-extra.json.gz": "c5eec94a64cecfd6b83de05619628ad4868e889d62a55b49973f09705cc60448", + "source3734/ORDER.json": "a2f308937e66c354a1c612556a8ad34c45bf685401238f5358a7bb9d65965ed4", + "source3734/PLAN.json.gz": "d566cfb87b71639d4138e1f89b543e2dd6a7772070226a2a14c799a6835bf21e", + "source3734/PRICE.json": "eb89e98609f7c6b3c4281feededbde11b30ae56696b2756a88b318447d1c92ca", + "source3734/REPLAY-INPUTS.json": "727691274be6f91059c763dfa8206f7bca4516c5acf4703da403789a49b5e1e7", + "source3734/REPLAY-INPUTS.tar.gz": "e74d545c18f77b7a9b8f0cc3d4901a87bb686888edaf3e41b30e5b2748751041", + "source3734/SOURCE-CREDITS.md": "d4a13d8b8ed9cdb594f00efb3d1a336e09d934423330f02a1514308a720c278b", + "source3734/TEMPLATE.json.gz": "21297b20f1f2dc76eb9dd8124416068c3cb096bab9df17fa4da19bc68dfe082e", + "source3734/owner_audit.py": "56405eacc7c2dd0f7834ed5d62a4db8303c71657300eb4e4bbe020319552cde1", + "verify.py": "52916b8845766dfe3620d69b67859a4b016acb418dbdb57353a827e2ff4fb672" +} diff --git a/research/staged544-t385/PROOF.md b/research/staged544-t385/PROOF.md new file mode 100644 index 0000000000..999db8a7b6 --- /dev/null +++ b/research/staged544-t385/PROOF.md @@ -0,0 +1,13 @@ +# A complete literal realization of the fixed-inventory profile + +The native supplier is unchanged PR3734 head fa041037a3374eaa08feeca0b26a5d6893194147. Both providers retain local profile {1:2440,2:725,3:224,4:102,5:20,8:8} and inventory {4:26,5:2,6:18,7:53,8:96,9:213}. All 91 arbitrary cleanup buffers remain charged. + +CLOCK77.json concatenates the retained 61-replica T37/T8/T16 order and dispatch with another retained T16 order, shifting its replica identifiers by 61. Native source windows are rederived from the actual PR3734 template. Five interleaved copies yield T=385. Exact integer equations enforce every bin count, width supply, call demand and group/time degree. The literal allocation additionally checks every copy network, strict-lower/closed-upper window, shared physical-family uniqueness, compact prefix and capacity, and every leftover rank. + +The complete paid profile is {1:8544690,2:2512125,3:801108,4:353430,5:73920,8:27720,48:147532}. Its rank mass is 65088*T. Physical stock is 896*T+408+8+91+2=345469. Exact rational root signs enclose the positive root in [0.001730578437266246818740,0.001730578437266246818741]. The released conditional endpoint subtracts 10^-46 and 10^-70 from the lower endpoint. The complete original source-bound admission and outer release passed. + +Independent literal owner replay passes all 1,413,720 roles and its three rejection controls. Solver-free reproduction yields exact ORDER, DISPATCH and PROFILE equality and all 30,983,204 decompressed FILL bytes equal, SHA256 a30e4de0b9ba906807ead5caecc27a9ade149db7aa63546b6556d394024cc03a. These finite checks and the complete original conditional admission passed. Unchanged native providers and retained ancestry were explicitly reused through source-bound receipts. + +The realized normalized profile equals the prior chronology-free fixed-inventory estimate. This equality alone is not a global optimality argument. Any optional fixed-inventory dual certificate has only the unchanged native inventory and template-capacity scope; it cannot exclude improvements to operators, helper inventory, recursive interfaces or the broader construction. + +Credit: dataisfire’s PR3734 helper544 returning-producer supplier; retained T488 T37/T8/T16 chronology; PR3638 exact integral networks; PR3682/3605 staged and cleanup lineage; all native, owner, analytic and BIT authors in source3734/SOURCE-CREDITS.md. New finite packing and proof adaptation: hexapode with Codex assistance. Retained code is reused under Apache-2.0; this is not a new independent third-party review. diff --git a/research/staged544-t385/README.md b/research/staged544-t385/README.md new file mode 100644 index 0000000000..5447af7f62 --- /dev/null +++ b/research/staged544-t385/README.md @@ -0,0 +1,20 @@ +# PR3734 supplier on a T385 clock + +Complete conditional allocation improvement over PR3734 and the subsequently published PR3795. Exact aggregate, independent literal owners, full solver-free reconstruction, and complete original source-bound admission pass. The selected repository result is unchanged. + +The unchanged PR3734 native supplier uses a 77-replica clock formed by the preserved T37, T8, T16 and another T16 source order, lifted to five interleaved copies. It has 3,465 native calls, 1,413,720 helper roles and 345,469 physical families. Its complete finite profile root lies in [0.001730578437266246818740,0.001730578437266246818741]. The released conditional endpoint subtracts 10^-46 and 10^-70 from the lower endpoint. Native providers and retained ancestry were reused through source-bound receipts. + +```sh +python3 check_aggregate.py --certificate inputs/AGGREGATE.json.gz +python3 reproduce_t385.py --source source3734 --clock inputs/CLOCK77.json --certificate inputs/AGGREGATE.json.gz --network integral_network.py --out /tmp/t385-reproduced +``` + +Adding `--bounded 8` checks only eight selected copy networks; it is not complete reproduction. Full reproduction checks every literal role, source window, shared physical-family uniqueness, prefix capacity and idle remainder. The package contains the fixed integer witness and proof replay, not the private optimization and research tools. + +Native supplier words and inherited conditional uniform/all-size, hosting, precision/tape/recovery, analytic, recurrence and BIT assumptions remain unchanged. No unconditional theorem or global architectural optimum is claimed. + +## Open next questions + +Can coupled helper changes improve the paid profile? First charge all changed internal and external edges and helper widths; the current packing model does not cover a changed operator. Can the inherited all-size and precision/recovery assumptions be discharged? Begin with one pinned premise; this finite construction does not resolve those theorem-level obligations. + +The exact endpoint also improves on PR3795 at `fcffda7c6c68bcf6e417175c5aaab747341da90b` by `0.000000065515946789182046`; its committed complete release and rational comparison are retained under `evidence/`. Full admission is source-bound to PR3734; the additional comparison does not alter that supplier. diff --git a/research/staged544-t385/SOURCES.json b/research/staged544-t385/SOURCES.json new file mode 100644 index 0000000000..58ed39380f --- /dev/null +++ b/research/staged544-t385/SOURCES.json @@ -0,0 +1,39 @@ +{ + "base_commit": "20ecf2891d80b5acf18d980b2164fb44ea7faa90", + "files": [ + { + "git_blob": "67f085acd86acd7d4e03922d9cf4b26bca66fed5", + "path": "docs/research/agent-task-catalog.json", + "sha256": "47b42433f5a85809a3aadd29c2c339da2c6ed728e4f7762df6b88bccb7874cf0", + "usage": "provenance" + }, + { + "git_blob": "b1fea0c94436b236cc2b7d41a7be032811b94c81", + "path": "certificates/selected-result.json", + "sha256": "bb2eaa58647b353f88d0aec2eafb9d30df1be53589231b23e12ceef3e4bad129", + "usage": "provenance" + }, + { + "git_blob": "261eeb9e9f8b2b4b0d119366dda99c6fd7d35c64", + "path": "LICENSE", + "sha256": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "usage": "input" + } + ], + "schema_version": 1, + "source_export": { + "description": "Exact unchanged PR3734 supplier, native cache and retained ancestry; used for complete changed-allocation admission. Literal T385 allocation is new.", + "upstream_head": "fa041037a3374eaa08feeca0b26a5d6893194147", + "path": "source3734/REPLAY-INPUTS.tar.gz", + "manifest": "source3734/REPLAY-INPUTS.json" + }, + "clock_source": { + "upstream_pr": 3653, + "upstream_head": "607a09ff441c79b215a8127a81f4cc70021d0d9b", + "upstream_path": "research/retimed-t488-composition/owners/upstream/CANDIDATE.json", + "sha256": "fbdda845beac5bba9baa4b1b8c8f596e98f70b59e1d60ebf4f4d3e8758631bfd", + "retained_clock": "inputs/CLOCK77.json", + "credit": "Retained T37/T8/T16 macroclock from PR3633 and successors, concatenated with a second retained T16 order. PR3734 supplier windows and inventory freshly recomputed.", + "vendored_path": "clock-source/CANDIDATE.json" + } +} diff --git a/research/staged544-t385/TASK.json b/research/staged544-t385/TASK.json new file mode 100644 index 0000000000..6a7744cb41 --- /dev/null +++ b/research/staged544-t385/TASK.json @@ -0,0 +1,72 @@ +{ + "schema_version": 1, + "base_commit": "20ecf2891d80b5acf18d980b2164fb44ea7faa90", + "priority_revision": 6, + "task_id": "independent-moment", + "original_card": { + "acceptance_gate": "Demonstrate independence, source binding, positive cases and semantic failure controls. Name the existing checks and the missing coverage. More digits or another equivalent evaluation of an unchanged root is not by itself new verification coverage.", + "allowed_variations": [ + "Reconstruct either a source ledger or a numeric enclosure with a different method." + ], + "bottleneck_link": "Independent pricing prevents unsupported frontier claims and can reveal genuine accounting slack.", + "first_experiment": "Prioritize a bounded independent audit of #2979: reconstruct one joint group and its single-lowering control, check the declared frames/chronology, then trace changed children, idle widths and cleanup buffers into the complete invoice and both supplier caps. Choose one still-missing implication after checking existing audits. Stop with exact unresolved dependencies if full admission exceeds the session; do not launch a new lowering census on an unvalidated premise or substitute extra root digits for mechanism checking.", + "first_step": { + "command": [ + "python3", + "-B", + "scripts/research_baseline.py" + ], + "expected": "PASS_RESEARCH_BASELINE_BINDINGS_ONLY", + "inspect": "Read #2979 joint rank-7 end-frame proposal and the revision-6 evidence status. Its claimed kappa is not selected. Compare coordinated changes with the losing single-change controls and locate the complete physical ledger; an aggregate moment alone does not validate the mechanism.", + "scope": "Positive control / source-bound orientation only; this is not a new construction or full cold replay." + }, + "id": "independent-moment", + "methods": [ + "Independently reconstruct a coordinated frame/circuit change and its single-change control, then derive the complete rank and physical ledger.", + "Implement certified moment inequalities through a different exact enclosure method." + ], + "overlap_terms": [ + "independent moment", + "rank histogram", + "exact enclosure", + "2979", + "rank7 joint endframes", + "paired extraction", + "joint lowering" + ], + "question": "Does one changed supplier or assembly claim lack a source-bound independent check of a specific new implication?", + "scope_change_triggers": [ + "Importing the primary function and calling its output independent verification.", + "Promoting #2979 from merged source archive to validated supplier solely from author PASS receipts or aggregate pricing." + ], + "starting_points": [ + "certificates/selected-result.json", + "research/rank7-joint-endframes/README.md", + "docs/research/research-family-status.md" + ] + }, + "author": "hexapode with substantial OpenAI Codex assistance", + "actual_scope": "Combine the retained T37/T8/T16 order with another T16 block and unchanged PR3734 supplier, yielding T385, with full physical and conditional release checks.", + "scope_status": "changed", + "scope_change_reason": "Explicit user assignment to improve the strongest supported kappa and combine prior allocation methods with the latest construction.", + "bottleneck_link": "PR3734 open question: actual chronological packing leaves improvement below the fixed-inventory ideal.", + "budget_minutes": 60, + "outcome": "completed", + "evidence": "Exact integer certificate, full solver-free reconstruction, independent1,413,720-role owner replay, exact root bracket, both outer ledgers and complete original conditional admission pass. Native providers and ancestry reused with exact source bindings. No no-reuse cold run or unconditional theorem claimed.", + "open_questions": [ + { + "question": "Can coupled helper changes or a different recursive interface improve the paid profile further?", + "first_step": "Charge every changed internal and external edge and helper width before attempting a complete realization.", + "blocked_by": "The fixed-source packing model does not cover changed operators or recursive interfaces.", + "why_it_matters": "This candidate realizes the prior fixed-inventory ideal profile; structural changes can alter that profile." + }, + { + "blocked_by": "Inherited theorem-level obligations remain outside this finite release.", + "first_step": "Audit one precise inherited realization or precision/recovery premise on these frozen words.", + "question": "Can inherited all-size and compiler hypotheses be discharged?", + "why_it_matters": "This remains a conditional finite construction." + } + ], + "stop_rule": "Publish only a verified further conditional kappa gain after exact profile, complete physical owners, source-bound native reuse, complete original admission and current-frontier comparison pass.", + "ai_assistance": "Substantial OpenAI Codex assistance. Exact native and owner interpreters retain predecessor attribution. No independent human review or formal theorem proof is claimed." +} diff --git a/research/staged544-t385/VALIDATION.json b/research/staged544-t385/VALIDATION.json new file mode 100644 index 0000000000..cc57b0bc68 --- /dev/null +++ b/research/staged544-t385/VALIDATION.json @@ -0,0 +1,20 @@ +{ + "checked_utc": "2026-10-18T21:24:52.164180+00:00", + "completed": [ + "exact integer aggregate", + "complete portable solver-free literal reconstruction", + "independent all-role physical owner replay and rejection controls", + "exact rational profile root bracket", + "complete original changed-allocation conditional admission and outer release" + ], + "reused": [ + "unchanged source-bound PR3734 native providers and retained ancestry" + ], + "not_claimed": [ + "fresh no-reuse ancestry cold run", + "fresh end-to-end execution of the new packaging full_replay.py wrapper", + "unconditional theorem", + "packing optimality" + ], + "bounded_registered_replay": "PASS_REGISTERED_RESEARCH_PACKAGE research/staged544-t385 outcome=completed; includes exact comparison against PR3795 complete released endpoint." +} diff --git a/research/staged544-t385/VERIFY.json b/research/staged544-t385/VERIFY.json new file mode 100644 index 0000000000..acab927c09 --- /dev/null +++ b/research/staged544-t385/VERIFY.json @@ -0,0 +1,20 @@ +{ + "schema_version": 1, + "status": "ready", + "python": "3.12", + "requirements": [], + "inputs": [ + "LICENSE" + ], + "commands": [ + { + "argv": [ + "{python}", + "-B", + "{package}/verify.py" + ], + "checks": "Exact integer aggregate, all literal owners and controls, exact root, regenerated outer arithmetic and authenticated stored complete admission. Full conditional release separately reproducible.", + "timeout_seconds": 300 + } + ] +} diff --git a/research/staged544-t385/admit_t385.py b/research/staged544-t385/admit_t385.py new file mode 100644 index 0000000000..7859c9e262 --- /dev/null +++ b/research/staged544-t385/admit_t385.py @@ -0,0 +1,421 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +# Tekalign (@tekuuu), with substantial OpenAI Codex assistance. +"""Prepare and fully admit a changed-replica literal order/fill derivative. + +PR2833 extension by Yiyang Lu with OpenAI Codex assistance: add the exact +immutable dirt-entry source profile and exact full outer-claim comparisons to +PR2833 and the newer PR2843 T124 allocation. All +inherited native, owner, invoice, block-norm, controls and release checks retained. + +Research runtime only: native providers must already have passed freshly and +are authenticated by --native-receipt. --prepare-only stops before discovery. +Default complete admission preserves the original verify.py and release stages. +Source inputs and the native cache are read-only; all output uses fresh --work. +""" +import argparse +from fractions import Fraction as Q +import gzip +import hashlib +import json +import os +from pathlib import Path +import shutil +import subprocess +import sys +import tarfile +import time + +SOURCE_COMMIT = 'local-joint12-refit393' +SOURCE_MANIFEST = '1e75eabffe1ce311cc3bddc05e76118cbdedfc806200a906c57fbc5a5dd213eb' +PARENT_MANIFEST = 'e0eefc96567fbb45e19e6de0ca295381dbe0e686c08ddc783639b065c7c791d4' +PRECISION = dict(endpoint_digits=24, grid_digits=18, margin_digits=28, bootstrap_steps=12) +COMPARISON_SHA = '252b7bbdbef293f643633ff95ba7d1eabbe83e1eebcd1cb06f51834256bde1f3' +COMPARISON_HEAD = 'e8b771ba132fe632796b28c1742a8d096c04519f' +NATIVE_STAGES = ['native', 'ledgers', 'local-replay', 'wrappers', 'phases'] +# Supported immutable source versions; CLI selection never accepts arbitrary hashes. +SOURCE_PROFILES = { + 'staged544': dict(commit='staged544-literal-v1',manifest='4c4f7067b1b5404b59213f480e9d91c96ffc79b5458e2736b159f5a522ed2dc3',helpers=408,source_file_count=660,upstream_head='431e6c6023ef352c41696469de7fb614cd4ded8c'), + 'shared-four': dict(commit='shared-four-kernel-pr2833', manifest='54dc42f25c1d8b85adcf593c4bf6c0f83f7351388af857812790b8a0b4c3d869', helpers=408, source_file_count=547, upstream_head='e9307b48d7d1b690939935ecef0f8e524e6d92f4'), + 'preload-move': dict(commit='preload-move-pr2857', manifest='4da246899e2c509dd8c6e5af34905c6124ca17671b188e11ac37e36adf449504', helpers=408, source_file_count=553, upstream_head='e9307b48d7d1b690939935ecef0f8e524e6d92f4'), + 'pr2833': dict(commit='pr2833-dirtentry', manifest='c8ec4d1b7be08d2ad30730a07392ad9cb6d0222f2c35bef43c9a80a39b16e41f', helpers=408, source_file_count=541, upstream_head='e9307b48d7d1b690939935ecef0f8e524e6d92f4'), + 'pr2766': dict(commit='local-joint12-refit393', manifest='1e75eabffe1ce311cc3bddc05e76118cbdedfc806200a906c57fbc5a5dd213eb', helpers=415, source_file_count=491, upstream_head='e6df920cd0110e4b629e2ad84eddcb539001e174'), + 'pr2802': dict(commit='local-joint12-pr2733', manifest='9c72b4301057a6c204c40bb6584eb74b779e06618bcd98d706d726c3e2c92451', helpers=408, source_file_count=506, upstream_head='17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd'), +} +COMPARISONS = { + 'pr3734': dict(pr=3734,head='fa041037a3374eaa08feeca0b26a5d6893194147',sha256='c0d8d1ae7f302ae00feade55470d524401fc464b392bf1bc931cdb7a421e23b4',field='kappa'), + 'pr3682': dict(pr=3682,head='431e6c6023ef352c41696469de7fb614cd4ded8c',sha256='c7455323c62a5b1d5c9ceef07a305a5758df6971ac8f88e2be5223eb5f4c7553',field='kappa'), + 'pr2908': dict(pr=2908,head='51309592971e3b5be935599eed2a95404dc7781e',sha256='2406680a07b43a69b0f12f8462cc43f3616f3c8cb0a46bc767541b45945cd2bf',field='kappa'), + 'pr2917': dict(pr=2917,head='224bd5e56041c40078ff6b5fa7393733a215de5c',sha256='e6c836c0178661a53a69cd91f29d83585e876f2511ff40c6b6204cd270fbdeac',field='kappa'), + 'pr2966': dict(pr=2966,head='e62d3eb9005117d82a9babcfa937ecc53237c490',sha256='4d4c4800bf3bcb36d09021313b2712aebd4aa0830c74dda30991daf6851c220a',field='kappa'), + 'pr2969': dict(pr=2969,head='e2ca469b08385d3d5e29a918d66dbefaf889e9f3',sha256='656a4c93411b078753783513e2e71b1722a56e7b70120264a38118811982fa77',field='kappa'), + 'pr2894': dict(pr=2894,head='18d03c447886895ef9abf888398178e0428533ca',sha256='29cd4aa92059a561437d7670b574c51ae4e1cfeaaf6feb6cc318d915869e6d30',field='kappa'), + 'pr2857': dict(pr=2857, head='0b2e2537b368a0cade07ce3f71452ea018ebe394', sha256='c2a04b639c86f462caef654a29817545c57b8e5ba809e37d4d476d3577f5cd6f', field='kappa'), + 'pr2848': dict(pr=2848, head='c50d12e4720cd1fef2b5a65e337e37de9731879a', sha256='aceb1394b3e8f3abcc9b1a0dc82756ab937ffbefc2f37305a229a00ccc5137e9', field='kappa'), + 'pr2843': dict(pr=2843, head='47a7227c044cd0cabb1432a06c61dd5d60c07f5a', sha256='0adc0edfade0260c65e79867b6c8b96f58dfe29d38aa30cfb8f3d5e9c7e828d9', field='kappa'), + 'pr2833': dict(pr=2833, head='e9307b48d7d1b690939935ecef0f8e524e6d92f4', sha256='6f2c4195f0226c5a7f9ba604bc038cfd4100ba3caeeac8ed2defb6fb00632b70', field='kappa_rational'), + 'pr2767': dict(pr=2767, head='e8b771ba132fe632796b28c1742a8d096c04519f', sha256='252b7bbdbef293f643633ff95ba7d1eabbe83e1eebcd1cb06f51834256bde1f3', field='kappa_rational'), + 'pr2802': dict(pr=2802, head='17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd', sha256='a2fcbc8a3ad3095ecbd310a26c02e9d11c28e4d105669a08bbdfb39d7704db51', field='kappa'), +} + + + +# Discovery records are shared by parallel mutation-audit processes on Windows. +# Only discovery bookkeeping changes; strict pin comparison below it is untouched. +DISCOVERY_APPEND_OLD = " with open(os.environ['WITNESS_RECORD'],'a')as f:f.write(json.dumps([key,got],default=str)+chr(10))" +DISCOVERY_APPEND_NEW = r''' import time as _wr_time + _wr_path=Path(os.environ['WITNESS_RECORD']) + _wr_lock=_wr_path.with_name(_wr_path.name+'.append.lock') + _wr_deadline=_wr_time.monotonic()+60 + _wr_fd=None + while _wr_fd is None: + try:_wr_fd=os.open(_wr_lock,os.O_CREAT|os.O_EXCL|os.O_WRONLY) + except FileExistsError: + if _wr_time.monotonic()>=_wr_deadline:raise TimeoutError('discovery record lock timeout; existing lock preserved') + _wr_time.sleep(.005) + try: + with _wr_path.open('a',encoding='utf-8',newline='\n')as _wr_out: + _wr_out.write(json.dumps([key,got],default=str)+chr(10)) + _wr_out.flush() + finally: + os.close(_wr_fd) + _wr_lock.unlink()''' + + +def need(ok, why): + if not ok: + raise RuntimeError(why) + + +def sha(path): + return hashlib.sha256(path.read_bytes()).hexdigest() + + +def read(path): + body = path.read_bytes() + return json.loads(gzip.decompress(body) if path.suffix == '.gz' else body) + + +def write(path, value): + # All output targets belong to this fresh work tree; never unlink an open lock. + lock = path.with_name(path.name + '.lock') + descriptor = os.open(lock, os.O_CREAT | os.O_EXCL | os.O_WRONLY) + try: + os.write(descriptor, str(os.getpid()).encode()) + os.close(descriptor) + descriptor = None + path.write_text(json.dumps(value, sort_keys=True, indent=2) + '\n', encoding='utf-8', newline='\n') + finally: + if descriptor is not None: + os.close(descriptor) + lock.unlink() + + +def tree(root, exclude=()): + result = {} + for path in sorted(root.rglob('*')): + need(not path.is_symlink(), 'unbound symlink: ' + str(path)) + name = path.relative_to(root).as_posix() + if path.is_file() and name not in exclude: + result[name] = sha(path) + return result + + +def main(): + ap = argparse.ArgumentParser(description=__doc__) + for name in ('source', 'fill', 'order', 'dispatch', 'native-cache', 'native-receipt', 'work', 'replica-helper-dir', 'reconstructor', 'comparison-claim', 'blocknorm-checker'): + ap.add_argument('--' + name, type=Path, required=True) + ap.add_argument('--jobs', type=int, default=4) + ap.add_argument('--prepare-only', action='store_true') + ap.add_argument('--source-profile', choices=['staged544'], default='staged544') + ap.add_argument('--comparison-profile', choices=['pr2908','pr2917','pr2966','pr2969','pr3682','pr3734'], default='pr3734') + a = ap.parse_args() + global SOURCE_COMMIT, SOURCE_MANIFEST, COMPARISON_SHA, COMPARISON_HEAD + source_profile = SOURCE_PROFILES[a.source_profile] + comparison = COMPARISONS[a.comparison_profile] + SOURCE_COMMIT, SOURCE_MANIFEST = source_profile['commit'], source_profile['manifest'] + COMPARISON_SHA, COMPARISON_HEAD = comparison['sha256'], comparison['head'] + expected_helpers, comparison_pr = source_profile['helpers'], comparison['pr'] + need(not sys.flags.optimize and a.jobs > 0, 'enabled assertions and positive jobs required') + source, cache, work = a.source.resolve(), a.native_cache.resolve(), a.work.resolve() + need(not work.exists() and not work.is_relative_to(source) and not work.is_relative_to(cache), + 'fresh external work required') + need(sha(source / 'MANIFEST.json') == SOURCE_MANIFEST, 'COMPOSED manifest pin') + source_files = read(source / 'MANIFEST.json') + need(len(source_files) == source_profile['source_file_count'] and tree(source, ('MANIFEST.json',)) == source_files, + 'complete COMPOSED source inventory and hashes') + helper_dir = a.replica_helper_dir.resolve() + helper_paths = [helper_dir / n for n in ('lift_parent.py', 'replica_parent.py')] + [a.reconstructor.resolve()] + external_hashes = {str(p): sha(p) for p in helper_paths + [a.fill.resolve(), a.order.resolve(), a.dispatch.resolve(), a.comparison_claim.resolve(), a.blocknorm_checker.resolve()]} + need(sha(a.comparison_claim) == COMPARISON_SHA, 'exact pinned frontier headline comparison') + comparison_claim = read(a.comparison_claim) + need('headline_kappa_source' not in comparison_claim and comparison['field'] in comparison_claim, + 'comparison must be full headline outer claim, not supplier-only CLAIM') + previous = Q(comparison_claim[comparison['field']]) + need(previous == Q(comparison_claim['kappa']), 'comparison rational/decimal equality') + order_input = read(a.order) + need(order_input and all(isinstance(x,list) and len(x)==2 and all(type(v)is int for v in x) for x in order_input), 'literal integer call order') + T = 1 + max(r for st,r in order_input) + need(T > 0 and len(order_input)==9*T and set(map(tuple,order_input))=={(st,r) for st in range(9) for r in range(T)}, 'complete new replica coverage') + need(all([st for st,r in order_input if r==rep]==list(range(9)) for rep in range(T)), 'source stage projection') + dispatch_input = read(a.dispatch) + need(len(dispatch_input)==9*T and {(st,r) for st,r,pid in dispatch_input}==set(map(tuple,order_input)), 'complete explicit dispatch') + native_receipt = read(a.native_receipt) + need(native_receipt['status'] == 'PASS_COMPOSED_FRESH_NATIVE_PROVIDERS_AND_AUTHENTICATED_CACHE' + and native_receipt['source_commit'] == SOURCE_COMMIT + and native_receipt['manifest_sha256'] == SOURCE_MANIFEST, 'native receipt source binding') + need(tree(cache) == native_receipt['cache_files'], 'complete native/parent cache hashes') + old = source / 'vendor/pr1297' + need(sha(old / 'MANIFEST.json') == PARENT_MANIFEST, 'retained parent pin') + parent_receipt = cache / '_receipts' / PARENT_MANIFEST / 'RECEIPT.json' + need(sha(parent_receipt) == native_receipt['retained_parent_receipt_sha256'], 'parent receipt pin') + pr = read(parent_receipt) + need(pr['vendor_manifest_sha256'] == PARENT_MANIFEST and pr['claim_sha256'] == sha(old / 'CLAIM.json'), + 'parent receipt claim binding') + for name, digest in pr['files'].items(): + need(sha(parent_receipt.parent / name) == digest, 'parent receipt file') + parent_result = read(parent_receipt.parent / 'RESULT.json') + need(parent_result['status'] == 'PASS_GLOBAL_MIXED_X54_FUSIONS_NATIVE_AND_STRICT_ADMISSION' + and parent_result['kappa'] == read(old / 'CLAIM.json')['kappa'], 'retained parent completed admission') + natives = {} + for tag in ('base', 'extra'): + word = source / ('new/borrow/words/BORROW-WORD-43' + tag + '.json.gz') + entry = cache / sha(word) + binding = native_receipt['providers'][tag] + need(binding['word_sha256'] == sha(word) + and tree(entry, ('CACHE.json',)) == binding['complete_native_files'], 'native full-tree binding') + need(read(entry / 'local/FULL-WORD.json.gz') == read(word), 'native complete word') + stages = read(entry / 'STEPS.json') + need([s['step'] for s in stages] == NATIVE_STAGES and all(s['exit_code'] == 0 for s in stages), + 'native five-stage coverage') + checks = read(entry / 'local/LOCAL-CHECKS.json') + need(all(checks[o]['paid_profile'] == read(word)['report']['local_profile'] for o in ('forward', 'backward')), + 'native actual paid profiles') + natives[tag] = entry + work.mkdir(parents=True) + package = work / 'package' + shutil.copytree(source, package) + # Only the fresh external clone changes. Immutable source/cache inventories remain pinned. + for hp in helper_paths[:2]: + shutil.copy2(hp, package / hp.name) + need(sha(package / hp.name)==external_hashes[str(hp)], 'helper copy hash') + shutil.copy2(a.blocknorm_checker, package / 'blocknorm_certificate.py') + shutil.copy2(a.blocknorm_checker, package / 'code/blocknorm_certificate.py') + need(sha(package / 'blocknorm_certificate.py') == external_hashes[str(a.blocknorm_checker.resolve())], 'block-norm checker exact source binding') + shutil.copy2(a.reconstructor, package / 'reconstruct.py') + need(sha(package / 'reconstruct.py')==external_hashes[str(a.reconstructor.resolve())], 'reconstructor copy hash') + # The original subprocesses also write generated hash-bound source. Windows + # callers use a process-scoped LF adapter; no system configuration is changed. + lf_probe = work / '.lf-preflight.txt' + lf_probe.write_text('LF\n', encoding='utf-8') + need(lf_probe.read_bytes()==b'LF\n', 'process-scoped LF output required on Windows') + lf_probe.unlink() + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', PYTHONINTMAXSTRDIGITS='0', + OPENBLAS_NUM_THREADS='1', OMP_NUM_THREADS='1', AUDIT_FAST_SHARDS=str(a.jobs)) + for name in ('PYTHONOPTIMIZE', 'WITNESS_SPEC', 'WITNESS_DISCOVER', 'WITNESS_RECORD'): + env.pop(name, None) + stages, patches = [], [] + + def run(name, script, *args): + start = time.monotonic() + command = [sys.executable, '-B', str(script), *map(str, args)] + log = work / (name + '.log') + with log.open('w') as output: + result = subprocess.run(command, env=env, cwd=work, stdin=subprocess.DEVNULL, + stdout=output, stderr=subprocess.STDOUT) + stages.append(dict(name=name, exit_code=result.returncode, seconds=time.monotonic() - start, + script_sha256=sha(script), log_sha256=sha(log), command=command)) + write(work / 'STAGES.json', stages) + need(result.returncode == 0, 'failed ' + name + '; see ' + str(log)) + print('PASS', name, flush=True) + + def patch(name, replacements): + path = package / name + before = sha(path) + body = path.read_text() + for old_text, new_text in replacements: + need(body.count(old_text) == 1, 'exact patch preimage: ' + name + ': ' + old_text[:80]) + body = body.replace(old_text, new_text) + path.write_text(body) + patches.append(dict(path=name, before_sha256=before, after_sha256=sha(path), replacements=replacements)) + + # PR2530's already checked correction: restored zero buffers occupy physical + # rows. COMPOSED's shipped SPEC includes them; its rebound SPEC omitted them. + patch('new/rebind.py', [ + ("physical=spec['expected']['live'] + 8 + R + 2)", + "physical=spec['expected']['live'] + 8 + R + 2 + max(len(rd(d / 'CANONICAL-WORD.json.gz').get('zero_buffers', [])) for d in locs.values()))")]) + # At T37 the historical fixed333 mutant is a no-op. Preserve the + # undercharge test by subtracting one from both actual charges, and + # require every geometry mutant to differ before the unchanged assembly. + patch('geometry_controls.py', [ + (" i['complete_invocation_sweeps']=i['bridge_sweeps']=333", + " i['complete_invocation_sweeps']-=1;i['bridge_sweeps']-=1"), + (" o,i=copy.deepcopy(owner),copy.deepcopy(invoice);fn(o,i);oh=digest(o);i['owner_audit_sha256']=oh", + " o,i=copy.deepcopy(owner),copy.deepcopy(invoice);fn(o,i);assert (o,i)!=(owner,invoice), 'geometry mutant must change actual receipts';oh=digest(o);i['owner_audit_sha256']=oh")]) + # Preserve the exact fixed-grid-maximum equality while deriving precision + # from the same SPEC read by both independent outer arithmetic checkers. + patch('verify_release.py', [ + ('Fraction(1, 10 ** 3046) - Fraction(1, 10 ** 3022)', + "Fraction(1, 10 ** (spec['outer_refinement']['endpoint_digits'] + 46)) - Fraction(1, 10 ** (spec['outer_refinement']['endpoint_digits'] + 22))"), + ('epsilon=1-(1025/1024)e-3080', "epsilon=1-(1025/1024)e-{spec['outer_refinement']['endpoint_digits']+80}"), + ('at the one 3000-digit rejection call', "at the one {spec['outer_refinement']['endpoint_digits']}-digit rejection call")]) + # Keep the native dimension and paid moment ledger fixed; bind replica + # width to both the checked source geometry and the independent B invoice. + patch('outer/check_ledger.py', [ + ('assert (m,W)==(73,66304)', + "T=spec['geometry']['replicas']\nassert type(T) is int and T>0\nassert m==73 and W==896*T and W==BJ['live']")]) + patch('code/witness.py', [(DISCOVERY_APPEND_OLD, DISCOVERY_APPEND_NEW)]) + patch('verify.py', [ + ("run('lift-parent',P/'lift_parent.py','--owners',work/'rebuilt-owners','--out',work/'rebuilt-parent')", + "run('lift-parent',P/'lift_parent.py','--package',P,'--owners',work/'rebuilt-owners','--out',work/'rebuilt-parent')")]) + # A sharper local reserve is certified against actual scalar/Horner + # prefixes of BOTH orientations and BOTH providers. All sweep and physical + # row charges remain unchanged; this never omits an invocation or bridge. + patch('code/witness.py', [ + ("PAYLOAD==1<<(192+(GEO['dimension']+1)//2+2*CALLS+4).bit_length()", + "PAYLOAD==1<<(128+(GEO['dimension']+1)//2+18+1330+1+4).bit_length()")]) + patch('code/invoice_allcold.py', [ + (" required_prefix=localbits+input_l2_bits+call_count+bridge_sweeps+4", + " from blocknorm_certificate import certify\n blocknorm=certify(template, {pid:base/'providers'/pid for pid in template['local_providers']})\n assert blocknorm['status'] == 'PASS_TENSOR_BLOCK_NORM_CERTIFICATE'\n assert localbits <= 128, 'actual native scalar/Horner prefix exceeds charged local reserve'\n required_prefix=localbits+input_l2_bits+blocknorm['max_active_depth']+blocknorm['stock_l2_bits']+1+4")]) + patch('independent_core.py', [ + (" payload = 1 << (192 + (M+1)//2 + 2*len(c['order']) + 4).bit_length()", + " require(localbits <= 128, 'measured native prefix exceeds local reserve')\n payload = 1 << (128 + (M+1)//2 + 18 + 1330 + 1 + 4).bit_length()")]) + patch('code/invoice_allcold.py', [ + (" complete_invocation_sweeps=call_count,bridge_sweeps=bridge_sweeps,row_prefix_extra=2*payload,", + " complete_invocation_sweeps=call_count,bridge_sweeps=bridge_sweeps,row_prefix_extra=2*payload,blocknorm=blocknorm,"), + (" primitive_arithmetic_margin_bits=4,controller_audit_sha256=", " tensor_block_norm=blocknorm,partial_cover_margin_bits=1,physical_stock_l2_bits=blocknorm['stock_l2_bits'],primitive_arithmetic_margin_bits=4,controller_audit_sha256="), + ("Sum every actual invocation and bridge sweep and take the maximum local scalar/Horner prefix over both orientations of the fixed provider.", + "All invocations and bridge sweeps remain charged. Bound completed-boundary energy by at most eighteen active steps per owner replica, using exact tensor-isomorphic whole-family helper unitaries. Add the full group-indexed physical-stock sup-to-l2 factor and one partial-cover margin, then the maximum local scalar/Horner prefix.")]) + patch('independent_core.py', [ + (" prefix = localbits + (M + 1) // 2 + len(c['order']) + c['bridges'] + 4", + " bn=c['blocknorm']\n require(bn['status']=='PASS_TENSOR_BLOCK_NORM_CERTIFICATE' and bn['max_active_depth']==18 and bn['stock_l2_bits']<=1330, 'independent tensor block certificate')\n prefix = localbits + (M + 1) // 2 + bn['max_active_depth'] + bn['stock_l2_bits'] + 1 + 4"), + ("prefix_formula=dict(local_scalar=localbits, input_l2=(M + 1) // 2, invocations=len(c['order']), bridges=c['bridges'], margin=4)", + "prefix_formula=dict(local_scalar=localbits, input_l2=(M + 1) // 2, invocations=len(c['order']), bridges=c['bridges'], active_block_depth=18,stock_l2=bn['stock_l2_bits'],partial_cover=1,margin=4),blocknorm=bn")]) + patch('audit_mixed.py', [ + ("pending=A.check_pending_axes(ctx);receipt=A.check_roles(ctx,roles)", + "import blocknorm_certificate as BN;ctx['blocknorm']=BN.certify_context(ctx,roles,dirs,source_parent=parent);pending=A.check_pending_axes(ctx);receipt=A.check_roles(ctx,roles)")]) + patch('code/assemble.py', [ + (" assert invoice['global_prefix_bits']==max(z['prefix_bits']for p in invoice['providers'].values()for z in p['local'].values())+37+CALLS+CALLS+4", + " bn=invoice['blocknorm']\n assert bn['status']=='PASS_TENSOR_BLOCK_NORM_CERTIFICATE' and bn['replicas']==REPLICAS\n assert bn['max_active_depth']==bn['boundary_depth_bits']==18 and bn['active_calls_per_block']==bn['bridges_per_block']==9\n assert bn['block_width_families']==896 and bn['physical_families']==invoice['physical'] and bn['live_families']==invoice['live']\n assert bn['partial_cover_bits']==1 and bn['input_l2_bits']==37 and bn['local_reserve_bits']==128 and bn['retained_payload_bits']==PAYLOAD\n localbits=max(z['prefix_bits']for p in invoice['providers'].values()for z in p['local'].values())\n assert bn['local_actual_prefix_bits']==localbits and localbits<=128\n assert invoice['global_prefix_bits']==bn['actual_prefix_bits']==localbits+37+18+bn['stock_l2_bits']+1+4\n assert bn['required_reserve_bits']==128+37+18+bn['stock_l2_bits']+1+4 previous, + 'candidate must strictly improve full exact pinned frontier headline before full release') + outer_claim = read(source / 'outer/OUTER-CLAIM.json') + outer_claim.update(kappa=row['decimal'], kappa_rational=row['rational'], + baseline_head=COMPARISON_HEAD, baseline_kappa=str(previous), gain=str(kappa-previous), + b='certified complex_lower - 1e-104 (outer/B.json)', + retuned_slacks='Endpoint precision24; free gaps follow outer/check_ledger.py from the frozen SPEC.', + fixed_grid_maximum='kappa=C-10^-70-10^-46 exactly; same fixed-grid-maximum proof at precision24.') + write(package / 'outer/OUTER-CLAIM.json', outer_claim) + (package / 'provenance').mkdir(exist_ok=True) + shutil.copy2(a.comparison_claim, package / ('provenance/PR' + str(comparison_pr) + '-HEADLINE-CLAIM.json')) + write(package / 'MANIFEST.json', tree(package, ('MANIFEST.json',))) + run('release', package / 'verify_release.py', '--main', source.parents[1], '--work', work / 'release', + '--native-cache', cache, '--jobs', a.jobs) + receipt = read(work / 'release/RELEASE-RECEIPT.json') + need(receipt['status'] == 'PASS_RELEASE' and Q(receipt['kappa_decimal']) == kappa + and receipt['manifest_sha256'] == sha(package / 'MANIFEST.json'), 'complete release binding') + need(sha(source / 'MANIFEST.json') == SOURCE_MANIFEST + and tree(source, ('MANIFEST.json',)) == source_files and tree(cache) == native_receipt['cache_files'], + 'read-only source/cache inputs changed') + need(all(sha(Path(p))==h for p,h in external_hashes.items()), 'external candidate/helper inputs changed during admission') + result.update(status='PASS_REPLICA_ORDER_FILL_DERIVATIVE_COMPLETE_RELEASE', + complex_lower=str(C), kappa=str(kappa), kappa_decimal=row['decimal'], + gain=str(kappa-previous), release_receipt_sha256=sha(work / 'release/RELEASE-RECEIPT.json'), + package_manifest_sha256=sha(package / 'MANIFEST.json'), stages=stages, + scope='Conditional finite construction and modern outer arithmetic. Exact inherited theorem obligations remain. Both native providers explicitly reused from authenticated fresh five-stage runs.') + write(work / 'RESULT.json', result) + print(result['status'], row['decimal'], flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/staged544-t385/check_aggregate.py b/research/staged544-t385/check_aggregate.py new file mode 100644 index 0000000000..6453ae526f --- /dev/null +++ b/research/staged544-t385/check_aggregate.py @@ -0,0 +1,16 @@ +"""Standard-library exact integer aggregate checker; no optimizer or inherited receipt.""" +from pathlib import Path +import gzip,json,hashlib,argparse,sys +if not __debug__ or sys.flags.optimize:raise RuntimeError("Enabled assertions required") +from collections import Counter +ap=argparse.ArgumentParser();ap.add_argument('--certificate',type=Path,required=True);ap.add_argument('--out',type=Path);args=ap.parse_args();src=args.certificate;d=json.loads(gzip.decompress(src.read_bytes()));S=d['S'];G=d['groups'];W=d['widths'];C=len(d['order']);assert C==9*d['baseT'];assert d['T']==S*d['baseT'];assert sorted(map(tuple,d['order']))==[(s,r)for s in range(9)for r in range(d['baseT'])];bins=Counter();slots=Counter();supply=Counter();demand=Counter();degree=Counter();idle=Counter() +for g,q,n in d['x']: + assert type(n)is int and n>0 and all(type(k)is int and k>=0 for k in q)and len(q)==len(W);cap,lo,hi,num=G[g];r=cap-sum(w*k for w,k in zip(W,q));assert r>=0;bins[g]+=n;idle[r]+=n + for w,k in zip(W,q):slots[g,w]+=n*k +for g,t,w,n in d['z']: + assert type(n)is int and n>0 and w in W and 0<=t0\nassert m==73 and W==896*T and W==BJ['live']" + ] + ] + }, + { + "after_sha256": "ebaf637f1f818dac9c0fce0ee3f18df300873105818cea29a8ae9e8b737b5c7d", + "before_sha256": "08ca58abff11bdfba721dc56ab8acf06ec1b7c48a8699a0955cf35324680aca7", + "path": "code/witness.py", + "replacements": [ + [ + " with open(os.environ['WITNESS_RECORD'],'a')as f:f.write(json.dumps([key,got],default=str)+chr(10))", + " import time as _wr_time\n _wr_path=Path(os.environ['WITNESS_RECORD'])\n _wr_lock=_wr_path.with_name(_wr_path.name+'.append.lock')\n _wr_deadline=_wr_time.monotonic()+60\n _wr_fd=None\n while _wr_fd is None:\n try:_wr_fd=os.open(_wr_lock,os.O_CREAT|os.O_EXCL|os.O_WRONLY)\n except FileExistsError:\n if _wr_time.monotonic()>=_wr_deadline:raise TimeoutError('discovery record lock timeout; existing lock preserved')\n _wr_time.sleep(.005)\n try:\n with _wr_path.open('a',encoding='utf-8',newline='\\n')as _wr_out:\n _wr_out.write(json.dumps([key,got],default=str)+chr(10))\n _wr_out.flush()\n finally:\n os.close(_wr_fd)\n _wr_lock.unlink()" + ] + ] + }, + { + "after_sha256": "cc1ba8c83cceeafbe8029823dccc9149dcbc2a2f426b0200ed4309ae2384b4a4", + "before_sha256": "196cf2d1cda601b7d88929cb17cbebbe3d4d06bc66d9e0d4b5edca750861d3ee", + "path": "verify.py", + "replacements": [ + [ + "run('lift-parent',P/'lift_parent.py','--owners',work/'rebuilt-owners','--out',work/'rebuilt-parent')", + "run('lift-parent',P/'lift_parent.py','--package',P,'--owners',work/'rebuilt-owners','--out',work/'rebuilt-parent')" + ] + ] + }, + { + "after_sha256": "0d8cc021d2401d047aaec79060ec2ea28ba06f12eca8dbf4c60c78bb31975c4e", + "before_sha256": "ebaf637f1f818dac9c0fce0ee3f18df300873105818cea29a8ae9e8b737b5c7d", + "path": "code/witness.py", + "replacements": [ + [ + "PAYLOAD==1<<(192+(GEO['dimension']+1)//2+2*CALLS+4).bit_length()", + "PAYLOAD==1<<(128+(GEO['dimension']+1)//2+18+1330+1+4).bit_length()" + ] + ] + }, + { + "after_sha256": "c5106e0d7a97382677fa228fbade989262347968a0e54acfcf6712aa37e02f47", + "before_sha256": "bb213d0af12218ff7c9c572717e522d8bbeeb2856b87a253f4a7f44e0fd71f15", + "path": "code/invoice_allcold.py", + "replacements": [ + [ + " required_prefix=localbits+input_l2_bits+call_count+bridge_sweeps+4", + " from blocknorm_certificate import certify\n blocknorm=certify(template, {pid:base/'providers'/pid for pid in template['local_providers']})\n assert blocknorm['status'] == 'PASS_TENSOR_BLOCK_NORM_CERTIFICATE'\n assert localbits <= 128, 'actual native scalar/Horner prefix exceeds charged local reserve'\n required_prefix=localbits+input_l2_bits+blocknorm['max_active_depth']+blocknorm['stock_l2_bits']+1+4" + ] + ] + }, + { + "after_sha256": "0d522b09c7fe6a5e62fe80c28f3eefe733557a82d77c6212e5d4b91ffb7e3421", + "before_sha256": "02502a217fe8c9e10229075b50745518beac512c48db20e64c3e06514a4da5b5", + "path": "independent_core.py", + "replacements": [ + [ + " payload = 1 << (192 + (M+1)//2 + 2*len(c['order']) + 4).bit_length()", + " require(localbits <= 128, 'measured native prefix exceeds local reserve')\n payload = 1 << (128 + (M+1)//2 + 18 + 1330 + 1 + 4).bit_length()" + ] + ] + }, + { + "after_sha256": "d598a2ac1e2e8eaee14a8c285e0277a7ae44ca6a15bd2b5cfc67fb40844fb387", + "before_sha256": "c5106e0d7a97382677fa228fbade989262347968a0e54acfcf6712aa37e02f47", + "path": "code/invoice_allcold.py", + "replacements": [ + [ + " complete_invocation_sweeps=call_count,bridge_sweeps=bridge_sweeps,row_prefix_extra=2*payload,", + " complete_invocation_sweeps=call_count,bridge_sweeps=bridge_sweeps,row_prefix_extra=2*payload,blocknorm=blocknorm," + ], + [ + " primitive_arithmetic_margin_bits=4,controller_audit_sha256=", + " tensor_block_norm=blocknorm,partial_cover_margin_bits=1,physical_stock_l2_bits=blocknorm['stock_l2_bits'],primitive_arithmetic_margin_bits=4,controller_audit_sha256=" + ], + [ + "Sum every actual invocation and bridge sweep and take the maximum local scalar/Horner prefix over both orientations of the fixed provider.", + "All invocations and bridge sweeps remain charged. Bound completed-boundary energy by at most eighteen active steps per owner replica, using exact tensor-isomorphic whole-family helper unitaries. Add the full group-indexed physical-stock sup-to-l2 factor and one partial-cover margin, then the maximum local scalar/Horner prefix." + ] + ] + }, + { + "after_sha256": "e051aaa166e01263780d5ae03699690670b597fed6593af4c37a7e978825eb85", + "before_sha256": "0d522b09c7fe6a5e62fe80c28f3eefe733557a82d77c6212e5d4b91ffb7e3421", + "path": "independent_core.py", + "replacements": [ + [ + " prefix = localbits + (M + 1) // 2 + len(c['order']) + c['bridges'] + 4", + " bn=c['blocknorm']\n require(bn['status']=='PASS_TENSOR_BLOCK_NORM_CERTIFICATE' and bn['max_active_depth']==18 and bn['stock_l2_bits']<=1330, 'independent tensor block certificate')\n prefix = localbits + (M + 1) // 2 + bn['max_active_depth'] + bn['stock_l2_bits'] + 1 + 4" + ], + [ + "prefix_formula=dict(local_scalar=localbits, input_l2=(M + 1) // 2, invocations=len(c['order']), bridges=c['bridges'], margin=4)", + "prefix_formula=dict(local_scalar=localbits, input_l2=(M + 1) // 2, invocations=len(c['order']), bridges=c['bridges'], active_block_depth=18,stock_l2=bn['stock_l2_bits'],partial_cover=1,margin=4),blocknorm=bn" + ] + ] + }, + { + "after_sha256": "393323f150d0bb686419804d51cf43d0f58450d2a1e7929725acdd26fdbb3640", + "before_sha256": "2286f00e462ff28abbb3f396095463482a1e063213b9526a7225275980c77eaf", + "path": "audit_mixed.py", + "replacements": [ + [ + "pending=A.check_pending_axes(ctx);receipt=A.check_roles(ctx,roles)", + "import blocknorm_certificate as BN;ctx['blocknorm']=BN.certify_context(ctx,roles,dirs,source_parent=parent);pending=A.check_pending_axes(ctx);receipt=A.check_roles(ctx,roles)" + ] + ] + }, + { + "after_sha256": "0542dde915af8902324db2f59136da078d5256bfaa8f1510f3e59336be7e2680", + "before_sha256": "f25e1e870df5d5a16a1e367b3df8843cb01644ab4b75895d7939af81e4fcb833", + "path": "code/assemble.py", + "replacements": [ + [ + " assert invoice['global_prefix_bits']==max(z['prefix_bits']for p in invoice['providers'].values()for z in p['local'].values())+37+CALLS+CALLS+4", + " bn=invoice['blocknorm']\n assert bn['status']=='PASS_TENSOR_BLOCK_NORM_CERTIFICATE' and bn['replicas']==REPLICAS\n assert bn['max_active_depth']==bn['boundary_depth_bits']==18 and bn['active_calls_per_block']==bn['bridges_per_block']==9\n assert bn['block_width_families']==896 and bn['physical_families']==invoice['physical'] and bn['live_families']==invoice['live']\n assert bn['partial_cover_bits']==1 and bn['input_l2_bits']==37 and bn['local_reserve_bits']==128 and bn['retained_payload_bits']==PAYLOAD\n localbits=max(z['prefix_bits']for p in invoice['providers'].values()for z in p['local'].values())\n assert bn['local_actual_prefix_bits']==localbits and localbits<=128\n assert invoice['global_prefix_bits']==bn['actual_prefix_bits']==localbits+37+18+bn['stock_l2_bits']+1+4\n assert bn['required_reserve_bits']==128+37+18+bn['stock_l2_bits']+1+40\nassert m==73 and W==896*T and W==BJ['live']" + ] + ] + }, + { + "after_sha256": "ebaf637f1f818dac9c0fce0ee3f18df300873105818cea29a8ae9e8b737b5c7d", + "before_sha256": "08ca58abff11bdfba721dc56ab8acf06ec1b7c48a8699a0955cf35324680aca7", + "path": "code/witness.py", + "replacements": [ + [ + " with open(os.environ['WITNESS_RECORD'],'a')as f:f.write(json.dumps([key,got],default=str)+chr(10))", + " import time as _wr_time\n _wr_path=Path(os.environ['WITNESS_RECORD'])\n _wr_lock=_wr_path.with_name(_wr_path.name+'.append.lock')\n _wr_deadline=_wr_time.monotonic()+60\n _wr_fd=None\n while _wr_fd is None:\n try:_wr_fd=os.open(_wr_lock,os.O_CREAT|os.O_EXCL|os.O_WRONLY)\n except FileExistsError:\n if _wr_time.monotonic()>=_wr_deadline:raise TimeoutError('discovery record lock timeout; existing lock preserved')\n _wr_time.sleep(.005)\n try:\n with _wr_path.open('a',encoding='utf-8',newline='\\n')as _wr_out:\n _wr_out.write(json.dumps([key,got],default=str)+chr(10))\n _wr_out.flush()\n finally:\n os.close(_wr_fd)\n _wr_lock.unlink()" + ] + ] + }, + { + "after_sha256": "cc1ba8c83cceeafbe8029823dccc9149dcbc2a2f426b0200ed4309ae2384b4a4", + "before_sha256": "196cf2d1cda601b7d88929cb17cbebbe3d4d06bc66d9e0d4b5edca750861d3ee", + "path": "verify.py", + "replacements": [ + [ + "run('lift-parent',P/'lift_parent.py','--owners',work/'rebuilt-owners','--out',work/'rebuilt-parent')", + "run('lift-parent',P/'lift_parent.py','--package',P,'--owners',work/'rebuilt-owners','--out',work/'rebuilt-parent')" + ] + ] + }, + { + "after_sha256": "0d8cc021d2401d047aaec79060ec2ea28ba06f12eca8dbf4c60c78bb31975c4e", + "before_sha256": "ebaf637f1f818dac9c0fce0ee3f18df300873105818cea29a8ae9e8b737b5c7d", + "path": "code/witness.py", + "replacements": [ + [ + "PAYLOAD==1<<(192+(GEO['dimension']+1)//2+2*CALLS+4).bit_length()", + "PAYLOAD==1<<(128+(GEO['dimension']+1)//2+18+1330+1+4).bit_length()" + ] + ] + }, + { + "after_sha256": "c5106e0d7a97382677fa228fbade989262347968a0e54acfcf6712aa37e02f47", + "before_sha256": "bb213d0af12218ff7c9c572717e522d8bbeeb2856b87a253f4a7f44e0fd71f15", + "path": "code/invoice_allcold.py", + "replacements": [ + [ + " required_prefix=localbits+input_l2_bits+call_count+bridge_sweeps+4", + " from blocknorm_certificate import certify\n blocknorm=certify(template, {pid:base/'providers'/pid for pid in template['local_providers']})\n assert blocknorm['status'] == 'PASS_TENSOR_BLOCK_NORM_CERTIFICATE'\n assert localbits <= 128, 'actual native scalar/Horner prefix exceeds charged local reserve'\n required_prefix=localbits+input_l2_bits+blocknorm['max_active_depth']+blocknorm['stock_l2_bits']+1+4" + ] + ] + }, + { + "after_sha256": "0d522b09c7fe6a5e62fe80c28f3eefe733557a82d77c6212e5d4b91ffb7e3421", + "before_sha256": "02502a217fe8c9e10229075b50745518beac512c48db20e64c3e06514a4da5b5", + "path": "independent_core.py", + "replacements": [ + [ + " payload = 1 << (192 + (M+1)//2 + 2*len(c['order']) + 4).bit_length()", + " require(localbits <= 128, 'measured native prefix exceeds local reserve')\n payload = 1 << (128 + (M+1)//2 + 18 + 1330 + 1 + 4).bit_length()" + ] + ] + }, + { + "after_sha256": "d598a2ac1e2e8eaee14a8c285e0277a7ae44ca6a15bd2b5cfc67fb40844fb387", + "before_sha256": "c5106e0d7a97382677fa228fbade989262347968a0e54acfcf6712aa37e02f47", + "path": "code/invoice_allcold.py", + "replacements": [ + [ + " complete_invocation_sweeps=call_count,bridge_sweeps=bridge_sweeps,row_prefix_extra=2*payload,", + " complete_invocation_sweeps=call_count,bridge_sweeps=bridge_sweeps,row_prefix_extra=2*payload,blocknorm=blocknorm," + ], + [ + " primitive_arithmetic_margin_bits=4,controller_audit_sha256=", + " tensor_block_norm=blocknorm,partial_cover_margin_bits=1,physical_stock_l2_bits=blocknorm['stock_l2_bits'],primitive_arithmetic_margin_bits=4,controller_audit_sha256=" + ], + [ + "Sum every actual invocation and bridge sweep and take the maximum local scalar/Horner prefix over both orientations of the fixed provider.", + "All invocations and bridge sweeps remain charged. Bound completed-boundary energy by at most eighteen active steps per owner replica, using exact tensor-isomorphic whole-family helper unitaries. Add the full group-indexed physical-stock sup-to-l2 factor and one partial-cover margin, then the maximum local scalar/Horner prefix." + ] + ] + }, + { + "after_sha256": "e051aaa166e01263780d5ae03699690670b597fed6593af4c37a7e978825eb85", + "before_sha256": "0d522b09c7fe6a5e62fe80c28f3eefe733557a82d77c6212e5d4b91ffb7e3421", + "path": "independent_core.py", + "replacements": [ + [ + " prefix = localbits + (M + 1) // 2 + len(c['order']) + c['bridges'] + 4", + " bn=c['blocknorm']\n require(bn['status']=='PASS_TENSOR_BLOCK_NORM_CERTIFICATE' and bn['max_active_depth']==18 and bn['stock_l2_bits']<=1330, 'independent tensor block certificate')\n prefix = localbits + (M + 1) // 2 + bn['max_active_depth'] + bn['stock_l2_bits'] + 1 + 4" + ], + [ + "prefix_formula=dict(local_scalar=localbits, input_l2=(M + 1) // 2, invocations=len(c['order']), bridges=c['bridges'], margin=4)", + "prefix_formula=dict(local_scalar=localbits, input_l2=(M + 1) // 2, invocations=len(c['order']), bridges=c['bridges'], active_block_depth=18,stock_l2=bn['stock_l2_bits'],partial_cover=1,margin=4),blocknorm=bn" + ] + ] + }, + { + "after_sha256": "393323f150d0bb686419804d51cf43d0f58450d2a1e7929725acdd26fdbb3640", + "before_sha256": "2286f00e462ff28abbb3f396095463482a1e063213b9526a7225275980c77eaf", + "path": "audit_mixed.py", + "replacements": [ + [ + "pending=A.check_pending_axes(ctx);receipt=A.check_roles(ctx,roles)", + "import blocknorm_certificate as BN;ctx['blocknorm']=BN.certify_context(ctx,roles,dirs,source_parent=parent);pending=A.check_pending_axes(ctx);receipt=A.check_roles(ctx,roles)" + ] + ] + }, + { + "after_sha256": "0542dde915af8902324db2f59136da078d5256bfaa8f1510f3e59336be7e2680", + "before_sha256": "f25e1e870df5d5a16a1e367b3df8843cb01644ab4b75895d7939af81e4fcb833", + "path": "code/assemble.py", + "replacements": [ + [ + " assert invoice['global_prefix_bits']==max(z['prefix_bits']for p in invoice['providers'].values()for z in p['local'].values())+37+CALLS+CALLS+4", + " bn=invoice['blocknorm']\n assert bn['status']=='PASS_TENSOR_BLOCK_NORM_CERTIFICATE' and bn['replicas']==REPLICAS\n assert bn['max_active_depth']==bn['boundary_depth_bits']==18 and bn['active_calls_per_block']==bn['bridges_per_block']==9\n assert bn['block_width_families']==896 and bn['physical_families']==invoice['physical'] and bn['live_families']==invoice['live']\n assert bn['partial_cover_bits']==1 and bn['input_l2_bits']==37 and bn['local_reserve_bits']==128 and bn['retained_payload_bits']==PAYLOAD\n localbits=max(z['prefix_bits']for p in invoice['providers'].values()for z in p['local'].values())\n assert bn['local_actual_prefix_bits']==localbits and localbits<=128\n assert invoice['global_prefix_bits']==bn['actual_prefix_bits']==localbits+37+18+bn['stock_l2_bits']+1+4\n assert bn['required_reserve_bits']==128+37+18+bn['stock_l2_bits']+1+40,'fresh work and positive jobs') + v=types.ModuleType('package_verify');v.__dict__['__file__']=str(P/'verify.py');exec(compile((P/'verify.py').read_bytes(),str(P/'verify.py'),'exec'),v.__dict__);v.authenticate() + subprocess.run([sys.executable,'-B','-c',"import numpy,scipy,sympy,mpmath; assert sympy.__version__=='1.14.0'"],check=True) + work.mkdir(parents=True);inputs=work/'inputs';inputs.mkdir();meta=read(P/'source3734/REPLAY-INPUTS.json');archive=P/'source3734/REPLAY-INPUTS.tar.gz';need(sha(archive)==meta['archive_sha256'],'archive pin');seen=set() + with tarfile.open(archive)as t: + for m in t: + need(m.isfile() and not Path(m.name).is_absolute() and '..' not in Path(m.name).parts and m.name not in seen and m.name in meta['files'],'archive member') + raw=t.extractfile(m).read();need(hashlib.sha256(raw).hexdigest()==meta['files'][m.name],'source member pin');seen.add(m.name);f=inputs/m.name;f.parent.mkdir(parents=True,exist_ok=True);f.write_bytes(raw) + need(seen==set(meta['files']),'complete archive inventory') + cmd=[sys.executable,'-B',str(P/'admit_t385.py')] + params={'source':inputs/'source','fill':P/'inputs/FILL.json.gz','order':P/'inputs/ORDER.json','dispatch':P/'inputs/DISPATCH.json','native-cache':inputs/'native-cache','native-receipt':inputs/'NATIVE-RECEIPT.json','work':work/'admission','replica-helper-dir':inputs/'helpers','reconstructor':inputs/'helpers/reconstruct_replica.py','comparison-claim':P/'source3734/CLAIM.json','blocknorm-checker':inputs/'extension_blocknorm.py'} + for k,path in params.items():cmd+=['--'+k,str(path)] + cmd+=['--source-profile','staged544','--comparison-profile','pr3734','--jobs',str(a.jobs)] + env=dict(os.environ,PYTHONDONTWRITEBYTECODE='1',PYTHONUTF8='1',PYTHONINTMAXSTRDIGITS='0',OPENBLAS_NUM_THREADS='1',OMP_NUM_THREADS='1');env.pop('PYTHONOPTIMIZE',None) + with (work/'admission.log').open('w')as log:r=subprocess.run(cmd,env=env,stdout=log,stderr=subprocess.STDOUT,stdin=subprocess.DEVNULL) + need(r.returncode==0,'complete admission failed; inspect admission.log') + result=read(work/'admission/RESULT.json');price=read(P/'evidence/PRICE.json');endpoint=Q(price['root_lower'])-Q(1,10**46)-Q(1,10**70);native=read(inputs/'NATIVE-RECEIPT.json');v.check_release(result,endpoint,{int(k):n for k,n in price['profile'].items()},native['manifest_sha256'],sha(inputs/'NATIVE-RECEIPT.json')) + receipt={'status':'PASS_T385_COMPLETE_CONDITIONAL_RELEASE','kappa':str(endpoint),'native_and_ancestry_reused':True,'changed_allocation_and_release_fresh':True,'admission_result_sha256':sha(work/'admission/RESULT.json')};(work/'RESULT.json').write_text(json.dumps(receipt,indent=2)+'\n');print(receipt['status'],str(endpoint),flush=True) +if __name__=='__main__':main() diff --git a/research/staged544-t385/inputs/AGGREGATE.json.gz b/research/staged544-t385/inputs/AGGREGATE.json.gz new file mode 100644 index 0000000000..6e4592e118 Binary files /dev/null and b/research/staged544-t385/inputs/AGGREGATE.json.gz differ diff --git a/research/staged544-t385/inputs/CLOCK77.json b/research/staged544-t385/inputs/CLOCK77.json new file mode 100644 index 0000000000..ee047f2c28 --- /dev/null +++ b/research/staged544-t385/inputs/CLOCK77.json @@ -0,0 +1 @@ +{"baseT":77,"order":[[0,0],[0,1],[0,2],[0,3],[0,4],[1,0],[0,5],[1,1],[0,6],[1,2],[0,7],[1,3],[0,8],[1,4],[0,9],[2,0],[1,5],[0,10],[2,1],[1,6],[0,11],[2,2],[1,7],[0,12],[2,3],[1,8],[0,13],[2,4],[1,9],[3,0],[0,14],[2,5],[1,10],[3,1],[0,15],[2,6],[1,11],[3,2],[0,16],[2,7],[1,12],[3,3],[0,17],[2,8],[1,13],[3,4],[0,18],[2,9],[4,0],[1,14],[3,5],[0,19],[2,10],[4,1],[1,15],[3,6],[0,20],[2,11],[4,2],[1,16],[3,7],[0,21],[2,12],[4,3],[1,17],[3,8],[0,22],[2,13],[4,4],[1,18],[3,9],[0,23],[5,0],[2,14],[4,5],[1,19],[3,10],[0,24],[5,1],[2,15],[4,6],[1,20],[3,11],[0,25],[5,2],[2,16],[4,7],[1,21],[3,12],[0,26],[5,3],[2,17],[4,8],[1,22],[3,13],[0,27],[5,4],[2,18],[4,9],[1,23],[6,0],[3,14],[0,28],[5,5],[2,19],[4,10],[1,24],[6,1],[3,15],[0,29],[5,6],[2,20],[4,11],[1,25],[6,2],[3,16],[0,30],[5,7],[2,21],[4,12],[1,26],[6,3],[3,17],[0,31],[5,8],[2,22],[4,13],[1,27],[6,4],[3,18],[0,32],[5,9],[2,23],[7,0],[4,14],[1,28],[6,5],[3,19],[0,33],[5,10],[2,24],[7,1],[4,15],[1,29],[6,6],[3,20],[0,34],[5,11],[2,25],[7,2],[4,16],[1,30],[6,7],[3,21],[0,35],[5,12],[2,26],[7,3],[4,17],[1,31],[6,8],[3,22],[0,36],[5,13],[2,27],[7,4],[4,18],[1,32],[6,9],[3,23],[8,0],[5,14],[2,28],[7,5],[4,19],[1,33],[6,10],[3,24],[8,1],[5,15],[2,29],[7,6],[4,20],[1,34],[6,11],[3,25],[8,2],[5,16],[2,30],[7,7],[4,21],[1,35],[6,12],[3,26],[8,3],[5,17],[2,31],[7,8],[4,22],[1,36],[6,13],[3,27],[8,4],[5,18],[2,32],[7,9],[4,23],[6,14],[3,28],[8,5],[5,19],[2,33],[7,10],[4,24],[6,15],[3,29],[8,6],[5,20],[2,34],[7,11],[4,25],[6,16],[3,30],[8,7],[5,21],[2,35],[7,12],[4,26],[6,17],[3,31],[8,8],[5,22],[2,36],[7,13],[4,27],[6,18],[3,32],[8,9],[5,23],[7,14],[4,28],[6,19],[3,33],[8,10],[5,24],[7,15],[4,29],[6,20],[3,34],[8,11],[5,25],[7,16],[4,30],[6,21],[3,35],[8,12],[5,26],[7,17],[4,31],[6,22],[3,36],[8,13],[5,27],[7,18],[4,32],[6,23],[8,14],[5,28],[7,19],[4,33],[6,24],[8,15],[5,29],[7,20],[4,34],[6,25],[8,16],[5,30],[7,21],[4,35],[6,26],[8,17],[5,31],[7,22],[4,36],[6,27],[8,18],[5,32],[7,23],[6,28],[8,19],[5,33],[7,24],[6,29],[8,20],[5,34],[7,25],[6,30],[8,21],[5,35],[7,26],[6,31],[8,22],[5,36],[7,27],[6,32],[8,23],[7,28],[6,33],[8,24],[7,29],[6,34],[8,25],[7,30],[6,35],[8,26],[7,31],[6,36],[8,27],[7,32],[8,28],[7,33],[8,29],[7,34],[8,30],[7,35],[8,31],[7,36],[8,32],[8,33],[8,34],[8,35],[8,36],[0,37],[0,38],[1,37],[0,39],[1,38],[2,37],[0,40],[3,37],[1,39],[2,38],[0,41],[2,39],[1,40],[3,38],[4,37],[0,42],[1,41],[2,40],[3,39],[4,38],[5,37],[0,43],[1,42],[2,41],[3,40],[4,39],[5,38],[0,44],[6,37],[1,43],[2,42],[3,41],[4,40],[5,39],[6,38],[1,44],[7,37],[2,43],[3,42],[4,41],[5,40],[6,39],[7,38],[2,44],[8,37],[3,43],[4,42],[5,41],[6,40],[7,39],[8,38],[3,44],[4,43],[5,42],[6,41],[7,40],[8,39],[4,44],[5,43],[6,42],[7,41],[8,40],[5,44],[6,43],[7,42],[8,41],[6,44],[7,43],[8,42],[7,44],[8,43],[8,44],[0,45],[0,53],[0,46],[0,54],[1,45],[1,53],[0,47],[0,55],[1,46],[1,54],[2,45],[2,53],[0,48],[0,56],[1,47],[1,55],[2,46],[2,54],[3,45],[3,53],[0,49],[0,57],[1,48],[1,56],[2,47],[2,55],[3,46],[3,54],[4,45],[4,53],[0,50],[0,58],[1,49],[1,57],[2,48],[2,56],[3,47],[3,55],[4,46],[4,54],[5,45],[5,53],[0,51],[0,59],[1,50],[1,58],[2,49],[2,57],[3,48],[3,56],[4,47],[4,55],[5,46],[5,54],[0,52],[0,60],[6,45],[6,53],[1,51],[1,59],[2,50],[2,58],[3,49],[3,57],[4,48],[4,56],[5,47],[5,55],[6,46],[6,54],[1,52],[1,60],[7,45],[7,53],[2,51],[2,59],[3,50],[3,58],[4,49],[4,57],[5,48],[5,56],[6,47],[6,55],[7,46],[7,54],[2,52],[2,60],[8,45],[8,53],[3,51],[3,59],[4,50],[4,58],[5,49],[5,57],[6,48],[6,56],[7,47],[7,55],[8,46],[8,54],[3,52],[3,60],[4,51],[4,59],[5,50],[5,58],[6,49],[6,57],[7,48],[7,56],[8,47],[8,55],[4,52],[4,60],[5,51],[5,59],[6,50],[6,58],[7,49],[7,57],[8,48],[8,56],[5,52],[5,60],[6,51],[6,59],[7,50],[7,58],[8,49],[8,57],[6,52],[6,60],[7,51],[7,59],[8,50],[8,58],[7,52],[7,60],[8,51],[8,59],[8,52],[8,60],[0,61],[0,69],[0,62],[0,70],[1,61],[1,69],[0,63],[0,71],[1,62],[1,70],[2,61],[2,69],[0,64],[0,72],[1,63],[1,71],[2,62],[2,70],[3,61],[3,69],[0,65],[0,73],[1,64],[1,72],[2,63],[2,71],[3,62],[3,70],[4,61],[4,69],[0,66],[0,74],[1,65],[1,73],[2,64],[2,72],[3,63],[3,71],[4,62],[4,70],[5,61],[5,69],[0,67],[0,75],[1,66],[1,74],[2,65],[2,73],[3,64],[3,72],[4,63],[4,71],[5,62],[5,70],[0,68],[0,76],[6,61],[6,69],[1,67],[1,75],[2,66],[2,74],[3,65],[3,73],[4,64],[4,72],[5,63],[5,71],[6,62],[6,70],[1,68],[1,76],[7,61],[7,69],[2,67],[2,75],[3,66],[3,74],[4,65],[4,73],[5,64],[5,72],[6,63],[6,71],[7,62],[7,70],[2,68],[2,76],[8,61],[8,69],[3,67],[3,75],[4,66],[4,74],[5,65],[5,73],[6,64],[6,72],[7,63],[7,71],[8,62],[8,70],[3,68],[3,76],[4,67],[4,75],[5,66],[5,74],[6,65],[6,73],[7,64],[7,72],[8,63],[8,71],[4,68],[4,76],[5,67],[5,75],[6,66],[6,74],[7,65],[7,73],[8,64],[8,72],[5,68],[5,76],[6,67],[6,75],[7,66],[7,74],[8,65],[8,73],[6,68],[6,76],[7,67],[7,75],[8,66],[8,74],[7,68],[7,76],[8,67],[8,75],[8,68],[8,76]],"dispatch":[[0,0,"extra"],[0,1,"extra"],[0,2,"extra"],[0,3,"extra"],[0,4,"extra"],[1,0,"extra"],[0,5,"extra"],[1,1,"extra"],[0,6,"extra"],[1,2,"extra"],[0,7,"extra"],[1,3,"extra"],[0,8,"extra"],[1,4,"extra"],[0,9,"extra"],[2,0,"extra"],[1,5,"extra"],[0,10,"extra"],[2,1,"extra"],[1,6,"extra"],[0,11,"extra"],[2,2,"extra"],[1,7,"extra"],[0,12,"extra"],[2,3,"extra"],[1,8,"extra"],[0,13,"extra"],[2,4,"extra"],[1,9,"extra"],[3,0,"extra"],[0,14,"extra"],[2,5,"extra"],[1,10,"extra"],[3,1,"extra"],[0,15,"extra"],[2,6,"extra"],[1,11,"extra"],[3,2,"extra"],[0,16,"extra"],[2,7,"extra"],[1,12,"extra"],[3,3,"extra"],[0,17,"extra"],[2,8,"extra"],[1,13,"extra"],[3,4,"extra"],[0,18,"extra"],[2,9,"extra"],[4,0,"extra"],[1,14,"extra"],[3,5,"extra"],[0,19,"extra"],[2,10,"extra"],[4,1,"extra"],[1,15,"extra"],[3,6,"extra"],[0,20,"extra"],[2,11,"extra"],[4,2,"extra"],[1,16,"extra"],[3,7,"extra"],[0,21,"extra"],[2,12,"extra"],[4,3,"extra"],[1,17,"extra"],[3,8,"extra"],[0,22,"extra"],[2,13,"extra"],[4,4,"extra"],[1,18,"extra"],[3,9,"extra"],[0,23,"extra"],[5,0,"extra"],[2,14,"extra"],[4,5,"extra"],[1,19,"extra"],[3,10,"extra"],[0,24,"extra"],[5,1,"extra"],[2,15,"extra"],[4,6,"extra"],[1,20,"extra"],[3,11,"extra"],[0,25,"extra"],[5,2,"extra"],[2,16,"extra"],[4,7,"extra"],[1,21,"extra"],[3,12,"extra"],[0,26,"extra"],[5,3,"extra"],[2,17,"extra"],[4,8,"extra"],[1,22,"extra"],[3,13,"extra"],[0,27,"extra"],[5,4,"extra"],[2,18,"extra"],[4,9,"extra"],[1,23,"extra"],[6,0,"extra"],[3,14,"extra"],[0,28,"extra"],[5,5,"extra"],[2,19,"extra"],[4,10,"extra"],[1,24,"extra"],[6,1,"extra"],[3,15,"extra"],[0,29,"extra"],[5,6,"extra"],[2,20,"extra"],[4,11,"extra"],[1,25,"extra"],[6,2,"extra"],[3,16,"extra"],[0,30,"extra"],[5,7,"extra"],[2,21,"extra"],[4,12,"extra"],[1,26,"extra"],[6,3,"extra"],[3,17,"extra"],[0,31,"extra"],[5,8,"extra"],[2,22,"extra"],[4,13,"extra"],[1,27,"extra"],[6,4,"extra"],[3,18,"extra"],[0,32,"extra"],[5,9,"extra"],[2,23,"extra"],[7,0,"extra"],[4,14,"extra"],[1,28,"extra"],[6,5,"extra"],[3,19,"extra"],[0,33,"extra"],[5,10,"extra"],[2,24,"extra"],[7,1,"extra"],[4,15,"extra"],[1,29,"extra"],[6,6,"extra"],[3,20,"extra"],[0,34,"extra"],[5,11,"extra"],[2,25,"extra"],[7,2,"extra"],[4,16,"extra"],[1,30,"extra"],[6,7,"extra"],[3,21,"extra"],[0,35,"extra"],[5,12,"extra"],[2,26,"extra"],[7,3,"extra"],[4,17,"extra"],[1,31,"extra"],[6,8,"extra"],[3,22,"extra"],[0,36,"extra"],[5,13,"extra"],[2,27,"extra"],[7,4,"extra"],[4,18,"extra"],[1,32,"extra"],[6,9,"extra"],[3,23,"extra"],[8,0,"extra"],[5,14,"extra"],[2,28,"extra"],[7,5,"extra"],[4,19,"extra"],[1,33,"extra"],[6,10,"extra"],[3,24,"extra"],[8,1,"extra"],[5,15,"extra"],[2,29,"extra"],[7,6,"extra"],[4,20,"extra"],[1,34,"extra"],[6,11,"extra"],[3,25,"extra"],[8,2,"extra"],[5,16,"extra"],[2,30,"extra"],[7,7,"extra"],[4,21,"extra"],[1,35,"extra"],[6,12,"extra"],[3,26,"extra"],[8,3,"extra"],[5,17,"extra"],[2,31,"extra"],[7,8,"extra"],[4,22,"extra"],[1,36,"extra"],[6,13,"extra"],[3,27,"extra"],[8,4,"extra"],[5,18,"extra"],[2,32,"extra"],[7,9,"extra"],[4,23,"extra"],[6,14,"extra"],[3,28,"gauge44"],[8,5,"gauge44"],[5,19,"gauge44"],[2,33,"gauge44"],[7,10,"gauge44"],[4,24,"gauge44"],[6,15,"gauge44"],[3,29,"gauge44"],[8,6,"gauge44"],[5,20,"gauge44"],[2,34,"gauge44"],[7,11,"gauge44"],[4,25,"gauge44"],[6,16,"gauge44"],[3,30,"gauge44"],[8,7,"gauge44"],[5,21,"gauge44"],[2,35,"gauge44"],[7,12,"gauge44"],[4,26,"gauge44"],[6,17,"gauge44"],[3,31,"gauge44"],[8,8,"gauge44"],[5,22,"gauge44"],[2,36,"gauge44"],[7,13,"gauge44"],[4,27,"gauge44"],[6,18,"gauge44"],[3,32,"gauge44"],[8,9,"gauge44"],[5,23,"gauge44"],[7,14,"gauge44"],[4,28,"gauge44"],[6,19,"gauge44"],[3,33,"gauge44"],[8,10,"gauge44"],[5,24,"gauge44"],[7,15,"gauge44"],[4,29,"gauge44"],[6,20,"gauge44"],[3,34,"gauge44"],[8,11,"gauge44"],[5,25,"gauge44"],[7,16,"gauge44"],[4,30,"gauge44"],[6,21,"gauge44"],[3,35,"gauge44"],[8,12,"gauge44"],[5,26,"gauge44"],[7,17,"gauge44"],[4,31,"gauge44"],[6,22,"gauge44"],[3,36,"gauge44"],[8,13,"gauge44"],[5,27,"gauge44"],[7,18,"gauge44"],[4,32,"gauge44"],[6,23,"gauge44"],[8,14,"gauge44"],[5,28,"gauge44"],[7,19,"gauge44"],[4,33,"gauge44"],[6,24,"gauge44"],[8,15,"gauge44"],[5,29,"gauge44"],[7,20,"gauge44"],[4,34,"gauge44"],[6,25,"gauge44"],[8,16,"gauge44"],[5,30,"gauge44"],[7,21,"gauge44"],[4,35,"gauge44"],[6,26,"gauge44"],[8,17,"gauge44"],[5,31,"gauge44"],[7,22,"gauge44"],[4,36,"gauge44"],[6,27,"gauge44"],[8,18,"gauge44"],[5,32,"gauge44"],[7,23,"gauge44"],[6,28,"gauge44"],[8,19,"gauge44"],[5,33,"gauge44"],[7,24,"gauge44"],[6,29,"gauge44"],[8,20,"gauge44"],[5,34,"gauge44"],[7,25,"gauge44"],[6,30,"gauge44"],[8,21,"gauge44"],[5,35,"gauge44"],[7,26,"gauge44"],[6,31,"gauge44"],[8,22,"gauge44"],[5,36,"gauge44"],[7,27,"gauge44"],[6,32,"gauge44"],[8,23,"gauge44"],[7,28,"gauge44"],[6,33,"gauge44"],[8,24,"gauge44"],[7,29,"gauge44"],[6,34,"gauge44"],[8,25,"gauge44"],[7,30,"gauge44"],[6,35,"gauge44"],[8,26,"gauge44"],[7,31,"gauge44"],[6,36,"gauge44"],[8,27,"gauge44"],[7,32,"gauge44"],[8,28,"gauge44"],[7,33,"gauge44"],[8,29,"gauge44"],[7,34,"gauge44"],[8,30,"gauge44"],[7,35,"gauge44"],[8,31,"gauge44"],[7,36,"gauge44"],[8,32,"gauge44"],[8,33,"gauge44"],[8,34,"gauge44"],[8,35,"gauge44"],[8,36,"gauge44"],[0,37,"extra"],[0,38,"gauge44"],[1,37,"gauge44"],[0,39,"gauge44"],[1,38,"gauge44"],[2,37,"gauge44"],[0,40,"gauge44"],[3,37,"gauge44"],[1,39,"gauge44"],[2,38,"gauge44"],[0,41,"gauge44"],[2,39,"gauge44"],[1,40,"gauge44"],[3,38,"gauge44"],[4,37,"gauge44"],[0,42,"gauge44"],[1,41,"gauge44"],[2,40,"gauge44"],[3,39,"gauge44"],[4,38,"gauge44"],[5,37,"gauge44"],[0,43,"gauge44"],[1,42,"gauge44"],[2,41,"gauge44"],[3,40,"gauge44"],[4,39,"gauge44"],[5,38,"gauge44"],[0,44,"gauge44"],[6,37,"gauge44"],[1,43,"gauge44"],[2,42,"gauge44"],[3,41,"gauge44"],[4,40,"gauge44"],[5,39,"gauge44"],[6,38,"gauge44"],[1,44,"gauge44"],[7,37,"gauge44"],[2,43,"gauge44"],[3,42,"gauge44"],[4,41,"gauge44"],[5,40,"gauge44"],[6,39,"gauge44"],[7,38,"gauge44"],[2,44,"gauge44"],[8,37,"gauge44"],[3,43,"gauge44"],[4,42,"gauge44"],[5,41,"gauge44"],[6,40,"gauge44"],[7,39,"gauge44"],[8,38,"gauge44"],[3,44,"gauge44"],[4,43,"gauge44"],[5,42,"gauge44"],[6,41,"gauge44"],[7,40,"gauge44"],[8,39,"gauge44"],[4,44,"gauge44"],[5,43,"gauge44"],[6,42,"gauge44"],[7,41,"gauge44"],[8,40,"gauge44"],[5,44,"gauge44"],[6,43,"gauge44"],[7,42,"gauge44"],[8,41,"gauge44"],[6,44,"gauge44"],[7,43,"gauge44"],[8,42,"gauge44"],[7,44,"gauge44"],[8,43,"gauge44"],[8,44,"gauge44"],[0,45,"extra"],[0,53,"gauge44"],[0,46,"gauge44"],[0,54,"gauge44"],[1,45,"gauge44"],[1,53,"gauge44"],[0,47,"gauge44"],[0,55,"gauge44"],[1,46,"gauge44"],[1,54,"gauge44"],[2,45,"gauge44"],[2,53,"gauge44"],[0,48,"gauge44"],[0,56,"gauge44"],[1,47,"gauge44"],[1,55,"gauge44"],[2,46,"gauge44"],[2,54,"gauge44"],[3,45,"gauge44"],[3,53,"gauge44"],[0,49,"gauge44"],[0,57,"gauge44"],[1,48,"gauge44"],[1,56,"gauge44"],[2,47,"gauge44"],[2,55,"gauge44"],[3,46,"gauge44"],[3,54,"gauge44"],[4,45,"gauge44"],[4,53,"gauge44"],[0,50,"gauge44"],[0,58,"gauge44"],[1,49,"gauge44"],[1,57,"gauge44"],[2,48,"gauge44"],[2,56,"gauge44"],[3,47,"gauge44"],[3,55,"gauge44"],[4,46,"gauge44"],[4,54,"gauge44"],[5,45,"gauge44"],[5,53,"gauge44"],[0,51,"gauge44"],[0,59,"gauge44"],[1,50,"gauge44"],[1,58,"gauge44"],[2,49,"gauge44"],[2,57,"gauge44"],[3,48,"gauge44"],[3,56,"gauge44"],[4,47,"gauge44"],[4,55,"gauge44"],[5,46,"gauge44"],[5,54,"gauge44"],[0,52,"gauge44"],[0,60,"gauge44"],[6,45,"gauge44"],[6,53,"gauge44"],[1,51,"gauge44"],[1,59,"gauge44"],[2,50,"gauge44"],[2,58,"gauge44"],[3,49,"gauge44"],[3,57,"gauge44"],[4,48,"gauge44"],[4,56,"gauge44"],[5,47,"gauge44"],[5,55,"gauge44"],[6,46,"gauge44"],[6,54,"gauge44"],[1,52,"gauge44"],[1,60,"gauge44"],[7,45,"gauge44"],[7,53,"gauge44"],[2,51,"gauge44"],[2,59,"gauge44"],[3,50,"gauge44"],[3,58,"gauge44"],[4,49,"gauge44"],[4,57,"gauge44"],[5,48,"gauge44"],[5,56,"gauge44"],[6,47,"gauge44"],[6,55,"gauge44"],[7,46,"gauge44"],[7,54,"gauge44"],[2,52,"gauge44"],[2,60,"gauge44"],[8,45,"gauge44"],[8,53,"gauge44"],[3,51,"gauge44"],[3,59,"gauge44"],[4,50,"gauge44"],[4,58,"gauge44"],[5,49,"gauge44"],[5,57,"gauge44"],[6,48,"gauge44"],[6,56,"gauge44"],[7,47,"gauge44"],[7,55,"gauge44"],[8,46,"gauge44"],[8,54,"gauge44"],[3,52,"gauge44"],[3,60,"gauge44"],[4,51,"gauge44"],[4,59,"gauge44"],[5,50,"gauge44"],[5,58,"gauge44"],[6,49,"gauge44"],[6,57,"gauge44"],[7,48,"gauge44"],[7,56,"gauge44"],[8,47,"gauge44"],[8,55,"gauge44"],[4,52,"gauge44"],[4,60,"gauge44"],[5,51,"gauge44"],[5,59,"gauge44"],[6,50,"gauge44"],[6,58,"gauge44"],[7,49,"gauge44"],[7,57,"gauge44"],[8,48,"gauge44"],[8,56,"gauge44"],[5,52,"gauge44"],[5,60,"gauge44"],[6,51,"gauge44"],[6,59,"gauge44"],[7,50,"gauge44"],[7,58,"gauge44"],[8,49,"gauge44"],[8,57,"gauge44"],[6,52,"gauge44"],[6,60,"gauge44"],[7,51,"gauge44"],[7,59,"gauge44"],[8,50,"gauge44"],[8,58,"gauge44"],[7,52,"gauge44"],[7,60,"gauge44"],[8,51,"gauge44"],[8,59,"gauge44"],[8,52,"gauge44"],[8,60,"gauge44"],[0,61,"extra"],[0,69,"gauge44"],[0,62,"gauge44"],[0,70,"gauge44"],[1,61,"gauge44"],[1,69,"gauge44"],[0,63,"gauge44"],[0,71,"gauge44"],[1,62,"gauge44"],[1,70,"gauge44"],[2,61,"gauge44"],[2,69,"gauge44"],[0,64,"gauge44"],[0,72,"gauge44"],[1,63,"gauge44"],[1,71,"gauge44"],[2,62,"gauge44"],[2,70,"gauge44"],[3,61,"gauge44"],[3,69,"gauge44"],[0,65,"gauge44"],[0,73,"gauge44"],[1,64,"gauge44"],[1,72,"gauge44"],[2,63,"gauge44"],[2,71,"gauge44"],[3,62,"gauge44"],[3,70,"gauge44"],[4,61,"gauge44"],[4,69,"gauge44"],[0,66,"gauge44"],[0,74,"gauge44"],[1,65,"gauge44"],[1,73,"gauge44"],[2,64,"gauge44"],[2,72,"gauge44"],[3,63,"gauge44"],[3,71,"gauge44"],[4,62,"gauge44"],[4,70,"gauge44"],[5,61,"gauge44"],[5,69,"gauge44"],[0,67,"gauge44"],[0,75,"gauge44"],[1,66,"gauge44"],[1,74,"gauge44"],[2,65,"gauge44"],[2,73,"gauge44"],[3,64,"gauge44"],[3,72,"gauge44"],[4,63,"gauge44"],[4,71,"gauge44"],[5,62,"gauge44"],[5,70,"gauge44"],[0,68,"gauge44"],[0,76,"gauge44"],[6,61,"gauge44"],[6,69,"gauge44"],[1,67,"gauge44"],[1,75,"gauge44"],[2,66,"gauge44"],[2,74,"gauge44"],[3,65,"gauge44"],[3,73,"gauge44"],[4,64,"gauge44"],[4,72,"gauge44"],[5,63,"gauge44"],[5,71,"gauge44"],[6,62,"gauge44"],[6,70,"gauge44"],[1,68,"gauge44"],[1,76,"gauge44"],[7,61,"gauge44"],[7,69,"gauge44"],[2,67,"gauge44"],[2,75,"gauge44"],[3,66,"gauge44"],[3,74,"gauge44"],[4,65,"gauge44"],[4,73,"gauge44"],[5,64,"gauge44"],[5,72,"gauge44"],[6,63,"gauge44"],[6,71,"gauge44"],[7,62,"gauge44"],[7,70,"gauge44"],[2,68,"gauge44"],[2,76,"gauge44"],[8,61,"gauge44"],[8,69,"gauge44"],[3,67,"gauge44"],[3,75,"gauge44"],[4,66,"gauge44"],[4,74,"gauge44"],[5,65,"gauge44"],[5,73,"gauge44"],[6,64,"gauge44"],[6,72,"gauge44"],[7,63,"gauge44"],[7,71,"gauge44"],[8,62,"gauge44"],[8,70,"gauge44"],[3,68,"gauge44"],[3,76,"gauge44"],[4,67,"gauge44"],[4,75,"gauge44"],[5,66,"gauge44"],[5,74,"gauge44"],[6,65,"gauge44"],[6,73,"gauge44"],[7,64,"gauge44"],[7,72,"gauge44"],[8,63,"gauge44"],[8,71,"gauge44"],[4,68,"gauge44"],[4,76,"gauge44"],[5,67,"gauge44"],[5,75,"gauge44"],[6,66,"gauge44"],[6,74,"gauge44"],[7,65,"gauge44"],[7,73,"gauge44"],[8,64,"gauge44"],[8,72,"gauge44"],[5,68,"gauge44"],[5,76,"gauge44"],[6,67,"gauge44"],[6,75,"gauge44"],[7,66,"gauge44"],[7,74,"gauge44"],[8,65,"gauge44"],[8,73,"gauge44"],[6,68,"gauge44"],[6,76,"gauge44"],[7,67,"gauge44"],[7,75,"gauge44"],[8,66,"gauge44"],[8,74,"gauge44"],[7,68,"gauge44"],[7,76,"gauge44"],[8,67,"gauge44"],[8,75,"gauge44"],[8,68,"gauge44"],[8,76,"gauge44"]],"provenance":{"scope":"New finite concatenation of retained61 macroclock and another retainedT16; windows must be rebuilt from3734.","pins":{"CANDIDATE.json":"fbdda845beac5bba9baa4b1b8c8f596e98f70b59e1d60ebf4f4d3e8758631bfd","T16-ORDER.json":"9b2106c84aed23a7c3c8b99e21d3e96c66b12f92980a42ab2f6dbbe7831ef7c4","T16-DISPATCH.json":"282960b7163bc305675b64d1d0faee9f71b18848748326418a013626944c6488"}}} diff --git a/research/staged544-t385/inputs/DISPATCH.json b/research/staged544-t385/inputs/DISPATCH.json new file mode 100644 index 0000000000..a132c5ab63 --- /dev/null +++ b/research/staged544-t385/inputs/DISPATCH.json @@ -0,0 +1 @@ +[[0,0,"extra"],[0,77,"extra"],[0,154,"extra"],[0,231,"extra"],[0,308,"extra"],[0,1,"extra"],[0,78,"extra"],[0,155,"extra"],[0,232,"extra"],[0,309,"extra"],[0,2,"extra"],[0,79,"extra"],[0,156,"extra"],[0,233,"extra"],[0,310,"extra"],[0,3,"extra"],[0,80,"extra"],[0,157,"extra"],[0,234,"extra"],[0,311,"extra"],[0,4,"extra"],[0,81,"extra"],[0,158,"extra"],[0,235,"extra"],[0,312,"extra"],[1,0,"extra"],[1,77,"extra"],[1,154,"extra"],[1,231,"extra"],[1,308,"extra"],[0,5,"extra"],[0,82,"extra"],[0,159,"extra"],[0,236,"extra"],[0,313,"extra"],[1,1,"extra"],[1,78,"extra"],[1,155,"extra"],[1,232,"extra"],[1,309,"extra"],[0,6,"extra"],[0,83,"extra"],[0,160,"extra"],[0,237,"extra"],[0,314,"extra"],[1,2,"extra"],[1,79,"extra"],[1,156,"extra"],[1,233,"extra"],[1,310,"extra"],[0,7,"extra"],[0,84,"extra"],[0,161,"extra"],[0,238,"extra"],[0,315,"extra"],[1,3,"extra"],[1,80,"extra"],[1,157,"extra"],[1,234,"extra"],[1,311,"extra"],[0,8,"extra"],[0,85,"extra"],[0,162,"extra"],[0,239,"extra"],[0,316,"extra"],[1,4,"extra"],[1,81,"extra"],[1,158,"extra"],[1,235,"extra"],[1,312,"extra"],[0,9,"extra"],[0,86,"extra"],[0,163,"extra"],[0,240,"extra"],[0,317,"extra"],[2,0,"extra"],[2,77,"extra"],[2,154,"extra"],[2,231,"extra"],[2,308,"extra"],[1,5,"extra"],[1,82,"extra"],[1,159,"extra"],[1,236,"extra"],[1,313,"extra"],[0,10,"extra"],[0,87,"extra"],[0,164,"extra"],[0,241,"extra"],[0,318,"extra"],[2,1,"extra"],[2,78,"extra"],[2,155,"extra"],[2,232,"extra"],[2,309,"extra"],[1,6,"extra"],[1,83,"extra"],[1,160,"extra"],[1,237,"extra"],[1,314,"extra"],[0,11,"extra"],[0,88,"extra"],[0,165,"extra"],[0,242,"extra"],[0,319,"extra"],[2,2,"extra"],[2,79,"extra"],[2,156,"extra"],[2,233,"extra"],[2,310,"extra"],[1,7,"extra"],[1,84,"extra"],[1,161,"extra"],[1,238,"extra"],[1,315,"extra"],[0,12,"extra"],[0,89,"extra"],[0,166,"extra"],[0,243,"extra"],[0,320,"extra"],[2,3,"extra"],[2,80,"extra"],[2,157,"extra"],[2,234,"extra"],[2,311,"extra"],[1,8,"extra"],[1,85,"extra"],[1,162,"extra"],[1,239,"extra"],[1,316,"extra"],[0,13,"extra"],[0,90,"extra"],[0,167,"extra"],[0,244,"extra"],[0,321,"extra"],[2,4,"extra"],[2,81,"extra"],[2,158,"extra"],[2,235,"extra"],[2,312,"extra"],[1,9,"extra"],[1,86,"extra"],[1,163,"extra"],[1,240,"extra"],[1,317,"extra"],[3,0,"extra"],[3,77,"extra"],[3,154,"extra"],[3,231,"extra"],[3,308,"extra"],[0,14,"extra"],[0,91,"extra"],[0,168,"extra"],[0,245,"extra"],[0,322,"extra"],[2,5,"extra"],[2,82,"extra"],[2,159,"extra"],[2,236,"extra"],[2,313,"extra"],[1,10,"extra"],[1,87,"extra"],[1,164,"extra"],[1,241,"extra"],[1,318,"extra"],[3,1,"extra"],[3,78,"extra"],[3,155,"extra"],[3,232,"extra"],[3,309,"extra"],[0,15,"extra"],[0,92,"extra"],[0,169,"extra"],[0,246,"extra"],[0,323,"extra"],[2,6,"extra"],[2,83,"extra"],[2,160,"extra"],[2,237,"extra"],[2,314,"extra"],[1,11,"extra"],[1,88,"extra"],[1,165,"extra"],[1,242,"extra"],[1,319,"extra"],[3,2,"extra"],[3,79,"extra"],[3,156,"extra"],[3,233,"extra"],[3,310,"extra"],[0,16,"extra"],[0,93,"extra"],[0,170,"extra"],[0,247,"extra"],[0,324,"extra"],[2,7,"extra"],[2,84,"extra"],[2,161,"extra"],[2,238,"extra"],[2,315,"extra"],[1,12,"extra"],[1,89,"extra"],[1,166,"extra"],[1,243,"extra"],[1,320,"extra"],[3,3,"extra"],[3,80,"extra"],[3,157,"extra"],[3,234,"extra"],[3,311,"extra"],[0,17,"extra"],[0,94,"extra"],[0,171,"extra"],[0,248,"extra"],[0,325,"extra"],[2,8,"extra"],[2,85,"extra"],[2,162,"extra"],[2,239,"extra"],[2,316,"extra"],[1,13,"extra"],[1,90,"extra"],[1,167,"extra"],[1,244,"extra"],[1,321,"extra"],[3,4,"extra"],[3,81,"extra"],[3,158,"extra"],[3,235,"extra"],[3,312,"extra"],[0,18,"extra"],[0,95,"extra"],[0,172,"extra"],[0,249,"extra"],[0,326,"extra"],[2,9,"extra"],[2,86,"extra"],[2,163,"extra"],[2,240,"extra"],[2,317,"extra"],[4,0,"extra"],[4,77,"extra"],[4,154,"extra"],[4,231,"extra"],[4,308,"extra"],[1,14,"extra"],[1,91,"extra"],[1,168,"extra"],[1,245,"extra"],[1,322,"extra"],[3,5,"extra"],[3,82,"extra"],[3,159,"extra"],[3,236,"extra"],[3,313,"extra"],[0,19,"extra"],[0,96,"extra"],[0,173,"extra"],[0,250,"extra"],[0,327,"extra"],[2,10,"extra"],[2,87,"extra"],[2,164,"extra"],[2,241,"extra"],[2,318,"extra"],[4,1,"extra"],[4,78,"extra"],[4,155,"extra"],[4,232,"extra"],[4,309,"extra"],[1,15,"extra"],[1,92,"extra"],[1,169,"extra"],[1,246,"extra"],[1,323,"extra"],[3,6,"extra"],[3,83,"extra"],[3,160,"extra"],[3,237,"extra"],[3,314,"extra"],[0,20,"extra"],[0,97,"extra"],[0,174,"extra"],[0,251,"extra"],[0,328,"extra"],[2,11,"extra"],[2,88,"extra"],[2,165,"extra"],[2,242,"extra"],[2,319,"extra"],[4,2,"extra"],[4,79,"extra"],[4,156,"extra"],[4,233,"extra"],[4,310,"extra"],[1,16,"extra"],[1,93,"extra"],[1,170,"extra"],[1,247,"extra"],[1,324,"extra"],[3,7,"extra"],[3,84,"extra"],[3,161,"extra"],[3,238,"extra"],[3,315,"extra"],[0,21,"extra"],[0,98,"extra"],[0,175,"extra"],[0,252,"extra"],[0,329,"extra"],[2,12,"extra"],[2,89,"extra"],[2,166,"extra"],[2,243,"extra"],[2,320,"extra"],[4,3,"extra"],[4,80,"extra"],[4,157,"extra"],[4,234,"extra"],[4,311,"extra"],[1,17,"extra"],[1,94,"extra"],[1,171,"extra"],[1,248,"extra"],[1,325,"extra"],[3,8,"extra"],[3,85,"extra"],[3,162,"extra"],[3,239,"extra"],[3,316,"extra"],[0,22,"extra"],[0,99,"extra"],[0,176,"extra"],[0,253,"extra"],[0,330,"extra"],[2,13,"extra"],[2,90,"extra"],[2,167,"extra"],[2,244,"extra"],[2,321,"extra"],[4,4,"extra"],[4,81,"extra"],[4,158,"extra"],[4,235,"extra"],[4,312,"extra"],[1,18,"extra"],[1,95,"extra"],[1,172,"extra"],[1,249,"extra"],[1,326,"extra"],[3,9,"extra"],[3,86,"extra"],[3,163,"extra"],[3,240,"extra"],[3,317,"extra"],[0,23,"extra"],[0,100,"extra"],[0,177,"extra"],[0,254,"extra"],[0,331,"extra"],[5,0,"extra"],[5,77,"extra"],[5,154,"extra"],[5,231,"extra"],[5,308,"extra"],[2,14,"extra"],[2,91,"extra"],[2,168,"extra"],[2,245,"extra"],[2,322,"extra"],[4,5,"extra"],[4,82,"extra"],[4,159,"extra"],[4,236,"extra"],[4,313,"extra"],[1,19,"extra"],[1,96,"extra"],[1,173,"extra"],[1,250,"extra"],[1,327,"extra"],[3,10,"extra"],[3,87,"extra"],[3,164,"extra"],[3,241,"extra"],[3,318,"extra"],[0,24,"extra"],[0,101,"extra"],[0,178,"extra"],[0,255,"extra"],[0,332,"extra"],[5,1,"extra"],[5,78,"extra"],[5,155,"extra"],[5,232,"extra"],[5,309,"extra"],[2,15,"extra"],[2,92,"extra"],[2,169,"extra"],[2,246,"extra"],[2,323,"extra"],[4,6,"extra"],[4,83,"extra"],[4,160,"extra"],[4,237,"extra"],[4,314,"extra"],[1,20,"extra"],[1,97,"extra"],[1,174,"extra"],[1,251,"extra"],[1,328,"extra"],[3,11,"extra"],[3,88,"extra"],[3,165,"extra"],[3,242,"extra"],[3,319,"extra"],[0,25,"extra"],[0,102,"extra"],[0,179,"extra"],[0,256,"extra"],[0,333,"extra"],[5,2,"extra"],[5,79,"extra"],[5,156,"extra"],[5,233,"extra"],[5,310,"extra"],[2,16,"extra"],[2,93,"extra"],[2,170,"extra"],[2,247,"extra"],[2,324,"extra"],[4,7,"extra"],[4,84,"extra"],[4,161,"extra"],[4,238,"extra"],[4,315,"extra"],[1,21,"extra"],[1,98,"extra"],[1,175,"extra"],[1,252,"extra"],[1,329,"extra"],[3,12,"extra"],[3,89,"extra"],[3,166,"extra"],[3,243,"extra"],[3,320,"extra"],[0,26,"extra"],[0,103,"extra"],[0,180,"extra"],[0,257,"extra"],[0,334,"extra"],[5,3,"extra"],[5,80,"extra"],[5,157,"extra"],[5,234,"extra"],[5,311,"extra"],[2,17,"extra"],[2,94,"extra"],[2,171,"extra"],[2,248,"extra"],[2,325,"extra"],[4,8,"extra"],[4,85,"extra"],[4,162,"extra"],[4,239,"extra"],[4,316,"extra"],[1,22,"extra"],[1,99,"extra"],[1,176,"extra"],[1,253,"extra"],[1,330,"extra"],[3,13,"extra"],[3,90,"extra"],[3,167,"extra"],[3,244,"extra"],[3,321,"extra"],[0,27,"extra"],[0,104,"extra"],[0,181,"extra"],[0,258,"extra"],[0,335,"extra"],[5,4,"extra"],[5,81,"extra"],[5,158,"extra"],[5,235,"extra"],[5,312,"extra"],[2,18,"extra"],[2,95,"extra"],[2,172,"extra"],[2,249,"extra"],[2,326,"extra"],[4,9,"extra"],[4,86,"extra"],[4,163,"extra"],[4,240,"extra"],[4,317,"extra"],[1,23,"extra"],[1,100,"extra"],[1,177,"extra"],[1,254,"extra"],[1,331,"extra"],[6,0,"extra"],[6,77,"extra"],[6,154,"extra"],[6,231,"extra"],[6,308,"extra"],[3,14,"extra"],[3,91,"extra"],[3,168,"extra"],[3,245,"extra"],[3,322,"extra"],[0,28,"extra"],[0,105,"extra"],[0,182,"extra"],[0,259,"extra"],[0,336,"extra"],[5,5,"extra"],[5,82,"extra"],[5,159,"extra"],[5,236,"extra"],[5,313,"extra"],[2,19,"extra"],[2,96,"extra"],[2,173,"extra"],[2,250,"extra"],[2,327,"extra"],[4,10,"extra"],[4,87,"extra"],[4,164,"extra"],[4,241,"extra"],[4,318,"extra"],[1,24,"extra"],[1,101,"extra"],[1,178,"extra"],[1,255,"extra"],[1,332,"extra"],[6,1,"extra"],[6,78,"extra"],[6,155,"extra"],[6,232,"extra"],[6,309,"extra"],[3,15,"extra"],[3,92,"extra"],[3,169,"extra"],[3,246,"extra"],[3,323,"extra"],[0,29,"extra"],[0,106,"extra"],[0,183,"extra"],[0,260,"extra"],[0,337,"extra"],[5,6,"extra"],[5,83,"extra"],[5,160,"extra"],[5,237,"extra"],[5,314,"extra"],[2,20,"extra"],[2,97,"extra"],[2,174,"extra"],[2,251,"extra"],[2,328,"extra"],[4,11,"extra"],[4,88,"extra"],[4,165,"extra"],[4,242,"extra"],[4,319,"extra"],[1,25,"extra"],[1,102,"extra"],[1,179,"extra"],[1,256,"extra"],[1,333,"extra"],[6,2,"extra"],[6,79,"extra"],[6,156,"extra"],[6,233,"extra"],[6,310,"extra"],[3,16,"extra"],[3,93,"extra"],[3,170,"extra"],[3,247,"extra"],[3,324,"extra"],[0,30,"extra"],[0,107,"extra"],[0,184,"extra"],[0,261,"extra"],[0,338,"extra"],[5,7,"extra"],[5,84,"extra"],[5,161,"extra"],[5,238,"extra"],[5,315,"extra"],[2,21,"extra"],[2,98,"extra"],[2,175,"extra"],[2,252,"extra"],[2,329,"extra"],[4,12,"extra"],[4,89,"extra"],[4,166,"extra"],[4,243,"extra"],[4,320,"extra"],[1,26,"extra"],[1,103,"extra"],[1,180,"extra"],[1,257,"extra"],[1,334,"extra"],[6,3,"extra"],[6,80,"extra"],[6,157,"extra"],[6,234,"extra"],[6,311,"extra"],[3,17,"extra"],[3,94,"extra"],[3,171,"extra"],[3,248,"extra"],[3,325,"extra"],[0,31,"extra"],[0,108,"extra"],[0,185,"extra"],[0,262,"extra"],[0,339,"extra"],[5,8,"extra"],[5,85,"extra"],[5,162,"extra"],[5,239,"extra"],[5,316,"extra"],[2,22,"extra"],[2,99,"extra"],[2,176,"extra"],[2,253,"extra"],[2,330,"extra"],[4,13,"extra"],[4,90,"extra"],[4,167,"extra"],[4,244,"extra"],[4,321,"extra"],[1,27,"extra"],[1,104,"extra"],[1,181,"extra"],[1,258,"extra"],[1,335,"extra"],[6,4,"extra"],[6,81,"extra"],[6,158,"extra"],[6,235,"extra"],[6,312,"extra"],[3,18,"extra"],[3,95,"extra"],[3,172,"extra"],[3,249,"extra"],[3,326,"extra"],[0,32,"extra"],[0,109,"extra"],[0,186,"extra"],[0,263,"extra"],[0,340,"extra"],[5,9,"extra"],[5,86,"extra"],[5,163,"extra"],[5,240,"extra"],[5,317,"extra"],[2,23,"extra"],[2,100,"extra"],[2,177,"extra"],[2,254,"extra"],[2,331,"extra"],[7,0,"extra"],[7,77,"extra"],[7,154,"extra"],[7,231,"extra"],[7,308,"extra"],[4,14,"extra"],[4,91,"extra"],[4,168,"extra"],[4,245,"extra"],[4,322,"extra"],[1,28,"extra"],[1,105,"extra"],[1,182,"extra"],[1,259,"extra"],[1,336,"extra"],[6,5,"extra"],[6,82,"extra"],[6,159,"extra"],[6,236,"extra"],[6,313,"extra"],[3,19,"extra"],[3,96,"extra"],[3,173,"extra"],[3,250,"extra"],[3,327,"extra"],[0,33,"extra"],[0,110,"extra"],[0,187,"extra"],[0,264,"extra"],[0,341,"extra"],[5,10,"extra"],[5,87,"extra"],[5,164,"extra"],[5,241,"extra"],[5,318,"extra"],[2,24,"extra"],[2,101,"extra"],[2,178,"extra"],[2,255,"extra"],[2,332,"extra"],[7,1,"extra"],[7,78,"extra"],[7,155,"extra"],[7,232,"extra"],[7,309,"extra"],[4,15,"extra"],[4,92,"extra"],[4,169,"extra"],[4,246,"extra"],[4,323,"extra"],[1,29,"extra"],[1,106,"extra"],[1,183,"extra"],[1,260,"extra"],[1,337,"extra"],[6,6,"extra"],[6,83,"extra"],[6,160,"extra"],[6,237,"extra"],[6,314,"extra"],[3,20,"extra"],[3,97,"extra"],[3,174,"extra"],[3,251,"extra"],[3,328,"extra"],[0,34,"extra"],[0,111,"extra"],[0,188,"extra"],[0,265,"extra"],[0,342,"extra"],[5,11,"extra"],[5,88,"extra"],[5,165,"extra"],[5,242,"extra"],[5,319,"extra"],[2,25,"extra"],[2,102,"extra"],[2,179,"extra"],[2,256,"extra"],[2,333,"extra"],[7,2,"extra"],[7,79,"extra"],[7,156,"extra"],[7,233,"extra"],[7,310,"extra"],[4,16,"extra"],[4,93,"extra"],[4,170,"extra"],[4,247,"extra"],[4,324,"extra"],[1,30,"extra"],[1,107,"extra"],[1,184,"extra"],[1,261,"extra"],[1,338,"extra"],[6,7,"extra"],[6,84,"extra"],[6,161,"extra"],[6,238,"extra"],[6,315,"extra"],[3,21,"extra"],[3,98,"extra"],[3,175,"extra"],[3,252,"extra"],[3,329,"extra"],[0,35,"extra"],[0,112,"extra"],[0,189,"extra"],[0,266,"extra"],[0,343,"extra"],[5,12,"extra"],[5,89,"extra"],[5,166,"extra"],[5,243,"extra"],[5,320,"extra"],[2,26,"extra"],[2,103,"extra"],[2,180,"extra"],[2,257,"extra"],[2,334,"extra"],[7,3,"extra"],[7,80,"extra"],[7,157,"extra"],[7,234,"extra"],[7,311,"extra"],[4,17,"extra"],[4,94,"extra"],[4,171,"extra"],[4,248,"extra"],[4,325,"extra"],[1,31,"extra"],[1,108,"extra"],[1,185,"extra"],[1,262,"extra"],[1,339,"extra"],[6,8,"extra"],[6,85,"extra"],[6,162,"extra"],[6,239,"extra"],[6,316,"extra"],[3,22,"extra"],[3,99,"extra"],[3,176,"extra"],[3,253,"extra"],[3,330,"extra"],[0,36,"extra"],[0,113,"extra"],[0,190,"extra"],[0,267,"extra"],[0,344,"extra"],[5,13,"extra"],[5,90,"extra"],[5,167,"extra"],[5,244,"extra"],[5,321,"extra"],[2,27,"extra"],[2,104,"extra"],[2,181,"extra"],[2,258,"extra"],[2,335,"extra"],[7,4,"extra"],[7,81,"extra"],[7,158,"extra"],[7,235,"extra"],[7,312,"extra"],[4,18,"extra"],[4,95,"extra"],[4,172,"extra"],[4,249,"extra"],[4,326,"extra"],[1,32,"extra"],[1,109,"extra"],[1,186,"extra"],[1,263,"extra"],[1,340,"extra"],[6,9,"extra"],[6,86,"extra"],[6,163,"extra"],[6,240,"extra"],[6,317,"extra"],[3,23,"extra"],[3,100,"extra"],[3,177,"extra"],[3,254,"extra"],[3,331,"extra"],[8,0,"extra"],[8,77,"extra"],[8,154,"extra"],[8,231,"extra"],[8,308,"extra"],[5,14,"extra"],[5,91,"extra"],[5,168,"extra"],[5,245,"extra"],[5,322,"extra"],[2,28,"extra"],[2,105,"extra"],[2,182,"extra"],[2,259,"extra"],[2,336,"extra"],[7,5,"extra"],[7,82,"extra"],[7,159,"extra"],[7,236,"extra"],[7,313,"extra"],[4,19,"extra"],[4,96,"extra"],[4,173,"extra"],[4,250,"extra"],[4,327,"extra"],[1,33,"extra"],[1,110,"extra"],[1,187,"extra"],[1,264,"extra"],[1,341,"extra"],[6,10,"extra"],[6,87,"extra"],[6,164,"extra"],[6,241,"extra"],[6,318,"extra"],[3,24,"extra"],[3,101,"extra"],[3,178,"extra"],[3,255,"extra"],[3,332,"extra"],[8,1,"extra"],[8,78,"extra"],[8,155,"extra"],[8,232,"extra"],[8,309,"extra"],[5,15,"extra"],[5,92,"extra"],[5,169,"extra"],[5,246,"extra"],[5,323,"extra"],[2,29,"extra"],[2,106,"extra"],[2,183,"extra"],[2,260,"extra"],[2,337,"extra"],[7,6,"extra"],[7,83,"extra"],[7,160,"extra"],[7,237,"extra"],[7,314,"extra"],[4,20,"extra"],[4,97,"extra"],[4,174,"extra"],[4,251,"extra"],[4,328,"extra"],[1,34,"extra"],[1,111,"extra"],[1,188,"extra"],[1,265,"extra"],[1,342,"extra"],[6,11,"extra"],[6,88,"extra"],[6,165,"extra"],[6,242,"extra"],[6,319,"extra"],[3,25,"extra"],[3,102,"extra"],[3,179,"extra"],[3,256,"extra"],[3,333,"extra"],[8,2,"extra"],[8,79,"extra"],[8,156,"extra"],[8,233,"extra"],[8,310,"extra"],[5,16,"extra"],[5,93,"extra"],[5,170,"extra"],[5,247,"extra"],[5,324,"extra"],[2,30,"extra"],[2,107,"extra"],[2,184,"extra"],[2,261,"extra"],[2,338,"extra"],[7,7,"extra"],[7,84,"extra"],[7,161,"extra"],[7,238,"extra"],[7,315,"extra"],[4,21,"extra"],[4,98,"extra"],[4,175,"extra"],[4,252,"extra"],[4,329,"extra"],[1,35,"extra"],[1,112,"extra"],[1,189,"extra"],[1,266,"extra"],[1,343,"extra"],[6,12,"extra"],[6,89,"extra"],[6,166,"extra"],[6,243,"extra"],[6,320,"extra"],[3,26,"extra"],[3,103,"extra"],[3,180,"extra"],[3,257,"extra"],[3,334,"extra"],[8,3,"extra"],[8,80,"extra"],[8,157,"extra"],[8,234,"extra"],[8,311,"extra"],[5,17,"extra"],[5,94,"extra"],[5,171,"extra"],[5,248,"extra"],[5,325,"extra"],[2,31,"extra"],[2,108,"extra"],[2,185,"extra"],[2,262,"extra"],[2,339,"extra"],[7,8,"extra"],[7,85,"extra"],[7,162,"extra"],[7,239,"extra"],[7,316,"extra"],[4,22,"extra"],[4,99,"extra"],[4,176,"extra"],[4,253,"extra"],[4,330,"extra"],[1,36,"extra"],[1,113,"extra"],[1,190,"extra"],[1,267,"extra"],[1,344,"extra"],[6,13,"extra"],[6,90,"extra"],[6,167,"extra"],[6,244,"extra"],[6,321,"extra"],[3,27,"extra"],[3,104,"extra"],[3,181,"extra"],[3,258,"extra"],[3,335,"extra"],[8,4,"extra"],[8,81,"extra"],[8,158,"extra"],[8,235,"extra"],[8,312,"extra"],[5,18,"extra"],[5,95,"extra"],[5,172,"extra"],[5,249,"extra"],[5,326,"extra"],[2,32,"extra"],[2,109,"extra"],[2,186,"extra"],[2,263,"extra"],[2,340,"extra"],[7,9,"extra"],[7,86,"extra"],[7,163,"extra"],[7,240,"extra"],[7,317,"extra"],[4,23,"extra"],[4,100,"extra"],[4,177,"extra"],[4,254,"extra"],[4,331,"extra"],[6,14,"extra"],[6,91,"extra"],[6,168,"extra"],[6,245,"extra"],[6,322,"extra"],[3,28,"gauge44"],[3,105,"gauge44"],[3,182,"gauge44"],[3,259,"gauge44"],[3,336,"gauge44"],[8,5,"gauge44"],[8,82,"gauge44"],[8,159,"gauge44"],[8,236,"gauge44"],[8,313,"gauge44"],[5,19,"gauge44"],[5,96,"gauge44"],[5,173,"gauge44"],[5,250,"gauge44"],[5,327,"gauge44"],[2,33,"gauge44"],[2,110,"gauge44"],[2,187,"gauge44"],[2,264,"gauge44"],[2,341,"gauge44"],[7,10,"gauge44"],[7,87,"gauge44"],[7,164,"gauge44"],[7,241,"gauge44"],[7,318,"gauge44"],[4,24,"gauge44"],[4,101,"gauge44"],[4,178,"gauge44"],[4,255,"gauge44"],[4,332,"gauge44"],[6,15,"gauge44"],[6,92,"gauge44"],[6,169,"gauge44"],[6,246,"gauge44"],[6,323,"gauge44"],[3,29,"gauge44"],[3,106,"gauge44"],[3,183,"gauge44"],[3,260,"gauge44"],[3,337,"gauge44"],[8,6,"gauge44"],[8,83,"gauge44"],[8,160,"gauge44"],[8,237,"gauge44"],[8,314,"gauge44"],[5,20,"gauge44"],[5,97,"gauge44"],[5,174,"gauge44"],[5,251,"gauge44"],[5,328,"gauge44"],[2,34,"gauge44"],[2,111,"gauge44"],[2,188,"gauge44"],[2,265,"gauge44"],[2,342,"gauge44"],[7,11,"gauge44"],[7,88,"gauge44"],[7,165,"gauge44"],[7,242,"gauge44"],[7,319,"gauge44"],[4,25,"gauge44"],[4,102,"gauge44"],[4,179,"gauge44"],[4,256,"gauge44"],[4,333,"gauge44"],[6,16,"gauge44"],[6,93,"gauge44"],[6,170,"gauge44"],[6,247,"gauge44"],[6,324,"gauge44"],[3,30,"gauge44"],[3,107,"gauge44"],[3,184,"gauge44"],[3,261,"gauge44"],[3,338,"gauge44"],[8,7,"gauge44"],[8,84,"gauge44"],[8,161,"gauge44"],[8,238,"gauge44"],[8,315,"gauge44"],[5,21,"gauge44"],[5,98,"gauge44"],[5,175,"gauge44"],[5,252,"gauge44"],[5,329,"gauge44"],[2,35,"gauge44"],[2,112,"gauge44"],[2,189,"gauge44"],[2,266,"gauge44"],[2,343,"gauge44"],[7,12,"gauge44"],[7,89,"gauge44"],[7,166,"gauge44"],[7,243,"gauge44"],[7,320,"gauge44"],[4,26,"gauge44"],[4,103,"gauge44"],[4,180,"gauge44"],[4,257,"gauge44"],[4,334,"gauge44"],[6,17,"gauge44"],[6,94,"gauge44"],[6,171,"gauge44"],[6,248,"gauge44"],[6,325,"gauge44"],[3,31,"gauge44"],[3,108,"gauge44"],[3,185,"gauge44"],[3,262,"gauge44"],[3,339,"gauge44"],[8,8,"gauge44"],[8,85,"gauge44"],[8,162,"gauge44"],[8,239,"gauge44"],[8,316,"gauge44"],[5,22,"gauge44"],[5,99,"gauge44"],[5,176,"gauge44"],[5,253,"gauge44"],[5,330,"gauge44"],[2,36,"gauge44"],[2,113,"gauge44"],[2,190,"gauge44"],[2,267,"gauge44"],[2,344,"gauge44"],[7,13,"gauge44"],[7,90,"gauge44"],[7,167,"gauge44"],[7,244,"gauge44"],[7,321,"gauge44"],[4,27,"gauge44"],[4,104,"gauge44"],[4,181,"gauge44"],[4,258,"gauge44"],[4,335,"gauge44"],[6,18,"gauge44"],[6,95,"gauge44"],[6,172,"gauge44"],[6,249,"gauge44"],[6,326,"gauge44"],[3,32,"gauge44"],[3,109,"gauge44"],[3,186,"gauge44"],[3,263,"gauge44"],[3,340,"gauge44"],[8,9,"gauge44"],[8,86,"gauge44"],[8,163,"gauge44"],[8,240,"gauge44"],[8,317,"gauge44"],[5,23,"gauge44"],[5,100,"gauge44"],[5,177,"gauge44"],[5,254,"gauge44"],[5,331,"gauge44"],[7,14,"gauge44"],[7,91,"gauge44"],[7,168,"gauge44"],[7,245,"gauge44"],[7,322,"gauge44"],[4,28,"gauge44"],[4,105,"gauge44"],[4,182,"gauge44"],[4,259,"gauge44"],[4,336,"gauge44"],[6,19,"gauge44"],[6,96,"gauge44"],[6,173,"gauge44"],[6,250,"gauge44"],[6,327,"gauge44"],[3,33,"gauge44"],[3,110,"gauge44"],[3,187,"gauge44"],[3,264,"gauge44"],[3,341,"gauge44"],[8,10,"gauge44"],[8,87,"gauge44"],[8,164,"gauge44"],[8,241,"gauge44"],[8,318,"gauge44"],[5,24,"gauge44"],[5,101,"gauge44"],[5,178,"gauge44"],[5,255,"gauge44"],[5,332,"gauge44"],[7,15,"gauge44"],[7,92,"gauge44"],[7,169,"gauge44"],[7,246,"gauge44"],[7,323,"gauge44"],[4,29,"gauge44"],[4,106,"gauge44"],[4,183,"gauge44"],[4,260,"gauge44"],[4,337,"gauge44"],[6,20,"gauge44"],[6,97,"gauge44"],[6,174,"gauge44"],[6,251,"gauge44"],[6,328,"gauge44"],[3,34,"gauge44"],[3,111,"gauge44"],[3,188,"gauge44"],[3,265,"gauge44"],[3,342,"gauge44"],[8,11,"gauge44"],[8,88,"gauge44"],[8,165,"gauge44"],[8,242,"gauge44"],[8,319,"gauge44"],[5,25,"gauge44"],[5,102,"gauge44"],[5,179,"gauge44"],[5,256,"gauge44"],[5,333,"gauge44"],[7,16,"gauge44"],[7,93,"gauge44"],[7,170,"gauge44"],[7,247,"gauge44"],[7,324,"gauge44"],[4,30,"gauge44"],[4,107,"gauge44"],[4,184,"gauge44"],[4,261,"gauge44"],[4,338,"gauge44"],[6,21,"gauge44"],[6,98,"gauge44"],[6,175,"gauge44"],[6,252,"gauge44"],[6,329,"gauge44"],[3,35,"gauge44"],[3,112,"gauge44"],[3,189,"gauge44"],[3,266,"gauge44"],[3,343,"gauge44"],[8,12,"gauge44"],[8,89,"gauge44"],[8,166,"gauge44"],[8,243,"gauge44"],[8,320,"gauge44"],[5,26,"gauge44"],[5,103,"gauge44"],[5,180,"gauge44"],[5,257,"gauge44"],[5,334,"gauge44"],[7,17,"gauge44"],[7,94,"gauge44"],[7,171,"gauge44"],[7,248,"gauge44"],[7,325,"gauge44"],[4,31,"gauge44"],[4,108,"gauge44"],[4,185,"gauge44"],[4,262,"gauge44"],[4,339,"gauge44"],[6,22,"gauge44"],[6,99,"gauge44"],[6,176,"gauge44"],[6,253,"gauge44"],[6,330,"gauge44"],[3,36,"gauge44"],[3,113,"gauge44"],[3,190,"gauge44"],[3,267,"gauge44"],[3,344,"gauge44"],[8,13,"gauge44"],[8,90,"gauge44"],[8,167,"gauge44"],[8,244,"gauge44"],[8,321,"gauge44"],[5,27,"gauge44"],[5,104,"gauge44"],[5,181,"gauge44"],[5,258,"gauge44"],[5,335,"gauge44"],[7,18,"gauge44"],[7,95,"gauge44"],[7,172,"gauge44"],[7,249,"gauge44"],[7,326,"gauge44"],[4,32,"gauge44"],[4,109,"gauge44"],[4,186,"gauge44"],[4,263,"gauge44"],[4,340,"gauge44"],[6,23,"gauge44"],[6,100,"gauge44"],[6,177,"gauge44"],[6,254,"gauge44"],[6,331,"gauge44"],[8,14,"gauge44"],[8,91,"gauge44"],[8,168,"gauge44"],[8,245,"gauge44"],[8,322,"gauge44"],[5,28,"gauge44"],[5,105,"gauge44"],[5,182,"gauge44"],[5,259,"gauge44"],[5,336,"gauge44"],[7,19,"gauge44"],[7,96,"gauge44"],[7,173,"gauge44"],[7,250,"gauge44"],[7,327,"gauge44"],[4,33,"gauge44"],[4,110,"gauge44"],[4,187,"gauge44"],[4,264,"gauge44"],[4,341,"gauge44"],[6,24,"gauge44"],[6,101,"gauge44"],[6,178,"gauge44"],[6,255,"gauge44"],[6,332,"gauge44"],[8,15,"gauge44"],[8,92,"gauge44"],[8,169,"gauge44"],[8,246,"gauge44"],[8,323,"gauge44"],[5,29,"gauge44"],[5,106,"gauge44"],[5,183,"gauge44"],[5,260,"gauge44"],[5,337,"gauge44"],[7,20,"gauge44"],[7,97,"gauge44"],[7,174,"gauge44"],[7,251,"gauge44"],[7,328,"gauge44"],[4,34,"gauge44"],[4,111,"gauge44"],[4,188,"gauge44"],[4,265,"gauge44"],[4,342,"gauge44"],[6,25,"gauge44"],[6,102,"gauge44"],[6,179,"gauge44"],[6,256,"gauge44"],[6,333,"gauge44"],[8,16,"gauge44"],[8,93,"gauge44"],[8,170,"gauge44"],[8,247,"gauge44"],[8,324,"gauge44"],[5,30,"gauge44"],[5,107,"gauge44"],[5,184,"gauge44"],[5,261,"gauge44"],[5,338,"gauge44"],[7,21,"gauge44"],[7,98,"gauge44"],[7,175,"gauge44"],[7,252,"gauge44"],[7,329,"gauge44"],[4,35,"gauge44"],[4,112,"gauge44"],[4,189,"gauge44"],[4,266,"gauge44"],[4,343,"gauge44"],[6,26,"gauge44"],[6,103,"gauge44"],[6,180,"gauge44"],[6,257,"gauge44"],[6,334,"gauge44"],[8,17,"gauge44"],[8,94,"gauge44"],[8,171,"gauge44"],[8,248,"gauge44"],[8,325,"gauge44"],[5,31,"gauge44"],[5,108,"gauge44"],[5,185,"gauge44"],[5,262,"gauge44"],[5,339,"gauge44"],[7,22,"gauge44"],[7,99,"gauge44"],[7,176,"gauge44"],[7,253,"gauge44"],[7,330,"gauge44"],[4,36,"gauge44"],[4,113,"gauge44"],[4,190,"gauge44"],[4,267,"gauge44"],[4,344,"gauge44"],[6,27,"gauge44"],[6,104,"gauge44"],[6,181,"gauge44"],[6,258,"gauge44"],[6,335,"gauge44"],[8,18,"gauge44"],[8,95,"gauge44"],[8,172,"gauge44"],[8,249,"gauge44"],[8,326,"gauge44"],[5,32,"gauge44"],[5,109,"gauge44"],[5,186,"gauge44"],[5,263,"gauge44"],[5,340,"gauge44"],[7,23,"gauge44"],[7,100,"gauge44"],[7,177,"gauge44"],[7,254,"gauge44"],[7,331,"gauge44"],[6,28,"gauge44"],[6,105,"gauge44"],[6,182,"gauge44"],[6,259,"gauge44"],[6,336,"gauge44"],[8,19,"gauge44"],[8,96,"gauge44"],[8,173,"gauge44"],[8,250,"gauge44"],[8,327,"gauge44"],[5,33,"gauge44"],[5,110,"gauge44"],[5,187,"gauge44"],[5,264,"gauge44"],[5,341,"gauge44"],[7,24,"gauge44"],[7,101,"gauge44"],[7,178,"gauge44"],[7,255,"gauge44"],[7,332,"gauge44"],[6,29,"gauge44"],[6,106,"gauge44"],[6,183,"gauge44"],[6,260,"gauge44"],[6,337,"gauge44"],[8,20,"gauge44"],[8,97,"gauge44"],[8,174,"gauge44"],[8,251,"gauge44"],[8,328,"gauge44"],[5,34,"gauge44"],[5,111,"gauge44"],[5,188,"gauge44"],[5,265,"gauge44"],[5,342,"gauge44"],[7,25,"gauge44"],[7,102,"gauge44"],[7,179,"gauge44"],[7,256,"gauge44"],[7,333,"gauge44"],[6,30,"gauge44"],[6,107,"gauge44"],[6,184,"gauge44"],[6,261,"gauge44"],[6,338,"gauge44"],[8,21,"gauge44"],[8,98,"gauge44"],[8,175,"gauge44"],[8,252,"gauge44"],[8,329,"gauge44"],[5,35,"gauge44"],[5,112,"gauge44"],[5,189,"gauge44"],[5,266,"gauge44"],[5,343,"gauge44"],[7,26,"gauge44"],[7,103,"gauge44"],[7,180,"gauge44"],[7,257,"gauge44"],[7,334,"gauge44"],[6,31,"gauge44"],[6,108,"gauge44"],[6,185,"gauge44"],[6,262,"gauge44"],[6,339,"gauge44"],[8,22,"gauge44"],[8,99,"gauge44"],[8,176,"gauge44"],[8,253,"gauge44"],[8,330,"gauge44"],[5,36,"gauge44"],[5,113,"gauge44"],[5,190,"gauge44"],[5,267,"gauge44"],[5,344,"gauge44"],[7,27,"gauge44"],[7,104,"gauge44"],[7,181,"gauge44"],[7,258,"gauge44"],[7,335,"gauge44"],[6,32,"gauge44"],[6,109,"gauge44"],[6,186,"gauge44"],[6,263,"gauge44"],[6,340,"gauge44"],[8,23,"gauge44"],[8,100,"gauge44"],[8,177,"gauge44"],[8,254,"gauge44"],[8,331,"gauge44"],[7,28,"gauge44"],[7,105,"gauge44"],[7,182,"gauge44"],[7,259,"gauge44"],[7,336,"gauge44"],[6,33,"gauge44"],[6,110,"gauge44"],[6,187,"gauge44"],[6,264,"gauge44"],[6,341,"gauge44"],[8,24,"gauge44"],[8,101,"gauge44"],[8,178,"gauge44"],[8,255,"gauge44"],[8,332,"gauge44"],[7,29,"gauge44"],[7,106,"gauge44"],[7,183,"gauge44"],[7,260,"gauge44"],[7,337,"gauge44"],[6,34,"gauge44"],[6,111,"gauge44"],[6,188,"gauge44"],[6,265,"gauge44"],[6,342,"gauge44"],[8,25,"gauge44"],[8,102,"gauge44"],[8,179,"gauge44"],[8,256,"gauge44"],[8,333,"gauge44"],[7,30,"gauge44"],[7,107,"gauge44"],[7,184,"gauge44"],[7,261,"gauge44"],[7,338,"gauge44"],[6,35,"gauge44"],[6,112,"gauge44"],[6,189,"gauge44"],[6,266,"gauge44"],[6,343,"gauge44"],[8,26,"gauge44"],[8,103,"gauge44"],[8,180,"gauge44"],[8,257,"gauge44"],[8,334,"gauge44"],[7,31,"gauge44"],[7,108,"gauge44"],[7,185,"gauge44"],[7,262,"gauge44"],[7,339,"gauge44"],[6,36,"gauge44"],[6,113,"gauge44"],[6,190,"gauge44"],[6,267,"gauge44"],[6,344,"gauge44"],[8,27,"gauge44"],[8,104,"gauge44"],[8,181,"gauge44"],[8,258,"gauge44"],[8,335,"gauge44"],[7,32,"gauge44"],[7,109,"gauge44"],[7,186,"gauge44"],[7,263,"gauge44"],[7,340,"gauge44"],[8,28,"gauge44"],[8,105,"gauge44"],[8,182,"gauge44"],[8,259,"gauge44"],[8,336,"gauge44"],[7,33,"gauge44"],[7,110,"gauge44"],[7,187,"gauge44"],[7,264,"gauge44"],[7,341,"gauge44"],[8,29,"gauge44"],[8,106,"gauge44"],[8,183,"gauge44"],[8,260,"gauge44"],[8,337,"gauge44"],[7,34,"gauge44"],[7,111,"gauge44"],[7,188,"gauge44"],[7,265,"gauge44"],[7,342,"gauge44"],[8,30,"gauge44"],[8,107,"gauge44"],[8,184,"gauge44"],[8,261,"gauge44"],[8,338,"gauge44"],[7,35,"gauge44"],[7,112,"gauge44"],[7,189,"gauge44"],[7,266,"gauge44"],[7,343,"gauge44"],[8,31,"gauge44"],[8,108,"gauge44"],[8,185,"gauge44"],[8,262,"gauge44"],[8,339,"gauge44"],[7,36,"gauge44"],[7,113,"gauge44"],[7,190,"gauge44"],[7,267,"gauge44"],[7,344,"gauge44"],[8,32,"gauge44"],[8,109,"gauge44"],[8,186,"gauge44"],[8,263,"gauge44"],[8,340,"gauge44"],[8,33,"gauge44"],[8,110,"gauge44"],[8,187,"gauge44"],[8,264,"gauge44"],[8,341,"gauge44"],[8,34,"gauge44"],[8,111,"gauge44"],[8,188,"gauge44"],[8,265,"gauge44"],[8,342,"gauge44"],[8,35,"gauge44"],[8,112,"gauge44"],[8,189,"gauge44"],[8,266,"gauge44"],[8,343,"gauge44"],[8,36,"gauge44"],[8,113,"gauge44"],[8,190,"gauge44"],[8,267,"gauge44"],[8,344,"gauge44"],[0,37,"extra"],[0,114,"extra"],[0,191,"extra"],[0,268,"extra"],[0,345,"extra"],[0,38,"gauge44"],[0,115,"gauge44"],[0,192,"gauge44"],[0,269,"gauge44"],[0,346,"gauge44"],[1,37,"gauge44"],[1,114,"gauge44"],[1,191,"gauge44"],[1,268,"gauge44"],[1,345,"gauge44"],[0,39,"gauge44"],[0,116,"gauge44"],[0,193,"gauge44"],[0,270,"gauge44"],[0,347,"gauge44"],[1,38,"gauge44"],[1,115,"gauge44"],[1,192,"gauge44"],[1,269,"gauge44"],[1,346,"gauge44"],[2,37,"gauge44"],[2,114,"gauge44"],[2,191,"gauge44"],[2,268,"gauge44"],[2,345,"gauge44"],[0,40,"gauge44"],[0,117,"gauge44"],[0,194,"gauge44"],[0,271,"gauge44"],[0,348,"gauge44"],[3,37,"gauge44"],[3,114,"gauge44"],[3,191,"gauge44"],[3,268,"gauge44"],[3,345,"gauge44"],[1,39,"gauge44"],[1,116,"gauge44"],[1,193,"gauge44"],[1,270,"gauge44"],[1,347,"gauge44"],[2,38,"gauge44"],[2,115,"gauge44"],[2,192,"gauge44"],[2,269,"gauge44"],[2,346,"gauge44"],[0,41,"gauge44"],[0,118,"gauge44"],[0,195,"gauge44"],[0,272,"gauge44"],[0,349,"gauge44"],[2,39,"gauge44"],[2,116,"gauge44"],[2,193,"gauge44"],[2,270,"gauge44"],[2,347,"gauge44"],[1,40,"gauge44"],[1,117,"gauge44"],[1,194,"gauge44"],[1,271,"gauge44"],[1,348,"gauge44"],[3,38,"gauge44"],[3,115,"gauge44"],[3,192,"gauge44"],[3,269,"gauge44"],[3,346,"gauge44"],[4,37,"gauge44"],[4,114,"gauge44"],[4,191,"gauge44"],[4,268,"gauge44"],[4,345,"gauge44"],[0,42,"gauge44"],[0,119,"gauge44"],[0,196,"gauge44"],[0,273,"gauge44"],[0,350,"gauge44"],[1,41,"gauge44"],[1,118,"gauge44"],[1,195,"gauge44"],[1,272,"gauge44"],[1,349,"gauge44"],[2,40,"gauge44"],[2,117,"gauge44"],[2,194,"gauge44"],[2,271,"gauge44"],[2,348,"gauge44"],[3,39,"gauge44"],[3,116,"gauge44"],[3,193,"gauge44"],[3,270,"gauge44"],[3,347,"gauge44"],[4,38,"gauge44"],[4,115,"gauge44"],[4,192,"gauge44"],[4,269,"gauge44"],[4,346,"gauge44"],[5,37,"gauge44"],[5,114,"gauge44"],[5,191,"gauge44"],[5,268,"gauge44"],[5,345,"gauge44"],[0,43,"gauge44"],[0,120,"gauge44"],[0,197,"gauge44"],[0,274,"gauge44"],[0,351,"gauge44"],[1,42,"gauge44"],[1,119,"gauge44"],[1,196,"gauge44"],[1,273,"gauge44"],[1,350,"gauge44"],[2,41,"gauge44"],[2,118,"gauge44"],[2,195,"gauge44"],[2,272,"gauge44"],[2,349,"gauge44"],[3,40,"gauge44"],[3,117,"gauge44"],[3,194,"gauge44"],[3,271,"gauge44"],[3,348,"gauge44"],[4,39,"gauge44"],[4,116,"gauge44"],[4,193,"gauge44"],[4,270,"gauge44"],[4,347,"gauge44"],[5,38,"gauge44"],[5,115,"gauge44"],[5,192,"gauge44"],[5,269,"gauge44"],[5,346,"gauge44"],[0,44,"gauge44"],[0,121,"gauge44"],[0,198,"gauge44"],[0,275,"gauge44"],[0,352,"gauge44"],[6,37,"gauge44"],[6,114,"gauge44"],[6,191,"gauge44"],[6,268,"gauge44"],[6,345,"gauge44"],[1,43,"gauge44"],[1,120,"gauge44"],[1,197,"gauge44"],[1,274,"gauge44"],[1,351,"gauge44"],[2,42,"gauge44"],[2,119,"gauge44"],[2,196,"gauge44"],[2,273,"gauge44"],[2,350,"gauge44"],[3,41,"gauge44"],[3,118,"gauge44"],[3,195,"gauge44"],[3,272,"gauge44"],[3,349,"gauge44"],[4,40,"gauge44"],[4,117,"gauge44"],[4,194,"gauge44"],[4,271,"gauge44"],[4,348,"gauge44"],[5,39,"gauge44"],[5,116,"gauge44"],[5,193,"gauge44"],[5,270,"gauge44"],[5,347,"gauge44"],[6,38,"gauge44"],[6,115,"gauge44"],[6,192,"gauge44"],[6,269,"gauge44"],[6,346,"gauge44"],[1,44,"gauge44"],[1,121,"gauge44"],[1,198,"gauge44"],[1,275,"gauge44"],[1,352,"gauge44"],[7,37,"gauge44"],[7,114,"gauge44"],[7,191,"gauge44"],[7,268,"gauge44"],[7,345,"gauge44"],[2,43,"gauge44"],[2,120,"gauge44"],[2,197,"gauge44"],[2,274,"gauge44"],[2,351,"gauge44"],[3,42,"gauge44"],[3,119,"gauge44"],[3,196,"gauge44"],[3,273,"gauge44"],[3,350,"gauge44"],[4,41,"gauge44"],[4,118,"gauge44"],[4,195,"gauge44"],[4,272,"gauge44"],[4,349,"gauge44"],[5,40,"gauge44"],[5,117,"gauge44"],[5,194,"gauge44"],[5,271,"gauge44"],[5,348,"gauge44"],[6,39,"gauge44"],[6,116,"gauge44"],[6,193,"gauge44"],[6,270,"gauge44"],[6,347,"gauge44"],[7,38,"gauge44"],[7,115,"gauge44"],[7,192,"gauge44"],[7,269,"gauge44"],[7,346,"gauge44"],[2,44,"gauge44"],[2,121,"gauge44"],[2,198,"gauge44"],[2,275,"gauge44"],[2,352,"gauge44"],[8,37,"gauge44"],[8,114,"gauge44"],[8,191,"gauge44"],[8,268,"gauge44"],[8,345,"gauge44"],[3,43,"gauge44"],[3,120,"gauge44"],[3,197,"gauge44"],[3,274,"gauge44"],[3,351,"gauge44"],[4,42,"gauge44"],[4,119,"gauge44"],[4,196,"gauge44"],[4,273,"gauge44"],[4,350,"gauge44"],[5,41,"gauge44"],[5,118,"gauge44"],[5,195,"gauge44"],[5,272,"gauge44"],[5,349,"gauge44"],[6,40,"gauge44"],[6,117,"gauge44"],[6,194,"gauge44"],[6,271,"gauge44"],[6,348,"gauge44"],[7,39,"gauge44"],[7,116,"gauge44"],[7,193,"gauge44"],[7,270,"gauge44"],[7,347,"gauge44"],[8,38,"gauge44"],[8,115,"gauge44"],[8,192,"gauge44"],[8,269,"gauge44"],[8,346,"gauge44"],[3,44,"gauge44"],[3,121,"gauge44"],[3,198,"gauge44"],[3,275,"gauge44"],[3,352,"gauge44"],[4,43,"gauge44"],[4,120,"gauge44"],[4,197,"gauge44"],[4,274,"gauge44"],[4,351,"gauge44"],[5,42,"gauge44"],[5,119,"gauge44"],[5,196,"gauge44"],[5,273,"gauge44"],[5,350,"gauge44"],[6,41,"gauge44"],[6,118,"gauge44"],[6,195,"gauge44"],[6,272,"gauge44"],[6,349,"gauge44"],[7,40,"gauge44"],[7,117,"gauge44"],[7,194,"gauge44"],[7,271,"gauge44"],[7,348,"gauge44"],[8,39,"gauge44"],[8,116,"gauge44"],[8,193,"gauge44"],[8,270,"gauge44"],[8,347,"gauge44"],[4,44,"gauge44"],[4,121,"gauge44"],[4,198,"gauge44"],[4,275,"gauge44"],[4,352,"gauge44"],[5,43,"gauge44"],[5,120,"gauge44"],[5,197,"gauge44"],[5,274,"gauge44"],[5,351,"gauge44"],[6,42,"gauge44"],[6,119,"gauge44"],[6,196,"gauge44"],[6,273,"gauge44"],[6,350,"gauge44"],[7,41,"gauge44"],[7,118,"gauge44"],[7,195,"gauge44"],[7,272,"gauge44"],[7,349,"gauge44"],[8,40,"gauge44"],[8,117,"gauge44"],[8,194,"gauge44"],[8,271,"gauge44"],[8,348,"gauge44"],[5,44,"gauge44"],[5,121,"gauge44"],[5,198,"gauge44"],[5,275,"gauge44"],[5,352,"gauge44"],[6,43,"gauge44"],[6,120,"gauge44"],[6,197,"gauge44"],[6,274,"gauge44"],[6,351,"gauge44"],[7,42,"gauge44"],[7,119,"gauge44"],[7,196,"gauge44"],[7,273,"gauge44"],[7,350,"gauge44"],[8,41,"gauge44"],[8,118,"gauge44"],[8,195,"gauge44"],[8,272,"gauge44"],[8,349,"gauge44"],[6,44,"gauge44"],[6,121,"gauge44"],[6,198,"gauge44"],[6,275,"gauge44"],[6,352,"gauge44"],[7,43,"gauge44"],[7,120,"gauge44"],[7,197,"gauge44"],[7,274,"gauge44"],[7,351,"gauge44"],[8,42,"gauge44"],[8,119,"gauge44"],[8,196,"gauge44"],[8,273,"gauge44"],[8,350,"gauge44"],[7,44,"gauge44"],[7,121,"gauge44"],[7,198,"gauge44"],[7,275,"gauge44"],[7,352,"gauge44"],[8,43,"gauge44"],[8,120,"gauge44"],[8,197,"gauge44"],[8,274,"gauge44"],[8,351,"gauge44"],[8,44,"gauge44"],[8,121,"gauge44"],[8,198,"gauge44"],[8,275,"gauge44"],[8,352,"gauge44"],[0,45,"extra"],[0,122,"extra"],[0,199,"extra"],[0,276,"extra"],[0,353,"extra"],[0,53,"gauge44"],[0,130,"gauge44"],[0,207,"gauge44"],[0,284,"gauge44"],[0,361,"gauge44"],[0,46,"gauge44"],[0,123,"gauge44"],[0,200,"gauge44"],[0,277,"gauge44"],[0,354,"gauge44"],[0,54,"gauge44"],[0,131,"gauge44"],[0,208,"gauge44"],[0,285,"gauge44"],[0,362,"gauge44"],[1,45,"gauge44"],[1,122,"gauge44"],[1,199,"gauge44"],[1,276,"gauge44"],[1,353,"gauge44"],[1,53,"gauge44"],[1,130,"gauge44"],[1,207,"gauge44"],[1,284,"gauge44"],[1,361,"gauge44"],[0,47,"gauge44"],[0,124,"gauge44"],[0,201,"gauge44"],[0,278,"gauge44"],[0,355,"gauge44"],[0,55,"gauge44"],[0,132,"gauge44"],[0,209,"gauge44"],[0,286,"gauge44"],[0,363,"gauge44"],[1,46,"gauge44"],[1,123,"gauge44"],[1,200,"gauge44"],[1,277,"gauge44"],[1,354,"gauge44"],[1,54,"gauge44"],[1,131,"gauge44"],[1,208,"gauge44"],[1,285,"gauge44"],[1,362,"gauge44"],[2,45,"gauge44"],[2,122,"gauge44"],[2,199,"gauge44"],[2,276,"gauge44"],[2,353,"gauge44"],[2,53,"gauge44"],[2,130,"gauge44"],[2,207,"gauge44"],[2,284,"gauge44"],[2,361,"gauge44"],[0,48,"gauge44"],[0,125,"gauge44"],[0,202,"gauge44"],[0,279,"gauge44"],[0,356,"gauge44"],[0,56,"gauge44"],[0,133,"gauge44"],[0,210,"gauge44"],[0,287,"gauge44"],[0,364,"gauge44"],[1,47,"gauge44"],[1,124,"gauge44"],[1,201,"gauge44"],[1,278,"gauge44"],[1,355,"gauge44"],[1,55,"gauge44"],[1,132,"gauge44"],[1,209,"gauge44"],[1,286,"gauge44"],[1,363,"gauge44"],[2,46,"gauge44"],[2,123,"gauge44"],[2,200,"gauge44"],[2,277,"gauge44"],[2,354,"gauge44"],[2,54,"gauge44"],[2,131,"gauge44"],[2,208,"gauge44"],[2,285,"gauge44"],[2,362,"gauge44"],[3,45,"gauge44"],[3,122,"gauge44"],[3,199,"gauge44"],[3,276,"gauge44"],[3,353,"gauge44"],[3,53,"gauge44"],[3,130,"gauge44"],[3,207,"gauge44"],[3,284,"gauge44"],[3,361,"gauge44"],[0,49,"gauge44"],[0,126,"gauge44"],[0,203,"gauge44"],[0,280,"gauge44"],[0,357,"gauge44"],[0,57,"gauge44"],[0,134,"gauge44"],[0,211,"gauge44"],[0,288,"gauge44"],[0,365,"gauge44"],[1,48,"gauge44"],[1,125,"gauge44"],[1,202,"gauge44"],[1,279,"gauge44"],[1,356,"gauge44"],[1,56,"gauge44"],[1,133,"gauge44"],[1,210,"gauge44"],[1,287,"gauge44"],[1,364,"gauge44"],[2,47,"gauge44"],[2,124,"gauge44"],[2,201,"gauge44"],[2,278,"gauge44"],[2,355,"gauge44"],[2,55,"gauge44"],[2,132,"gauge44"],[2,209,"gauge44"],[2,286,"gauge44"],[2,363,"gauge44"],[3,46,"gauge44"],[3,123,"gauge44"],[3,200,"gauge44"],[3,277,"gauge44"],[3,354,"gauge44"],[3,54,"gauge44"],[3,131,"gauge44"],[3,208,"gauge44"],[3,285,"gauge44"],[3,362,"gauge44"],[4,45,"gauge44"],[4,122,"gauge44"],[4,199,"gauge44"],[4,276,"gauge44"],[4,353,"gauge44"],[4,53,"gauge44"],[4,130,"gauge44"],[4,207,"gauge44"],[4,284,"gauge44"],[4,361,"gauge44"],[0,50,"gauge44"],[0,127,"gauge44"],[0,204,"gauge44"],[0,281,"gauge44"],[0,358,"gauge44"],[0,58,"gauge44"],[0,135,"gauge44"],[0,212,"gauge44"],[0,289,"gauge44"],[0,366,"gauge44"],[1,49,"gauge44"],[1,126,"gauge44"],[1,203,"gauge44"],[1,280,"gauge44"],[1,357,"gauge44"],[1,57,"gauge44"],[1,134,"gauge44"],[1,211,"gauge44"],[1,288,"gauge44"],[1,365,"gauge44"],[2,48,"gauge44"],[2,125,"gauge44"],[2,202,"gauge44"],[2,279,"gauge44"],[2,356,"gauge44"],[2,56,"gauge44"],[2,133,"gauge44"],[2,210,"gauge44"],[2,287,"gauge44"],[2,364,"gauge44"],[3,47,"gauge44"],[3,124,"gauge44"],[3,201,"gauge44"],[3,278,"gauge44"],[3,355,"gauge44"],[3,55,"gauge44"],[3,132,"gauge44"],[3,209,"gauge44"],[3,286,"gauge44"],[3,363,"gauge44"],[4,46,"gauge44"],[4,123,"gauge44"],[4,200,"gauge44"],[4,277,"gauge44"],[4,354,"gauge44"],[4,54,"gauge44"],[4,131,"gauge44"],[4,208,"gauge44"],[4,285,"gauge44"],[4,362,"gauge44"],[5,45,"gauge44"],[5,122,"gauge44"],[5,199,"gauge44"],[5,276,"gauge44"],[5,353,"gauge44"],[5,53,"gauge44"],[5,130,"gauge44"],[5,207,"gauge44"],[5,284,"gauge44"],[5,361,"gauge44"],[0,51,"gauge44"],[0,128,"gauge44"],[0,205,"gauge44"],[0,282,"gauge44"],[0,359,"gauge44"],[0,59,"gauge44"],[0,136,"gauge44"],[0,213,"gauge44"],[0,290,"gauge44"],[0,367,"gauge44"],[1,50,"gauge44"],[1,127,"gauge44"],[1,204,"gauge44"],[1,281,"gauge44"],[1,358,"gauge44"],[1,58,"gauge44"],[1,135,"gauge44"],[1,212,"gauge44"],[1,289,"gauge44"],[1,366,"gauge44"],[2,49,"gauge44"],[2,126,"gauge44"],[2,203,"gauge44"],[2,280,"gauge44"],[2,357,"gauge44"],[2,57,"gauge44"],[2,134,"gauge44"],[2,211,"gauge44"],[2,288,"gauge44"],[2,365,"gauge44"],[3,48,"gauge44"],[3,125,"gauge44"],[3,202,"gauge44"],[3,279,"gauge44"],[3,356,"gauge44"],[3,56,"gauge44"],[3,133,"gauge44"],[3,210,"gauge44"],[3,287,"gauge44"],[3,364,"gauge44"],[4,47,"gauge44"],[4,124,"gauge44"],[4,201,"gauge44"],[4,278,"gauge44"],[4,355,"gauge44"],[4,55,"gauge44"],[4,132,"gauge44"],[4,209,"gauge44"],[4,286,"gauge44"],[4,363,"gauge44"],[5,46,"gauge44"],[5,123,"gauge44"],[5,200,"gauge44"],[5,277,"gauge44"],[5,354,"gauge44"],[5,54,"gauge44"],[5,131,"gauge44"],[5,208,"gauge44"],[5,285,"gauge44"],[5,362,"gauge44"],[0,52,"gauge44"],[0,129,"gauge44"],[0,206,"gauge44"],[0,283,"gauge44"],[0,360,"gauge44"],[0,60,"gauge44"],[0,137,"gauge44"],[0,214,"gauge44"],[0,291,"gauge44"],[0,368,"gauge44"],[6,45,"gauge44"],[6,122,"gauge44"],[6,199,"gauge44"],[6,276,"gauge44"],[6,353,"gauge44"],[6,53,"gauge44"],[6,130,"gauge44"],[6,207,"gauge44"],[6,284,"gauge44"],[6,361,"gauge44"],[1,51,"gauge44"],[1,128,"gauge44"],[1,205,"gauge44"],[1,282,"gauge44"],[1,359,"gauge44"],[1,59,"gauge44"],[1,136,"gauge44"],[1,213,"gauge44"],[1,290,"gauge44"],[1,367,"gauge44"],[2,50,"gauge44"],[2,127,"gauge44"],[2,204,"gauge44"],[2,281,"gauge44"],[2,358,"gauge44"],[2,58,"gauge44"],[2,135,"gauge44"],[2,212,"gauge44"],[2,289,"gauge44"],[2,366,"gauge44"],[3,49,"gauge44"],[3,126,"gauge44"],[3,203,"gauge44"],[3,280,"gauge44"],[3,357,"gauge44"],[3,57,"gauge44"],[3,134,"gauge44"],[3,211,"gauge44"],[3,288,"gauge44"],[3,365,"gauge44"],[4,48,"gauge44"],[4,125,"gauge44"],[4,202,"gauge44"],[4,279,"gauge44"],[4,356,"gauge44"],[4,56,"gauge44"],[4,133,"gauge44"],[4,210,"gauge44"],[4,287,"gauge44"],[4,364,"gauge44"],[5,47,"gauge44"],[5,124,"gauge44"],[5,201,"gauge44"],[5,278,"gauge44"],[5,355,"gauge44"],[5,55,"gauge44"],[5,132,"gauge44"],[5,209,"gauge44"],[5,286,"gauge44"],[5,363,"gauge44"],[6,46,"gauge44"],[6,123,"gauge44"],[6,200,"gauge44"],[6,277,"gauge44"],[6,354,"gauge44"],[6,54,"gauge44"],[6,131,"gauge44"],[6,208,"gauge44"],[6,285,"gauge44"],[6,362,"gauge44"],[1,52,"gauge44"],[1,129,"gauge44"],[1,206,"gauge44"],[1,283,"gauge44"],[1,360,"gauge44"],[1,60,"gauge44"],[1,137,"gauge44"],[1,214,"gauge44"],[1,291,"gauge44"],[1,368,"gauge44"],[7,45,"gauge44"],[7,122,"gauge44"],[7,199,"gauge44"],[7,276,"gauge44"],[7,353,"gauge44"],[7,53,"gauge44"],[7,130,"gauge44"],[7,207,"gauge44"],[7,284,"gauge44"],[7,361,"gauge44"],[2,51,"gauge44"],[2,128,"gauge44"],[2,205,"gauge44"],[2,282,"gauge44"],[2,359,"gauge44"],[2,59,"gauge44"],[2,136,"gauge44"],[2,213,"gauge44"],[2,290,"gauge44"],[2,367,"gauge44"],[3,50,"gauge44"],[3,127,"gauge44"],[3,204,"gauge44"],[3,281,"gauge44"],[3,358,"gauge44"],[3,58,"gauge44"],[3,135,"gauge44"],[3,212,"gauge44"],[3,289,"gauge44"],[3,366,"gauge44"],[4,49,"gauge44"],[4,126,"gauge44"],[4,203,"gauge44"],[4,280,"gauge44"],[4,357,"gauge44"],[4,57,"gauge44"],[4,134,"gauge44"],[4,211,"gauge44"],[4,288,"gauge44"],[4,365,"gauge44"],[5,48,"gauge44"],[5,125,"gauge44"],[5,202,"gauge44"],[5,279,"gauge44"],[5,356,"gauge44"],[5,56,"gauge44"],[5,133,"gauge44"],[5,210,"gauge44"],[5,287,"gauge44"],[5,364,"gauge44"],[6,47,"gauge44"],[6,124,"gauge44"],[6,201,"gauge44"],[6,278,"gauge44"],[6,355,"gauge44"],[6,55,"gauge44"],[6,132,"gauge44"],[6,209,"gauge44"],[6,286,"gauge44"],[6,363,"gauge44"],[7,46,"gauge44"],[7,123,"gauge44"],[7,200,"gauge44"],[7,277,"gauge44"],[7,354,"gauge44"],[7,54,"gauge44"],[7,131,"gauge44"],[7,208,"gauge44"],[7,285,"gauge44"],[7,362,"gauge44"],[2,52,"gauge44"],[2,129,"gauge44"],[2,206,"gauge44"],[2,283,"gauge44"],[2,360,"gauge44"],[2,60,"gauge44"],[2,137,"gauge44"],[2,214,"gauge44"],[2,291,"gauge44"],[2,368,"gauge44"],[8,45,"gauge44"],[8,122,"gauge44"],[8,199,"gauge44"],[8,276,"gauge44"],[8,353,"gauge44"],[8,53,"gauge44"],[8,130,"gauge44"],[8,207,"gauge44"],[8,284,"gauge44"],[8,361,"gauge44"],[3,51,"gauge44"],[3,128,"gauge44"],[3,205,"gauge44"],[3,282,"gauge44"],[3,359,"gauge44"],[3,59,"gauge44"],[3,136,"gauge44"],[3,213,"gauge44"],[3,290,"gauge44"],[3,367,"gauge44"],[4,50,"gauge44"],[4,127,"gauge44"],[4,204,"gauge44"],[4,281,"gauge44"],[4,358,"gauge44"],[4,58,"gauge44"],[4,135,"gauge44"],[4,212,"gauge44"],[4,289,"gauge44"],[4,366,"gauge44"],[5,49,"gauge44"],[5,126,"gauge44"],[5,203,"gauge44"],[5,280,"gauge44"],[5,357,"gauge44"],[5,57,"gauge44"],[5,134,"gauge44"],[5,211,"gauge44"],[5,288,"gauge44"],[5,365,"gauge44"],[6,48,"gauge44"],[6,125,"gauge44"],[6,202,"gauge44"],[6,279,"gauge44"],[6,356,"gauge44"],[6,56,"gauge44"],[6,133,"gauge44"],[6,210,"gauge44"],[6,287,"gauge44"],[6,364,"gauge44"],[7,47,"gauge44"],[7,124,"gauge44"],[7,201,"gauge44"],[7,278,"gauge44"],[7,355,"gauge44"],[7,55,"gauge44"],[7,132,"gauge44"],[7,209,"gauge44"],[7,286,"gauge44"],[7,363,"gauge44"],[8,46,"gauge44"],[8,123,"gauge44"],[8,200,"gauge44"],[8,277,"gauge44"],[8,354,"gauge44"],[8,54,"gauge44"],[8,131,"gauge44"],[8,208,"gauge44"],[8,285,"gauge44"],[8,362,"gauge44"],[3,52,"gauge44"],[3,129,"gauge44"],[3,206,"gauge44"],[3,283,"gauge44"],[3,360,"gauge44"],[3,60,"gauge44"],[3,137,"gauge44"],[3,214,"gauge44"],[3,291,"gauge44"],[3,368,"gauge44"],[4,51,"gauge44"],[4,128,"gauge44"],[4,205,"gauge44"],[4,282,"gauge44"],[4,359,"gauge44"],[4,59,"gauge44"],[4,136,"gauge44"],[4,213,"gauge44"],[4,290,"gauge44"],[4,367,"gauge44"],[5,50,"gauge44"],[5,127,"gauge44"],[5,204,"gauge44"],[5,281,"gauge44"],[5,358,"gauge44"],[5,58,"gauge44"],[5,135,"gauge44"],[5,212,"gauge44"],[5,289,"gauge44"],[5,366,"gauge44"],[6,49,"gauge44"],[6,126,"gauge44"],[6,203,"gauge44"],[6,280,"gauge44"],[6,357,"gauge44"],[6,57,"gauge44"],[6,134,"gauge44"],[6,211,"gauge44"],[6,288,"gauge44"],[6,365,"gauge44"],[7,48,"gauge44"],[7,125,"gauge44"],[7,202,"gauge44"],[7,279,"gauge44"],[7,356,"gauge44"],[7,56,"gauge44"],[7,133,"gauge44"],[7,210,"gauge44"],[7,287,"gauge44"],[7,364,"gauge44"],[8,47,"gauge44"],[8,124,"gauge44"],[8,201,"gauge44"],[8,278,"gauge44"],[8,355,"gauge44"],[8,55,"gauge44"],[8,132,"gauge44"],[8,209,"gauge44"],[8,286,"gauge44"],[8,363,"gauge44"],[4,52,"gauge44"],[4,129,"gauge44"],[4,206,"gauge44"],[4,283,"gauge44"],[4,360,"gauge44"],[4,60,"gauge44"],[4,137,"gauge44"],[4,214,"gauge44"],[4,291,"gauge44"],[4,368,"gauge44"],[5,51,"gauge44"],[5,128,"gauge44"],[5,205,"gauge44"],[5,282,"gauge44"],[5,359,"gauge44"],[5,59,"gauge44"],[5,136,"gauge44"],[5,213,"gauge44"],[5,290,"gauge44"],[5,367,"gauge44"],[6,50,"gauge44"],[6,127,"gauge44"],[6,204,"gauge44"],[6,281,"gauge44"],[6,358,"gauge44"],[6,58,"gauge44"],[6,135,"gauge44"],[6,212,"gauge44"],[6,289,"gauge44"],[6,366,"gauge44"],[7,49,"gauge44"],[7,126,"gauge44"],[7,203,"gauge44"],[7,280,"gauge44"],[7,357,"gauge44"],[7,57,"gauge44"],[7,134,"gauge44"],[7,211,"gauge44"],[7,288,"gauge44"],[7,365,"gauge44"],[8,48,"gauge44"],[8,125,"gauge44"],[8,202,"gauge44"],[8,279,"gauge44"],[8,356,"gauge44"],[8,56,"gauge44"],[8,133,"gauge44"],[8,210,"gauge44"],[8,287,"gauge44"],[8,364,"gauge44"],[5,52,"gauge44"],[5,129,"gauge44"],[5,206,"gauge44"],[5,283,"gauge44"],[5,360,"gauge44"],[5,60,"gauge44"],[5,137,"gauge44"],[5,214,"gauge44"],[5,291,"gauge44"],[5,368,"gauge44"],[6,51,"gauge44"],[6,128,"gauge44"],[6,205,"gauge44"],[6,282,"gauge44"],[6,359,"gauge44"],[6,59,"gauge44"],[6,136,"gauge44"],[6,213,"gauge44"],[6,290,"gauge44"],[6,367,"gauge44"],[7,50,"gauge44"],[7,127,"gauge44"],[7,204,"gauge44"],[7,281,"gauge44"],[7,358,"gauge44"],[7,58,"gauge44"],[7,135,"gauge44"],[7,212,"gauge44"],[7,289,"gauge44"],[7,366,"gauge44"],[8,49,"gauge44"],[8,126,"gauge44"],[8,203,"gauge44"],[8,280,"gauge44"],[8,357,"gauge44"],[8,57,"gauge44"],[8,134,"gauge44"],[8,211,"gauge44"],[8,288,"gauge44"],[8,365,"gauge44"],[6,52,"gauge44"],[6,129,"gauge44"],[6,206,"gauge44"],[6,283,"gauge44"],[6,360,"gauge44"],[6,60,"gauge44"],[6,137,"gauge44"],[6,214,"gauge44"],[6,291,"gauge44"],[6,368,"gauge44"],[7,51,"gauge44"],[7,128,"gauge44"],[7,205,"gauge44"],[7,282,"gauge44"],[7,359,"gauge44"],[7,59,"gauge44"],[7,136,"gauge44"],[7,213,"gauge44"],[7,290,"gauge44"],[7,367,"gauge44"],[8,50,"gauge44"],[8,127,"gauge44"],[8,204,"gauge44"],[8,281,"gauge44"],[8,358,"gauge44"],[8,58,"gauge44"],[8,135,"gauge44"],[8,212,"gauge44"],[8,289,"gauge44"],[8,366,"gauge44"],[7,52,"gauge44"],[7,129,"gauge44"],[7,206,"gauge44"],[7,283,"gauge44"],[7,360,"gauge44"],[7,60,"gauge44"],[7,137,"gauge44"],[7,214,"gauge44"],[7,291,"gauge44"],[7,368,"gauge44"],[8,51,"gauge44"],[8,128,"gauge44"],[8,205,"gauge44"],[8,282,"gauge44"],[8,359,"gauge44"],[8,59,"gauge44"],[8,136,"gauge44"],[8,213,"gauge44"],[8,290,"gauge44"],[8,367,"gauge44"],[8,52,"gauge44"],[8,129,"gauge44"],[8,206,"gauge44"],[8,283,"gauge44"],[8,360,"gauge44"],[8,60,"gauge44"],[8,137,"gauge44"],[8,214,"gauge44"],[8,291,"gauge44"],[8,368,"gauge44"],[0,61,"extra"],[0,138,"extra"],[0,215,"extra"],[0,292,"extra"],[0,369,"extra"],[0,69,"gauge44"],[0,146,"gauge44"],[0,223,"gauge44"],[0,300,"gauge44"],[0,377,"gauge44"],[0,62,"gauge44"],[0,139,"gauge44"],[0,216,"gauge44"],[0,293,"gauge44"],[0,370,"gauge44"],[0,70,"gauge44"],[0,147,"gauge44"],[0,224,"gauge44"],[0,301,"gauge44"],[0,378,"gauge44"],[1,61,"gauge44"],[1,138,"gauge44"],[1,215,"gauge44"],[1,292,"gauge44"],[1,369,"gauge44"],[1,69,"gauge44"],[1,146,"gauge44"],[1,223,"gauge44"],[1,300,"gauge44"],[1,377,"gauge44"],[0,63,"gauge44"],[0,140,"gauge44"],[0,217,"gauge44"],[0,294,"gauge44"],[0,371,"gauge44"],[0,71,"gauge44"],[0,148,"gauge44"],[0,225,"gauge44"],[0,302,"gauge44"],[0,379,"gauge44"],[1,62,"gauge44"],[1,139,"gauge44"],[1,216,"gauge44"],[1,293,"gauge44"],[1,370,"gauge44"],[1,70,"gauge44"],[1,147,"gauge44"],[1,224,"gauge44"],[1,301,"gauge44"],[1,378,"gauge44"],[2,61,"gauge44"],[2,138,"gauge44"],[2,215,"gauge44"],[2,292,"gauge44"],[2,369,"gauge44"],[2,69,"gauge44"],[2,146,"gauge44"],[2,223,"gauge44"],[2,300,"gauge44"],[2,377,"gauge44"],[0,64,"gauge44"],[0,141,"gauge44"],[0,218,"gauge44"],[0,295,"gauge44"],[0,372,"gauge44"],[0,72,"gauge44"],[0,149,"gauge44"],[0,226,"gauge44"],[0,303,"gauge44"],[0,380,"gauge44"],[1,63,"gauge44"],[1,140,"gauge44"],[1,217,"gauge44"],[1,294,"gauge44"],[1,371,"gauge44"],[1,71,"gauge44"],[1,148,"gauge44"],[1,225,"gauge44"],[1,302,"gauge44"],[1,379,"gauge44"],[2,62,"gauge44"],[2,139,"gauge44"],[2,216,"gauge44"],[2,293,"gauge44"],[2,370,"gauge44"],[2,70,"gauge44"],[2,147,"gauge44"],[2,224,"gauge44"],[2,301,"gauge44"],[2,378,"gauge44"],[3,61,"gauge44"],[3,138,"gauge44"],[3,215,"gauge44"],[3,292,"gauge44"],[3,369,"gauge44"],[3,69,"gauge44"],[3,146,"gauge44"],[3,223,"gauge44"],[3,300,"gauge44"],[3,377,"gauge44"],[0,65,"gauge44"],[0,142,"gauge44"],[0,219,"gauge44"],[0,296,"gauge44"],[0,373,"gauge44"],[0,73,"gauge44"],[0,150,"gauge44"],[0,227,"gauge44"],[0,304,"gauge44"],[0,381,"gauge44"],[1,64,"gauge44"],[1,141,"gauge44"],[1,218,"gauge44"],[1,295,"gauge44"],[1,372,"gauge44"],[1,72,"gauge44"],[1,149,"gauge44"],[1,226,"gauge44"],[1,303,"gauge44"],[1,380,"gauge44"],[2,63,"gauge44"],[2,140,"gauge44"],[2,217,"gauge44"],[2,294,"gauge44"],[2,371,"gauge44"],[2,71,"gauge44"],[2,148,"gauge44"],[2,225,"gauge44"],[2,302,"gauge44"],[2,379,"gauge44"],[3,62,"gauge44"],[3,139,"gauge44"],[3,216,"gauge44"],[3,293,"gauge44"],[3,370,"gauge44"],[3,70,"gauge44"],[3,147,"gauge44"],[3,224,"gauge44"],[3,301,"gauge44"],[3,378,"gauge44"],[4,61,"gauge44"],[4,138,"gauge44"],[4,215,"gauge44"],[4,292,"gauge44"],[4,369,"gauge44"],[4,69,"gauge44"],[4,146,"gauge44"],[4,223,"gauge44"],[4,300,"gauge44"],[4,377,"gauge44"],[0,66,"gauge44"],[0,143,"gauge44"],[0,220,"gauge44"],[0,297,"gauge44"],[0,374,"gauge44"],[0,74,"gauge44"],[0,151,"gauge44"],[0,228,"gauge44"],[0,305,"gauge44"],[0,382,"gauge44"],[1,65,"gauge44"],[1,142,"gauge44"],[1,219,"gauge44"],[1,296,"gauge44"],[1,373,"gauge44"],[1,73,"gauge44"],[1,150,"gauge44"],[1,227,"gauge44"],[1,304,"gauge44"],[1,381,"gauge44"],[2,64,"gauge44"],[2,141,"gauge44"],[2,218,"gauge44"],[2,295,"gauge44"],[2,372,"gauge44"],[2,72,"gauge44"],[2,149,"gauge44"],[2,226,"gauge44"],[2,303,"gauge44"],[2,380,"gauge44"],[3,63,"gauge44"],[3,140,"gauge44"],[3,217,"gauge44"],[3,294,"gauge44"],[3,371,"gauge44"],[3,71,"gauge44"],[3,148,"gauge44"],[3,225,"gauge44"],[3,302,"gauge44"],[3,379,"gauge44"],[4,62,"gauge44"],[4,139,"gauge44"],[4,216,"gauge44"],[4,293,"gauge44"],[4,370,"gauge44"],[4,70,"gauge44"],[4,147,"gauge44"],[4,224,"gauge44"],[4,301,"gauge44"],[4,378,"gauge44"],[5,61,"gauge44"],[5,138,"gauge44"],[5,215,"gauge44"],[5,292,"gauge44"],[5,369,"gauge44"],[5,69,"gauge44"],[5,146,"gauge44"],[5,223,"gauge44"],[5,300,"gauge44"],[5,377,"gauge44"],[0,67,"gauge44"],[0,144,"gauge44"],[0,221,"gauge44"],[0,298,"gauge44"],[0,375,"gauge44"],[0,75,"gauge44"],[0,152,"gauge44"],[0,229,"gauge44"],[0,306,"gauge44"],[0,383,"gauge44"],[1,66,"gauge44"],[1,143,"gauge44"],[1,220,"gauge44"],[1,297,"gauge44"],[1,374,"gauge44"],[1,74,"gauge44"],[1,151,"gauge44"],[1,228,"gauge44"],[1,305,"gauge44"],[1,382,"gauge44"],[2,65,"gauge44"],[2,142,"gauge44"],[2,219,"gauge44"],[2,296,"gauge44"],[2,373,"gauge44"],[2,73,"gauge44"],[2,150,"gauge44"],[2,227,"gauge44"],[2,304,"gauge44"],[2,381,"gauge44"],[3,64,"gauge44"],[3,141,"gauge44"],[3,218,"gauge44"],[3,295,"gauge44"],[3,372,"gauge44"],[3,72,"gauge44"],[3,149,"gauge44"],[3,226,"gauge44"],[3,303,"gauge44"],[3,380,"gauge44"],[4,63,"gauge44"],[4,140,"gauge44"],[4,217,"gauge44"],[4,294,"gauge44"],[4,371,"gauge44"],[4,71,"gauge44"],[4,148,"gauge44"],[4,225,"gauge44"],[4,302,"gauge44"],[4,379,"gauge44"],[5,62,"gauge44"],[5,139,"gauge44"],[5,216,"gauge44"],[5,293,"gauge44"],[5,370,"gauge44"],[5,70,"gauge44"],[5,147,"gauge44"],[5,224,"gauge44"],[5,301,"gauge44"],[5,378,"gauge44"],[0,68,"gauge44"],[0,145,"gauge44"],[0,222,"gauge44"],[0,299,"gauge44"],[0,376,"gauge44"],[0,76,"gauge44"],[0,153,"gauge44"],[0,230,"gauge44"],[0,307,"gauge44"],[0,384,"gauge44"],[6,61,"gauge44"],[6,138,"gauge44"],[6,215,"gauge44"],[6,292,"gauge44"],[6,369,"gauge44"],[6,69,"gauge44"],[6,146,"gauge44"],[6,223,"gauge44"],[6,300,"gauge44"],[6,377,"gauge44"],[1,67,"gauge44"],[1,144,"gauge44"],[1,221,"gauge44"],[1,298,"gauge44"],[1,375,"gauge44"],[1,75,"gauge44"],[1,152,"gauge44"],[1,229,"gauge44"],[1,306,"gauge44"],[1,383,"gauge44"],[2,66,"gauge44"],[2,143,"gauge44"],[2,220,"gauge44"],[2,297,"gauge44"],[2,374,"gauge44"],[2,74,"gauge44"],[2,151,"gauge44"],[2,228,"gauge44"],[2,305,"gauge44"],[2,382,"gauge44"],[3,65,"gauge44"],[3,142,"gauge44"],[3,219,"gauge44"],[3,296,"gauge44"],[3,373,"gauge44"],[3,73,"gauge44"],[3,150,"gauge44"],[3,227,"gauge44"],[3,304,"gauge44"],[3,381,"gauge44"],[4,64,"gauge44"],[4,141,"gauge44"],[4,218,"gauge44"],[4,295,"gauge44"],[4,372,"gauge44"],[4,72,"gauge44"],[4,149,"gauge44"],[4,226,"gauge44"],[4,303,"gauge44"],[4,380,"gauge44"],[5,63,"gauge44"],[5,140,"gauge44"],[5,217,"gauge44"],[5,294,"gauge44"],[5,371,"gauge44"],[5,71,"gauge44"],[5,148,"gauge44"],[5,225,"gauge44"],[5,302,"gauge44"],[5,379,"gauge44"],[6,62,"gauge44"],[6,139,"gauge44"],[6,216,"gauge44"],[6,293,"gauge44"],[6,370,"gauge44"],[6,70,"gauge44"],[6,147,"gauge44"],[6,224,"gauge44"],[6,301,"gauge44"],[6,378,"gauge44"],[1,68,"gauge44"],[1,145,"gauge44"],[1,222,"gauge44"],[1,299,"gauge44"],[1,376,"gauge44"],[1,76,"gauge44"],[1,153,"gauge44"],[1,230,"gauge44"],[1,307,"gauge44"],[1,384,"gauge44"],[7,61,"gauge44"],[7,138,"gauge44"],[7,215,"gauge44"],[7,292,"gauge44"],[7,369,"gauge44"],[7,69,"gauge44"],[7,146,"gauge44"],[7,223,"gauge44"],[7,300,"gauge44"],[7,377,"gauge44"],[2,67,"gauge44"],[2,144,"gauge44"],[2,221,"gauge44"],[2,298,"gauge44"],[2,375,"gauge44"],[2,75,"gauge44"],[2,152,"gauge44"],[2,229,"gauge44"],[2,306,"gauge44"],[2,383,"gauge44"],[3,66,"gauge44"],[3,143,"gauge44"],[3,220,"gauge44"],[3,297,"gauge44"],[3,374,"gauge44"],[3,74,"gauge44"],[3,151,"gauge44"],[3,228,"gauge44"],[3,305,"gauge44"],[3,382,"gauge44"],[4,65,"gauge44"],[4,142,"gauge44"],[4,219,"gauge44"],[4,296,"gauge44"],[4,373,"gauge44"],[4,73,"gauge44"],[4,150,"gauge44"],[4,227,"gauge44"],[4,304,"gauge44"],[4,381,"gauge44"],[5,64,"gauge44"],[5,141,"gauge44"],[5,218,"gauge44"],[5,295,"gauge44"],[5,372,"gauge44"],[5,72,"gauge44"],[5,149,"gauge44"],[5,226,"gauge44"],[5,303,"gauge44"],[5,380,"gauge44"],[6,63,"gauge44"],[6,140,"gauge44"],[6,217,"gauge44"],[6,294,"gauge44"],[6,371,"gauge44"],[6,71,"gauge44"],[6,148,"gauge44"],[6,225,"gauge44"],[6,302,"gauge44"],[6,379,"gauge44"],[7,62,"gauge44"],[7,139,"gauge44"],[7,216,"gauge44"],[7,293,"gauge44"],[7,370,"gauge44"],[7,70,"gauge44"],[7,147,"gauge44"],[7,224,"gauge44"],[7,301,"gauge44"],[7,378,"gauge44"],[2,68,"gauge44"],[2,145,"gauge44"],[2,222,"gauge44"],[2,299,"gauge44"],[2,376,"gauge44"],[2,76,"gauge44"],[2,153,"gauge44"],[2,230,"gauge44"],[2,307,"gauge44"],[2,384,"gauge44"],[8,61,"gauge44"],[8,138,"gauge44"],[8,215,"gauge44"],[8,292,"gauge44"],[8,369,"gauge44"],[8,69,"gauge44"],[8,146,"gauge44"],[8,223,"gauge44"],[8,300,"gauge44"],[8,377,"gauge44"],[3,67,"gauge44"],[3,144,"gauge44"],[3,221,"gauge44"],[3,298,"gauge44"],[3,375,"gauge44"],[3,75,"gauge44"],[3,152,"gauge44"],[3,229,"gauge44"],[3,306,"gauge44"],[3,383,"gauge44"],[4,66,"gauge44"],[4,143,"gauge44"],[4,220,"gauge44"],[4,297,"gauge44"],[4,374,"gauge44"],[4,74,"gauge44"],[4,151,"gauge44"],[4,228,"gauge44"],[4,305,"gauge44"],[4,382,"gauge44"],[5,65,"gauge44"],[5,142,"gauge44"],[5,219,"gauge44"],[5,296,"gauge44"],[5,373,"gauge44"],[5,73,"gauge44"],[5,150,"gauge44"],[5,227,"gauge44"],[5,304,"gauge44"],[5,381,"gauge44"],[6,64,"gauge44"],[6,141,"gauge44"],[6,218,"gauge44"],[6,295,"gauge44"],[6,372,"gauge44"],[6,72,"gauge44"],[6,149,"gauge44"],[6,226,"gauge44"],[6,303,"gauge44"],[6,380,"gauge44"],[7,63,"gauge44"],[7,140,"gauge44"],[7,217,"gauge44"],[7,294,"gauge44"],[7,371,"gauge44"],[7,71,"gauge44"],[7,148,"gauge44"],[7,225,"gauge44"],[7,302,"gauge44"],[7,379,"gauge44"],[8,62,"gauge44"],[8,139,"gauge44"],[8,216,"gauge44"],[8,293,"gauge44"],[8,370,"gauge44"],[8,70,"gauge44"],[8,147,"gauge44"],[8,224,"gauge44"],[8,301,"gauge44"],[8,378,"gauge44"],[3,68,"gauge44"],[3,145,"gauge44"],[3,222,"gauge44"],[3,299,"gauge44"],[3,376,"gauge44"],[3,76,"gauge44"],[3,153,"gauge44"],[3,230,"gauge44"],[3,307,"gauge44"],[3,384,"gauge44"],[4,67,"gauge44"],[4,144,"gauge44"],[4,221,"gauge44"],[4,298,"gauge44"],[4,375,"gauge44"],[4,75,"gauge44"],[4,152,"gauge44"],[4,229,"gauge44"],[4,306,"gauge44"],[4,383,"gauge44"],[5,66,"gauge44"],[5,143,"gauge44"],[5,220,"gauge44"],[5,297,"gauge44"],[5,374,"gauge44"],[5,74,"gauge44"],[5,151,"gauge44"],[5,228,"gauge44"],[5,305,"gauge44"],[5,382,"gauge44"],[6,65,"gauge44"],[6,142,"gauge44"],[6,219,"gauge44"],[6,296,"gauge44"],[6,373,"gauge44"],[6,73,"gauge44"],[6,150,"gauge44"],[6,227,"gauge44"],[6,304,"gauge44"],[6,381,"gauge44"],[7,64,"gauge44"],[7,141,"gauge44"],[7,218,"gauge44"],[7,295,"gauge44"],[7,372,"gauge44"],[7,72,"gauge44"],[7,149,"gauge44"],[7,226,"gauge44"],[7,303,"gauge44"],[7,380,"gauge44"],[8,63,"gauge44"],[8,140,"gauge44"],[8,217,"gauge44"],[8,294,"gauge44"],[8,371,"gauge44"],[8,71,"gauge44"],[8,148,"gauge44"],[8,225,"gauge44"],[8,302,"gauge44"],[8,379,"gauge44"],[4,68,"gauge44"],[4,145,"gauge44"],[4,222,"gauge44"],[4,299,"gauge44"],[4,376,"gauge44"],[4,76,"gauge44"],[4,153,"gauge44"],[4,230,"gauge44"],[4,307,"gauge44"],[4,384,"gauge44"],[5,67,"gauge44"],[5,144,"gauge44"],[5,221,"gauge44"],[5,298,"gauge44"],[5,375,"gauge44"],[5,75,"gauge44"],[5,152,"gauge44"],[5,229,"gauge44"],[5,306,"gauge44"],[5,383,"gauge44"],[6,66,"gauge44"],[6,143,"gauge44"],[6,220,"gauge44"],[6,297,"gauge44"],[6,374,"gauge44"],[6,74,"gauge44"],[6,151,"gauge44"],[6,228,"gauge44"],[6,305,"gauge44"],[6,382,"gauge44"],[7,65,"gauge44"],[7,142,"gauge44"],[7,219,"gauge44"],[7,296,"gauge44"],[7,373,"gauge44"],[7,73,"gauge44"],[7,150,"gauge44"],[7,227,"gauge44"],[7,304,"gauge44"],[7,381,"gauge44"],[8,64,"gauge44"],[8,141,"gauge44"],[8,218,"gauge44"],[8,295,"gauge44"],[8,372,"gauge44"],[8,72,"gauge44"],[8,149,"gauge44"],[8,226,"gauge44"],[8,303,"gauge44"],[8,380,"gauge44"],[5,68,"gauge44"],[5,145,"gauge44"],[5,222,"gauge44"],[5,299,"gauge44"],[5,376,"gauge44"],[5,76,"gauge44"],[5,153,"gauge44"],[5,230,"gauge44"],[5,307,"gauge44"],[5,384,"gauge44"],[6,67,"gauge44"],[6,144,"gauge44"],[6,221,"gauge44"],[6,298,"gauge44"],[6,375,"gauge44"],[6,75,"gauge44"],[6,152,"gauge44"],[6,229,"gauge44"],[6,306,"gauge44"],[6,383,"gauge44"],[7,66,"gauge44"],[7,143,"gauge44"],[7,220,"gauge44"],[7,297,"gauge44"],[7,374,"gauge44"],[7,74,"gauge44"],[7,151,"gauge44"],[7,228,"gauge44"],[7,305,"gauge44"],[7,382,"gauge44"],[8,65,"gauge44"],[8,142,"gauge44"],[8,219,"gauge44"],[8,296,"gauge44"],[8,373,"gauge44"],[8,73,"gauge44"],[8,150,"gauge44"],[8,227,"gauge44"],[8,304,"gauge44"],[8,381,"gauge44"],[6,68,"gauge44"],[6,145,"gauge44"],[6,222,"gauge44"],[6,299,"gauge44"],[6,376,"gauge44"],[6,76,"gauge44"],[6,153,"gauge44"],[6,230,"gauge44"],[6,307,"gauge44"],[6,384,"gauge44"],[7,67,"gauge44"],[7,144,"gauge44"],[7,221,"gauge44"],[7,298,"gauge44"],[7,375,"gauge44"],[7,75,"gauge44"],[7,152,"gauge44"],[7,229,"gauge44"],[7,306,"gauge44"],[7,383,"gauge44"],[8,66,"gauge44"],[8,143,"gauge44"],[8,220,"gauge44"],[8,297,"gauge44"],[8,374,"gauge44"],[8,74,"gauge44"],[8,151,"gauge44"],[8,228,"gauge44"],[8,305,"gauge44"],[8,382,"gauge44"],[7,68,"gauge44"],[7,145,"gauge44"],[7,222,"gauge44"],[7,299,"gauge44"],[7,376,"gauge44"],[7,76,"gauge44"],[7,153,"gauge44"],[7,230,"gauge44"],[7,307,"gauge44"],[7,384,"gauge44"],[8,67,"gauge44"],[8,144,"gauge44"],[8,221,"gauge44"],[8,298,"gauge44"],[8,375,"gauge44"],[8,75,"gauge44"],[8,152,"gauge44"],[8,229,"gauge44"],[8,306,"gauge44"],[8,383,"gauge44"],[8,68,"gauge44"],[8,145,"gauge44"],[8,222,"gauge44"],[8,299,"gauge44"],[8,376,"gauge44"],[8,76,"gauge44"],[8,153,"gauge44"],[8,230,"gauge44"],[8,307,"gauge44"],[8,384,"gauge44"]] diff --git a/research/staged544-t385/inputs/FILL.json.gz b/research/staged544-t385/inputs/FILL.json.gz new file mode 100644 index 0000000000..7f4d595b19 Binary files /dev/null and b/research/staged544-t385/inputs/FILL.json.gz differ diff --git a/research/staged544-t385/inputs/ORDER.json b/research/staged544-t385/inputs/ORDER.json new file mode 100644 index 0000000000..3534f02535 --- /dev/null +++ b/research/staged544-t385/inputs/ORDER.json @@ -0,0 +1 @@ +[[0,0],[0,77],[0,154],[0,231],[0,308],[0,1],[0,78],[0,155],[0,232],[0,309],[0,2],[0,79],[0,156],[0,233],[0,310],[0,3],[0,80],[0,157],[0,234],[0,311],[0,4],[0,81],[0,158],[0,235],[0,312],[1,0],[1,77],[1,154],[1,231],[1,308],[0,5],[0,82],[0,159],[0,236],[0,313],[1,1],[1,78],[1,155],[1,232],[1,309],[0,6],[0,83],[0,160],[0,237],[0,314],[1,2],[1,79],[1,156],[1,233],[1,310],[0,7],[0,84],[0,161],[0,238],[0,315],[1,3],[1,80],[1,157],[1,234],[1,311],[0,8],[0,85],[0,162],[0,239],[0,316],[1,4],[1,81],[1,158],[1,235],[1,312],[0,9],[0,86],[0,163],[0,240],[0,317],[2,0],[2,77],[2,154],[2,231],[2,308],[1,5],[1,82],[1,159],[1,236],[1,313],[0,10],[0,87],[0,164],[0,241],[0,318],[2,1],[2,78],[2,155],[2,232],[2,309],[1,6],[1,83],[1,160],[1,237],[1,314],[0,11],[0,88],[0,165],[0,242],[0,319],[2,2],[2,79],[2,156],[2,233],[2,310],[1,7],[1,84],[1,161],[1,238],[1,315],[0,12],[0,89],[0,166],[0,243],[0,320],[2,3],[2,80],[2,157],[2,234],[2,311],[1,8],[1,85],[1,162],[1,239],[1,316],[0,13],[0,90],[0,167],[0,244],[0,321],[2,4],[2,81],[2,158],[2,235],[2,312],[1,9],[1,86],[1,163],[1,240],[1,317],[3,0],[3,77],[3,154],[3,231],[3,308],[0,14],[0,91],[0,168],[0,245],[0,322],[2,5],[2,82],[2,159],[2,236],[2,313],[1,10],[1,87],[1,164],[1,241],[1,318],[3,1],[3,78],[3,155],[3,232],[3,309],[0,15],[0,92],[0,169],[0,246],[0,323],[2,6],[2,83],[2,160],[2,237],[2,314],[1,11],[1,88],[1,165],[1,242],[1,319],[3,2],[3,79],[3,156],[3,233],[3,310],[0,16],[0,93],[0,170],[0,247],[0,324],[2,7],[2,84],[2,161],[2,238],[2,315],[1,12],[1,89],[1,166],[1,243],[1,320],[3,3],[3,80],[3,157],[3,234],[3,311],[0,17],[0,94],[0,171],[0,248],[0,325],[2,8],[2,85],[2,162],[2,239],[2,316],[1,13],[1,90],[1,167],[1,244],[1,321],[3,4],[3,81],[3,158],[3,235],[3,312],[0,18],[0,95],[0,172],[0,249],[0,326],[2,9],[2,86],[2,163],[2,240],[2,317],[4,0],[4,77],[4,154],[4,231],[4,308],[1,14],[1,91],[1,168],[1,245],[1,322],[3,5],[3,82],[3,159],[3,236],[3,313],[0,19],[0,96],[0,173],[0,250],[0,327],[2,10],[2,87],[2,164],[2,241],[2,318],[4,1],[4,78],[4,155],[4,232],[4,309],[1,15],[1,92],[1,169],[1,246],[1,323],[3,6],[3,83],[3,160],[3,237],[3,314],[0,20],[0,97],[0,174],[0,251],[0,328],[2,11],[2,88],[2,165],[2,242],[2,319],[4,2],[4,79],[4,156],[4,233],[4,310],[1,16],[1,93],[1,170],[1,247],[1,324],[3,7],[3,84],[3,161],[3,238],[3,315],[0,21],[0,98],[0,175],[0,252],[0,329],[2,12],[2,89],[2,166],[2,243],[2,320],[4,3],[4,80],[4,157],[4,234],[4,311],[1,17],[1,94],[1,171],[1,248],[1,325],[3,8],[3,85],[3,162],[3,239],[3,316],[0,22],[0,99],[0,176],[0,253],[0,330],[2,13],[2,90],[2,167],[2,244],[2,321],[4,4],[4,81],[4,158],[4,235],[4,312],[1,18],[1,95],[1,172],[1,249],[1,326],[3,9],[3,86],[3,163],[3,240],[3,317],[0,23],[0,100],[0,177],[0,254],[0,331],[5,0],[5,77],[5,154],[5,231],[5,308],[2,14],[2,91],[2,168],[2,245],[2,322],[4,5],[4,82],[4,159],[4,236],[4,313],[1,19],[1,96],[1,173],[1,250],[1,327],[3,10],[3,87],[3,164],[3,241],[3,318],[0,24],[0,101],[0,178],[0,255],[0,332],[5,1],[5,78],[5,155],[5,232],[5,309],[2,15],[2,92],[2,169],[2,246],[2,323],[4,6],[4,83],[4,160],[4,237],[4,314],[1,20],[1,97],[1,174],[1,251],[1,328],[3,11],[3,88],[3,165],[3,242],[3,319],[0,25],[0,102],[0,179],[0,256],[0,333],[5,2],[5,79],[5,156],[5,233],[5,310],[2,16],[2,93],[2,170],[2,247],[2,324],[4,7],[4,84],[4,161],[4,238],[4,315],[1,21],[1,98],[1,175],[1,252],[1,329],[3,12],[3,89],[3,166],[3,243],[3,320],[0,26],[0,103],[0,180],[0,257],[0,334],[5,3],[5,80],[5,157],[5,234],[5,311],[2,17],[2,94],[2,171],[2,248],[2,325],[4,8],[4,85],[4,162],[4,239],[4,316],[1,22],[1,99],[1,176],[1,253],[1,330],[3,13],[3,90],[3,167],[3,244],[3,321],[0,27],[0,104],[0,181],[0,258],[0,335],[5,4],[5,81],[5,158],[5,235],[5,312],[2,18],[2,95],[2,172],[2,249],[2,326],[4,9],[4,86],[4,163],[4,240],[4,317],[1,23],[1,100],[1,177],[1,254],[1,331],[6,0],[6,77],[6,154],[6,231],[6,308],[3,14],[3,91],[3,168],[3,245],[3,322],[0,28],[0,105],[0,182],[0,259],[0,336],[5,5],[5,82],[5,159],[5,236],[5,313],[2,19],[2,96],[2,173],[2,250],[2,327],[4,10],[4,87],[4,164],[4,241],[4,318],[1,24],[1,101],[1,178],[1,255],[1,332],[6,1],[6,78],[6,155],[6,232],[6,309],[3,15],[3,92],[3,169],[3,246],[3,323],[0,29],[0,106],[0,183],[0,260],[0,337],[5,6],[5,83],[5,160],[5,237],[5,314],[2,20],[2,97],[2,174],[2,251],[2,328],[4,11],[4,88],[4,165],[4,242],[4,319],[1,25],[1,102],[1,179],[1,256],[1,333],[6,2],[6,79],[6,156],[6,233],[6,310],[3,16],[3,93],[3,170],[3,247],[3,324],[0,30],[0,107],[0,184],[0,261],[0,338],[5,7],[5,84],[5,161],[5,238],[5,315],[2,21],[2,98],[2,175],[2,252],[2,329],[4,12],[4,89],[4,166],[4,243],[4,320],[1,26],[1,103],[1,180],[1,257],[1,334],[6,3],[6,80],[6,157],[6,234],[6,311],[3,17],[3,94],[3,171],[3,248],[3,325],[0,31],[0,108],[0,185],[0,262],[0,339],[5,8],[5,85],[5,162],[5,239],[5,316],[2,22],[2,99],[2,176],[2,253],[2,330],[4,13],[4,90],[4,167],[4,244],[4,321],[1,27],[1,104],[1,181],[1,258],[1,335],[6,4],[6,81],[6,158],[6,235],[6,312],[3,18],[3,95],[3,172],[3,249],[3,326],[0,32],[0,109],[0,186],[0,263],[0,340],[5,9],[5,86],[5,163],[5,240],[5,317],[2,23],[2,100],[2,177],[2,254],[2,331],[7,0],[7,77],[7,154],[7,231],[7,308],[4,14],[4,91],[4,168],[4,245],[4,322],[1,28],[1,105],[1,182],[1,259],[1,336],[6,5],[6,82],[6,159],[6,236],[6,313],[3,19],[3,96],[3,173],[3,250],[3,327],[0,33],[0,110],[0,187],[0,264],[0,341],[5,10],[5,87],[5,164],[5,241],[5,318],[2,24],[2,101],[2,178],[2,255],[2,332],[7,1],[7,78],[7,155],[7,232],[7,309],[4,15],[4,92],[4,169],[4,246],[4,323],[1,29],[1,106],[1,183],[1,260],[1,337],[6,6],[6,83],[6,160],[6,237],[6,314],[3,20],[3,97],[3,174],[3,251],[3,328],[0,34],[0,111],[0,188],[0,265],[0,342],[5,11],[5,88],[5,165],[5,242],[5,319],[2,25],[2,102],[2,179],[2,256],[2,333],[7,2],[7,79],[7,156],[7,233],[7,310],[4,16],[4,93],[4,170],[4,247],[4,324],[1,30],[1,107],[1,184],[1,261],[1,338],[6,7],[6,84],[6,161],[6,238],[6,315],[3,21],[3,98],[3,175],[3,252],[3,329],[0,35],[0,112],[0,189],[0,266],[0,343],[5,12],[5,89],[5,166],[5,243],[5,320],[2,26],[2,103],[2,180],[2,257],[2,334],[7,3],[7,80],[7,157],[7,234],[7,311],[4,17],[4,94],[4,171],[4,248],[4,325],[1,31],[1,108],[1,185],[1,262],[1,339],[6,8],[6,85],[6,162],[6,239],[6,316],[3,22],[3,99],[3,176],[3,253],[3,330],[0,36],[0,113],[0,190],[0,267],[0,344],[5,13],[5,90],[5,167],[5,244],[5,321],[2,27],[2,104],[2,181],[2,258],[2,335],[7,4],[7,81],[7,158],[7,235],[7,312],[4,18],[4,95],[4,172],[4,249],[4,326],[1,32],[1,109],[1,186],[1,263],[1,340],[6,9],[6,86],[6,163],[6,240],[6,317],[3,23],[3,100],[3,177],[3,254],[3,331],[8,0],[8,77],[8,154],[8,231],[8,308],[5,14],[5,91],[5,168],[5,245],[5,322],[2,28],[2,105],[2,182],[2,259],[2,336],[7,5],[7,82],[7,159],[7,236],[7,313],[4,19],[4,96],[4,173],[4,250],[4,327],[1,33],[1,110],[1,187],[1,264],[1,341],[6,10],[6,87],[6,164],[6,241],[6,318],[3,24],[3,101],[3,178],[3,255],[3,332],[8,1],[8,78],[8,155],[8,232],[8,309],[5,15],[5,92],[5,169],[5,246],[5,323],[2,29],[2,106],[2,183],[2,260],[2,337],[7,6],[7,83],[7,160],[7,237],[7,314],[4,20],[4,97],[4,174],[4,251],[4,328],[1,34],[1,111],[1,188],[1,265],[1,342],[6,11],[6,88],[6,165],[6,242],[6,319],[3,25],[3,102],[3,179],[3,256],[3,333],[8,2],[8,79],[8,156],[8,233],[8,310],[5,16],[5,93],[5,170],[5,247],[5,324],[2,30],[2,107],[2,184],[2,261],[2,338],[7,7],[7,84],[7,161],[7,238],[7,315],[4,21],[4,98],[4,175],[4,252],[4,329],[1,35],[1,112],[1,189],[1,266],[1,343],[6,12],[6,89],[6,166],[6,243],[6,320],[3,26],[3,103],[3,180],[3,257],[3,334],[8,3],[8,80],[8,157],[8,234],[8,311],[5,17],[5,94],[5,171],[5,248],[5,325],[2,31],[2,108],[2,185],[2,262],[2,339],[7,8],[7,85],[7,162],[7,239],[7,316],[4,22],[4,99],[4,176],[4,253],[4,330],[1,36],[1,113],[1,190],[1,267],[1,344],[6,13],[6,90],[6,167],[6,244],[6,321],[3,27],[3,104],[3,181],[3,258],[3,335],[8,4],[8,81],[8,158],[8,235],[8,312],[5,18],[5,95],[5,172],[5,249],[5,326],[2,32],[2,109],[2,186],[2,263],[2,340],[7,9],[7,86],[7,163],[7,240],[7,317],[4,23],[4,100],[4,177],[4,254],[4,331],[6,14],[6,91],[6,168],[6,245],[6,322],[3,28],[3,105],[3,182],[3,259],[3,336],[8,5],[8,82],[8,159],[8,236],[8,313],[5,19],[5,96],[5,173],[5,250],[5,327],[2,33],[2,110],[2,187],[2,264],[2,341],[7,10],[7,87],[7,164],[7,241],[7,318],[4,24],[4,101],[4,178],[4,255],[4,332],[6,15],[6,92],[6,169],[6,246],[6,323],[3,29],[3,106],[3,183],[3,260],[3,337],[8,6],[8,83],[8,160],[8,237],[8,314],[5,20],[5,97],[5,174],[5,251],[5,328],[2,34],[2,111],[2,188],[2,265],[2,342],[7,11],[7,88],[7,165],[7,242],[7,319],[4,25],[4,102],[4,179],[4,256],[4,333],[6,16],[6,93],[6,170],[6,247],[6,324],[3,30],[3,107],[3,184],[3,261],[3,338],[8,7],[8,84],[8,161],[8,238],[8,315],[5,21],[5,98],[5,175],[5,252],[5,329],[2,35],[2,112],[2,189],[2,266],[2,343],[7,12],[7,89],[7,166],[7,243],[7,320],[4,26],[4,103],[4,180],[4,257],[4,334],[6,17],[6,94],[6,171],[6,248],[6,325],[3,31],[3,108],[3,185],[3,262],[3,339],[8,8],[8,85],[8,162],[8,239],[8,316],[5,22],[5,99],[5,176],[5,253],[5,330],[2,36],[2,113],[2,190],[2,267],[2,344],[7,13],[7,90],[7,167],[7,244],[7,321],[4,27],[4,104],[4,181],[4,258],[4,335],[6,18],[6,95],[6,172],[6,249],[6,326],[3,32],[3,109],[3,186],[3,263],[3,340],[8,9],[8,86],[8,163],[8,240],[8,317],[5,23],[5,100],[5,177],[5,254],[5,331],[7,14],[7,91],[7,168],[7,245],[7,322],[4,28],[4,105],[4,182],[4,259],[4,336],[6,19],[6,96],[6,173],[6,250],[6,327],[3,33],[3,110],[3,187],[3,264],[3,341],[8,10],[8,87],[8,164],[8,241],[8,318],[5,24],[5,101],[5,178],[5,255],[5,332],[7,15],[7,92],[7,169],[7,246],[7,323],[4,29],[4,106],[4,183],[4,260],[4,337],[6,20],[6,97],[6,174],[6,251],[6,328],[3,34],[3,111],[3,188],[3,265],[3,342],[8,11],[8,88],[8,165],[8,242],[8,319],[5,25],[5,102],[5,179],[5,256],[5,333],[7,16],[7,93],[7,170],[7,247],[7,324],[4,30],[4,107],[4,184],[4,261],[4,338],[6,21],[6,98],[6,175],[6,252],[6,329],[3,35],[3,112],[3,189],[3,266],[3,343],[8,12],[8,89],[8,166],[8,243],[8,320],[5,26],[5,103],[5,180],[5,257],[5,334],[7,17],[7,94],[7,171],[7,248],[7,325],[4,31],[4,108],[4,185],[4,262],[4,339],[6,22],[6,99],[6,176],[6,253],[6,330],[3,36],[3,113],[3,190],[3,267],[3,344],[8,13],[8,90],[8,167],[8,244],[8,321],[5,27],[5,104],[5,181],[5,258],[5,335],[7,18],[7,95],[7,172],[7,249],[7,326],[4,32],[4,109],[4,186],[4,263],[4,340],[6,23],[6,100],[6,177],[6,254],[6,331],[8,14],[8,91],[8,168],[8,245],[8,322],[5,28],[5,105],[5,182],[5,259],[5,336],[7,19],[7,96],[7,173],[7,250],[7,327],[4,33],[4,110],[4,187],[4,264],[4,341],[6,24],[6,101],[6,178],[6,255],[6,332],[8,15],[8,92],[8,169],[8,246],[8,323],[5,29],[5,106],[5,183],[5,260],[5,337],[7,20],[7,97],[7,174],[7,251],[7,328],[4,34],[4,111],[4,188],[4,265],[4,342],[6,25],[6,102],[6,179],[6,256],[6,333],[8,16],[8,93],[8,170],[8,247],[8,324],[5,30],[5,107],[5,184],[5,261],[5,338],[7,21],[7,98],[7,175],[7,252],[7,329],[4,35],[4,112],[4,189],[4,266],[4,343],[6,26],[6,103],[6,180],[6,257],[6,334],[8,17],[8,94],[8,171],[8,248],[8,325],[5,31],[5,108],[5,185],[5,262],[5,339],[7,22],[7,99],[7,176],[7,253],[7,330],[4,36],[4,113],[4,190],[4,267],[4,344],[6,27],[6,104],[6,181],[6,258],[6,335],[8,18],[8,95],[8,172],[8,249],[8,326],[5,32],[5,109],[5,186],[5,263],[5,340],[7,23],[7,100],[7,177],[7,254],[7,331],[6,28],[6,105],[6,182],[6,259],[6,336],[8,19],[8,96],[8,173],[8,250],[8,327],[5,33],[5,110],[5,187],[5,264],[5,341],[7,24],[7,101],[7,178],[7,255],[7,332],[6,29],[6,106],[6,183],[6,260],[6,337],[8,20],[8,97],[8,174],[8,251],[8,328],[5,34],[5,111],[5,188],[5,265],[5,342],[7,25],[7,102],[7,179],[7,256],[7,333],[6,30],[6,107],[6,184],[6,261],[6,338],[8,21],[8,98],[8,175],[8,252],[8,329],[5,35],[5,112],[5,189],[5,266],[5,343],[7,26],[7,103],[7,180],[7,257],[7,334],[6,31],[6,108],[6,185],[6,262],[6,339],[8,22],[8,99],[8,176],[8,253],[8,330],[5,36],[5,113],[5,190],[5,267],[5,344],[7,27],[7,104],[7,181],[7,258],[7,335],[6,32],[6,109],[6,186],[6,263],[6,340],[8,23],[8,100],[8,177],[8,254],[8,331],[7,28],[7,105],[7,182],[7,259],[7,336],[6,33],[6,110],[6,187],[6,264],[6,341],[8,24],[8,101],[8,178],[8,255],[8,332],[7,29],[7,106],[7,183],[7,260],[7,337],[6,34],[6,111],[6,188],[6,265],[6,342],[8,25],[8,102],[8,179],[8,256],[8,333],[7,30],[7,107],[7,184],[7,261],[7,338],[6,35],[6,112],[6,189],[6,266],[6,343],[8,26],[8,103],[8,180],[8,257],[8,334],[7,31],[7,108],[7,185],[7,262],[7,339],[6,36],[6,113],[6,190],[6,267],[6,344],[8,27],[8,104],[8,181],[8,258],[8,335],[7,32],[7,109],[7,186],[7,263],[7,340],[8,28],[8,105],[8,182],[8,259],[8,336],[7,33],[7,110],[7,187],[7,264],[7,341],[8,29],[8,106],[8,183],[8,260],[8,337],[7,34],[7,111],[7,188],[7,265],[7,342],[8,30],[8,107],[8,184],[8,261],[8,338],[7,35],[7,112],[7,189],[7,266],[7,343],[8,31],[8,108],[8,185],[8,262],[8,339],[7,36],[7,113],[7,190],[7,267],[7,344],[8,32],[8,109],[8,186],[8,263],[8,340],[8,33],[8,110],[8,187],[8,264],[8,341],[8,34],[8,111],[8,188],[8,265],[8,342],[8,35],[8,112],[8,189],[8,266],[8,343],[8,36],[8,113],[8,190],[8,267],[8,344],[0,37],[0,114],[0,191],[0,268],[0,345],[0,38],[0,115],[0,192],[0,269],[0,346],[1,37],[1,114],[1,191],[1,268],[1,345],[0,39],[0,116],[0,193],[0,270],[0,347],[1,38],[1,115],[1,192],[1,269],[1,346],[2,37],[2,114],[2,191],[2,268],[2,345],[0,40],[0,117],[0,194],[0,271],[0,348],[3,37],[3,114],[3,191],[3,268],[3,345],[1,39],[1,116],[1,193],[1,270],[1,347],[2,38],[2,115],[2,192],[2,269],[2,346],[0,41],[0,118],[0,195],[0,272],[0,349],[2,39],[2,116],[2,193],[2,270],[2,347],[1,40],[1,117],[1,194],[1,271],[1,348],[3,38],[3,115],[3,192],[3,269],[3,346],[4,37],[4,114],[4,191],[4,268],[4,345],[0,42],[0,119],[0,196],[0,273],[0,350],[1,41],[1,118],[1,195],[1,272],[1,349],[2,40],[2,117],[2,194],[2,271],[2,348],[3,39],[3,116],[3,193],[3,270],[3,347],[4,38],[4,115],[4,192],[4,269],[4,346],[5,37],[5,114],[5,191],[5,268],[5,345],[0,43],[0,120],[0,197],[0,274],[0,351],[1,42],[1,119],[1,196],[1,273],[1,350],[2,41],[2,118],[2,195],[2,272],[2,349],[3,40],[3,117],[3,194],[3,271],[3,348],[4,39],[4,116],[4,193],[4,270],[4,347],[5,38],[5,115],[5,192],[5,269],[5,346],[0,44],[0,121],[0,198],[0,275],[0,352],[6,37],[6,114],[6,191],[6,268],[6,345],[1,43],[1,120],[1,197],[1,274],[1,351],[2,42],[2,119],[2,196],[2,273],[2,350],[3,41],[3,118],[3,195],[3,272],[3,349],[4,40],[4,117],[4,194],[4,271],[4,348],[5,39],[5,116],[5,193],[5,270],[5,347],[6,38],[6,115],[6,192],[6,269],[6,346],[1,44],[1,121],[1,198],[1,275],[1,352],[7,37],[7,114],[7,191],[7,268],[7,345],[2,43],[2,120],[2,197],[2,274],[2,351],[3,42],[3,119],[3,196],[3,273],[3,350],[4,41],[4,118],[4,195],[4,272],[4,349],[5,40],[5,117],[5,194],[5,271],[5,348],[6,39],[6,116],[6,193],[6,270],[6,347],[7,38],[7,115],[7,192],[7,269],[7,346],[2,44],[2,121],[2,198],[2,275],[2,352],[8,37],[8,114],[8,191],[8,268],[8,345],[3,43],[3,120],[3,197],[3,274],[3,351],[4,42],[4,119],[4,196],[4,273],[4,350],[5,41],[5,118],[5,195],[5,272],[5,349],[6,40],[6,117],[6,194],[6,271],[6,348],[7,39],[7,116],[7,193],[7,270],[7,347],[8,38],[8,115],[8,192],[8,269],[8,346],[3,44],[3,121],[3,198],[3,275],[3,352],[4,43],[4,120],[4,197],[4,274],[4,351],[5,42],[5,119],[5,196],[5,273],[5,350],[6,41],[6,118],[6,195],[6,272],[6,349],[7,40],[7,117],[7,194],[7,271],[7,348],[8,39],[8,116],[8,193],[8,270],[8,347],[4,44],[4,121],[4,198],[4,275],[4,352],[5,43],[5,120],[5,197],[5,274],[5,351],[6,42],[6,119],[6,196],[6,273],[6,350],[7,41],[7,118],[7,195],[7,272],[7,349],[8,40],[8,117],[8,194],[8,271],[8,348],[5,44],[5,121],[5,198],[5,275],[5,352],[6,43],[6,120],[6,197],[6,274],[6,351],[7,42],[7,119],[7,196],[7,273],[7,350],[8,41],[8,118],[8,195],[8,272],[8,349],[6,44],[6,121],[6,198],[6,275],[6,352],[7,43],[7,120],[7,197],[7,274],[7,351],[8,42],[8,119],[8,196],[8,273],[8,350],[7,44],[7,121],[7,198],[7,275],[7,352],[8,43],[8,120],[8,197],[8,274],[8,351],[8,44],[8,121],[8,198],[8,275],[8,352],[0,45],[0,122],[0,199],[0,276],[0,353],[0,53],[0,130],[0,207],[0,284],[0,361],[0,46],[0,123],[0,200],[0,277],[0,354],[0,54],[0,131],[0,208],[0,285],[0,362],[1,45],[1,122],[1,199],[1,276],[1,353],[1,53],[1,130],[1,207],[1,284],[1,361],[0,47],[0,124],[0,201],[0,278],[0,355],[0,55],[0,132],[0,209],[0,286],[0,363],[1,46],[1,123],[1,200],[1,277],[1,354],[1,54],[1,131],[1,208],[1,285],[1,362],[2,45],[2,122],[2,199],[2,276],[2,353],[2,53],[2,130],[2,207],[2,284],[2,361],[0,48],[0,125],[0,202],[0,279],[0,356],[0,56],[0,133],[0,210],[0,287],[0,364],[1,47],[1,124],[1,201],[1,278],[1,355],[1,55],[1,132],[1,209],[1,286],[1,363],[2,46],[2,123],[2,200],[2,277],[2,354],[2,54],[2,131],[2,208],[2,285],[2,362],[3,45],[3,122],[3,199],[3,276],[3,353],[3,53],[3,130],[3,207],[3,284],[3,361],[0,49],[0,126],[0,203],[0,280],[0,357],[0,57],[0,134],[0,211],[0,288],[0,365],[1,48],[1,125],[1,202],[1,279],[1,356],[1,56],[1,133],[1,210],[1,287],[1,364],[2,47],[2,124],[2,201],[2,278],[2,355],[2,55],[2,132],[2,209],[2,286],[2,363],[3,46],[3,123],[3,200],[3,277],[3,354],[3,54],[3,131],[3,208],[3,285],[3,362],[4,45],[4,122],[4,199],[4,276],[4,353],[4,53],[4,130],[4,207],[4,284],[4,361],[0,50],[0,127],[0,204],[0,281],[0,358],[0,58],[0,135],[0,212],[0,289],[0,366],[1,49],[1,126],[1,203],[1,280],[1,357],[1,57],[1,134],[1,211],[1,288],[1,365],[2,48],[2,125],[2,202],[2,279],[2,356],[2,56],[2,133],[2,210],[2,287],[2,364],[3,47],[3,124],[3,201],[3,278],[3,355],[3,55],[3,132],[3,209],[3,286],[3,363],[4,46],[4,123],[4,200],[4,277],[4,354],[4,54],[4,131],[4,208],[4,285],[4,362],[5,45],[5,122],[5,199],[5,276],[5,353],[5,53],[5,130],[5,207],[5,284],[5,361],[0,51],[0,128],[0,205],[0,282],[0,359],[0,59],[0,136],[0,213],[0,290],[0,367],[1,50],[1,127],[1,204],[1,281],[1,358],[1,58],[1,135],[1,212],[1,289],[1,366],[2,49],[2,126],[2,203],[2,280],[2,357],[2,57],[2,134],[2,211],[2,288],[2,365],[3,48],[3,125],[3,202],[3,279],[3,356],[3,56],[3,133],[3,210],[3,287],[3,364],[4,47],[4,124],[4,201],[4,278],[4,355],[4,55],[4,132],[4,209],[4,286],[4,363],[5,46],[5,123],[5,200],[5,277],[5,354],[5,54],[5,131],[5,208],[5,285],[5,362],[0,52],[0,129],[0,206],[0,283],[0,360],[0,60],[0,137],[0,214],[0,291],[0,368],[6,45],[6,122],[6,199],[6,276],[6,353],[6,53],[6,130],[6,207],[6,284],[6,361],[1,51],[1,128],[1,205],[1,282],[1,359],[1,59],[1,136],[1,213],[1,290],[1,367],[2,50],[2,127],[2,204],[2,281],[2,358],[2,58],[2,135],[2,212],[2,289],[2,366],[3,49],[3,126],[3,203],[3,280],[3,357],[3,57],[3,134],[3,211],[3,288],[3,365],[4,48],[4,125],[4,202],[4,279],[4,356],[4,56],[4,133],[4,210],[4,287],[4,364],[5,47],[5,124],[5,201],[5,278],[5,355],[5,55],[5,132],[5,209],[5,286],[5,363],[6,46],[6,123],[6,200],[6,277],[6,354],[6,54],[6,131],[6,208],[6,285],[6,362],[1,52],[1,129],[1,206],[1,283],[1,360],[1,60],[1,137],[1,214],[1,291],[1,368],[7,45],[7,122],[7,199],[7,276],[7,353],[7,53],[7,130],[7,207],[7,284],[7,361],[2,51],[2,128],[2,205],[2,282],[2,359],[2,59],[2,136],[2,213],[2,290],[2,367],[3,50],[3,127],[3,204],[3,281],[3,358],[3,58],[3,135],[3,212],[3,289],[3,366],[4,49],[4,126],[4,203],[4,280],[4,357],[4,57],[4,134],[4,211],[4,288],[4,365],[5,48],[5,125],[5,202],[5,279],[5,356],[5,56],[5,133],[5,210],[5,287],[5,364],[6,47],[6,124],[6,201],[6,278],[6,355],[6,55],[6,132],[6,209],[6,286],[6,363],[7,46],[7,123],[7,200],[7,277],[7,354],[7,54],[7,131],[7,208],[7,285],[7,362],[2,52],[2,129],[2,206],[2,283],[2,360],[2,60],[2,137],[2,214],[2,291],[2,368],[8,45],[8,122],[8,199],[8,276],[8,353],[8,53],[8,130],[8,207],[8,284],[8,361],[3,51],[3,128],[3,205],[3,282],[3,359],[3,59],[3,136],[3,213],[3,290],[3,367],[4,50],[4,127],[4,204],[4,281],[4,358],[4,58],[4,135],[4,212],[4,289],[4,366],[5,49],[5,126],[5,203],[5,280],[5,357],[5,57],[5,134],[5,211],[5,288],[5,365],[6,48],[6,125],[6,202],[6,279],[6,356],[6,56],[6,133],[6,210],[6,287],[6,364],[7,47],[7,124],[7,201],[7,278],[7,355],[7,55],[7,132],[7,209],[7,286],[7,363],[8,46],[8,123],[8,200],[8,277],[8,354],[8,54],[8,131],[8,208],[8,285],[8,362],[3,52],[3,129],[3,206],[3,283],[3,360],[3,60],[3,137],[3,214],[3,291],[3,368],[4,51],[4,128],[4,205],[4,282],[4,359],[4,59],[4,136],[4,213],[4,290],[4,367],[5,50],[5,127],[5,204],[5,281],[5,358],[5,58],[5,135],[5,212],[5,289],[5,366],[6,49],[6,126],[6,203],[6,280],[6,357],[6,57],[6,134],[6,211],[6,288],[6,365],[7,48],[7,125],[7,202],[7,279],[7,356],[7,56],[7,133],[7,210],[7,287],[7,364],[8,47],[8,124],[8,201],[8,278],[8,355],[8,55],[8,132],[8,209],[8,286],[8,363],[4,52],[4,129],[4,206],[4,283],[4,360],[4,60],[4,137],[4,214],[4,291],[4,368],[5,51],[5,128],[5,205],[5,282],[5,359],[5,59],[5,136],[5,213],[5,290],[5,367],[6,50],[6,127],[6,204],[6,281],[6,358],[6,58],[6,135],[6,212],[6,289],[6,366],[7,49],[7,126],[7,203],[7,280],[7,357],[7,57],[7,134],[7,211],[7,288],[7,365],[8,48],[8,125],[8,202],[8,279],[8,356],[8,56],[8,133],[8,210],[8,287],[8,364],[5,52],[5,129],[5,206],[5,283],[5,360],[5,60],[5,137],[5,214],[5,291],[5,368],[6,51],[6,128],[6,205],[6,282],[6,359],[6,59],[6,136],[6,213],[6,290],[6,367],[7,50],[7,127],[7,204],[7,281],[7,358],[7,58],[7,135],[7,212],[7,289],[7,366],[8,49],[8,126],[8,203],[8,280],[8,357],[8,57],[8,134],[8,211],[8,288],[8,365],[6,52],[6,129],[6,206],[6,283],[6,360],[6,60],[6,137],[6,214],[6,291],[6,368],[7,51],[7,128],[7,205],[7,282],[7,359],[7,59],[7,136],[7,213],[7,290],[7,367],[8,50],[8,127],[8,204],[8,281],[8,358],[8,58],[8,135],[8,212],[8,289],[8,366],[7,52],[7,129],[7,206],[7,283],[7,360],[7,60],[7,137],[7,214],[7,291],[7,368],[8,51],[8,128],[8,205],[8,282],[8,359],[8,59],[8,136],[8,213],[8,290],[8,367],[8,52],[8,129],[8,206],[8,283],[8,360],[8,60],[8,137],[8,214],[8,291],[8,368],[0,61],[0,138],[0,215],[0,292],[0,369],[0,69],[0,146],[0,223],[0,300],[0,377],[0,62],[0,139],[0,216],[0,293],[0,370],[0,70],[0,147],[0,224],[0,301],[0,378],[1,61],[1,138],[1,215],[1,292],[1,369],[1,69],[1,146],[1,223],[1,300],[1,377],[0,63],[0,140],[0,217],[0,294],[0,371],[0,71],[0,148],[0,225],[0,302],[0,379],[1,62],[1,139],[1,216],[1,293],[1,370],[1,70],[1,147],[1,224],[1,301],[1,378],[2,61],[2,138],[2,215],[2,292],[2,369],[2,69],[2,146],[2,223],[2,300],[2,377],[0,64],[0,141],[0,218],[0,295],[0,372],[0,72],[0,149],[0,226],[0,303],[0,380],[1,63],[1,140],[1,217],[1,294],[1,371],[1,71],[1,148],[1,225],[1,302],[1,379],[2,62],[2,139],[2,216],[2,293],[2,370],[2,70],[2,147],[2,224],[2,301],[2,378],[3,61],[3,138],[3,215],[3,292],[3,369],[3,69],[3,146],[3,223],[3,300],[3,377],[0,65],[0,142],[0,219],[0,296],[0,373],[0,73],[0,150],[0,227],[0,304],[0,381],[1,64],[1,141],[1,218],[1,295],[1,372],[1,72],[1,149],[1,226],[1,303],[1,380],[2,63],[2,140],[2,217],[2,294],[2,371],[2,71],[2,148],[2,225],[2,302],[2,379],[3,62],[3,139],[3,216],[3,293],[3,370],[3,70],[3,147],[3,224],[3,301],[3,378],[4,61],[4,138],[4,215],[4,292],[4,369],[4,69],[4,146],[4,223],[4,300],[4,377],[0,66],[0,143],[0,220],[0,297],[0,374],[0,74],[0,151],[0,228],[0,305],[0,382],[1,65],[1,142],[1,219],[1,296],[1,373],[1,73],[1,150],[1,227],[1,304],[1,381],[2,64],[2,141],[2,218],[2,295],[2,372],[2,72],[2,149],[2,226],[2,303],[2,380],[3,63],[3,140],[3,217],[3,294],[3,371],[3,71],[3,148],[3,225],[3,302],[3,379],[4,62],[4,139],[4,216],[4,293],[4,370],[4,70],[4,147],[4,224],[4,301],[4,378],[5,61],[5,138],[5,215],[5,292],[5,369],[5,69],[5,146],[5,223],[5,300],[5,377],[0,67],[0,144],[0,221],[0,298],[0,375],[0,75],[0,152],[0,229],[0,306],[0,383],[1,66],[1,143],[1,220],[1,297],[1,374],[1,74],[1,151],[1,228],[1,305],[1,382],[2,65],[2,142],[2,219],[2,296],[2,373],[2,73],[2,150],[2,227],[2,304],[2,381],[3,64],[3,141],[3,218],[3,295],[3,372],[3,72],[3,149],[3,226],[3,303],[3,380],[4,63],[4,140],[4,217],[4,294],[4,371],[4,71],[4,148],[4,225],[4,302],[4,379],[5,62],[5,139],[5,216],[5,293],[5,370],[5,70],[5,147],[5,224],[5,301],[5,378],[0,68],[0,145],[0,222],[0,299],[0,376],[0,76],[0,153],[0,230],[0,307],[0,384],[6,61],[6,138],[6,215],[6,292],[6,369],[6,69],[6,146],[6,223],[6,300],[6,377],[1,67],[1,144],[1,221],[1,298],[1,375],[1,75],[1,152],[1,229],[1,306],[1,383],[2,66],[2,143],[2,220],[2,297],[2,374],[2,74],[2,151],[2,228],[2,305],[2,382],[3,65],[3,142],[3,219],[3,296],[3,373],[3,73],[3,150],[3,227],[3,304],[3,381],[4,64],[4,141],[4,218],[4,295],[4,372],[4,72],[4,149],[4,226],[4,303],[4,380],[5,63],[5,140],[5,217],[5,294],[5,371],[5,71],[5,148],[5,225],[5,302],[5,379],[6,62],[6,139],[6,216],[6,293],[6,370],[6,70],[6,147],[6,224],[6,301],[6,378],[1,68],[1,145],[1,222],[1,299],[1,376],[1,76],[1,153],[1,230],[1,307],[1,384],[7,61],[7,138],[7,215],[7,292],[7,369],[7,69],[7,146],[7,223],[7,300],[7,377],[2,67],[2,144],[2,221],[2,298],[2,375],[2,75],[2,152],[2,229],[2,306],[2,383],[3,66],[3,143],[3,220],[3,297],[3,374],[3,74],[3,151],[3,228],[3,305],[3,382],[4,65],[4,142],[4,219],[4,296],[4,373],[4,73],[4,150],[4,227],[4,304],[4,381],[5,64],[5,141],[5,218],[5,295],[5,372],[5,72],[5,149],[5,226],[5,303],[5,380],[6,63],[6,140],[6,217],[6,294],[6,371],[6,71],[6,148],[6,225],[6,302],[6,379],[7,62],[7,139],[7,216],[7,293],[7,370],[7,70],[7,147],[7,224],[7,301],[7,378],[2,68],[2,145],[2,222],[2,299],[2,376],[2,76],[2,153],[2,230],[2,307],[2,384],[8,61],[8,138],[8,215],[8,292],[8,369],[8,69],[8,146],[8,223],[8,300],[8,377],[3,67],[3,144],[3,221],[3,298],[3,375],[3,75],[3,152],[3,229],[3,306],[3,383],[4,66],[4,143],[4,220],[4,297],[4,374],[4,74],[4,151],[4,228],[4,305],[4,382],[5,65],[5,142],[5,219],[5,296],[5,373],[5,73],[5,150],[5,227],[5,304],[5,381],[6,64],[6,141],[6,218],[6,295],[6,372],[6,72],[6,149],[6,226],[6,303],[6,380],[7,63],[7,140],[7,217],[7,294],[7,371],[7,71],[7,148],[7,225],[7,302],[7,379],[8,62],[8,139],[8,216],[8,293],[8,370],[8,70],[8,147],[8,224],[8,301],[8,378],[3,68],[3,145],[3,222],[3,299],[3,376],[3,76],[3,153],[3,230],[3,307],[3,384],[4,67],[4,144],[4,221],[4,298],[4,375],[4,75],[4,152],[4,229],[4,306],[4,383],[5,66],[5,143],[5,220],[5,297],[5,374],[5,74],[5,151],[5,228],[5,305],[5,382],[6,65],[6,142],[6,219],[6,296],[6,373],[6,73],[6,150],[6,227],[6,304],[6,381],[7,64],[7,141],[7,218],[7,295],[7,372],[7,72],[7,149],[7,226],[7,303],[7,380],[8,63],[8,140],[8,217],[8,294],[8,371],[8,71],[8,148],[8,225],[8,302],[8,379],[4,68],[4,145],[4,222],[4,299],[4,376],[4,76],[4,153],[4,230],[4,307],[4,384],[5,67],[5,144],[5,221],[5,298],[5,375],[5,75],[5,152],[5,229],[5,306],[5,383],[6,66],[6,143],[6,220],[6,297],[6,374],[6,74],[6,151],[6,228],[6,305],[6,382],[7,65],[7,142],[7,219],[7,296],[7,373],[7,73],[7,150],[7,227],[7,304],[7,381],[8,64],[8,141],[8,218],[8,295],[8,372],[8,72],[8,149],[8,226],[8,303],[8,380],[5,68],[5,145],[5,222],[5,299],[5,376],[5,76],[5,153],[5,230],[5,307],[5,384],[6,67],[6,144],[6,221],[6,298],[6,375],[6,75],[6,152],[6,229],[6,306],[6,383],[7,66],[7,143],[7,220],[7,297],[7,374],[7,74],[7,151],[7,228],[7,305],[7,382],[8,65],[8,142],[8,219],[8,296],[8,373],[8,73],[8,150],[8,227],[8,304],[8,381],[6,68],[6,145],[6,222],[6,299],[6,376],[6,76],[6,153],[6,230],[6,307],[6,384],[7,67],[7,144],[7,221],[7,298],[7,375],[7,75],[7,152],[7,229],[7,306],[7,383],[8,66],[8,143],[8,220],[8,297],[8,374],[8,74],[8,151],[8,228],[8,305],[8,382],[7,68],[7,145],[7,222],[7,299],[7,376],[7,76],[7,153],[7,230],[7,307],[7,384],[8,67],[8,144],[8,221],[8,298],[8,375],[8,75],[8,152],[8,229],[8,306],[8,383],[8,68],[8,145],[8,222],[8,299],[8,376],[8,76],[8,153],[8,230],[8,307],[8,384]] diff --git a/research/staged544-t385/inputs/PROFILE.json b/research/staged544-t385/inputs/PROFILE.json new file mode 100644 index 0000000000..6c698b5a81 --- /dev/null +++ b/research/staged544-t385/inputs/PROFILE.json @@ -0,0 +1 @@ +{"1":8544690,"2":2512125,"3":801108,"4":353430,"5":73920,"8":27720,"48":147532} diff --git a/research/staged544-t385/integral_network.py b/research/staged544-t385/integral_network.py new file mode 100644 index 0000000000..a624655e38 --- /dev/null +++ b/research/staged544-t385/integral_network.py @@ -0,0 +1,92 @@ +# SPDX-License-Identifier: Apache-2.0 +# Adapted from PR3605; retained attribution in UPSTREAM-SOURCE-CREDITS.md. +import sys +if not __debug__ or sys.flags.optimize: + raise RuntimeError("Enabled assertions required before owner replay") +"""Deterministic lower-bounded integral networks; standard library only. + +The exact algorithm used by the original finite expansion, extracted for portable replay. +""" +from collections import Counter,defaultdict +if not __debug__: + raise RuntimeError('enabled assertions required for exact integral network realization') +W=(4,5,6,7,8,9) +INV=(26,2,18,52,97,213) + +class Network: + def __init__(self,n):self.adj=[[] for _ in range(n)];self.to=[];self.cap=[] + def add(self,u,v,capacity): + assert capacity>=0 + i=len(self.to);self.to.extend((v,u));self.cap.extend((int(capacity),0));self.adj[u].append(i);self.adj[v].append(i+1);return i + def maxflow(self,s,t,limit): + total=0;n=len(self.adj) + while total0:net.add(ss,n,b);target+=b + elif b<0:net.add(n,tt,-b) + got=net.maxflow(ss,tt,target) + assert got==target,('copy circulation',copy,got,target,dict(dg),dict(db)) + selected=[];wc=Counter();gc=Counter();bc=set() + for key,e in handles.items(): + n=net.cap[e^1] + assert n in (0,1) + if n: + b,w=key;i=bucket[key].pop();selected.append(i);wc[w]+=1;g=int(bin_group[b]);gc[g]+=1 + assert b not in bc;bc.add(b);db[b]-=1;dg[g]-=1;copies[i]=copy + assert len(selected)==408 and wc==Counter(dict(zip(W,INV))) + assert all(n<=group_n[g] for g,n in gc.items()) + assert max(db.values(),default=0)<=R-1 and all(n<=(R-1)*group_n[g] for g,n in dg.items()) + stats['flows']+=1;stats['max_nodes']=max(stats['max_nodes'],tt+1);stats['max_edges']=max(stats['max_edges'],len(net.to)//2) + return copies,stats diff --git a/research/staged544-t385/outer-replay/CLAIM.json b/research/staged544-t385/outer-replay/CLAIM.json new file mode 100644 index 0000000000..d97bae7d8f --- /dev/null +++ b/research/staged544-t385/outer-replay/CLAIM.json @@ -0,0 +1,18 @@ +{ + "baseline_head": "fa041037a3374eaa08feeca0b26a5d6893194147", + "baseline_kappa": "17304483602076354617399999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "baseline_pr": 3734, + "headline_kappa_source": "outer/OUTER-CLAIM.json", + "kappa": "863794354748563/500000000000000000", + "kappa_decimal": "0.001727588709497126", + "kappa_layers": "CLAIM.json kappa / kappa_decimal is the supplier-only kappa: the strict supplier assembly under its own (older) outer witness, new/SPEC.json expected.kappa. The headline conditional kappa of this package is the outer ledger kappa in outer/OUTER-CLAIM.json (= outer/LEDGER.json), obtained by re-evaluating the same supplier endpoint under the fine-prime-padding outer at the fixed-grid maximum; it is the number compared with the baseline.", + "outer_refinement": { + "bootstrap_steps": 12, + "endpoint_digits": 24, + "grid_digits": 18, + "margin_digits": 28 + }, + "scope": "Conditional finite construction only. All-size compiler, common-label/mutable-source realization, whole-call hosting, precision/tape, exact recovery, analytic transfer, PR559 recurrence correction and PR589 bit H1-H5 assumptions remain. No unconditional theorem, full Lean certification, or global packing claim.", + "status": "CONDITIONAL_CANDIDATE_EXPECTED_BY_REPLAY", + "verification": "Candidate discovered from literal fill; full original verification must pass separately." +} diff --git a/research/staged544-t385/outer-replay/new/SPEC.json b/research/staged544-t385/outer-replay/new/SPEC.json new file mode 100644 index 0000000000..9ad4b77d4b --- /dev/null +++ b/research/staged544-t385/outer-replay/new/SPEC.json @@ -0,0 +1,32376 @@ +{ + "call_order": [ + [ + 0, + 0 + ], + [ + 0, + 77 + ], + [ + 0, + 154 + ], + [ + 0, + 231 + ], + [ + 0, + 308 + ], + [ + 0, + 1 + ], + [ + 0, + 78 + ], + [ + 0, + 155 + ], + [ + 0, + 232 + ], + [ + 0, + 309 + ], + [ + 0, + 2 + ], + [ + 0, + 79 + ], + [ + 0, + 156 + ], + [ + 0, + 233 + ], + [ + 0, + 310 + ], + [ + 0, + 3 + ], + [ + 0, + 80 + ], + [ + 0, + 157 + ], + [ + 0, + 234 + ], + [ + 0, + 311 + ], + [ + 0, + 4 + ], + [ + 0, + 81 + ], + [ + 0, + 158 + ], + [ + 0, + 235 + ], + [ + 0, + 312 + ], + [ + 1, + 0 + ], + [ + 1, + 77 + ], + [ + 1, + 154 + ], + [ + 1, + 231 + ], + [ + 1, + 308 + ], + [ + 0, + 5 + ], + [ + 0, + 82 + ], + [ + 0, + 159 + ], + [ + 0, + 236 + ], + [ + 0, + 313 + ], + [ + 1, + 1 + ], + [ + 1, + 78 + ], + [ + 1, + 155 + ], + [ + 1, + 232 + ], + [ + 1, + 309 + ], + [ + 0, + 6 + ], + [ + 0, + 83 + ], + [ + 0, + 160 + ], + [ + 0, + 237 + ], + [ + 0, + 314 + ], + [ + 1, + 2 + ], + [ + 1, + 79 + ], + [ + 1, + 156 + ], + [ + 1, + 233 + ], + [ + 1, + 310 + ], + [ + 0, + 7 + ], + [ + 0, + 84 + ], + [ + 0, + 161 + ], + [ + 0, + 238 + ], + [ + 0, + 315 + ], + [ + 1, + 3 + ], + [ + 1, + 80 + ], + [ + 1, + 157 + ], + [ + 1, + 234 + ], + [ + 1, + 311 + ], + [ + 0, + 8 + ], + [ + 0, + 85 + ], + [ + 0, + 162 + ], + [ + 0, + 239 + ], + [ + 0, + 316 + ], + [ + 1, + 4 + ], + [ + 1, + 81 + ], + [ + 1, + 158 + ], + [ + 1, + 235 + ], + [ + 1, + 312 + ], + [ + 0, + 9 + ], + [ + 0, + 86 + ], + [ + 0, + 163 + ], + [ + 0, + 240 + ], + [ + 0, + 317 + ], + [ + 2, + 0 + ], + [ + 2, + 77 + ], + [ + 2, + 154 + ], + [ + 2, + 231 + ], + [ + 2, + 308 + ], + [ + 1, + 5 + ], + [ + 1, + 82 + ], + [ + 1, + 159 + ], + [ + 1, + 236 + ], + [ + 1, + 313 + ], + [ + 0, + 10 + ], + [ + 0, + 87 + ], + [ + 0, + 164 + ], + [ + 0, + 241 + ], + [ + 0, + 318 + ], + [ + 2, + 1 + ], + [ + 2, + 78 + ], + [ + 2, + 155 + ], + [ + 2, + 232 + ], + [ + 2, + 309 + ], + [ + 1, + 6 + ], + [ + 1, + 83 + ], + [ + 1, + 160 + ], + [ + 1, + 237 + ], + [ + 1, + 314 + ], + [ + 0, + 11 + ], + [ + 0, + 88 + ], + [ + 0, + 165 + ], + [ + 0, + 242 + ], + [ + 0, + 319 + ], + [ + 2, + 2 + ], + [ + 2, + 79 + ], + [ + 2, + 156 + ], + [ + 2, + 233 + ], + [ + 2, + 310 + ], + [ + 1, + 7 + ], + [ + 1, + 84 + ], + [ + 1, + 161 + ], + [ + 1, + 238 + ], + [ + 1, + 315 + ], + [ + 0, + 12 + ], + [ + 0, + 89 + ], + [ + 0, + 166 + ], + [ + 0, + 243 + ], + [ + 0, + 320 + ], + [ + 2, + 3 + ], + [ + 2, + 80 + ], + [ + 2, + 157 + ], + [ + 2, + 234 + ], + [ + 2, + 311 + ], + [ + 1, + 8 + ], + [ + 1, + 85 + ], + [ + 1, + 162 + ], + [ + 1, + 239 + ], + [ + 1, + 316 + ], + [ + 0, + 13 + ], + [ + 0, + 90 + ], + [ + 0, + 167 + ], + [ + 0, + 244 + ], + [ + 0, + 321 + ], + [ + 2, + 4 + ], + [ + 2, + 81 + ], + [ + 2, + 158 + ], + [ + 2, + 235 + ], + [ + 2, + 312 + ], + [ + 1, + 9 + ], + [ + 1, + 86 + ], + [ + 1, + 163 + ], + [ + 1, + 240 + ], + [ + 1, + 317 + ], + [ + 3, + 0 + ], + [ + 3, + 77 + ], + [ + 3, + 154 + ], + [ + 3, + 231 + ], + [ + 3, + 308 + ], + [ + 0, + 14 + ], + [ + 0, + 91 + ], + [ + 0, + 168 + ], + [ + 0, + 245 + ], + [ + 0, + 322 + ], + [ + 2, + 5 + ], + [ + 2, + 82 + ], + [ + 2, + 159 + ], + [ + 2, + 236 + ], + [ + 2, + 313 + ], + [ + 1, + 10 + ], + [ + 1, + 87 + ], + [ + 1, + 164 + ], + [ + 1, + 241 + ], + [ + 1, + 318 + ], + [ + 3, + 1 + ], + [ + 3, + 78 + ], + [ + 3, + 155 + ], + [ + 3, + 232 + ], + [ + 3, + 309 + ], + [ + 0, + 15 + ], + [ + 0, + 92 + ], + [ + 0, + 169 + ], + [ + 0, + 246 + ], + [ + 0, + 323 + ], + [ + 2, + 6 + ], + [ + 2, + 83 + ], + [ + 2, + 160 + ], + [ + 2, + 237 + ], + [ + 2, + 314 + ], + [ + 1, + 11 + ], + [ + 1, + 88 + ], + [ + 1, + 165 + ], + [ + 1, + 242 + ], + [ + 1, + 319 + ], + [ + 3, + 2 + ], + [ + 3, + 79 + ], + [ + 3, + 156 + ], + [ + 3, + 233 + ], + [ + 3, + 310 + ], + [ + 0, + 16 + ], + [ + 0, + 93 + ], + [ + 0, + 170 + ], + [ + 0, + 247 + ], + [ + 0, + 324 + ], + [ + 2, + 7 + ], + [ + 2, + 84 + ], + [ + 2, + 161 + ], + [ + 2, + 238 + ], + [ + 2, + 315 + ], + [ + 1, + 12 + ], + [ + 1, + 89 + ], + [ + 1, + 166 + ], + [ + 1, + 243 + ], + [ + 1, + 320 + ], + [ + 3, + 3 + ], + [ + 3, + 80 + ], + [ + 3, + 157 + ], + [ + 3, + 234 + ], + [ + 3, + 311 + ], + [ + 0, + 17 + ], + [ + 0, + 94 + ], + [ + 0, + 171 + ], + [ + 0, + 248 + ], + [ + 0, + 325 + ], + [ + 2, + 8 + ], + [ + 2, + 85 + ], + [ + 2, + 162 + ], + [ + 2, + 239 + ], + [ + 2, + 316 + ], + [ + 1, + 13 + ], + [ + 1, + 90 + ], + [ + 1, + 167 + ], + [ + 1, + 244 + ], + [ + 1, + 321 + ], + [ + 3, + 4 + ], + [ + 3, + 81 + ], + [ + 3, + 158 + ], + [ + 3, + 235 + ], + [ + 3, + 312 + ], + [ + 0, + 18 + ], + [ + 0, + 95 + ], + [ + 0, + 172 + ], + [ + 0, + 249 + ], + [ + 0, + 326 + ], + [ + 2, + 9 + ], + [ + 2, + 86 + ], + [ + 2, + 163 + ], + [ + 2, + 240 + ], + [ + 2, + 317 + ], + [ + 4, + 0 + ], + [ + 4, + 77 + ], + [ + 4, + 154 + ], + [ + 4, + 231 + ], + [ + 4, + 308 + ], + [ + 1, + 14 + ], + [ + 1, + 91 + ], + [ + 1, + 168 + ], + [ + 1, + 245 + ], + [ + 1, + 322 + ], + [ + 3, + 5 + ], + [ + 3, + 82 + ], + [ + 3, + 159 + ], + [ + 3, + 236 + ], + [ + 3, + 313 + ], + [ + 0, + 19 + ], + [ + 0, + 96 + ], + [ + 0, + 173 + ], + [ + 0, + 250 + ], + [ + 0, + 327 + ], + [ + 2, + 10 + ], + [ + 2, + 87 + ], + [ + 2, + 164 + ], + [ + 2, + 241 + ], + [ + 2, + 318 + ], + [ + 4, + 1 + ], + [ + 4, + 78 + ], + [ + 4, + 155 + ], + [ + 4, + 232 + ], + [ + 4, + 309 + ], + [ + 1, + 15 + ], + [ + 1, + 92 + ], + [ + 1, + 169 + ], + [ + 1, + 246 + ], + [ + 1, + 323 + ], + [ + 3, + 6 + ], + [ + 3, + 83 + ], + [ + 3, + 160 + ], + [ + 3, + 237 + ], + [ + 3, + 314 + ], + [ + 0, + 20 + ], + [ + 0, + 97 + ], + [ + 0, + 174 + ], + [ + 0, + 251 + ], + [ + 0, + 328 + ], + [ + 2, + 11 + ], + [ + 2, + 88 + ], + [ + 2, + 165 + ], + [ + 2, + 242 + ], + [ + 2, + 319 + ], + [ + 4, + 2 + ], + [ + 4, + 79 + ], + [ + 4, + 156 + ], + [ + 4, + 233 + ], + [ + 4, + 310 + ], + [ + 1, + 16 + ], + [ + 1, + 93 + ], + [ + 1, + 170 + ], + [ + 1, + 247 + ], + [ + 1, + 324 + ], + [ + 3, + 7 + ], + [ + 3, + 84 + ], + [ + 3, + 161 + ], + [ + 3, + 238 + ], + [ + 3, + 315 + ], + [ + 0, + 21 + ], + [ + 0, + 98 + ], + [ + 0, + 175 + ], + [ + 0, + 252 + ], + [ + 0, + 329 + ], + [ + 2, + 12 + ], + [ + 2, + 89 + ], + [ + 2, + 166 + ], + [ + 2, + 243 + ], + [ + 2, + 320 + ], + [ + 4, + 3 + ], + [ + 4, + 80 + ], + [ + 4, + 157 + ], + [ + 4, + 234 + ], + [ + 4, + 311 + ], + [ + 1, + 17 + ], + [ + 1, + 94 + ], + [ + 1, + 171 + ], + [ + 1, + 248 + ], + [ + 1, + 325 + ], + [ + 3, + 8 + ], + [ + 3, + 85 + ], + [ + 3, + 162 + ], + [ + 3, + 239 + ], + [ + 3, + 316 + ], + [ + 0, + 22 + ], + [ + 0, + 99 + ], + [ + 0, + 176 + ], + [ + 0, + 253 + ], + [ + 0, + 330 + ], + [ + 2, + 13 + ], + [ + 2, + 90 + ], + [ + 2, + 167 + ], + [ + 2, + 244 + ], + [ + 2, + 321 + ], + [ + 4, + 4 + ], + [ + 4, + 81 + ], + [ + 4, + 158 + ], + [ + 4, + 235 + ], + [ + 4, + 312 + ], + [ + 1, + 18 + ], + [ + 1, + 95 + ], + [ + 1, + 172 + ], + [ + 1, + 249 + ], + [ + 1, + 326 + ], + [ + 3, + 9 + ], + [ + 3, + 86 + ], + [ + 3, + 163 + ], + [ + 3, + 240 + ], + [ + 3, + 317 + ], + [ + 0, + 23 + ], + [ + 0, + 100 + ], + [ + 0, + 177 + ], + [ + 0, + 254 + ], + [ + 0, + 331 + ], + [ + 5, + 0 + ], + [ + 5, + 77 + ], + [ + 5, + 154 + ], + [ + 5, + 231 + ], + [ + 5, + 308 + ], + [ + 2, + 14 + ], + [ + 2, + 91 + ], + [ + 2, + 168 + ], + [ + 2, + 245 + ], + [ + 2, + 322 + ], + [ + 4, + 5 + ], + [ + 4, + 82 + ], + [ + 4, + 159 + ], + [ + 4, + 236 + ], + [ + 4, + 313 + ], + [ + 1, + 19 + ], + [ + 1, + 96 + ], + [ + 1, + 173 + ], + [ + 1, + 250 + ], + [ + 1, + 327 + ], + [ + 3, + 10 + ], + [ + 3, + 87 + ], + [ + 3, + 164 + ], + [ + 3, + 241 + ], + [ + 3, + 318 + ], + [ + 0, + 24 + ], + [ + 0, + 101 + ], + [ + 0, + 178 + ], + [ + 0, + 255 + ], + [ + 0, + 332 + ], + [ + 5, + 1 + ], + [ + 5, + 78 + ], + [ + 5, + 155 + ], + [ + 5, + 232 + ], + [ + 5, + 309 + ], + [ + 2, + 15 + ], + [ + 2, + 92 + ], + [ + 2, + 169 + ], + [ + 2, + 246 + ], + [ + 2, + 323 + ], + [ + 4, + 6 + ], + [ + 4, + 83 + ], + [ + 4, + 160 + ], + [ + 4, + 237 + ], + [ + 4, + 314 + ], + [ + 1, + 20 + ], + [ + 1, + 97 + ], + [ + 1, + 174 + ], + [ + 1, + 251 + ], + [ + 1, + 328 + ], + [ + 3, + 11 + ], + [ + 3, + 88 + ], + [ + 3, + 165 + ], + [ + 3, + 242 + ], + [ + 3, + 319 + ], + [ + 0, + 25 + ], + [ + 0, + 102 + ], + [ + 0, + 179 + ], + [ + 0, + 256 + ], + [ + 0, + 333 + ], + [ + 5, + 2 + ], + [ + 5, + 79 + ], + [ + 5, + 156 + ], + [ + 5, + 233 + ], + [ + 5, + 310 + ], + [ + 2, + 16 + ], + [ + 2, + 93 + ], + [ + 2, + 170 + ], + [ + 2, + 247 + ], + [ + 2, + 324 + ], + [ + 4, + 7 + ], + [ + 4, + 84 + ], + [ + 4, + 161 + ], + [ + 4, + 238 + ], + [ + 4, + 315 + ], + [ + 1, + 21 + ], + [ + 1, + 98 + ], + [ + 1, + 175 + ], + [ + 1, + 252 + ], + [ + 1, + 329 + ], + [ + 3, + 12 + ], + [ + 3, + 89 + ], + [ + 3, + 166 + ], + [ + 3, + 243 + ], + [ + 3, + 320 + ], + [ + 0, + 26 + ], + [ + 0, + 103 + ], + [ + 0, + 180 + ], + [ + 0, + 257 + ], + [ + 0, + 334 + ], + [ + 5, + 3 + ], + [ + 5, + 80 + ], + [ + 5, + 157 + ], + [ + 5, + 234 + ], + [ + 5, + 311 + ], + [ + 2, + 17 + ], + [ + 2, + 94 + ], + [ + 2, + 171 + ], + [ + 2, + 248 + ], + [ + 2, + 325 + ], + [ + 4, + 8 + ], + [ + 4, + 85 + ], + [ + 4, + 162 + ], + [ + 4, + 239 + ], + [ + 4, + 316 + ], + [ + 1, + 22 + ], + [ + 1, + 99 + ], + [ + 1, + 176 + ], + [ + 1, + 253 + ], + [ + 1, + 330 + ], + [ + 3, + 13 + ], + [ + 3, + 90 + ], + [ + 3, + 167 + ], + [ + 3, + 244 + ], + [ + 3, + 321 + ], + [ + 0, + 27 + ], + [ + 0, + 104 + ], + [ + 0, + 181 + ], + [ + 0, + 258 + ], + [ + 0, + 335 + ], + [ + 5, + 4 + ], + [ + 5, + 81 + ], + [ + 5, + 158 + ], + [ + 5, + 235 + ], + [ + 5, + 312 + ], + [ + 2, + 18 + ], + [ + 2, + 95 + ], + [ + 2, + 172 + ], + [ + 2, + 249 + ], + [ + 2, + 326 + ], + [ + 4, + 9 + ], + [ + 4, + 86 + ], + [ + 4, + 163 + ], + [ + 4, + 240 + ], + [ + 4, + 317 + ], + [ + 1, + 23 + ], + [ + 1, + 100 + ], + [ + 1, + 177 + ], + [ + 1, + 254 + ], + [ + 1, + 331 + ], + [ + 6, + 0 + ], + [ + 6, + 77 + ], + [ + 6, + 154 + ], + [ + 6, + 231 + ], + [ + 6, + 308 + ], + [ + 3, + 14 + ], + [ + 3, + 91 + ], + [ + 3, + 168 + ], + [ + 3, + 245 + ], + [ + 3, + 322 + ], + [ + 0, + 28 + ], + [ + 0, + 105 + ], + [ + 0, + 182 + ], + [ + 0, + 259 + ], + [ + 0, + 336 + ], + [ + 5, + 5 + ], + [ + 5, + 82 + ], + [ + 5, + 159 + ], + [ + 5, + 236 + ], + [ + 5, + 313 + ], + [ + 2, + 19 + ], + [ + 2, + 96 + ], + [ + 2, + 173 + ], + [ + 2, + 250 + ], + [ + 2, + 327 + ], + [ + 4, + 10 + ], + [ + 4, + 87 + ], + [ + 4, + 164 + ], + [ + 4, + 241 + ], + [ + 4, + 318 + ], + [ + 1, + 24 + ], + [ + 1, + 101 + ], + [ + 1, + 178 + ], + [ + 1, + 255 + ], + [ + 1, + 332 + ], + [ + 6, + 1 + ], + [ + 6, + 78 + ], + [ + 6, + 155 + ], + [ + 6, + 232 + ], + [ + 6, + 309 + ], + [ + 3, + 15 + ], + [ + 3, + 92 + ], + [ + 3, + 169 + ], + [ + 3, + 246 + ], + [ + 3, + 323 + ], + [ + 0, + 29 + ], + [ + 0, + 106 + ], + [ + 0, + 183 + ], + [ + 0, + 260 + ], + [ + 0, + 337 + ], + [ + 5, + 6 + ], + [ + 5, + 83 + ], + [ + 5, + 160 + ], + [ + 5, + 237 + ], + [ + 5, + 314 + ], + [ + 2, + 20 + ], + [ + 2, + 97 + ], + [ + 2, + 174 + ], + [ + 2, + 251 + ], + [ + 2, + 328 + ], + [ + 4, + 11 + ], + [ + 4, + 88 + ], + [ + 4, + 165 + ], + [ + 4, + 242 + ], + [ + 4, + 319 + ], + [ + 1, + 25 + ], + [ + 1, + 102 + ], + [ + 1, + 179 + ], + [ + 1, + 256 + ], + [ + 1, + 333 + ], + [ + 6, + 2 + ], + [ + 6, + 79 + ], + [ + 6, + 156 + ], + [ + 6, + 233 + ], + [ + 6, + 310 + ], + [ + 3, + 16 + ], + [ + 3, + 93 + ], + [ + 3, + 170 + ], + [ + 3, + 247 + ], + [ + 3, + 324 + ], + [ + 0, + 30 + ], + [ + 0, + 107 + ], + [ + 0, + 184 + ], + [ + 0, + 261 + ], + [ + 0, + 338 + ], + [ + 5, + 7 + ], + [ + 5, + 84 + ], + [ + 5, + 161 + ], + [ + 5, + 238 + ], + [ + 5, + 315 + ], + [ + 2, + 21 + ], + [ + 2, + 98 + ], + [ + 2, + 175 + ], + [ + 2, + 252 + ], + [ + 2, + 329 + ], + [ + 4, + 12 + ], + [ + 4, + 89 + ], + [ + 4, + 166 + ], + [ + 4, + 243 + ], + [ + 4, + 320 + ], + [ + 1, + 26 + ], + [ + 1, + 103 + ], + [ + 1, + 180 + ], + [ + 1, + 257 + ], + [ + 1, + 334 + ], + [ + 6, + 3 + ], + [ + 6, + 80 + ], + [ + 6, + 157 + ], + [ + 6, + 234 + ], + [ + 6, + 311 + ], + [ + 3, + 17 + ], + [ + 3, + 94 + ], + [ + 3, + 171 + ], + [ + 3, + 248 + ], + [ + 3, + 325 + ], + [ + 0, + 31 + ], + [ + 0, + 108 + ], + [ + 0, + 185 + ], + [ + 0, + 262 + ], + [ + 0, + 339 + ], + [ + 5, + 8 + ], + [ + 5, + 85 + ], + [ + 5, + 162 + ], + [ + 5, + 239 + ], + [ + 5, + 316 + ], + [ + 2, + 22 + ], + [ + 2, + 99 + ], + [ + 2, + 176 + ], + [ + 2, + 253 + ], + [ + 2, + 330 + ], + [ + 4, + 13 + ], + [ + 4, + 90 + ], + [ + 4, + 167 + ], + [ + 4, + 244 + ], + [ + 4, + 321 + ], + [ + 1, + 27 + ], + [ + 1, + 104 + ], + [ + 1, + 181 + ], + [ + 1, + 258 + ], + [ + 1, + 335 + ], + [ + 6, + 4 + ], + [ + 6, + 81 + ], + [ + 6, + 158 + ], + [ + 6, + 235 + ], + [ + 6, + 312 + ], + [ + 3, + 18 + ], + [ + 3, + 95 + ], + [ + 3, + 172 + ], + [ + 3, + 249 + ], + [ + 3, + 326 + ], + [ + 0, + 32 + ], + [ + 0, + 109 + ], + [ + 0, + 186 + ], + [ + 0, + 263 + ], + [ + 0, + 340 + ], + [ + 5, + 9 + ], + [ + 5, + 86 + ], + [ + 5, + 163 + ], + [ + 5, + 240 + ], + [ + 5, + 317 + ], + [ + 2, + 23 + ], + [ + 2, + 100 + ], + [ + 2, + 177 + ], + [ + 2, + 254 + ], + [ + 2, + 331 + ], + [ + 7, + 0 + ], + [ + 7, + 77 + ], + [ + 7, + 154 + ], + [ + 7, + 231 + ], + [ + 7, + 308 + ], + [ + 4, + 14 + ], + [ + 4, + 91 + ], + [ + 4, + 168 + ], + [ + 4, + 245 + ], + [ + 4, + 322 + ], + [ + 1, + 28 + ], + [ + 1, + 105 + ], + [ + 1, + 182 + ], + [ + 1, + 259 + ], + [ + 1, + 336 + ], + [ + 6, + 5 + ], + [ + 6, + 82 + ], + [ + 6, + 159 + ], + [ + 6, + 236 + ], + [ + 6, + 313 + ], + [ + 3, + 19 + ], + [ + 3, + 96 + ], + [ + 3, + 173 + ], + [ + 3, + 250 + ], + [ + 3, + 327 + ], + [ + 0, + 33 + ], + [ + 0, + 110 + ], + [ + 0, + 187 + ], + [ + 0, + 264 + ], + [ + 0, + 341 + ], + [ + 5, + 10 + ], + [ + 5, + 87 + ], + [ + 5, + 164 + ], + [ + 5, + 241 + ], + [ + 5, + 318 + ], + [ + 2, + 24 + ], + [ + 2, + 101 + ], + [ + 2, + 178 + ], + [ + 2, + 255 + ], + [ + 2, + 332 + ], + [ + 7, + 1 + ], + [ + 7, + 78 + ], + [ + 7, + 155 + ], + [ + 7, + 232 + ], + [ + 7, + 309 + ], + [ + 4, + 15 + ], + [ + 4, + 92 + ], + [ + 4, + 169 + ], + [ + 4, + 246 + ], + [ + 4, + 323 + ], + [ + 1, + 29 + ], + [ + 1, + 106 + ], + [ + 1, + 183 + ], + [ + 1, + 260 + ], + [ + 1, + 337 + ], + [ + 6, + 6 + ], + [ + 6, + 83 + ], + [ + 6, + 160 + ], + [ + 6, + 237 + ], + [ + 6, + 314 + ], + [ + 3, + 20 + ], + [ + 3, + 97 + ], + [ + 3, + 174 + ], + [ + 3, + 251 + ], + [ + 3, + 328 + ], + [ + 0, + 34 + ], + [ + 0, + 111 + ], + [ + 0, + 188 + ], + [ + 0, + 265 + ], + [ + 0, + 342 + ], + [ + 5, + 11 + ], + [ + 5, + 88 + ], + [ + 5, + 165 + ], + [ + 5, + 242 + ], + [ + 5, + 319 + ], + [ + 2, + 25 + ], + [ + 2, + 102 + ], + [ + 2, + 179 + ], + [ + 2, + 256 + ], + [ + 2, + 333 + ], + [ + 7, + 2 + ], + [ + 7, + 79 + ], + [ + 7, + 156 + ], + [ + 7, + 233 + ], + [ + 7, + 310 + ], + [ + 4, + 16 + ], + [ + 4, + 93 + ], + [ + 4, + 170 + ], + [ + 4, + 247 + ], + [ + 4, + 324 + ], + [ + 1, + 30 + ], + [ + 1, + 107 + ], + [ + 1, + 184 + ], + [ + 1, + 261 + ], + [ + 1, + 338 + ], + [ + 6, + 7 + ], + [ + 6, + 84 + ], + [ + 6, + 161 + ], + [ + 6, + 238 + ], + [ + 6, + 315 + ], + [ + 3, + 21 + ], + [ + 3, + 98 + ], + [ + 3, + 175 + ], + [ + 3, + 252 + ], + [ + 3, + 329 + ], + [ + 0, + 35 + ], + [ + 0, + 112 + ], + [ + 0, + 189 + ], + [ + 0, + 266 + ], + [ + 0, + 343 + ], + [ + 5, + 12 + ], + [ + 5, + 89 + ], + [ + 5, + 166 + ], + [ + 5, + 243 + ], + [ + 5, + 320 + ], + [ + 2, + 26 + ], + [ + 2, + 103 + ], + [ + 2, + 180 + ], + [ + 2, + 257 + ], + [ + 2, + 334 + ], + [ + 7, + 3 + ], + [ + 7, + 80 + ], + [ + 7, + 157 + ], + [ + 7, + 234 + ], + [ + 7, + 311 + ], + [ + 4, + 17 + ], + [ + 4, + 94 + ], + [ + 4, + 171 + ], + [ + 4, + 248 + ], + [ + 4, + 325 + ], + [ + 1, + 31 + ], + [ + 1, + 108 + ], + [ + 1, + 185 + ], + [ + 1, + 262 + ], + [ + 1, + 339 + ], + [ + 6, + 8 + ], + [ + 6, + 85 + ], + [ + 6, + 162 + ], + [ + 6, + 239 + ], + [ + 6, + 316 + ], + [ + 3, + 22 + ], + [ + 3, + 99 + ], + [ + 3, + 176 + ], + [ + 3, + 253 + ], + [ + 3, + 330 + ], + [ + 0, + 36 + ], + [ + 0, + 113 + ], + [ + 0, + 190 + ], + [ + 0, + 267 + ], + [ + 0, + 344 + ], + [ + 5, + 13 + ], + [ + 5, + 90 + ], + [ + 5, + 167 + ], + [ + 5, + 244 + ], + [ + 5, + 321 + ], + [ + 2, + 27 + ], + [ + 2, + 104 + ], + [ + 2, + 181 + ], + [ + 2, + 258 + ], + [ + 2, + 335 + ], + [ + 7, + 4 + ], + [ + 7, + 81 + ], + [ + 7, + 158 + ], + [ + 7, + 235 + ], + [ + 7, + 312 + ], + [ + 4, + 18 + ], + [ + 4, + 95 + ], + [ + 4, + 172 + ], + [ + 4, + 249 + ], + [ + 4, + 326 + ], + [ + 1, + 32 + ], + [ + 1, + 109 + ], + [ + 1, + 186 + ], + [ + 1, + 263 + ], + [ + 1, + 340 + ], + [ + 6, + 9 + ], + [ + 6, + 86 + ], + [ + 6, + 163 + ], + [ + 6, + 240 + ], + [ + 6, + 317 + ], + [ + 3, + 23 + ], + [ + 3, + 100 + ], + [ + 3, + 177 + ], + [ + 3, + 254 + ], + [ + 3, + 331 + ], + [ + 8, + 0 + ], + [ + 8, + 77 + ], + [ + 8, + 154 + ], + [ + 8, + 231 + ], + [ + 8, + 308 + ], + [ + 5, + 14 + ], + [ + 5, + 91 + ], + [ + 5, + 168 + ], + [ + 5, + 245 + ], + [ + 5, + 322 + ], + [ + 2, + 28 + ], + [ + 2, + 105 + ], + [ + 2, + 182 + ], + [ + 2, + 259 + ], + [ + 2, + 336 + ], + [ + 7, + 5 + ], + [ + 7, + 82 + ], + [ + 7, + 159 + ], + [ + 7, + 236 + ], + [ + 7, + 313 + ], + [ + 4, + 19 + ], + [ + 4, + 96 + ], + [ + 4, + 173 + ], + [ + 4, + 250 + ], + [ + 4, + 327 + ], + [ + 1, + 33 + ], + [ + 1, + 110 + ], + [ + 1, + 187 + ], + [ + 1, + 264 + ], + [ + 1, + 341 + ], + [ + 6, + 10 + ], + [ + 6, + 87 + ], + [ + 6, + 164 + ], + [ + 6, + 241 + ], + [ + 6, + 318 + ], + [ + 3, + 24 + ], + [ + 3, + 101 + ], + [ + 3, + 178 + ], + [ + 3, + 255 + ], + [ + 3, + 332 + ], + [ + 8, + 1 + ], + [ + 8, + 78 + ], + [ + 8, + 155 + ], + [ + 8, + 232 + ], + [ + 8, + 309 + ], + [ + 5, + 15 + ], + [ + 5, + 92 + ], + [ + 5, + 169 + ], + [ + 5, + 246 + ], + [ + 5, + 323 + ], + [ + 2, + 29 + ], + [ + 2, + 106 + ], + [ + 2, + 183 + ], + [ + 2, + 260 + ], + [ + 2, + 337 + ], + [ + 7, + 6 + ], + [ + 7, + 83 + ], + [ + 7, + 160 + ], + [ + 7, + 237 + ], + [ + 7, + 314 + ], + [ + 4, + 20 + ], + [ + 4, + 97 + ], + [ + 4, + 174 + ], + [ + 4, + 251 + ], + [ + 4, + 328 + ], + [ + 1, + 34 + ], + [ + 1, + 111 + ], + [ + 1, + 188 + ], + [ + 1, + 265 + ], + [ + 1, + 342 + ], + [ + 6, + 11 + ], + [ + 6, + 88 + ], + [ + 6, + 165 + ], + [ + 6, + 242 + ], + [ + 6, + 319 + ], + [ + 3, + 25 + ], + [ + 3, + 102 + ], + [ + 3, + 179 + ], + [ + 3, + 256 + ], + [ + 3, + 333 + ], + [ + 8, + 2 + ], + [ + 8, + 79 + ], + [ + 8, + 156 + ], + [ + 8, + 233 + ], + [ + 8, + 310 + ], + [ + 5, + 16 + ], + [ + 5, + 93 + ], + [ + 5, + 170 + ], + [ + 5, + 247 + ], + [ + 5, + 324 + ], + [ + 2, + 30 + ], + [ + 2, + 107 + ], + [ + 2, + 184 + ], + [ + 2, + 261 + ], + [ + 2, + 338 + ], + [ + 7, + 7 + ], + [ + 7, + 84 + ], + [ + 7, + 161 + ], + [ + 7, + 238 + ], + [ + 7, + 315 + ], + [ + 4, + 21 + ], + [ + 4, + 98 + ], + [ + 4, + 175 + ], + [ + 4, + 252 + ], + [ + 4, + 329 + ], + [ + 1, + 35 + ], + [ + 1, + 112 + ], + [ + 1, + 189 + ], + [ + 1, + 266 + ], + [ + 1, + 343 + ], + [ + 6, + 12 + ], + [ + 6, + 89 + ], + [ + 6, + 166 + ], + [ + 6, + 243 + ], + [ + 6, + 320 + ], + [ + 3, + 26 + ], + [ + 3, + 103 + ], + [ + 3, + 180 + ], + [ + 3, + 257 + ], + [ + 3, + 334 + ], + [ + 8, + 3 + ], + [ + 8, + 80 + ], + [ + 8, + 157 + ], + [ + 8, + 234 + ], + [ + 8, + 311 + ], + [ + 5, + 17 + ], + [ + 5, + 94 + ], + [ + 5, + 171 + ], + [ + 5, + 248 + ], + [ + 5, + 325 + ], + [ + 2, + 31 + ], + [ + 2, + 108 + ], + [ + 2, + 185 + ], + [ + 2, + 262 + ], + [ + 2, + 339 + ], + [ + 7, + 8 + ], + [ + 7, + 85 + ], + [ + 7, + 162 + ], + [ + 7, + 239 + ], + [ + 7, + 316 + ], + [ + 4, + 22 + ], + [ + 4, + 99 + ], + [ + 4, + 176 + ], + [ + 4, + 253 + ], + [ + 4, + 330 + ], + [ + 1, + 36 + ], + [ + 1, + 113 + ], + [ + 1, + 190 + ], + [ + 1, + 267 + ], + [ + 1, + 344 + ], + [ + 6, + 13 + ], + [ + 6, + 90 + ], + [ + 6, + 167 + ], + [ + 6, + 244 + ], + [ + 6, + 321 + ], + [ + 3, + 27 + ], + [ + 3, + 104 + ], + [ + 3, + 181 + ], + [ + 3, + 258 + ], + [ + 3, + 335 + ], + [ + 8, + 4 + ], + [ + 8, + 81 + ], + [ + 8, + 158 + ], + [ + 8, + 235 + ], + [ + 8, + 312 + ], + [ + 5, + 18 + ], + [ + 5, + 95 + ], + [ + 5, + 172 + ], + [ + 5, + 249 + ], + [ + 5, + 326 + ], + [ + 2, + 32 + ], + [ + 2, + 109 + ], + [ + 2, + 186 + ], + [ + 2, + 263 + ], + [ + 2, + 340 + ], + [ + 7, + 9 + ], + [ + 7, + 86 + ], + [ + 7, + 163 + ], + [ + 7, + 240 + ], + [ + 7, + 317 + ], + [ + 4, + 23 + ], + [ + 4, + 100 + ], + [ + 4, + 177 + ], + [ + 4, + 254 + ], + [ + 4, + 331 + ], + [ + 6, + 14 + ], + [ + 6, + 91 + ], + [ + 6, + 168 + ], + [ + 6, + 245 + ], + [ + 6, + 322 + ], + [ + 3, + 28 + ], + [ + 3, + 105 + ], + [ + 3, + 182 + ], + [ + 3, + 259 + ], + [ + 3, + 336 + ], + [ + 8, + 5 + ], + [ + 8, + 82 + ], + [ + 8, + 159 + ], + [ + 8, + 236 + ], + [ + 8, + 313 + ], + [ + 5, + 19 + ], + [ + 5, + 96 + ], + [ + 5, + 173 + ], + [ + 5, + 250 + ], + [ + 5, + 327 + ], + [ + 2, + 33 + ], + [ + 2, + 110 + ], + [ + 2, + 187 + ], + [ + 2, + 264 + ], + [ + 2, + 341 + ], + [ + 7, + 10 + ], + [ + 7, + 87 + ], + [ + 7, + 164 + ], + [ + 7, + 241 + ], + [ + 7, + 318 + ], + [ + 4, + 24 + ], + [ + 4, + 101 + ], + [ + 4, + 178 + ], + [ + 4, + 255 + ], + [ + 4, + 332 + ], + [ + 6, + 15 + ], + [ + 6, + 92 + ], + [ + 6, + 169 + ], + [ + 6, + 246 + ], + [ + 6, + 323 + ], + [ + 3, + 29 + ], + [ + 3, + 106 + ], + [ + 3, + 183 + ], + [ + 3, + 260 + ], + [ + 3, + 337 + ], + [ + 8, + 6 + ], + [ + 8, + 83 + ], + [ + 8, + 160 + ], + [ + 8, + 237 + ], + [ + 8, + 314 + ], + [ + 5, + 20 + ], + [ + 5, + 97 + ], + [ + 5, + 174 + ], + [ + 5, + 251 + ], + [ + 5, + 328 + ], + [ + 2, + 34 + ], + [ + 2, + 111 + ], + [ + 2, + 188 + ], + [ + 2, + 265 + ], + [ + 2, + 342 + ], + [ + 7, + 11 + ], + [ + 7, + 88 + ], + [ + 7, + 165 + ], + [ + 7, + 242 + ], + [ + 7, + 319 + ], + [ + 4, + 25 + ], + [ + 4, + 102 + ], + [ + 4, + 179 + ], + [ + 4, + 256 + ], + [ + 4, + 333 + ], + [ + 6, + 16 + ], + [ + 6, + 93 + ], + [ + 6, + 170 + ], + [ + 6, + 247 + ], + [ + 6, + 324 + ], + [ + 3, + 30 + ], + [ + 3, + 107 + ], + [ + 3, + 184 + ], + [ + 3, + 261 + ], + [ + 3, + 338 + ], + [ + 8, + 7 + ], + [ + 8, + 84 + ], + [ + 8, + 161 + ], + [ + 8, + 238 + ], + [ + 8, + 315 + ], + [ + 5, + 21 + ], + [ + 5, + 98 + ], + [ + 5, + 175 + ], + [ + 5, + 252 + ], + [ + 5, + 329 + ], + [ + 2, + 35 + ], + [ + 2, + 112 + ], + [ + 2, + 189 + ], + [ + 2, + 266 + ], + [ + 2, + 343 + ], + [ + 7, + 12 + ], + [ + 7, + 89 + ], + [ + 7, + 166 + ], + [ + 7, + 243 + ], + [ + 7, + 320 + ], + [ + 4, + 26 + ], + [ + 4, + 103 + ], + [ + 4, + 180 + ], + [ + 4, + 257 + ], + [ + 4, + 334 + ], + [ + 6, + 17 + ], + [ + 6, + 94 + ], + [ + 6, + 171 + ], + [ + 6, + 248 + ], + [ + 6, + 325 + ], + [ + 3, + 31 + ], + [ + 3, + 108 + ], + [ + 3, + 185 + ], + [ + 3, + 262 + ], + [ + 3, + 339 + ], + [ + 8, + 8 + ], + [ + 8, + 85 + ], + [ + 8, + 162 + ], + [ + 8, + 239 + ], + [ + 8, + 316 + ], + [ + 5, + 22 + ], + [ + 5, + 99 + ], + [ + 5, + 176 + ], + [ + 5, + 253 + ], + [ + 5, + 330 + ], + [ + 2, + 36 + ], + [ + 2, + 113 + ], + [ + 2, + 190 + ], + [ + 2, + 267 + ], + [ + 2, + 344 + ], + [ + 7, + 13 + ], + [ + 7, + 90 + ], + [ + 7, + 167 + ], + [ + 7, + 244 + ], + [ + 7, + 321 + ], + [ + 4, + 27 + ], + [ + 4, + 104 + ], + [ + 4, + 181 + ], + [ + 4, + 258 + ], + [ + 4, + 335 + ], + [ + 6, + 18 + ], + [ + 6, + 95 + ], + [ + 6, + 172 + ], + [ + 6, + 249 + ], + [ + 6, + 326 + ], + [ + 3, + 32 + ], + [ + 3, + 109 + ], + [ + 3, + 186 + ], + [ + 3, + 263 + ], + [ + 3, + 340 + ], + [ + 8, + 9 + ], + [ + 8, + 86 + ], + [ + 8, + 163 + ], + [ + 8, + 240 + ], + [ + 8, + 317 + ], + [ + 5, + 23 + ], + [ + 5, + 100 + ], + [ + 5, + 177 + ], + [ + 5, + 254 + ], + [ + 5, + 331 + ], + [ + 7, + 14 + ], + [ + 7, + 91 + ], + [ + 7, + 168 + ], + [ + 7, + 245 + ], + [ + 7, + 322 + ], + [ + 4, + 28 + ], + [ + 4, + 105 + ], + [ + 4, + 182 + ], + [ + 4, + 259 + ], + [ + 4, + 336 + ], + [ + 6, + 19 + ], + [ + 6, + 96 + ], + [ + 6, + 173 + ], + [ + 6, + 250 + ], + [ + 6, + 327 + ], + [ + 3, + 33 + ], + [ + 3, + 110 + ], + [ + 3, + 187 + ], + [ + 3, + 264 + ], + [ + 3, + 341 + ], + [ + 8, + 10 + ], + [ + 8, + 87 + ], + [ + 8, + 164 + ], + [ + 8, + 241 + ], + [ + 8, + 318 + ], + [ + 5, + 24 + ], + [ + 5, + 101 + ], + [ + 5, + 178 + ], + [ + 5, + 255 + ], + [ + 5, + 332 + ], + [ + 7, + 15 + ], + [ + 7, + 92 + ], + [ + 7, + 169 + ], + [ + 7, + 246 + ], + [ + 7, + 323 + ], + [ + 4, + 29 + ], + [ + 4, + 106 + ], + [ + 4, + 183 + ], + [ + 4, + 260 + ], + [ + 4, + 337 + ], + [ + 6, + 20 + ], + [ + 6, + 97 + ], + [ + 6, + 174 + ], + [ + 6, + 251 + ], + [ + 6, + 328 + ], + [ + 3, + 34 + ], + [ + 3, + 111 + ], + [ + 3, + 188 + ], + [ + 3, + 265 + ], + [ + 3, + 342 + ], + [ + 8, + 11 + ], + [ + 8, + 88 + ], + [ + 8, + 165 + ], + [ + 8, + 242 + ], + [ + 8, + 319 + ], + [ + 5, + 25 + ], + [ + 5, + 102 + ], + [ + 5, + 179 + ], + [ + 5, + 256 + ], + [ + 5, + 333 + ], + [ + 7, + 16 + ], + [ + 7, + 93 + ], + [ + 7, + 170 + ], + [ + 7, + 247 + ], + [ + 7, + 324 + ], + [ + 4, + 30 + ], + [ + 4, + 107 + ], + [ + 4, + 184 + ], + [ + 4, + 261 + ], + [ + 4, + 338 + ], + [ + 6, + 21 + ], + [ + 6, + 98 + ], + [ + 6, + 175 + ], + [ + 6, + 252 + ], + [ + 6, + 329 + ], + [ + 3, + 35 + ], + [ + 3, + 112 + ], + [ + 3, + 189 + ], + [ + 3, + 266 + ], + [ + 3, + 343 + ], + [ + 8, + 12 + ], + [ + 8, + 89 + ], + [ + 8, + 166 + ], + [ + 8, + 243 + ], + [ + 8, + 320 + ], + [ + 5, + 26 + ], + [ + 5, + 103 + ], + [ + 5, + 180 + ], + [ + 5, + 257 + ], + [ + 5, + 334 + ], + [ + 7, + 17 + ], + [ + 7, + 94 + ], + [ + 7, + 171 + ], + [ + 7, + 248 + ], + [ + 7, + 325 + ], + [ + 4, + 31 + ], + [ + 4, + 108 + ], + [ + 4, + 185 + ], + [ + 4, + 262 + ], + [ + 4, + 339 + ], + [ + 6, + 22 + ], + [ + 6, + 99 + ], + [ + 6, + 176 + ], + [ + 6, + 253 + ], + [ + 6, + 330 + ], + [ + 3, + 36 + ], + [ + 3, + 113 + ], + [ + 3, + 190 + ], + [ + 3, + 267 + ], + [ + 3, + 344 + ], + [ + 8, + 13 + ], + [ + 8, + 90 + ], + [ + 8, + 167 + ], + [ + 8, + 244 + ], + [ + 8, + 321 + ], + [ + 5, + 27 + ], + [ + 5, + 104 + ], + [ + 5, + 181 + ], + [ + 5, + 258 + ], + [ + 5, + 335 + ], + [ + 7, + 18 + ], + [ + 7, + 95 + ], + [ + 7, + 172 + ], + [ + 7, + 249 + ], + [ + 7, + 326 + ], + [ + 4, + 32 + ], + [ + 4, + 109 + ], + [ + 4, + 186 + ], + [ + 4, + 263 + ], + [ + 4, + 340 + ], + [ + 6, + 23 + ], + [ + 6, + 100 + ], + [ + 6, + 177 + ], + [ + 6, + 254 + ], + [ + 6, + 331 + ], + [ + 8, + 14 + ], + [ + 8, + 91 + ], + [ + 8, + 168 + ], + [ + 8, + 245 + ], + [ + 8, + 322 + ], + [ + 5, + 28 + ], + [ + 5, + 105 + ], + [ + 5, + 182 + ], + [ + 5, + 259 + ], + [ + 5, + 336 + ], + [ + 7, + 19 + ], + [ + 7, + 96 + ], + [ + 7, + 173 + ], + [ + 7, + 250 + ], + [ + 7, + 327 + ], + [ + 4, + 33 + ], + [ + 4, + 110 + ], + [ + 4, + 187 + ], + [ + 4, + 264 + ], + [ + 4, + 341 + ], + [ + 6, + 24 + ], + [ + 6, + 101 + ], + [ + 6, + 178 + ], + [ + 6, + 255 + ], + [ + 6, + 332 + ], + [ + 8, + 15 + ], + [ + 8, + 92 + ], + [ + 8, + 169 + ], + [ + 8, + 246 + ], + [ + 8, + 323 + ], + [ + 5, + 29 + ], + [ + 5, + 106 + ], + [ + 5, + 183 + ], + [ + 5, + 260 + ], + [ + 5, + 337 + ], + [ + 7, + 20 + ], + [ + 7, + 97 + ], + [ + 7, + 174 + ], + [ + 7, + 251 + ], + [ + 7, + 328 + ], + [ + 4, + 34 + ], + [ + 4, + 111 + ], + [ + 4, + 188 + ], + [ + 4, + 265 + ], + [ + 4, + 342 + ], + [ + 6, + 25 + ], + [ + 6, + 102 + ], + [ + 6, + 179 + ], + [ + 6, + 256 + ], + [ + 6, + 333 + ], + [ + 8, + 16 + ], + [ + 8, + 93 + ], + [ + 8, + 170 + ], + [ + 8, + 247 + ], + [ + 8, + 324 + ], + [ + 5, + 30 + ], + [ + 5, + 107 + ], + [ + 5, + 184 + ], + [ + 5, + 261 + ], + [ + 5, + 338 + ], + [ + 7, + 21 + ], + [ + 7, + 98 + ], + [ + 7, + 175 + ], + [ + 7, + 252 + ], + [ + 7, + 329 + ], + [ + 4, + 35 + ], + [ + 4, + 112 + ], + [ + 4, + 189 + ], + [ + 4, + 266 + ], + [ + 4, + 343 + ], + [ + 6, + 26 + ], + [ + 6, + 103 + ], + [ + 6, + 180 + ], + [ + 6, + 257 + ], + [ + 6, + 334 + ], + [ + 8, + 17 + ], + [ + 8, + 94 + ], + [ + 8, + 171 + ], + [ + 8, + 248 + ], + [ + 8, + 325 + ], + [ + 5, + 31 + ], + [ + 5, + 108 + ], + [ + 5, + 185 + ], + [ + 5, + 262 + ], + [ + 5, + 339 + ], + [ + 7, + 22 + ], + [ + 7, + 99 + ], + [ + 7, + 176 + ], + [ + 7, + 253 + ], + [ + 7, + 330 + ], + [ + 4, + 36 + ], + [ + 4, + 113 + ], + [ + 4, + 190 + ], + [ + 4, + 267 + ], + [ + 4, + 344 + ], + [ + 6, + 27 + ], + [ + 6, + 104 + ], + [ + 6, + 181 + ], + [ + 6, + 258 + ], + [ + 6, + 335 + ], + [ + 8, + 18 + ], + [ + 8, + 95 + ], + [ + 8, + 172 + ], + [ + 8, + 249 + ], + [ + 8, + 326 + ], + [ + 5, + 32 + ], + [ + 5, + 109 + ], + [ + 5, + 186 + ], + [ + 5, + 263 + ], + [ + 5, + 340 + ], + [ + 7, + 23 + ], + [ + 7, + 100 + ], + [ + 7, + 177 + ], + [ + 7, + 254 + ], + [ + 7, + 331 + ], + [ + 6, + 28 + ], + [ + 6, + 105 + ], + [ + 6, + 182 + ], + [ + 6, + 259 + ], + [ + 6, + 336 + ], + [ + 8, + 19 + ], + [ + 8, + 96 + ], + [ + 8, + 173 + ], + [ + 8, + 250 + ], + [ + 8, + 327 + ], + [ + 5, + 33 + ], + [ + 5, + 110 + ], + [ + 5, + 187 + ], + [ + 5, + 264 + ], + [ + 5, + 341 + ], + [ + 7, + 24 + ], + [ + 7, + 101 + ], + [ + 7, + 178 + ], + [ + 7, + 255 + ], + [ + 7, + 332 + ], + [ + 6, + 29 + ], + [ + 6, + 106 + ], + [ + 6, + 183 + ], + [ + 6, + 260 + ], + [ + 6, + 337 + ], + [ + 8, + 20 + ], + [ + 8, + 97 + ], + [ + 8, + 174 + ], + [ + 8, + 251 + ], + [ + 8, + 328 + ], + [ + 5, + 34 + ], + [ + 5, + 111 + ], + [ + 5, + 188 + ], + [ + 5, + 265 + ], + [ + 5, + 342 + ], + [ + 7, + 25 + ], + [ + 7, + 102 + ], + [ + 7, + 179 + ], + [ + 7, + 256 + ], + [ + 7, + 333 + ], + [ + 6, + 30 + ], + [ + 6, + 107 + ], + [ + 6, + 184 + ], + [ + 6, + 261 + ], + [ + 6, + 338 + ], + [ + 8, + 21 + ], + [ + 8, + 98 + ], + [ + 8, + 175 + ], + [ + 8, + 252 + ], + [ + 8, + 329 + ], + [ + 5, + 35 + ], + [ + 5, + 112 + ], + [ + 5, + 189 + ], + [ + 5, + 266 + ], + [ + 5, + 343 + ], + [ + 7, + 26 + ], + [ + 7, + 103 + ], + [ + 7, + 180 + ], + [ + 7, + 257 + ], + [ + 7, + 334 + ], + [ + 6, + 31 + ], + [ + 6, + 108 + ], + [ + 6, + 185 + ], + [ + 6, + 262 + ], + [ + 6, + 339 + ], + [ + 8, + 22 + ], + [ + 8, + 99 + ], + [ + 8, + 176 + ], + [ + 8, + 253 + ], + [ + 8, + 330 + ], + [ + 5, + 36 + ], + [ + 5, + 113 + ], + [ + 5, + 190 + ], + [ + 5, + 267 + ], + [ + 5, + 344 + ], + [ + 7, + 27 + ], + [ + 7, + 104 + ], + [ + 7, + 181 + ], + [ + 7, + 258 + ], + [ + 7, + 335 + ], + [ + 6, + 32 + ], + [ + 6, + 109 + ], + [ + 6, + 186 + ], + [ + 6, + 263 + ], + [ + 6, + 340 + ], + [ + 8, + 23 + ], + [ + 8, + 100 + ], + [ + 8, + 177 + ], + [ + 8, + 254 + ], + [ + 8, + 331 + ], + [ + 7, + 28 + ], + [ + 7, + 105 + ], + [ + 7, + 182 + ], + [ + 7, + 259 + ], + [ + 7, + 336 + ], + [ + 6, + 33 + ], + [ + 6, + 110 + ], + [ + 6, + 187 + ], + [ + 6, + 264 + ], + [ + 6, + 341 + ], + [ + 8, + 24 + ], + [ + 8, + 101 + ], + [ + 8, + 178 + ], + [ + 8, + 255 + ], + [ + 8, + 332 + ], + [ + 7, + 29 + ], + [ + 7, + 106 + ], + [ + 7, + 183 + ], + [ + 7, + 260 + ], + [ + 7, + 337 + ], + [ + 6, + 34 + ], + [ + 6, + 111 + ], + [ + 6, + 188 + ], + [ + 6, + 265 + ], + [ + 6, + 342 + ], + [ + 8, + 25 + ], + [ + 8, + 102 + ], + [ + 8, + 179 + ], + [ + 8, + 256 + ], + [ + 8, + 333 + ], + [ + 7, + 30 + ], + [ + 7, + 107 + ], + [ + 7, + 184 + ], + [ + 7, + 261 + ], + [ + 7, + 338 + ], + [ + 6, + 35 + ], + [ + 6, + 112 + ], + [ + 6, + 189 + ], + [ + 6, + 266 + ], + [ + 6, + 343 + ], + [ + 8, + 26 + ], + [ + 8, + 103 + ], + [ + 8, + 180 + ], + [ + 8, + 257 + ], + [ + 8, + 334 + ], + [ + 7, + 31 + ], + [ + 7, + 108 + ], + [ + 7, + 185 + ], + [ + 7, + 262 + ], + [ + 7, + 339 + ], + [ + 6, + 36 + ], + [ + 6, + 113 + ], + [ + 6, + 190 + ], + [ + 6, + 267 + ], + [ + 6, + 344 + ], + [ + 8, + 27 + ], + [ + 8, + 104 + ], + [ + 8, + 181 + ], + [ + 8, + 258 + ], + [ + 8, + 335 + ], + [ + 7, + 32 + ], + [ + 7, + 109 + ], + [ + 7, + 186 + ], + [ + 7, + 263 + ], + [ + 7, + 340 + ], + [ + 8, + 28 + ], + [ + 8, + 105 + ], + [ + 8, + 182 + ], + [ + 8, + 259 + ], + [ + 8, + 336 + ], + [ + 7, + 33 + ], + [ + 7, + 110 + ], + [ + 7, + 187 + ], + [ + 7, + 264 + ], + [ + 7, + 341 + ], + [ + 8, + 29 + ], + [ + 8, + 106 + ], + [ + 8, + 183 + ], + [ + 8, + 260 + ], + [ + 8, + 337 + ], + [ + 7, + 34 + ], + [ + 7, + 111 + ], + [ + 7, + 188 + ], + [ + 7, + 265 + ], + [ + 7, + 342 + ], + [ + 8, + 30 + ], + [ + 8, + 107 + ], + [ + 8, + 184 + ], + [ + 8, + 261 + ], + [ + 8, + 338 + ], + [ + 7, + 35 + ], + [ + 7, + 112 + ], + [ + 7, + 189 + ], + [ + 7, + 266 + ], + [ + 7, + 343 + ], + [ + 8, + 31 + ], + [ + 8, + 108 + ], + [ + 8, + 185 + ], + [ + 8, + 262 + ], + [ + 8, + 339 + ], + [ + 7, + 36 + ], + [ + 7, + 113 + ], + [ + 7, + 190 + ], + [ + 7, + 267 + ], + [ + 7, + 344 + ], + [ + 8, + 32 + ], + [ + 8, + 109 + ], + [ + 8, + 186 + ], + [ + 8, + 263 + ], + [ + 8, + 340 + ], + [ + 8, + 33 + ], + [ + 8, + 110 + ], + [ + 8, + 187 + ], + [ + 8, + 264 + ], + [ + 8, + 341 + ], + [ + 8, + 34 + ], + [ + 8, + 111 + ], + [ + 8, + 188 + ], + [ + 8, + 265 + ], + [ + 8, + 342 + ], + [ + 8, + 35 + ], + [ + 8, + 112 + ], + [ + 8, + 189 + ], + [ + 8, + 266 + ], + [ + 8, + 343 + ], + [ + 8, + 36 + ], + [ + 8, + 113 + ], + [ + 8, + 190 + ], + [ + 8, + 267 + ], + [ + 8, + 344 + ], + [ + 0, + 37 + ], + [ + 0, + 114 + ], + [ + 0, + 191 + ], + [ + 0, + 268 + ], + [ + 0, + 345 + ], + [ + 0, + 38 + ], + [ + 0, + 115 + ], + [ + 0, + 192 + ], + [ + 0, + 269 + ], + [ + 0, + 346 + ], + [ + 1, + 37 + ], + [ + 1, + 114 + ], + [ + 1, + 191 + ], + [ + 1, + 268 + ], + [ + 1, + 345 + ], + [ + 0, + 39 + ], + [ + 0, + 116 + ], + [ + 0, + 193 + ], + [ + 0, + 270 + ], + [ + 0, + 347 + ], + [ + 1, + 38 + ], + [ + 1, + 115 + ], + [ + 1, + 192 + ], + [ + 1, + 269 + ], + [ + 1, + 346 + ], + [ + 2, + 37 + ], + [ + 2, + 114 + ], + [ + 2, + 191 + ], + [ + 2, + 268 + ], + [ + 2, + 345 + ], + [ + 0, + 40 + ], + [ + 0, + 117 + ], + [ + 0, + 194 + ], + [ + 0, + 271 + ], + [ + 0, + 348 + ], + [ + 3, + 37 + ], + [ + 3, + 114 + ], + [ + 3, + 191 + ], + [ + 3, + 268 + ], + [ + 3, + 345 + ], + [ + 1, + 39 + ], + [ + 1, + 116 + ], + [ + 1, + 193 + ], + [ + 1, + 270 + ], + [ + 1, + 347 + ], + [ + 2, + 38 + ], + [ + 2, + 115 + ], + [ + 2, + 192 + ], + [ + 2, + 269 + ], + [ + 2, + 346 + ], + [ + 0, + 41 + ], + [ + 0, + 118 + ], + [ + 0, + 195 + ], + [ + 0, + 272 + ], + [ + 0, + 349 + ], + [ + 2, + 39 + ], + [ + 2, + 116 + ], + [ + 2, + 193 + ], + [ + 2, + 270 + ], + [ + 2, + 347 + ], + [ + 1, + 40 + ], + [ + 1, + 117 + ], + [ + 1, + 194 + ], + [ + 1, + 271 + ], + [ + 1, + 348 + ], + [ + 3, + 38 + ], + [ + 3, + 115 + ], + [ + 3, + 192 + ], + [ + 3, + 269 + ], + [ + 3, + 346 + ], + [ + 4, + 37 + ], + [ + 4, + 114 + ], + [ + 4, + 191 + ], + [ + 4, + 268 + ], + [ + 4, + 345 + ], + [ + 0, + 42 + ], + [ + 0, + 119 + ], + [ + 0, + 196 + ], + [ + 0, + 273 + ], + [ + 0, + 350 + ], + [ + 1, + 41 + ], + [ + 1, + 118 + ], + [ + 1, + 195 + ], + [ + 1, + 272 + ], + [ + 1, + 349 + ], + [ + 2, + 40 + ], + [ + 2, + 117 + ], + [ + 2, + 194 + ], + [ + 2, + 271 + ], + [ + 2, + 348 + ], + [ + 3, + 39 + ], + [ + 3, + 116 + ], + [ + 3, + 193 + ], + [ + 3, + 270 + ], + [ + 3, + 347 + ], + [ + 4, + 38 + ], + [ + 4, + 115 + ], + [ + 4, + 192 + ], + [ + 4, + 269 + ], + [ + 4, + 346 + ], + [ + 5, + 37 + ], + [ + 5, + 114 + ], + [ + 5, + 191 + ], + [ + 5, + 268 + ], + [ + 5, + 345 + ], + [ + 0, + 43 + ], + [ + 0, + 120 + ], + [ + 0, + 197 + ], + [ + 0, + 274 + ], + [ + 0, + 351 + ], + [ + 1, + 42 + ], + [ + 1, + 119 + ], + [ + 1, + 196 + ], + [ + 1, + 273 + ], + [ + 1, + 350 + ], + [ + 2, + 41 + ], + [ + 2, + 118 + ], + [ + 2, + 195 + ], + [ + 2, + 272 + ], + [ + 2, + 349 + ], + [ + 3, + 40 + ], + [ + 3, + 117 + ], + [ + 3, + 194 + ], + [ + 3, + 271 + ], + [ + 3, + 348 + ], + [ + 4, + 39 + ], + [ + 4, + 116 + ], + [ + 4, + 193 + ], + [ + 4, + 270 + ], + [ + 4, + 347 + ], + [ + 5, + 38 + ], + [ + 5, + 115 + ], + [ + 5, + 192 + ], + [ + 5, + 269 + ], + [ + 5, + 346 + ], + [ + 0, + 44 + ], + [ + 0, + 121 + ], + [ + 0, + 198 + ], + [ + 0, + 275 + ], + [ + 0, + 352 + ], + [ + 6, + 37 + ], + [ + 6, + 114 + ], + [ + 6, + 191 + ], + [ + 6, + 268 + ], + [ + 6, + 345 + ], + [ + 1, + 43 + ], + [ + 1, + 120 + ], + [ + 1, + 197 + ], + [ + 1, + 274 + ], + [ + 1, + 351 + ], + [ + 2, + 42 + ], + [ + 2, + 119 + ], + [ + 2, + 196 + ], + [ + 2, + 273 + ], + [ + 2, + 350 + ], + [ + 3, + 41 + ], + [ + 3, + 118 + ], + [ + 3, + 195 + ], + [ + 3, + 272 + ], + [ + 3, + 349 + ], + [ + 4, + 40 + ], + [ + 4, + 117 + ], + [ + 4, + 194 + ], + [ + 4, + 271 + ], + [ + 4, + 348 + ], + [ + 5, + 39 + ], + [ + 5, + 116 + ], + [ + 5, + 193 + ], + [ + 5, + 270 + ], + [ + 5, + 347 + ], + [ + 6, + 38 + ], + [ + 6, + 115 + ], + [ + 6, + 192 + ], + [ + 6, + 269 + ], + [ + 6, + 346 + ], + [ + 1, + 44 + ], + [ + 1, + 121 + ], + [ + 1, + 198 + ], + [ + 1, + 275 + ], + [ + 1, + 352 + ], + [ + 7, + 37 + ], + [ + 7, + 114 + ], + [ + 7, + 191 + ], + [ + 7, + 268 + ], + [ + 7, + 345 + ], + [ + 2, + 43 + ], + [ + 2, + 120 + ], + [ + 2, + 197 + ], + [ + 2, + 274 + ], + [ + 2, + 351 + ], + [ + 3, + 42 + ], + [ + 3, + 119 + ], + [ + 3, + 196 + ], + [ + 3, + 273 + ], + [ + 3, + 350 + ], + [ + 4, + 41 + ], + [ + 4, + 118 + ], + [ + 4, + 195 + ], + [ + 4, + 272 + ], + [ + 4, + 349 + ], + [ + 5, + 40 + ], + [ + 5, + 117 + ], + [ + 5, + 194 + ], + [ + 5, + 271 + ], + [ + 5, + 348 + ], + [ + 6, + 39 + ], + [ + 6, + 116 + ], + [ + 6, + 193 + ], + [ + 6, + 270 + ], + [ + 6, + 347 + ], + [ + 7, + 38 + ], + [ + 7, + 115 + ], + [ + 7, + 192 + ], + [ + 7, + 269 + ], + [ + 7, + 346 + ], + [ + 2, + 44 + ], + [ + 2, + 121 + ], + [ + 2, + 198 + ], + [ + 2, + 275 + ], + [ + 2, + 352 + ], + [ + 8, + 37 + ], + [ + 8, + 114 + ], + [ + 8, + 191 + ], + [ + 8, + 268 + ], + [ + 8, + 345 + ], + [ + 3, + 43 + ], + [ + 3, + 120 + ], + [ + 3, + 197 + ], + [ + 3, + 274 + ], + [ + 3, + 351 + ], + [ + 4, + 42 + ], + [ + 4, + 119 + ], + [ + 4, + 196 + ], + [ + 4, + 273 + ], + [ + 4, + 350 + ], + [ + 5, + 41 + ], + [ + 5, + 118 + ], + [ + 5, + 195 + ], + [ + 5, + 272 + ], + [ + 5, + 349 + ], + [ + 6, + 40 + ], + [ + 6, + 117 + ], + [ + 6, + 194 + ], + [ + 6, + 271 + ], + [ + 6, + 348 + ], + [ + 7, + 39 + ], + [ + 7, + 116 + ], + [ + 7, + 193 + ], + [ + 7, + 270 + ], + [ + 7, + 347 + ], + [ + 8, + 38 + ], + [ + 8, + 115 + ], + [ + 8, + 192 + ], + [ + 8, + 269 + ], + [ + 8, + 346 + ], + [ + 3, + 44 + ], + [ + 3, + 121 + ], + [ + 3, + 198 + ], + [ + 3, + 275 + ], + [ + 3, + 352 + ], + [ + 4, + 43 + ], + [ + 4, + 120 + ], + [ + 4, + 197 + ], + [ + 4, + 274 + ], + [ + 4, + 351 + ], + [ + 5, + 42 + ], + [ + 5, + 119 + ], + [ + 5, + 196 + ], + [ + 5, + 273 + ], + [ + 5, + 350 + ], + [ + 6, + 41 + ], + [ + 6, + 118 + ], + [ + 6, + 195 + ], + [ + 6, + 272 + ], + [ + 6, + 349 + ], + [ + 7, + 40 + ], + [ + 7, + 117 + ], + [ + 7, + 194 + ], + [ + 7, + 271 + ], + [ + 7, + 348 + ], + [ + 8, + 39 + ], + [ + 8, + 116 + ], + [ + 8, + 193 + ], + [ + 8, + 270 + ], + [ + 8, + 347 + ], + [ + 4, + 44 + ], + [ + 4, + 121 + ], + [ + 4, + 198 + ], + [ + 4, + 275 + ], + [ + 4, + 352 + ], + [ + 5, + 43 + ], + [ + 5, + 120 + ], + [ + 5, + 197 + ], + [ + 5, + 274 + ], + [ + 5, + 351 + ], + [ + 6, + 42 + ], + [ + 6, + 119 + ], + [ + 6, + 196 + ], + [ + 6, + 273 + ], + [ + 6, + 350 + ], + [ + 7, + 41 + ], + [ + 7, + 118 + ], + [ + 7, + 195 + ], + [ + 7, + 272 + ], + [ + 7, + 349 + ], + [ + 8, + 40 + ], + [ + 8, + 117 + ], + [ + 8, + 194 + ], + [ + 8, + 271 + ], + [ + 8, + 348 + ], + [ + 5, + 44 + ], + [ + 5, + 121 + ], + [ + 5, + 198 + ], + [ + 5, + 275 + ], + [ + 5, + 352 + ], + [ + 6, + 43 + ], + [ + 6, + 120 + ], + [ + 6, + 197 + ], + [ + 6, + 274 + ], + [ + 6, + 351 + ], + [ + 7, + 42 + ], + [ + 7, + 119 + ], + [ + 7, + 196 + ], + [ + 7, + 273 + ], + [ + 7, + 350 + ], + [ + 8, + 41 + ], + [ + 8, + 118 + ], + [ + 8, + 195 + ], + [ + 8, + 272 + ], + [ + 8, + 349 + ], + [ + 6, + 44 + ], + [ + 6, + 121 + ], + [ + 6, + 198 + ], + [ + 6, + 275 + ], + [ + 6, + 352 + ], + [ + 7, + 43 + ], + [ + 7, + 120 + ], + [ + 7, + 197 + ], + [ + 7, + 274 + ], + [ + 7, + 351 + ], + [ + 8, + 42 + ], + [ + 8, + 119 + ], + [ + 8, + 196 + ], + [ + 8, + 273 + ], + [ + 8, + 350 + ], + [ + 7, + 44 + ], + [ + 7, + 121 + ], + [ + 7, + 198 + ], + [ + 7, + 275 + ], + [ + 7, + 352 + ], + [ + 8, + 43 + ], + [ + 8, + 120 + ], + [ + 8, + 197 + ], + [ + 8, + 274 + ], + [ + 8, + 351 + ], + [ + 8, + 44 + ], + [ + 8, + 121 + ], + [ + 8, + 198 + ], + [ + 8, + 275 + ], + [ + 8, + 352 + ], + [ + 0, + 45 + ], + [ + 0, + 122 + ], + [ + 0, + 199 + ], + [ + 0, + 276 + ], + [ + 0, + 353 + ], + [ + 0, + 53 + ], + [ + 0, + 130 + ], + [ + 0, + 207 + ], + [ + 0, + 284 + ], + [ + 0, + 361 + ], + [ + 0, + 46 + ], + [ + 0, + 123 + ], + [ + 0, + 200 + ], + [ + 0, + 277 + ], + [ + 0, + 354 + ], + [ + 0, + 54 + ], + [ + 0, + 131 + ], + [ + 0, + 208 + ], + [ + 0, + 285 + ], + [ + 0, + 362 + ], + [ + 1, + 45 + ], + [ + 1, + 122 + ], + [ + 1, + 199 + ], + [ + 1, + 276 + ], + [ + 1, + 353 + ], + [ + 1, + 53 + ], + [ + 1, + 130 + ], + [ + 1, + 207 + ], + [ + 1, + 284 + ], + [ + 1, + 361 + ], + [ + 0, + 47 + ], + [ + 0, + 124 + ], + [ + 0, + 201 + ], + [ + 0, + 278 + ], + [ + 0, + 355 + ], + [ + 0, + 55 + ], + [ + 0, + 132 + ], + [ + 0, + 209 + ], + [ + 0, + 286 + ], + [ + 0, + 363 + ], + [ + 1, + 46 + ], + [ + 1, + 123 + ], + [ + 1, + 200 + ], + [ + 1, + 277 + ], + [ + 1, + 354 + ], + [ + 1, + 54 + ], + [ + 1, + 131 + ], + [ + 1, + 208 + ], + [ + 1, + 285 + ], + [ + 1, + 362 + ], + [ + 2, + 45 + ], + [ + 2, + 122 + ], + [ + 2, + 199 + ], + [ + 2, + 276 + ], + [ + 2, + 353 + ], + [ + 2, + 53 + ], + [ + 2, + 130 + ], + [ + 2, + 207 + ], + [ + 2, + 284 + ], + [ + 2, + 361 + ], + [ + 0, + 48 + ], + [ + 0, + 125 + ], + [ + 0, + 202 + ], + [ + 0, + 279 + ], + [ + 0, + 356 + ], + [ + 0, + 56 + ], + [ + 0, + 133 + ], + [ + 0, + 210 + ], + [ + 0, + 287 + ], + [ + 0, + 364 + ], + [ + 1, + 47 + ], + [ + 1, + 124 + ], + [ + 1, + 201 + ], + [ + 1, + 278 + ], + [ + 1, + 355 + ], + [ + 1, + 55 + ], + [ + 1, + 132 + ], + [ + 1, + 209 + ], + [ + 1, + 286 + ], + [ + 1, + 363 + ], + [ + 2, + 46 + ], + [ + 2, + 123 + ], + [ + 2, + 200 + ], + [ + 2, + 277 + ], + [ + 2, + 354 + ], + [ + 2, + 54 + ], + [ + 2, + 131 + ], + [ + 2, + 208 + ], + [ + 2, + 285 + ], + [ + 2, + 362 + ], + [ + 3, + 45 + ], + [ + 3, + 122 + ], + [ + 3, + 199 + ], + [ + 3, + 276 + ], + [ + 3, + 353 + ], + [ + 3, + 53 + ], + [ + 3, + 130 + ], + [ + 3, + 207 + ], + [ + 3, + 284 + ], + [ + 3, + 361 + ], + [ + 0, + 49 + ], + [ + 0, + 126 + ], + [ + 0, + 203 + ], + [ + 0, + 280 + ], + [ + 0, + 357 + ], + [ + 0, + 57 + ], + [ + 0, + 134 + ], + [ + 0, + 211 + ], + [ + 0, + 288 + ], + [ + 0, + 365 + ], + [ + 1, + 48 + ], + [ + 1, + 125 + ], + [ + 1, + 202 + ], + [ + 1, + 279 + ], + [ + 1, + 356 + ], + [ + 1, + 56 + ], + [ + 1, + 133 + ], + [ + 1, + 210 + ], + [ + 1, + 287 + ], + [ + 1, + 364 + ], + [ + 2, + 47 + ], + [ + 2, + 124 + ], + [ + 2, + 201 + ], + [ + 2, + 278 + ], + [ + 2, + 355 + ], + [ + 2, + 55 + ], + [ + 2, + 132 + ], + [ + 2, + 209 + ], + [ + 2, + 286 + ], + [ + 2, + 363 + ], + [ + 3, + 46 + ], + [ + 3, + 123 + ], + [ + 3, + 200 + ], + [ + 3, + 277 + ], + [ + 3, + 354 + ], + [ + 3, + 54 + ], + [ + 3, + 131 + ], + [ + 3, + 208 + ], + [ + 3, + 285 + ], + [ + 3, + 362 + ], + [ + 4, + 45 + ], + [ + 4, + 122 + ], + [ + 4, + 199 + ], + [ + 4, + 276 + ], + [ + 4, + 353 + ], + [ + 4, + 53 + ], + [ + 4, + 130 + ], + [ + 4, + 207 + ], + [ + 4, + 284 + ], + [ + 4, + 361 + ], + [ + 0, + 50 + ], + [ + 0, + 127 + ], + [ + 0, + 204 + ], + [ + 0, + 281 + ], + [ + 0, + 358 + ], + [ + 0, + 58 + ], + [ + 0, + 135 + ], + [ + 0, + 212 + ], + [ + 0, + 289 + ], + [ + 0, + 366 + ], + [ + 1, + 49 + ], + [ + 1, + 126 + ], + [ + 1, + 203 + ], + [ + 1, + 280 + ], + [ + 1, + 357 + ], + [ + 1, + 57 + ], + [ + 1, + 134 + ], + [ + 1, + 211 + ], + [ + 1, + 288 + ], + [ + 1, + 365 + ], + [ + 2, + 48 + ], + [ + 2, + 125 + ], + [ + 2, + 202 + ], + [ + 2, + 279 + ], + [ + 2, + 356 + ], + [ + 2, + 56 + ], + [ + 2, + 133 + ], + [ + 2, + 210 + ], + [ + 2, + 287 + ], + [ + 2, + 364 + ], + [ + 3, + 47 + ], + [ + 3, + 124 + ], + [ + 3, + 201 + ], + [ + 3, + 278 + ], + [ + 3, + 355 + ], + [ + 3, + 55 + ], + [ + 3, + 132 + ], + [ + 3, + 209 + ], + [ + 3, + 286 + ], + [ + 3, + 363 + ], + [ + 4, + 46 + ], + [ + 4, + 123 + ], + [ + 4, + 200 + ], + [ + 4, + 277 + ], + [ + 4, + 354 + ], + [ + 4, + 54 + ], + [ + 4, + 131 + ], + [ + 4, + 208 + ], + [ + 4, + 285 + ], + [ + 4, + 362 + ], + [ + 5, + 45 + ], + [ + 5, + 122 + ], + [ + 5, + 199 + ], + [ + 5, + 276 + ], + [ + 5, + 353 + ], + [ + 5, + 53 + ], + [ + 5, + 130 + ], + [ + 5, + 207 + ], + [ + 5, + 284 + ], + [ + 5, + 361 + ], + [ + 0, + 51 + ], + [ + 0, + 128 + ], + [ + 0, + 205 + ], + [ + 0, + 282 + ], + [ + 0, + 359 + ], + [ + 0, + 59 + ], + [ + 0, + 136 + ], + [ + 0, + 213 + ], + [ + 0, + 290 + ], + [ + 0, + 367 + ], + [ + 1, + 50 + ], + [ + 1, + 127 + ], + [ + 1, + 204 + ], + [ + 1, + 281 + ], + [ + 1, + 358 + ], + [ + 1, + 58 + ], + [ + 1, + 135 + ], + [ + 1, + 212 + ], + [ + 1, + 289 + ], + [ + 1, + 366 + ], + [ + 2, + 49 + ], + [ + 2, + 126 + ], + [ + 2, + 203 + ], + [ + 2, + 280 + ], + [ + 2, + 357 + ], + [ + 2, + 57 + ], + [ + 2, + 134 + ], + [ + 2, + 211 + ], + [ + 2, + 288 + ], + [ + 2, + 365 + ], + [ + 3, + 48 + ], + [ + 3, + 125 + ], + [ + 3, + 202 + ], + [ + 3, + 279 + ], + [ + 3, + 356 + ], + [ + 3, + 56 + ], + [ + 3, + 133 + ], + [ + 3, + 210 + ], + [ + 3, + 287 + ], + [ + 3, + 364 + ], + [ + 4, + 47 + ], + [ + 4, + 124 + ], + [ + 4, + 201 + ], + [ + 4, + 278 + ], + [ + 4, + 355 + ], + [ + 4, + 55 + ], + [ + 4, + 132 + ], + [ + 4, + 209 + ], + [ + 4, + 286 + ], + [ + 4, + 363 + ], + [ + 5, + 46 + ], + [ + 5, + 123 + ], + [ + 5, + 200 + ], + [ + 5, + 277 + ], + [ + 5, + 354 + ], + [ + 5, + 54 + ], + [ + 5, + 131 + ], + [ + 5, + 208 + ], + [ + 5, + 285 + ], + [ + 5, + 362 + ], + [ + 0, + 52 + ], + [ + 0, + 129 + ], + [ + 0, + 206 + ], + [ + 0, + 283 + ], + [ + 0, + 360 + ], + [ + 0, + 60 + ], + [ + 0, + 137 + ], + [ + 0, + 214 + ], + [ + 0, + 291 + ], + [ + 0, + 368 + ], + [ + 6, + 45 + ], + [ + 6, + 122 + ], + [ + 6, + 199 + ], + [ + 6, + 276 + ], + [ + 6, + 353 + ], + [ + 6, + 53 + ], + [ + 6, + 130 + ], + [ + 6, + 207 + ], + [ + 6, + 284 + ], + [ + 6, + 361 + ], + [ + 1, + 51 + ], + [ + 1, + 128 + ], + [ + 1, + 205 + ], + [ + 1, + 282 + ], + [ + 1, + 359 + ], + [ + 1, + 59 + ], + [ + 1, + 136 + ], + [ + 1, + 213 + ], + [ + 1, + 290 + ], + [ + 1, + 367 + ], + [ + 2, + 50 + ], + [ + 2, + 127 + ], + [ + 2, + 204 + ], + [ + 2, + 281 + ], + [ + 2, + 358 + ], + [ + 2, + 58 + ], + [ + 2, + 135 + ], + [ + 2, + 212 + ], + [ + 2, + 289 + ], + [ + 2, + 366 + ], + [ + 3, + 49 + ], + [ + 3, + 126 + ], + [ + 3, + 203 + ], + [ + 3, + 280 + ], + [ + 3, + 357 + ], + [ + 3, + 57 + ], + [ + 3, + 134 + ], + [ + 3, + 211 + ], + [ + 3, + 288 + ], + [ + 3, + 365 + ], + [ + 4, + 48 + ], + [ + 4, + 125 + ], + [ + 4, + 202 + ], + [ + 4, + 279 + ], + [ + 4, + 356 + ], + [ + 4, + 56 + ], + [ + 4, + 133 + ], + [ + 4, + 210 + ], + [ + 4, + 287 + ], + [ + 4, + 364 + ], + [ + 5, + 47 + ], + [ + 5, + 124 + ], + [ + 5, + 201 + ], + [ + 5, + 278 + ], + [ + 5, + 355 + ], + [ + 5, + 55 + ], + [ + 5, + 132 + ], + [ + 5, + 209 + ], + [ + 5, + 286 + ], + [ + 5, + 363 + ], + [ + 6, + 46 + ], + [ + 6, + 123 + ], + [ + 6, + 200 + ], + [ + 6, + 277 + ], + [ + 6, + 354 + ], + [ + 6, + 54 + ], + [ + 6, + 131 + ], + [ + 6, + 208 + ], + [ + 6, + 285 + ], + [ + 6, + 362 + ], + [ + 1, + 52 + ], + [ + 1, + 129 + ], + [ + 1, + 206 + ], + [ + 1, + 283 + ], + [ + 1, + 360 + ], + [ + 1, + 60 + ], + [ + 1, + 137 + ], + [ + 1, + 214 + ], + [ + 1, + 291 + ], + [ + 1, + 368 + ], + [ + 7, + 45 + ], + [ + 7, + 122 + ], + [ + 7, + 199 + ], + [ + 7, + 276 + ], + [ + 7, + 353 + ], + [ + 7, + 53 + ], + [ + 7, + 130 + ], + [ + 7, + 207 + ], + [ + 7, + 284 + ], + [ + 7, + 361 + ], + [ + 2, + 51 + ], + [ + 2, + 128 + ], + [ + 2, + 205 + ], + [ + 2, + 282 + ], + [ + 2, + 359 + ], + [ + 2, + 59 + ], + [ + 2, + 136 + ], + [ + 2, + 213 + ], + [ + 2, + 290 + ], + [ + 2, + 367 + ], + [ + 3, + 50 + ], + [ + 3, + 127 + ], + [ + 3, + 204 + ], + [ + 3, + 281 + ], + [ + 3, + 358 + ], + [ + 3, + 58 + ], + [ + 3, + 135 + ], + [ + 3, + 212 + ], + [ + 3, + 289 + ], + [ + 3, + 366 + ], + [ + 4, + 49 + ], + [ + 4, + 126 + ], + [ + 4, + 203 + ], + [ + 4, + 280 + ], + [ + 4, + 357 + ], + [ + 4, + 57 + ], + [ + 4, + 134 + ], + [ + 4, + 211 + ], + [ + 4, + 288 + ], + [ + 4, + 365 + ], + [ + 5, + 48 + ], + [ + 5, + 125 + ], + [ + 5, + 202 + ], + [ + 5, + 279 + ], + [ + 5, + 356 + ], + [ + 5, + 56 + ], + [ + 5, + 133 + ], + [ + 5, + 210 + ], + [ + 5, + 287 + ], + [ + 5, + 364 + ], + [ + 6, + 47 + ], + [ + 6, + 124 + ], + [ + 6, + 201 + ], + [ + 6, + 278 + ], + [ + 6, + 355 + ], + [ + 6, + 55 + ], + [ + 6, + 132 + ], + [ + 6, + 209 + ], + [ + 6, + 286 + ], + [ + 6, + 363 + ], + [ + 7, + 46 + ], + [ + 7, + 123 + ], + [ + 7, + 200 + ], + [ + 7, + 277 + ], + [ + 7, + 354 + ], + [ + 7, + 54 + ], + [ + 7, + 131 + ], + [ + 7, + 208 + ], + [ + 7, + 285 + ], + [ + 7, + 362 + ], + [ + 2, + 52 + ], + [ + 2, + 129 + ], + [ + 2, + 206 + ], + [ + 2, + 283 + ], + [ + 2, + 360 + ], + [ + 2, + 60 + ], + [ + 2, + 137 + ], + [ + 2, + 214 + ], + [ + 2, + 291 + ], + [ + 2, + 368 + ], + [ + 8, + 45 + ], + [ + 8, + 122 + ], + [ + 8, + 199 + ], + [ + 8, + 276 + ], + [ + 8, + 353 + ], + [ + 8, + 53 + ], + [ + 8, + 130 + ], + [ + 8, + 207 + ], + [ + 8, + 284 + ], + [ + 8, + 361 + ], + [ + 3, + 51 + ], + [ + 3, + 128 + ], + [ + 3, + 205 + ], + [ + 3, + 282 + ], + [ + 3, + 359 + ], + [ + 3, + 59 + ], + [ + 3, + 136 + ], + [ + 3, + 213 + ], + [ + 3, + 290 + ], + [ + 3, + 367 + ], + [ + 4, + 50 + ], + [ + 4, + 127 + ], + [ + 4, + 204 + ], + [ + 4, + 281 + ], + [ + 4, + 358 + ], + [ + 4, + 58 + ], + [ + 4, + 135 + ], + [ + 4, + 212 + ], + [ + 4, + 289 + ], + [ + 4, + 366 + ], + [ + 5, + 49 + ], + [ + 5, + 126 + ], + [ + 5, + 203 + ], + [ + 5, + 280 + ], + [ + 5, + 357 + ], + [ + 5, + 57 + ], + [ + 5, + 134 + ], + [ + 5, + 211 + ], + [ + 5, + 288 + ], + [ + 5, + 365 + ], + [ + 6, + 48 + ], + [ + 6, + 125 + ], + [ + 6, + 202 + ], + [ + 6, + 279 + ], + [ + 6, + 356 + ], + [ + 6, + 56 + ], + [ + 6, + 133 + ], + [ + 6, + 210 + ], + [ + 6, + 287 + ], + [ + 6, + 364 + ], + [ + 7, + 47 + ], + [ + 7, + 124 + ], + [ + 7, + 201 + ], + [ + 7, + 278 + ], + [ + 7, + 355 + ], + [ + 7, + 55 + ], + [ + 7, + 132 + ], + [ + 7, + 209 + ], + [ + 7, + 286 + ], + [ + 7, + 363 + ], + [ + 8, + 46 + ], + [ + 8, + 123 + ], + [ + 8, + 200 + ], + [ + 8, + 277 + ], + [ + 8, + 354 + ], + [ + 8, + 54 + ], + [ + 8, + 131 + ], + [ + 8, + 208 + ], + [ + 8, + 285 + ], + [ + 8, + 362 + ], + [ + 3, + 52 + ], + [ + 3, + 129 + ], + [ + 3, + 206 + ], + [ + 3, + 283 + ], + [ + 3, + 360 + ], + [ + 3, + 60 + ], + [ + 3, + 137 + ], + [ + 3, + 214 + ], + [ + 3, + 291 + ], + [ + 3, + 368 + ], + [ + 4, + 51 + ], + [ + 4, + 128 + ], + [ + 4, + 205 + ], + [ + 4, + 282 + ], + [ + 4, + 359 + ], + [ + 4, + 59 + ], + [ + 4, + 136 + ], + [ + 4, + 213 + ], + [ + 4, + 290 + ], + [ + 4, + 367 + ], + [ + 5, + 50 + ], + [ + 5, + 127 + ], + [ + 5, + 204 + ], + [ + 5, + 281 + ], + [ + 5, + 358 + ], + [ + 5, + 58 + ], + [ + 5, + 135 + ], + [ + 5, + 212 + ], + [ + 5, + 289 + ], + [ + 5, + 366 + ], + [ + 6, + 49 + ], + [ + 6, + 126 + ], + [ + 6, + 203 + ], + [ + 6, + 280 + ], + [ + 6, + 357 + ], + [ + 6, + 57 + ], + [ + 6, + 134 + ], + [ + 6, + 211 + ], + [ + 6, + 288 + ], + [ + 6, + 365 + ], + [ + 7, + 48 + ], + [ + 7, + 125 + ], + [ + 7, + 202 + ], + [ + 7, + 279 + ], + [ + 7, + 356 + ], + [ + 7, + 56 + ], + [ + 7, + 133 + ], + [ + 7, + 210 + ], + [ + 7, + 287 + ], + [ + 7, + 364 + ], + [ + 8, + 47 + ], + [ + 8, + 124 + ], + [ + 8, + 201 + ], + [ + 8, + 278 + ], + [ + 8, + 355 + ], + [ + 8, + 55 + ], + [ + 8, + 132 + ], + [ + 8, + 209 + ], + [ + 8, + 286 + ], + [ + 8, + 363 + ], + [ + 4, + 52 + ], + [ + 4, + 129 + ], + [ + 4, + 206 + ], + [ + 4, + 283 + ], + [ + 4, + 360 + ], + [ + 4, + 60 + ], + [ + 4, + 137 + ], + [ + 4, + 214 + ], + [ + 4, + 291 + ], + [ + 4, + 368 + ], + [ + 5, + 51 + ], + [ + 5, + 128 + ], + [ + 5, + 205 + ], + [ + 5, + 282 + ], + [ + 5, + 359 + ], + [ + 5, + 59 + ], + [ + 5, + 136 + ], + [ + 5, + 213 + ], + [ + 5, + 290 + ], + [ + 5, + 367 + ], + [ + 6, + 50 + ], + [ + 6, + 127 + ], + [ + 6, + 204 + ], + [ + 6, + 281 + ], + [ + 6, + 358 + ], + [ + 6, + 58 + ], + [ + 6, + 135 + ], + [ + 6, + 212 + ], + [ + 6, + 289 + ], + [ + 6, + 366 + ], + [ + 7, + 49 + ], + [ + 7, + 126 + ], + [ + 7, + 203 + ], + [ + 7, + 280 + ], + [ + 7, + 357 + ], + [ + 7, + 57 + ], + [ + 7, + 134 + ], + [ + 7, + 211 + ], + [ + 7, + 288 + ], + [ + 7, + 365 + ], + [ + 8, + 48 + ], + [ + 8, + 125 + ], + [ + 8, + 202 + ], + [ + 8, + 279 + ], + [ + 8, + 356 + ], + [ + 8, + 56 + ], + [ + 8, + 133 + ], + [ + 8, + 210 + ], + [ + 8, + 287 + ], + [ + 8, + 364 + ], + [ + 5, + 52 + ], + [ + 5, + 129 + ], + [ + 5, + 206 + ], + [ + 5, + 283 + ], + [ + 5, + 360 + ], + [ + 5, + 60 + ], + [ + 5, + 137 + ], + [ + 5, + 214 + ], + [ + 5, + 291 + ], + [ + 5, + 368 + ], + [ + 6, + 51 + ], + [ + 6, + 128 + ], + [ + 6, + 205 + ], + [ + 6, + 282 + ], + [ + 6, + 359 + ], + [ + 6, + 59 + ], + [ + 6, + 136 + ], + [ + 6, + 213 + ], + [ + 6, + 290 + ], + [ + 6, + 367 + ], + [ + 7, + 50 + ], + [ + 7, + 127 + ], + [ + 7, + 204 + ], + [ + 7, + 281 + ], + [ + 7, + 358 + ], + [ + 7, + 58 + ], + [ + 7, + 135 + ], + [ + 7, + 212 + ], + [ + 7, + 289 + ], + [ + 7, + 366 + ], + [ + 8, + 49 + ], + [ + 8, + 126 + ], + [ + 8, + 203 + ], + [ + 8, + 280 + ], + [ + 8, + 357 + ], + [ + 8, + 57 + ], + [ + 8, + 134 + ], + [ + 8, + 211 + ], + [ + 8, + 288 + ], + [ + 8, + 365 + ], + [ + 6, + 52 + ], + [ + 6, + 129 + ], + [ + 6, + 206 + ], + [ + 6, + 283 + ], + [ + 6, + 360 + ], + [ + 6, + 60 + ], + [ + 6, + 137 + ], + [ + 6, + 214 + ], + [ + 6, + 291 + ], + [ + 6, + 368 + ], + [ + 7, + 51 + ], + [ + 7, + 128 + ], + [ + 7, + 205 + ], + [ + 7, + 282 + ], + [ + 7, + 359 + ], + [ + 7, + 59 + ], + [ + 7, + 136 + ], + [ + 7, + 213 + ], + [ + 7, + 290 + ], + [ + 7, + 367 + ], + [ + 8, + 50 + ], + [ + 8, + 127 + ], + [ + 8, + 204 + ], + [ + 8, + 281 + ], + [ + 8, + 358 + ], + [ + 8, + 58 + ], + [ + 8, + 135 + ], + [ + 8, + 212 + ], + [ + 8, + 289 + ], + [ + 8, + 366 + ], + [ + 7, + 52 + ], + [ + 7, + 129 + ], + [ + 7, + 206 + ], + [ + 7, + 283 + ], + [ + 7, + 360 + ], + [ + 7, + 60 + ], + [ + 7, + 137 + ], + [ + 7, + 214 + ], + [ + 7, + 291 + ], + [ + 7, + 368 + ], + [ + 8, + 51 + ], + [ + 8, + 128 + ], + [ + 8, + 205 + ], + [ + 8, + 282 + ], + [ + 8, + 359 + ], + [ + 8, + 59 + ], + [ + 8, + 136 + ], + [ + 8, + 213 + ], + [ + 8, + 290 + ], + [ + 8, + 367 + ], + [ + 8, + 52 + ], + [ + 8, + 129 + ], + [ + 8, + 206 + ], + [ + 8, + 283 + ], + [ + 8, + 360 + ], + [ + 8, + 60 + ], + [ + 8, + 137 + ], + [ + 8, + 214 + ], + [ + 8, + 291 + ], + [ + 8, + 368 + ], + [ + 0, + 61 + ], + [ + 0, + 138 + ], + [ + 0, + 215 + ], + [ + 0, + 292 + ], + [ + 0, + 369 + ], + [ + 0, + 69 + ], + [ + 0, + 146 + ], + [ + 0, + 223 + ], + [ + 0, + 300 + ], + [ + 0, + 377 + ], + [ + 0, + 62 + ], + [ + 0, + 139 + ], + [ + 0, + 216 + ], + [ + 0, + 293 + ], + [ + 0, + 370 + ], + [ + 0, + 70 + ], + [ + 0, + 147 + ], + [ + 0, + 224 + ], + [ + 0, + 301 + ], + [ + 0, + 378 + ], + [ + 1, + 61 + ], + [ + 1, + 138 + ], + [ + 1, + 215 + ], + [ + 1, + 292 + ], + [ + 1, + 369 + ], + [ + 1, + 69 + ], + [ + 1, + 146 + ], + [ + 1, + 223 + ], + [ + 1, + 300 + ], + [ + 1, + 377 + ], + [ + 0, + 63 + ], + [ + 0, + 140 + ], + [ + 0, + 217 + ], + [ + 0, + 294 + ], + [ + 0, + 371 + ], + [ + 0, + 71 + ], + [ + 0, + 148 + ], + [ + 0, + 225 + ], + [ + 0, + 302 + ], + [ + 0, + 379 + ], + [ + 1, + 62 + ], + [ + 1, + 139 + ], + [ + 1, + 216 + ], + [ + 1, + 293 + ], + [ + 1, + 370 + ], + [ + 1, + 70 + ], + [ + 1, + 147 + ], + [ + 1, + 224 + ], + [ + 1, + 301 + ], + [ + 1, + 378 + ], + [ + 2, + 61 + ], + [ + 2, + 138 + ], + [ + 2, + 215 + ], + [ + 2, + 292 + ], + [ + 2, + 369 + ], + [ + 2, + 69 + ], + [ + 2, + 146 + ], + [ + 2, + 223 + ], + [ + 2, + 300 + ], + [ + 2, + 377 + ], + [ + 0, + 64 + ], + [ + 0, + 141 + ], + [ + 0, + 218 + ], + [ + 0, + 295 + ], + [ + 0, + 372 + ], + [ + 0, + 72 + ], + [ + 0, + 149 + ], + [ + 0, + 226 + ], + [ + 0, + 303 + ], + [ + 0, + 380 + ], + [ + 1, + 63 + ], + [ + 1, + 140 + ], + [ + 1, + 217 + ], + [ + 1, + 294 + ], + [ + 1, + 371 + ], + [ + 1, + 71 + ], + [ + 1, + 148 + ], + [ + 1, + 225 + ], + [ + 1, + 302 + ], + [ + 1, + 379 + ], + [ + 2, + 62 + ], + [ + 2, + 139 + ], + [ + 2, + 216 + ], + [ + 2, + 293 + ], + [ + 2, + 370 + ], + [ + 2, + 70 + ], + [ + 2, + 147 + ], + [ + 2, + 224 + ], + [ + 2, + 301 + ], + [ + 2, + 378 + ], + [ + 3, + 61 + ], + [ + 3, + 138 + ], + [ + 3, + 215 + ], + [ + 3, + 292 + ], + [ + 3, + 369 + ], + [ + 3, + 69 + ], + [ + 3, + 146 + ], + [ + 3, + 223 + ], + [ + 3, + 300 + ], + [ + 3, + 377 + ], + [ + 0, + 65 + ], + [ + 0, + 142 + ], + [ + 0, + 219 + ], + [ + 0, + 296 + ], + [ + 0, + 373 + ], + [ + 0, + 73 + ], + [ + 0, + 150 + ], + [ + 0, + 227 + ], + [ + 0, + 304 + ], + [ + 0, + 381 + ], + [ + 1, + 64 + ], + [ + 1, + 141 + ], + [ + 1, + 218 + ], + [ + 1, + 295 + ], + [ + 1, + 372 + ], + [ + 1, + 72 + ], + [ + 1, + 149 + ], + [ + 1, + 226 + ], + [ + 1, + 303 + ], + [ + 1, + 380 + ], + [ + 2, + 63 + ], + [ + 2, + 140 + ], + [ + 2, + 217 + ], + [ + 2, + 294 + ], + [ + 2, + 371 + ], + [ + 2, + 71 + ], + [ + 2, + 148 + ], + [ + 2, + 225 + ], + [ + 2, + 302 + ], + [ + 2, + 379 + ], + [ + 3, + 62 + ], + [ + 3, + 139 + ], + [ + 3, + 216 + ], + [ + 3, + 293 + ], + [ + 3, + 370 + ], + [ + 3, + 70 + ], + [ + 3, + 147 + ], + [ + 3, + 224 + ], + [ + 3, + 301 + ], + [ + 3, + 378 + ], + [ + 4, + 61 + ], + [ + 4, + 138 + ], + [ + 4, + 215 + ], + [ + 4, + 292 + ], + [ + 4, + 369 + ], + [ + 4, + 69 + ], + [ + 4, + 146 + ], + [ + 4, + 223 + ], + [ + 4, + 300 + ], + [ + 4, + 377 + ], + [ + 0, + 66 + ], + [ + 0, + 143 + ], + [ + 0, + 220 + ], + [ + 0, + 297 + ], + [ + 0, + 374 + ], + [ + 0, + 74 + ], + [ + 0, + 151 + ], + [ + 0, + 228 + ], + [ + 0, + 305 + ], + [ + 0, + 382 + ], + [ + 1, + 65 + ], + [ + 1, + 142 + ], + [ + 1, + 219 + ], + [ + 1, + 296 + ], + [ + 1, + 373 + ], + [ + 1, + 73 + ], + [ + 1, + 150 + ], + [ + 1, + 227 + ], + [ + 1, + 304 + ], + [ + 1, + 381 + ], + [ + 2, + 64 + ], + [ + 2, + 141 + ], + [ + 2, + 218 + ], + [ + 2, + 295 + ], + [ + 2, + 372 + ], + [ + 2, + 72 + ], + [ + 2, + 149 + ], + [ + 2, + 226 + ], + [ + 2, + 303 + ], + [ + 2, + 380 + ], + [ + 3, + 63 + ], + [ + 3, + 140 + ], + [ + 3, + 217 + ], + [ + 3, + 294 + ], + [ + 3, + 371 + ], + [ + 3, + 71 + ], + [ + 3, + 148 + ], + [ + 3, + 225 + ], + [ + 3, + 302 + ], + [ + 3, + 379 + ], + [ + 4, + 62 + ], + [ + 4, + 139 + ], + [ + 4, + 216 + ], + [ + 4, + 293 + ], + [ + 4, + 370 + ], + [ + 4, + 70 + ], + [ + 4, + 147 + ], + [ + 4, + 224 + ], + [ + 4, + 301 + ], + [ + 4, + 378 + ], + [ + 5, + 61 + ], + [ + 5, + 138 + ], + [ + 5, + 215 + ], + [ + 5, + 292 + ], + [ + 5, + 369 + ], + [ + 5, + 69 + ], + [ + 5, + 146 + ], + [ + 5, + 223 + ], + [ + 5, + 300 + ], + [ + 5, + 377 + ], + [ + 0, + 67 + ], + [ + 0, + 144 + ], + [ + 0, + 221 + ], + [ + 0, + 298 + ], + [ + 0, + 375 + ], + [ + 0, + 75 + ], + [ + 0, + 152 + ], + [ + 0, + 229 + ], + [ + 0, + 306 + ], + [ + 0, + 383 + ], + [ + 1, + 66 + ], + [ + 1, + 143 + ], + [ + 1, + 220 + ], + [ + 1, + 297 + ], + [ + 1, + 374 + ], + [ + 1, + 74 + ], + [ + 1, + 151 + ], + [ + 1, + 228 + ], + [ + 1, + 305 + ], + [ + 1, + 382 + ], + [ + 2, + 65 + ], + [ + 2, + 142 + ], + [ + 2, + 219 + ], + [ + 2, + 296 + ], + [ + 2, + 373 + ], + [ + 2, + 73 + ], + [ + 2, + 150 + ], + [ + 2, + 227 + ], + [ + 2, + 304 + ], + [ + 2, + 381 + ], + [ + 3, + 64 + ], + [ + 3, + 141 + ], + [ + 3, + 218 + ], + [ + 3, + 295 + ], + [ + 3, + 372 + ], + [ + 3, + 72 + ], + [ + 3, + 149 + ], + [ + 3, + 226 + ], + [ + 3, + 303 + ], + [ + 3, + 380 + ], + [ + 4, + 63 + ], + [ + 4, + 140 + ], + [ + 4, + 217 + ], + [ + 4, + 294 + ], + [ + 4, + 371 + ], + [ + 4, + 71 + ], + [ + 4, + 148 + ], + [ + 4, + 225 + ], + [ + 4, + 302 + ], + [ + 4, + 379 + ], + [ + 5, + 62 + ], + [ + 5, + 139 + ], + [ + 5, + 216 + ], + [ + 5, + 293 + ], + [ + 5, + 370 + ], + [ + 5, + 70 + ], + [ + 5, + 147 + ], + [ + 5, + 224 + ], + [ + 5, + 301 + ], + [ + 5, + 378 + ], + [ + 0, + 68 + ], + [ + 0, + 145 + ], + [ + 0, + 222 + ], + [ + 0, + 299 + ], + [ + 0, + 376 + ], + [ + 0, + 76 + ], + [ + 0, + 153 + ], + [ + 0, + 230 + ], + [ + 0, + 307 + ], + [ + 0, + 384 + ], + [ + 6, + 61 + ], + [ + 6, + 138 + ], + [ + 6, + 215 + ], + [ + 6, + 292 + ], + [ + 6, + 369 + ], + [ + 6, + 69 + ], + [ + 6, + 146 + ], + [ + 6, + 223 + ], + [ + 6, + 300 + ], + [ + 6, + 377 + ], + [ + 1, + 67 + ], + [ + 1, + 144 + ], + [ + 1, + 221 + ], + [ + 1, + 298 + ], + [ + 1, + 375 + ], + [ + 1, + 75 + ], + [ + 1, + 152 + ], + [ + 1, + 229 + ], + [ + 1, + 306 + ], + [ + 1, + 383 + ], + [ + 2, + 66 + ], + [ + 2, + 143 + ], + [ + 2, + 220 + ], + [ + 2, + 297 + ], + [ + 2, + 374 + ], + [ + 2, + 74 + ], + [ + 2, + 151 + ], + [ + 2, + 228 + ], + [ + 2, + 305 + ], + [ + 2, + 382 + ], + [ + 3, + 65 + ], + [ + 3, + 142 + ], + [ + 3, + 219 + ], + [ + 3, + 296 + ], + [ + 3, + 373 + ], + [ + 3, + 73 + ], + [ + 3, + 150 + ], + [ + 3, + 227 + ], + [ + 3, + 304 + ], + [ + 3, + 381 + ], + [ + 4, + 64 + ], + [ + 4, + 141 + ], + [ + 4, + 218 + ], + [ + 4, + 295 + ], + [ + 4, + 372 + ], + [ + 4, + 72 + ], + [ + 4, + 149 + ], + [ + 4, + 226 + ], + [ + 4, + 303 + ], + [ + 4, + 380 + ], + [ + 5, + 63 + ], + [ + 5, + 140 + ], + [ + 5, + 217 + ], + [ + 5, + 294 + ], + [ + 5, + 371 + ], + [ + 5, + 71 + ], + [ + 5, + 148 + ], + [ + 5, + 225 + ], + [ + 5, + 302 + ], + [ + 5, + 379 + ], + [ + 6, + 62 + ], + [ + 6, + 139 + ], + [ + 6, + 216 + ], + [ + 6, + 293 + ], + [ + 6, + 370 + ], + [ + 6, + 70 + ], + [ + 6, + 147 + ], + [ + 6, + 224 + ], + [ + 6, + 301 + ], + [ + 6, + 378 + ], + [ + 1, + 68 + ], + [ + 1, + 145 + ], + [ + 1, + 222 + ], + [ + 1, + 299 + ], + [ + 1, + 376 + ], + [ + 1, + 76 + ], + [ + 1, + 153 + ], + [ + 1, + 230 + ], + [ + 1, + 307 + ], + [ + 1, + 384 + ], + [ + 7, + 61 + ], + [ + 7, + 138 + ], + [ + 7, + 215 + ], + [ + 7, + 292 + ], + [ + 7, + 369 + ], + [ + 7, + 69 + ], + [ + 7, + 146 + ], + [ + 7, + 223 + ], + [ + 7, + 300 + ], + [ + 7, + 377 + ], + [ + 2, + 67 + ], + [ + 2, + 144 + ], + [ + 2, + 221 + ], + [ + 2, + 298 + ], + [ + 2, + 375 + ], + [ + 2, + 75 + ], + [ + 2, + 152 + ], + [ + 2, + 229 + ], + [ + 2, + 306 + ], + [ + 2, + 383 + ], + [ + 3, + 66 + ], + [ + 3, + 143 + ], + [ + 3, + 220 + ], + [ + 3, + 297 + ], + [ + 3, + 374 + ], + [ + 3, + 74 + ], + [ + 3, + 151 + ], + [ + 3, + 228 + ], + [ + 3, + 305 + ], + [ + 3, + 382 + ], + [ + 4, + 65 + ], + [ + 4, + 142 + ], + [ + 4, + 219 + ], + [ + 4, + 296 + ], + [ + 4, + 373 + ], + [ + 4, + 73 + ], + [ + 4, + 150 + ], + [ + 4, + 227 + ], + [ + 4, + 304 + ], + [ + 4, + 381 + ], + [ + 5, + 64 + ], + [ + 5, + 141 + ], + [ + 5, + 218 + ], + [ + 5, + 295 + ], + [ + 5, + 372 + ], + [ + 5, + 72 + ], + [ + 5, + 149 + ], + [ + 5, + 226 + ], + [ + 5, + 303 + ], + [ + 5, + 380 + ], + [ + 6, + 63 + ], + [ + 6, + 140 + ], + [ + 6, + 217 + ], + [ + 6, + 294 + ], + [ + 6, + 371 + ], + [ + 6, + 71 + ], + [ + 6, + 148 + ], + [ + 6, + 225 + ], + [ + 6, + 302 + ], + [ + 6, + 379 + ], + [ + 7, + 62 + ], + [ + 7, + 139 + ], + [ + 7, + 216 + ], + [ + 7, + 293 + ], + [ + 7, + 370 + ], + [ + 7, + 70 + ], + [ + 7, + 147 + ], + [ + 7, + 224 + ], + [ + 7, + 301 + ], + [ + 7, + 378 + ], + [ + 2, + 68 + ], + [ + 2, + 145 + ], + [ + 2, + 222 + ], + [ + 2, + 299 + ], + [ + 2, + 376 + ], + [ + 2, + 76 + ], + [ + 2, + 153 + ], + [ + 2, + 230 + ], + [ + 2, + 307 + ], + [ + 2, + 384 + ], + [ + 8, + 61 + ], + [ + 8, + 138 + ], + [ + 8, + 215 + ], + [ + 8, + 292 + ], + [ + 8, + 369 + ], + [ + 8, + 69 + ], + [ + 8, + 146 + ], + [ + 8, + 223 + ], + [ + 8, + 300 + ], + [ + 8, + 377 + ], + [ + 3, + 67 + ], + [ + 3, + 144 + ], + [ + 3, + 221 + ], + [ + 3, + 298 + ], + [ + 3, + 375 + ], + [ + 3, + 75 + ], + [ + 3, + 152 + ], + [ + 3, + 229 + ], + [ + 3, + 306 + ], + [ + 3, + 383 + ], + [ + 4, + 66 + ], + [ + 4, + 143 + ], + [ + 4, + 220 + ], + [ + 4, + 297 + ], + [ + 4, + 374 + ], + [ + 4, + 74 + ], + [ + 4, + 151 + ], + [ + 4, + 228 + ], + [ + 4, + 305 + ], + [ + 4, + 382 + ], + [ + 5, + 65 + ], + [ + 5, + 142 + ], + [ + 5, + 219 + ], + [ + 5, + 296 + ], + [ + 5, + 373 + ], + [ + 5, + 73 + ], + [ + 5, + 150 + ], + [ + 5, + 227 + ], + [ + 5, + 304 + ], + [ + 5, + 381 + ], + [ + 6, + 64 + ], + [ + 6, + 141 + ], + [ + 6, + 218 + ], + [ + 6, + 295 + ], + [ + 6, + 372 + ], + [ + 6, + 72 + ], + [ + 6, + 149 + ], + [ + 6, + 226 + ], + [ + 6, + 303 + ], + [ + 6, + 380 + ], + [ + 7, + 63 + ], + [ + 7, + 140 + ], + [ + 7, + 217 + ], + [ + 7, + 294 + ], + [ + 7, + 371 + ], + [ + 7, + 71 + ], + [ + 7, + 148 + ], + [ + 7, + 225 + ], + [ + 7, + 302 + ], + [ + 7, + 379 + ], + [ + 8, + 62 + ], + [ + 8, + 139 + ], + [ + 8, + 216 + ], + [ + 8, + 293 + ], + [ + 8, + 370 + ], + [ + 8, + 70 + ], + [ + 8, + 147 + ], + [ + 8, + 224 + ], + [ + 8, + 301 + ], + [ + 8, + 378 + ], + [ + 3, + 68 + ], + [ + 3, + 145 + ], + [ + 3, + 222 + ], + [ + 3, + 299 + ], + [ + 3, + 376 + ], + [ + 3, + 76 + ], + [ + 3, + 153 + ], + [ + 3, + 230 + ], + [ + 3, + 307 + ], + [ + 3, + 384 + ], + [ + 4, + 67 + ], + [ + 4, + 144 + ], + [ + 4, + 221 + ], + [ + 4, + 298 + ], + [ + 4, + 375 + ], + [ + 4, + 75 + ], + [ + 4, + 152 + ], + [ + 4, + 229 + ], + [ + 4, + 306 + ], + [ + 4, + 383 + ], + [ + 5, + 66 + ], + [ + 5, + 143 + ], + [ + 5, + 220 + ], + [ + 5, + 297 + ], + [ + 5, + 374 + ], + [ + 5, + 74 + ], + [ + 5, + 151 + ], + [ + 5, + 228 + ], + [ + 5, + 305 + ], + [ + 5, + 382 + ], + [ + 6, + 65 + ], + [ + 6, + 142 + ], + [ + 6, + 219 + ], + [ + 6, + 296 + ], + [ + 6, + 373 + ], + [ + 6, + 73 + ], + [ + 6, + 150 + ], + [ + 6, + 227 + ], + [ + 6, + 304 + ], + [ + 6, + 381 + ], + [ + 7, + 64 + ], + [ + 7, + 141 + ], + [ + 7, + 218 + ], + [ + 7, + 295 + ], + [ + 7, + 372 + ], + [ + 7, + 72 + ], + [ + 7, + 149 + ], + [ + 7, + 226 + ], + [ + 7, + 303 + ], + [ + 7, + 380 + ], + [ + 8, + 63 + ], + [ + 8, + 140 + ], + [ + 8, + 217 + ], + [ + 8, + 294 + ], + [ + 8, + 371 + ], + [ + 8, + 71 + ], + [ + 8, + 148 + ], + [ + 8, + 225 + ], + [ + 8, + 302 + ], + [ + 8, + 379 + ], + [ + 4, + 68 + ], + [ + 4, + 145 + ], + [ + 4, + 222 + ], + [ + 4, + 299 + ], + [ + 4, + 376 + ], + [ + 4, + 76 + ], + [ + 4, + 153 + ], + [ + 4, + 230 + ], + [ + 4, + 307 + ], + [ + 4, + 384 + ], + [ + 5, + 67 + ], + [ + 5, + 144 + ], + [ + 5, + 221 + ], + [ + 5, + 298 + ], + [ + 5, + 375 + ], + [ + 5, + 75 + ], + [ + 5, + 152 + ], + [ + 5, + 229 + ], + [ + 5, + 306 + ], + [ + 5, + 383 + ], + [ + 6, + 66 + ], + [ + 6, + 143 + ], + [ + 6, + 220 + ], + [ + 6, + 297 + ], + [ + 6, + 374 + ], + [ + 6, + 74 + ], + [ + 6, + 151 + ], + [ + 6, + 228 + ], + [ + 6, + 305 + ], + [ + 6, + 382 + ], + [ + 7, + 65 + ], + [ + 7, + 142 + ], + [ + 7, + 219 + ], + [ + 7, + 296 + ], + [ + 7, + 373 + ], + [ + 7, + 73 + ], + [ + 7, + 150 + ], + [ + 7, + 227 + ], + [ + 7, + 304 + ], + [ + 7, + 381 + ], + [ + 8, + 64 + ], + [ + 8, + 141 + ], + [ + 8, + 218 + ], + [ + 8, + 295 + ], + [ + 8, + 372 + ], + [ + 8, + 72 + ], + [ + 8, + 149 + ], + [ + 8, + 226 + ], + [ + 8, + 303 + ], + [ + 8, + 380 + ], + [ + 5, + 68 + ], + [ + 5, + 145 + ], + [ + 5, + 222 + ], + [ + 5, + 299 + ], + [ + 5, + 376 + ], + [ + 5, + 76 + ], + [ + 5, + 153 + ], + [ + 5, + 230 + ], + [ + 5, + 307 + ], + [ + 5, + 384 + ], + [ + 6, + 67 + ], + [ + 6, + 144 + ], + [ + 6, + 221 + ], + [ + 6, + 298 + ], + [ + 6, + 375 + ], + [ + 6, + 75 + ], + [ + 6, + 152 + ], + [ + 6, + 229 + ], + [ + 6, + 306 + ], + [ + 6, + 383 + ], + [ + 7, + 66 + ], + [ + 7, + 143 + ], + [ + 7, + 220 + ], + [ + 7, + 297 + ], + [ + 7, + 374 + ], + [ + 7, + 74 + ], + [ + 7, + 151 + ], + [ + 7, + 228 + ], + [ + 7, + 305 + ], + [ + 7, + 382 + ], + [ + 8, + 65 + ], + [ + 8, + 142 + ], + [ + 8, + 219 + ], + [ + 8, + 296 + ], + [ + 8, + 373 + ], + [ + 8, + 73 + ], + [ + 8, + 150 + ], + [ + 8, + 227 + ], + [ + 8, + 304 + ], + [ + 8, + 381 + ], + [ + 6, + 68 + ], + [ + 6, + 145 + ], + [ + 6, + 222 + ], + [ + 6, + 299 + ], + [ + 6, + 376 + ], + [ + 6, + 76 + ], + [ + 6, + 153 + ], + [ + 6, + 230 + ], + [ + 6, + 307 + ], + [ + 6, + 384 + ], + [ + 7, + 67 + ], + [ + 7, + 144 + ], + [ + 7, + 221 + ], + [ + 7, + 298 + ], + [ + 7, + 375 + ], + [ + 7, + 75 + ], + [ + 7, + 152 + ], + [ + 7, + 229 + ], + [ + 7, + 306 + ], + [ + 7, + 383 + ], + [ + 8, + 66 + ], + [ + 8, + 143 + ], + [ + 8, + 220 + ], + [ + 8, + 297 + ], + [ + 8, + 374 + ], + [ + 8, + 74 + ], + [ + 8, + 151 + ], + [ + 8, + 228 + ], + [ + 8, + 305 + ], + [ + 8, + 382 + ], + [ + 7, + 68 + ], + [ + 7, + 145 + ], + [ + 7, + 222 + ], + [ + 7, + 299 + ], + [ + 7, + 376 + ], + [ + 7, + 76 + ], + [ + 7, + 153 + ], + [ + 7, + 230 + ], + [ + 7, + 307 + ], + [ + 7, + 384 + ], + [ + 8, + 67 + ], + [ + 8, + 144 + ], + [ + 8, + 221 + ], + [ + 8, + 298 + ], + [ + 8, + 375 + ], + [ + 8, + 75 + ], + [ + 8, + 152 + ], + [ + 8, + 229 + ], + [ + 8, + 306 + ], + [ + 8, + 383 + ], + [ + 8, + 68 + ], + [ + 8, + 145 + ], + [ + 8, + 222 + ], + [ + 8, + 299 + ], + [ + 8, + 376 + ], + [ + 8, + 76 + ], + [ + 8, + 153 + ], + [ + 8, + 230 + ], + [ + 8, + 307 + ], + [ + 8, + 384 + ] + ], + "data": { + "owners_sha256": "fb79eff1fba9b27e020dc757ca881e37f34703497b23d31da1f3af489784e2a8", + "plan_sha256": "2a8b0ce03789fb951d0d8fc49ec0c697a30554793c58868c0abb81cbdeca461d" + }, + "dispatch": [ + [ + 0, + 0, + "extra" + ], + [ + 0, + 77, + "extra" + ], + [ + 0, + 154, + "extra" + ], + [ + 0, + 231, + "extra" + ], + [ + 0, + 308, + "extra" + ], + [ + 0, + 1, + "extra" + ], + [ + 0, + 78, + "extra" + ], + [ + 0, + 155, + "extra" + ], + [ + 0, + 232, + "extra" + ], + [ + 0, + 309, + "extra" + ], + [ + 0, + 2, + "extra" + ], + [ + 0, + 79, + "extra" + ], + [ + 0, + 156, + "extra" + ], + [ + 0, + 233, + "extra" + ], + [ + 0, + 310, + "extra" + ], + [ + 0, + 3, + "extra" + ], + [ + 0, + 80, + "extra" + ], + [ + 0, + 157, + "extra" + ], + [ + 0, + 234, + "extra" + ], + [ + 0, + 311, + "extra" + ], + [ + 0, + 4, + "extra" + ], + [ + 0, + 81, + "extra" + ], + [ + 0, + 158, + "extra" + ], + [ + 0, + 235, + "extra" + ], + [ + 0, + 312, + "extra" + ], + [ + 1, + 0, + "extra" + ], + [ + 1, + 77, + "extra" + ], + [ + 1, + 154, + "extra" + ], + [ + 1, + 231, + "extra" + ], + [ + 1, + 308, + "extra" + ], + [ + 0, + 5, + "extra" + ], + [ + 0, + 82, + "extra" + ], + [ + 0, + 159, + "extra" + ], + [ + 0, + 236, + "extra" + ], + [ + 0, + 313, + "extra" + ], + [ + 1, + 1, + "extra" + ], + [ + 1, + 78, + "extra" + ], + [ + 1, + 155, + "extra" + ], + [ + 1, + 232, + "extra" + ], + [ + 1, + 309, + "extra" + ], + [ + 0, + 6, + "extra" + ], + [ + 0, + 83, + "extra" + ], + [ + 0, + 160, + "extra" + ], + [ + 0, + 237, + "extra" + ], + [ + 0, + 314, + "extra" + ], + [ + 1, + 2, + "extra" + ], + [ + 1, + 79, + "extra" + ], + [ + 1, + 156, + "extra" + ], + [ + 1, + 233, + "extra" + ], + [ + 1, + 310, + "extra" + ], + [ + 0, + 7, + "extra" + ], + [ + 0, + 84, + "extra" + ], + [ + 0, + 161, + "extra" + ], + [ + 0, + 238, + "extra" + ], + [ + 0, + 315, + "extra" + ], + [ + 1, + 3, + "extra" + ], + [ + 1, + 80, + "extra" + ], + [ + 1, + 157, + "extra" + ], + [ + 1, + 234, + "extra" + ], + [ + 1, + 311, + "extra" + ], + [ + 0, + 8, + "extra" + ], + [ + 0, + 85, + "extra" + ], + [ + 0, + 162, + "extra" + ], + [ + 0, + 239, + "extra" + ], + [ + 0, + 316, + "extra" + ], + [ + 1, + 4, + "extra" + ], + [ + 1, + 81, + "extra" + ], + [ + 1, + 158, + "extra" + ], + [ + 1, + 235, + "extra" + ], + [ + 1, + 312, + "extra" + ], + [ + 0, + 9, + "extra" + ], + [ + 0, + 86, + "extra" + ], + [ + 0, + 163, + "extra" + ], + [ + 0, + 240, + "extra" + ], + [ + 0, + 317, + "extra" + ], + [ + 2, + 0, + "extra" + ], + [ + 2, + 77, + "extra" + ], + [ + 2, + 154, + "extra" + ], + [ + 2, + 231, + "extra" + ], + [ + 2, + 308, + "extra" + ], + [ + 1, + 5, + "extra" + ], + [ + 1, + 82, + "extra" + ], + [ + 1, + 159, + "extra" + ], + [ + 1, + 236, + "extra" + ], + [ + 1, + 313, + "extra" + ], + [ + 0, + 10, + "extra" + ], + [ + 0, + 87, + "extra" + ], + [ + 0, + 164, + "extra" + ], + [ + 0, + 241, + "extra" + ], + [ + 0, + 318, + "extra" + ], + [ + 2, + 1, + "extra" + ], + [ + 2, + 78, + "extra" + ], + [ + 2, + 155, + "extra" + ], + [ + 2, + 232, + "extra" + ], + [ + 2, + 309, + "extra" + ], + [ + 1, + 6, + "extra" + ], + [ + 1, + 83, + "extra" + ], + [ + 1, + 160, + "extra" + ], + [ + 1, + 237, + "extra" + ], + [ + 1, + 314, + "extra" + ], + [ + 0, + 11, + "extra" + ], + [ + 0, + 88, + "extra" + ], + [ + 0, + 165, + "extra" + ], + [ + 0, + 242, + "extra" + ], + [ + 0, + 319, + "extra" + ], + [ + 2, + 2, + "extra" + ], + [ + 2, + 79, + "extra" + ], + [ + 2, + 156, + "extra" + ], + [ + 2, + 233, + "extra" + ], + [ + 2, + 310, + "extra" + ], + [ + 1, + 7, + "extra" + ], + [ + 1, + 84, + "extra" + ], + [ + 1, + 161, + "extra" + ], + [ + 1, + 238, + "extra" + ], + [ + 1, + 315, + "extra" + ], + [ + 0, + 12, + "extra" + ], + [ + 0, + 89, + "extra" + ], + [ + 0, + 166, + "extra" + ], + [ + 0, + 243, + "extra" + ], + [ + 0, + 320, + "extra" + ], + [ + 2, + 3, + "extra" + ], + [ + 2, + 80, + "extra" + ], + [ + 2, + 157, + "extra" + ], + [ + 2, + 234, + "extra" + ], + [ + 2, + 311, + "extra" + ], + [ + 1, + 8, + "extra" + ], + [ + 1, + 85, + "extra" + ], + [ + 1, + 162, + "extra" + ], + [ + 1, + 239, + "extra" + ], + [ + 1, + 316, + "extra" + ], + [ + 0, + 13, + "extra" + ], + [ + 0, + 90, + "extra" + ], + [ + 0, + 167, + "extra" + ], + [ + 0, + 244, + "extra" + ], + [ + 0, + 321, + "extra" + ], + [ + 2, + 4, + "extra" + ], + [ + 2, + 81, + "extra" + ], + [ + 2, + 158, + "extra" + ], + [ + 2, + 235, + "extra" + ], + [ + 2, + 312, + "extra" + ], + [ + 1, + 9, + "extra" + ], + [ + 1, + 86, + "extra" + ], + [ + 1, + 163, + "extra" + ], + [ + 1, + 240, + "extra" + ], + [ + 1, + 317, + "extra" + ], + [ + 3, + 0, + "extra" + ], + [ + 3, + 77, + "extra" + ], + [ + 3, + 154, + "extra" + ], + [ + 3, + 231, + "extra" + ], + [ + 3, + 308, + "extra" + ], + [ + 0, + 14, + "extra" + ], + [ + 0, + 91, + "extra" + ], + [ + 0, + 168, + "extra" + ], + [ + 0, + 245, + "extra" + ], + [ + 0, + 322, + "extra" + ], + [ + 2, + 5, + "extra" + ], + [ + 2, + 82, + "extra" + ], + [ + 2, + 159, + "extra" + ], + [ + 2, + 236, + "extra" + ], + [ + 2, + 313, + "extra" + ], + [ + 1, + 10, + "extra" + ], + [ + 1, + 87, + "extra" + ], + [ + 1, + 164, + "extra" + ], + [ + 1, + 241, + "extra" + ], + [ + 1, + 318, + "extra" + ], + [ + 3, + 1, + "extra" + ], + [ + 3, + 78, + "extra" + ], + [ + 3, + 155, + "extra" + ], + [ + 3, + 232, + "extra" + ], + [ + 3, + 309, + "extra" + ], + [ + 0, + 15, + "extra" + ], + [ + 0, + 92, + "extra" + ], + [ + 0, + 169, + "extra" + ], + [ + 0, + 246, + "extra" + ], + [ + 0, + 323, + "extra" + ], + [ + 2, + 6, + "extra" + ], + [ + 2, + 83, + "extra" + ], + [ + 2, + 160, + "extra" + ], + [ + 2, + 237, + "extra" + ], + [ + 2, + 314, + "extra" + ], + [ + 1, + 11, + "extra" + ], + [ + 1, + 88, + "extra" + ], + [ + 1, + 165, + "extra" + ], + [ + 1, + 242, + "extra" + ], + [ + 1, + 319, + "extra" + ], + [ + 3, + 2, + "extra" + ], + [ + 3, + 79, + "extra" + ], + [ + 3, + 156, + "extra" + ], + [ + 3, + 233, + "extra" + ], + [ + 3, + 310, + "extra" + ], + [ + 0, + 16, + "extra" + ], + [ + 0, + 93, + "extra" + ], + [ + 0, + 170, + "extra" + ], + [ + 0, + 247, + "extra" + ], + [ + 0, + 324, + "extra" + ], + [ + 2, + 7, + "extra" + ], + [ + 2, + 84, + "extra" + ], + [ + 2, + 161, + "extra" + ], + [ + 2, + 238, + "extra" + ], + [ + 2, + 315, + "extra" + ], + [ + 1, + 12, + "extra" + ], + [ + 1, + 89, + "extra" + ], + [ + 1, + 166, + "extra" + ], + [ + 1, + 243, + "extra" + ], + [ + 1, + 320, + "extra" + ], + [ + 3, + 3, + "extra" + ], + [ + 3, + 80, + "extra" + ], + [ + 3, + 157, + "extra" + ], + [ + 3, + 234, + "extra" + ], + [ + 3, + 311, + "extra" + ], + [ + 0, + 17, + "extra" + ], + [ + 0, + 94, + "extra" + ], + [ + 0, + 171, + "extra" + ], + [ + 0, + 248, + "extra" + ], + [ + 0, + 325, + "extra" + ], + [ + 2, + 8, + "extra" + ], + [ + 2, + 85, + "extra" + ], + [ + 2, + 162, + "extra" + ], + [ + 2, + 239, + "extra" + ], + [ + 2, + 316, + "extra" + ], + [ + 1, + 13, + "extra" + ], + [ + 1, + 90, + "extra" + ], + [ + 1, + 167, + "extra" + ], + [ + 1, + 244, + "extra" + ], + [ + 1, + 321, + "extra" + ], + [ + 3, + 4, + "extra" + ], + [ + 3, + 81, + "extra" + ], + [ + 3, + 158, + "extra" + ], + [ + 3, + 235, + "extra" + ], + [ + 3, + 312, + "extra" + ], + [ + 0, + 18, + "extra" + ], + [ + 0, + 95, + "extra" + ], + [ + 0, + 172, + "extra" + ], + [ + 0, + 249, + "extra" + ], + [ + 0, + 326, + "extra" + ], + [ + 2, + 9, + "extra" + ], + [ + 2, + 86, + "extra" + ], + [ + 2, + 163, + "extra" + ], + [ + 2, + 240, + "extra" + ], + [ + 2, + 317, + "extra" + ], + [ + 4, + 0, + "extra" + ], + [ + 4, + 77, + "extra" + ], + [ + 4, + 154, + "extra" + ], + [ + 4, + 231, + "extra" + ], + [ + 4, + 308, + "extra" + ], + [ + 1, + 14, + "extra" + ], + [ + 1, + 91, + "extra" + ], + [ + 1, + 168, + "extra" + ], + [ + 1, + 245, + "extra" + ], + [ + 1, + 322, + "extra" + ], + [ + 3, + 5, + "extra" + ], + [ + 3, + 82, + "extra" + ], + [ + 3, + 159, + "extra" + ], + [ + 3, + 236, + "extra" + ], + [ + 3, + 313, + "extra" + ], + [ + 0, + 19, + "extra" + ], + [ + 0, + 96, + "extra" + ], + [ + 0, + 173, + "extra" + ], + [ + 0, + 250, + "extra" + ], + [ + 0, + 327, + "extra" + ], + [ + 2, + 10, + "extra" + ], + [ + 2, + 87, + "extra" + ], + [ + 2, + 164, + "extra" + ], + [ + 2, + 241, + "extra" + ], + [ + 2, + 318, + "extra" + ], + [ + 4, + 1, + "extra" + ], + [ + 4, + 78, + "extra" + ], + [ + 4, + 155, + "extra" + ], + [ + 4, + 232, + "extra" + ], + [ + 4, + 309, + "extra" + ], + [ + 1, + 15, + "extra" + ], + [ + 1, + 92, + "extra" + ], + [ + 1, + 169, + "extra" + ], + [ + 1, + 246, + "extra" + ], + [ + 1, + 323, + "extra" + ], + [ + 3, + 6, + "extra" + ], + [ + 3, + 83, + "extra" + ], + [ + 3, + 160, + "extra" + ], + [ + 3, + 237, + "extra" + ], + [ + 3, + 314, + "extra" + ], + [ + 0, + 20, + "extra" + ], + [ + 0, + 97, + "extra" + ], + [ + 0, + 174, + "extra" + ], + [ + 0, + 251, + "extra" + ], + [ + 0, + 328, + "extra" + ], + [ + 2, + 11, + "extra" + ], + [ + 2, + 88, + "extra" + ], + [ + 2, + 165, + "extra" + ], + [ + 2, + 242, + "extra" + ], + [ + 2, + 319, + "extra" + ], + [ + 4, + 2, + "extra" + ], + [ + 4, + 79, + "extra" + ], + [ + 4, + 156, + "extra" + ], + [ + 4, + 233, + "extra" + ], + [ + 4, + 310, + "extra" + ], + [ + 1, + 16, + "extra" + ], + [ + 1, + 93, + "extra" + ], + [ + 1, + 170, + "extra" + ], + [ + 1, + 247, + "extra" + ], + [ + 1, + 324, + "extra" + ], + [ + 3, + 7, + "extra" + ], + [ + 3, + 84, + "extra" + ], + [ + 3, + 161, + "extra" + ], + [ + 3, + 238, + "extra" + ], + [ + 3, + 315, + "extra" + ], + [ + 0, + 21, + "extra" + ], + [ + 0, + 98, + "extra" + ], + [ + 0, + 175, + "extra" + ], + [ + 0, + 252, + "extra" + ], + [ + 0, + 329, + "extra" + ], + [ + 2, + 12, + "extra" + ], + [ + 2, + 89, + "extra" + ], + [ + 2, + 166, + "extra" + ], + [ + 2, + 243, + "extra" + ], + [ + 2, + 320, + "extra" + ], + [ + 4, + 3, + "extra" + ], + [ + 4, + 80, + "extra" + ], + [ + 4, + 157, + "extra" + ], + [ + 4, + 234, + "extra" + ], + [ + 4, + 311, + "extra" + ], + [ + 1, + 17, + "extra" + ], + [ + 1, + 94, + "extra" + ], + [ + 1, + 171, + "extra" + ], + [ + 1, + 248, + "extra" + ], + [ + 1, + 325, + "extra" + ], + [ + 3, + 8, + "extra" + ], + [ + 3, + 85, + "extra" + ], + [ + 3, + 162, + "extra" + ], + [ + 3, + 239, + "extra" + ], + [ + 3, + 316, + "extra" + ], + [ + 0, + 22, + "extra" + ], + [ + 0, + 99, + "extra" + ], + [ + 0, + 176, + "extra" + ], + [ + 0, + 253, + "extra" + ], + [ + 0, + 330, + "extra" + ], + [ + 2, + 13, + "extra" + ], + [ + 2, + 90, + "extra" + ], + [ + 2, + 167, + "extra" + ], + [ + 2, + 244, + "extra" + ], + [ + 2, + 321, + "extra" + ], + [ + 4, + 4, + "extra" + ], + [ + 4, + 81, + "extra" + ], + [ + 4, + 158, + "extra" + ], + [ + 4, + 235, + "extra" + ], + [ + 4, + 312, + "extra" + ], + [ + 1, + 18, + "extra" + ], + [ + 1, + 95, + "extra" + ], + [ + 1, + 172, + "extra" + ], + [ + 1, + 249, + "extra" + ], + [ + 1, + 326, + "extra" + ], + [ + 3, + 9, + "extra" + ], + [ + 3, + 86, + "extra" + ], + [ + 3, + 163, + "extra" + ], + [ + 3, + 240, + "extra" + ], + [ + 3, + 317, + "extra" + ], + [ + 0, + 23, + "extra" + ], + [ + 0, + 100, + "extra" + ], + [ + 0, + 177, + "extra" + ], + [ + 0, + 254, + "extra" + ], + [ + 0, + 331, + "extra" + ], + [ + 5, + 0, + "extra" + ], + [ + 5, + 77, + "extra" + ], + [ + 5, + 154, + "extra" + ], + [ + 5, + 231, + "extra" + ], + [ + 5, + 308, + "extra" + ], + [ + 2, + 14, + "extra" + ], + [ + 2, + 91, + "extra" + ], + [ + 2, + 168, + "extra" + ], + [ + 2, + 245, + "extra" + ], + [ + 2, + 322, + "extra" + ], + [ + 4, + 5, + "extra" + ], + [ + 4, + 82, + "extra" + ], + [ + 4, + 159, + "extra" + ], + [ + 4, + 236, + "extra" + ], + [ + 4, + 313, + "extra" + ], + [ + 1, + 19, + "extra" + ], + [ + 1, + 96, + "extra" + ], + [ + 1, + 173, + "extra" + ], + [ + 1, + 250, + "extra" + ], + [ + 1, + 327, + "extra" + ], + [ + 3, + 10, + "extra" + ], + [ + 3, + 87, + "extra" + ], + [ + 3, + 164, + "extra" + ], + [ + 3, + 241, + "extra" + ], + [ + 3, + 318, + "extra" + ], + [ + 0, + 24, + "extra" + ], + [ + 0, + 101, + "extra" + ], + [ + 0, + 178, + "extra" + ], + [ + 0, + 255, + "extra" + ], + [ + 0, + 332, + "extra" + ], + [ + 5, + 1, + "extra" + ], + [ + 5, + 78, + "extra" + ], + [ + 5, + 155, + "extra" + ], + [ + 5, + 232, + "extra" + ], + [ + 5, + 309, + "extra" + ], + [ + 2, + 15, + "extra" + ], + [ + 2, + 92, + "extra" + ], + [ + 2, + 169, + "extra" + ], + [ + 2, + 246, + "extra" + ], + [ + 2, + 323, + "extra" + ], + [ + 4, + 6, + "extra" + ], + [ + 4, + 83, + "extra" + ], + [ + 4, + 160, + "extra" + ], + [ + 4, + 237, + "extra" + ], + [ + 4, + 314, + "extra" + ], + [ + 1, + 20, + "extra" + ], + [ + 1, + 97, + "extra" + ], + [ + 1, + 174, + "extra" + ], + [ + 1, + 251, + "extra" + ], + [ + 1, + 328, + "extra" + ], + [ + 3, + 11, + "extra" + ], + [ + 3, + 88, + "extra" + ], + [ + 3, + 165, + "extra" + ], + [ + 3, + 242, + "extra" + ], + [ + 3, + 319, + "extra" + ], + [ + 0, + 25, + "extra" + ], + [ + 0, + 102, + "extra" + ], + [ + 0, + 179, + "extra" + ], + [ + 0, + 256, + "extra" + ], + [ + 0, + 333, + "extra" + ], + [ + 5, + 2, + "extra" + ], + [ + 5, + 79, + "extra" + ], + [ + 5, + 156, + "extra" + ], + [ + 5, + 233, + "extra" + ], + [ + 5, + 310, + "extra" + ], + [ + 2, + 16, + "extra" + ], + [ + 2, + 93, + "extra" + ], + [ + 2, + 170, + "extra" + ], + [ + 2, + 247, + "extra" + ], + [ + 2, + 324, + "extra" + ], + [ + 4, + 7, + "extra" + ], + [ + 4, + 84, + "extra" + ], + [ + 4, + 161, + "extra" + ], + [ + 4, + 238, + "extra" + ], + [ + 4, + 315, + "extra" + ], + [ + 1, + 21, + "extra" + ], + [ + 1, + 98, + "extra" + ], + [ + 1, + 175, + "extra" + ], + [ + 1, + 252, + "extra" + ], + [ + 1, + 329, + "extra" + ], + [ + 3, + 12, + "extra" + ], + [ + 3, + 89, + "extra" + ], + [ + 3, + 166, + "extra" + ], + [ + 3, + 243, + "extra" + ], + [ + 3, + 320, + "extra" + ], + [ + 0, + 26, + "extra" + ], + [ + 0, + 103, + "extra" + ], + [ + 0, + 180, + "extra" + ], + [ + 0, + 257, + "extra" + ], + [ + 0, + 334, + "extra" + ], + [ + 5, + 3, + "extra" + ], + [ + 5, + 80, + "extra" + ], + [ + 5, + 157, + "extra" + ], + [ + 5, + 234, + "extra" + ], + [ + 5, + 311, + "extra" + ], + [ + 2, + 17, + "extra" + ], + [ + 2, + 94, + "extra" + ], + [ + 2, + 171, + "extra" + ], + [ + 2, + 248, + "extra" + ], + [ + 2, + 325, + "extra" + ], + [ + 4, + 8, + "extra" + ], + [ + 4, + 85, + "extra" + ], + [ + 4, + 162, + "extra" + ], + [ + 4, + 239, + "extra" + ], + [ + 4, + 316, + "extra" + ], + [ + 1, + 22, + "extra" + ], + [ + 1, + 99, + "extra" + ], + [ + 1, + 176, + "extra" + ], + [ + 1, + 253, + "extra" + ], + [ + 1, + 330, + "extra" + ], + [ + 3, + 13, + "extra" + ], + [ + 3, + 90, + "extra" + ], + [ + 3, + 167, + "extra" + ], + [ + 3, + 244, + "extra" + ], + [ + 3, + 321, + "extra" + ], + [ + 0, + 27, + "extra" + ], + [ + 0, + 104, + "extra" + ], + [ + 0, + 181, + "extra" + ], + [ + 0, + 258, + "extra" + ], + [ + 0, + 335, + "extra" + ], + [ + 5, + 4, + "extra" + ], + [ + 5, + 81, + "extra" + ], + [ + 5, + 158, + "extra" + ], + [ + 5, + 235, + "extra" + ], + [ + 5, + 312, + "extra" + ], + [ + 2, + 18, + "extra" + ], + [ + 2, + 95, + "extra" + ], + [ + 2, + 172, + "extra" + ], + [ + 2, + 249, + "extra" + ], + [ + 2, + 326, + "extra" + ], + [ + 4, + 9, + "extra" + ], + [ + 4, + 86, + "extra" + ], + [ + 4, + 163, + "extra" + ], + [ + 4, + 240, + "extra" + ], + [ + 4, + 317, + "extra" + ], + [ + 1, + 23, + "extra" + ], + [ + 1, + 100, + "extra" + ], + [ + 1, + 177, + "extra" + ], + [ + 1, + 254, + "extra" + ], + [ + 1, + 331, + "extra" + ], + [ + 6, + 0, + "extra" + ], + [ + 6, + 77, + "extra" + ], + [ + 6, + 154, + "extra" + ], + [ + 6, + 231, + "extra" + ], + [ + 6, + 308, + "extra" + ], + [ + 3, + 14, + "extra" + ], + [ + 3, + 91, + "extra" + ], + [ + 3, + 168, + "extra" + ], + [ + 3, + 245, + "extra" + ], + [ + 3, + 322, + "extra" + ], + [ + 0, + 28, + "extra" + ], + [ + 0, + 105, + "extra" + ], + [ + 0, + 182, + "extra" + ], + [ + 0, + 259, + "extra" + ], + [ + 0, + 336, + "extra" + ], + [ + 5, + 5, + "extra" + ], + [ + 5, + 82, + "extra" + ], + [ + 5, + 159, + "extra" + ], + [ + 5, + 236, + "extra" + ], + [ + 5, + 313, + "extra" + ], + [ + 2, + 19, + "extra" + ], + [ + 2, + 96, + "extra" + ], + [ + 2, + 173, + "extra" + ], + [ + 2, + 250, + "extra" + ], + [ + 2, + 327, + "extra" + ], + [ + 4, + 10, + "extra" + ], + [ + 4, + 87, + "extra" + ], + [ + 4, + 164, + "extra" + ], + [ + 4, + 241, + "extra" + ], + [ + 4, + 318, + "extra" + ], + [ + 1, + 24, + "extra" + ], + [ + 1, + 101, + "extra" + ], + [ + 1, + 178, + "extra" + ], + [ + 1, + 255, + "extra" + ], + [ + 1, + 332, + "extra" + ], + [ + 6, + 1, + "extra" + ], + [ + 6, + 78, + "extra" + ], + [ + 6, + 155, + "extra" + ], + [ + 6, + 232, + "extra" + ], + [ + 6, + 309, + "extra" + ], + [ + 3, + 15, + "extra" + ], + [ + 3, + 92, + "extra" + ], + [ + 3, + 169, + "extra" + ], + [ + 3, + 246, + "extra" + ], + [ + 3, + 323, + "extra" + ], + [ + 0, + 29, + "extra" + ], + [ + 0, + 106, + "extra" + ], + [ + 0, + 183, + "extra" + ], + [ + 0, + 260, + "extra" + ], + [ + 0, + 337, + "extra" + ], + [ + 5, + 6, + "extra" + ], + [ + 5, + 83, + "extra" + ], + [ + 5, + 160, + "extra" + ], + [ + 5, + 237, + "extra" + ], + [ + 5, + 314, + "extra" + ], + [ + 2, + 20, + "extra" + ], + [ + 2, + 97, + "extra" + ], + [ + 2, + 174, + "extra" + ], + [ + 2, + 251, + "extra" + ], + [ + 2, + 328, + "extra" + ], + [ + 4, + 11, + "extra" + ], + [ + 4, + 88, + "extra" + ], + [ + 4, + 165, + "extra" + ], + [ + 4, + 242, + "extra" + ], + [ + 4, + 319, + "extra" + ], + [ + 1, + 25, + "extra" + ], + [ + 1, + 102, + "extra" + ], + [ + 1, + 179, + "extra" + ], + [ + 1, + 256, + "extra" + ], + [ + 1, + 333, + "extra" + ], + [ + 6, + 2, + "extra" + ], + [ + 6, + 79, + "extra" + ], + [ + 6, + 156, + "extra" + ], + [ + 6, + 233, + "extra" + ], + [ + 6, + 310, + "extra" + ], + [ + 3, + 16, + "extra" + ], + [ + 3, + 93, + "extra" + ], + [ + 3, + 170, + "extra" + ], + [ + 3, + 247, + "extra" + ], + [ + 3, + 324, + "extra" + ], + [ + 0, + 30, + "extra" + ], + [ + 0, + 107, + "extra" + ], + [ + 0, + 184, + "extra" + ], + [ + 0, + 261, + "extra" + ], + [ + 0, + 338, + "extra" + ], + [ + 5, + 7, + "extra" + ], + [ + 5, + 84, + "extra" + ], + [ + 5, + 161, + "extra" + ], + [ + 5, + 238, + "extra" + ], + [ + 5, + 315, + "extra" + ], + [ + 2, + 21, + "extra" + ], + [ + 2, + 98, + "extra" + ], + [ + 2, + 175, + "extra" + ], + [ + 2, + 252, + "extra" + ], + [ + 2, + 329, + "extra" + ], + [ + 4, + 12, + "extra" + ], + [ + 4, + 89, + "extra" + ], + [ + 4, + 166, + "extra" + ], + [ + 4, + 243, + "extra" + ], + [ + 4, + 320, + "extra" + ], + [ + 1, + 26, + "extra" + ], + [ + 1, + 103, + "extra" + ], + [ + 1, + 180, + "extra" + ], + [ + 1, + 257, + "extra" + ], + [ + 1, + 334, + "extra" + ], + [ + 6, + 3, + "extra" + ], + [ + 6, + 80, + "extra" + ], + [ + 6, + 157, + "extra" + ], + [ + 6, + 234, + "extra" + ], + [ + 6, + 311, + "extra" + ], + [ + 3, + 17, + "extra" + ], + [ + 3, + 94, + "extra" + ], + [ + 3, + 171, + "extra" + ], + [ + 3, + 248, + "extra" + ], + [ + 3, + 325, + "extra" + ], + [ + 0, + 31, + "extra" + ], + [ + 0, + 108, + "extra" + ], + [ + 0, + 185, + "extra" + ], + [ + 0, + 262, + "extra" + ], + [ + 0, + 339, + "extra" + ], + [ + 5, + 8, + "extra" + ], + [ + 5, + 85, + "extra" + ], + [ + 5, + 162, + "extra" + ], + [ + 5, + 239, + "extra" + ], + [ + 5, + 316, + "extra" + ], + [ + 2, + 22, + "extra" + ], + [ + 2, + 99, + "extra" + ], + [ + 2, + 176, + "extra" + ], + [ + 2, + 253, + "extra" + ], + [ + 2, + 330, + "extra" + ], + [ + 4, + 13, + "extra" + ], + [ + 4, + 90, + "extra" + ], + [ + 4, + 167, + "extra" + ], + [ + 4, + 244, + "extra" + ], + [ + 4, + 321, + "extra" + ], + [ + 1, + 27, + "extra" + ], + [ + 1, + 104, + "extra" + ], + [ + 1, + 181, + "extra" + ], + [ + 1, + 258, + "extra" + ], + [ + 1, + 335, + "extra" + ], + [ + 6, + 4, + "extra" + ], + [ + 6, + 81, + "extra" + ], + [ + 6, + 158, + "extra" + ], + [ + 6, + 235, + "extra" + ], + [ + 6, + 312, + "extra" + ], + [ + 3, + 18, + "extra" + ], + [ + 3, + 95, + "extra" + ], + [ + 3, + 172, + "extra" + ], + [ + 3, + 249, + "extra" + ], + [ + 3, + 326, + "extra" + ], + [ + 0, + 32, + "extra" + ], + [ + 0, + 109, + "extra" + ], + [ + 0, + 186, + "extra" + ], + [ + 0, + 263, + "extra" + ], + [ + 0, + 340, + "extra" + ], + [ + 5, + 9, + "extra" + ], + [ + 5, + 86, + "extra" + ], + [ + 5, + 163, + "extra" + ], + [ + 5, + 240, + "extra" + ], + [ + 5, + 317, + "extra" + ], + [ + 2, + 23, + "extra" + ], + [ + 2, + 100, + "extra" + ], + [ + 2, + 177, + "extra" + ], + [ + 2, + 254, + "extra" + ], + [ + 2, + 331, + "extra" + ], + [ + 7, + 0, + "extra" + ], + [ + 7, + 77, + "extra" + ], + [ + 7, + 154, + "extra" + ], + [ + 7, + 231, + "extra" + ], + [ + 7, + 308, + "extra" + ], + [ + 4, + 14, + "extra" + ], + [ + 4, + 91, + "extra" + ], + [ + 4, + 168, + "extra" + ], + [ + 4, + 245, + "extra" + ], + [ + 4, + 322, + "extra" + ], + [ + 1, + 28, + "extra" + ], + [ + 1, + 105, + "extra" + ], + [ + 1, + 182, + "extra" + ], + [ + 1, + 259, + "extra" + ], + [ + 1, + 336, + "extra" + ], + [ + 6, + 5, + "extra" + ], + [ + 6, + 82, + "extra" + ], + [ + 6, + 159, + "extra" + ], + [ + 6, + 236, + "extra" + ], + [ + 6, + 313, + "extra" + ], + [ + 3, + 19, + "extra" + ], + [ + 3, + 96, + "extra" + ], + [ + 3, + 173, + "extra" + ], + [ + 3, + 250, + "extra" + ], + [ + 3, + 327, + "extra" + ], + [ + 0, + 33, + "extra" + ], + [ + 0, + 110, + "extra" + ], + [ + 0, + 187, + "extra" + ], + [ + 0, + 264, + "extra" + ], + [ + 0, + 341, + "extra" + ], + [ + 5, + 10, + "extra" + ], + [ + 5, + 87, + "extra" + ], + [ + 5, + 164, + "extra" + ], + [ + 5, + 241, + "extra" + ], + [ + 5, + 318, + "extra" + ], + [ + 2, + 24, + "extra" + ], + [ + 2, + 101, + "extra" + ], + [ + 2, + 178, + "extra" + ], + [ + 2, + 255, + "extra" + ], + [ + 2, + 332, + "extra" + ], + [ + 7, + 1, + "extra" + ], + [ + 7, + 78, + "extra" + ], + [ + 7, + 155, + "extra" + ], + [ + 7, + 232, + "extra" + ], + [ + 7, + 309, + "extra" + ], + [ + 4, + 15, + "extra" + ], + [ + 4, + 92, + "extra" + ], + [ + 4, + 169, + "extra" + ], + [ + 4, + 246, + "extra" + ], + [ + 4, + 323, + "extra" + ], + [ + 1, + 29, + "extra" + ], + [ + 1, + 106, + "extra" + ], + [ + 1, + 183, + "extra" + ], + [ + 1, + 260, + "extra" + ], + [ + 1, + 337, + "extra" + ], + [ + 6, + 6, + "extra" + ], + [ + 6, + 83, + "extra" + ], + [ + 6, + 160, + "extra" + ], + [ + 6, + 237, + "extra" + ], + [ + 6, + 314, + "extra" + ], + [ + 3, + 20, + "extra" + ], + [ + 3, + 97, + "extra" + ], + [ + 3, + 174, + "extra" + ], + [ + 3, + 251, + "extra" + ], + [ + 3, + 328, + "extra" + ], + [ + 0, + 34, + "extra" + ], + [ + 0, + 111, + "extra" + ], + [ + 0, + 188, + "extra" + ], + [ + 0, + 265, + "extra" + ], + [ + 0, + 342, + "extra" + ], + [ + 5, + 11, + "extra" + ], + [ + 5, + 88, + "extra" + ], + [ + 5, + 165, + "extra" + ], + [ + 5, + 242, + "extra" + ], + [ + 5, + 319, + "extra" + ], + [ + 2, + 25, + "extra" + ], + [ + 2, + 102, + "extra" + ], + [ + 2, + 179, + "extra" + ], + [ + 2, + 256, + "extra" + ], + [ + 2, + 333, + "extra" + ], + [ + 7, + 2, + "extra" + ], + [ + 7, + 79, + "extra" + ], + [ + 7, + 156, + "extra" + ], + [ + 7, + 233, + "extra" + ], + [ + 7, + 310, + "extra" + ], + [ + 4, + 16, + "extra" + ], + [ + 4, + 93, + "extra" + ], + [ + 4, + 170, + "extra" + ], + [ + 4, + 247, + "extra" + ], + [ + 4, + 324, + "extra" + ], + [ + 1, + 30, + "extra" + ], + [ + 1, + 107, + "extra" + ], + [ + 1, + 184, + "extra" + ], + [ + 1, + 261, + "extra" + ], + [ + 1, + 338, + "extra" + ], + [ + 6, + 7, + "extra" + ], + [ + 6, + 84, + "extra" + ], + [ + 6, + 161, + "extra" + ], + [ + 6, + 238, + "extra" + ], + [ + 6, + 315, + "extra" + ], + [ + 3, + 21, + "extra" + ], + [ + 3, + 98, + "extra" + ], + [ + 3, + 175, + "extra" + ], + [ + 3, + 252, + "extra" + ], + [ + 3, + 329, + "extra" + ], + [ + 0, + 35, + "extra" + ], + [ + 0, + 112, + "extra" + ], + [ + 0, + 189, + "extra" + ], + [ + 0, + 266, + "extra" + ], + [ + 0, + 343, + "extra" + ], + [ + 5, + 12, + "extra" + ], + [ + 5, + 89, + "extra" + ], + [ + 5, + 166, + "extra" + ], + [ + 5, + 243, + "extra" + ], + [ + 5, + 320, + "extra" + ], + [ + 2, + 26, + "extra" + ], + [ + 2, + 103, + "extra" + ], + [ + 2, + 180, + "extra" + ], + [ + 2, + 257, + "extra" + ], + [ + 2, + 334, + "extra" + ], + [ + 7, + 3, + "extra" + ], + [ + 7, + 80, + "extra" + ], + [ + 7, + 157, + "extra" + ], + [ + 7, + 234, + "extra" + ], + [ + 7, + 311, + "extra" + ], + [ + 4, + 17, + "extra" + ], + [ + 4, + 94, + "extra" + ], + [ + 4, + 171, + "extra" + ], + [ + 4, + 248, + "extra" + ], + [ + 4, + 325, + "extra" + ], + [ + 1, + 31, + "extra" + ], + [ + 1, + 108, + "extra" + ], + [ + 1, + 185, + "extra" + ], + [ + 1, + 262, + "extra" + ], + [ + 1, + 339, + "extra" + ], + [ + 6, + 8, + "extra" + ], + [ + 6, + 85, + "extra" + ], + [ + 6, + 162, + "extra" + ], + [ + 6, + 239, + "extra" + ], + [ + 6, + 316, + "extra" + ], + [ + 3, + 22, + "extra" + ], + [ + 3, + 99, + "extra" + ], + [ + 3, + 176, + "extra" + ], + [ + 3, + 253, + "extra" + ], + [ + 3, + 330, + "extra" + ], + [ + 0, + 36, + "extra" + ], + [ + 0, + 113, + "extra" + ], + [ + 0, + 190, + "extra" + ], + [ + 0, + 267, + "extra" + ], + [ + 0, + 344, + "extra" + ], + [ + 5, + 13, + "extra" + ], + [ + 5, + 90, + "extra" + ], + [ + 5, + 167, + "extra" + ], + [ + 5, + 244, + "extra" + ], + [ + 5, + 321, + "extra" + ], + [ + 2, + 27, + "extra" + ], + [ + 2, + 104, + "extra" + ], + [ + 2, + 181, + "extra" + ], + [ + 2, + 258, + "extra" + ], + [ + 2, + 335, + "extra" + ], + [ + 7, + 4, + "extra" + ], + [ + 7, + 81, + "extra" + ], + [ + 7, + 158, + "extra" + ], + [ + 7, + 235, + "extra" + ], + [ + 7, + 312, + "extra" + ], + [ + 4, + 18, + "extra" + ], + [ + 4, + 95, + "extra" + ], + [ + 4, + 172, + "extra" + ], + [ + 4, + 249, + "extra" + ], + [ + 4, + 326, + "extra" + ], + [ + 1, + 32, + "extra" + ], + [ + 1, + 109, + "extra" + ], + [ + 1, + 186, + "extra" + ], + [ + 1, + 263, + "extra" + ], + [ + 1, + 340, + "extra" + ], + [ + 6, + 9, + "extra" + ], + [ + 6, + 86, + "extra" + ], + [ + 6, + 163, + "extra" + ], + [ + 6, + 240, + "extra" + ], + [ + 6, + 317, + "extra" + ], + [ + 3, + 23, + "extra" + ], + [ + 3, + 100, + "extra" + ], + [ + 3, + 177, + "extra" + ], + [ + 3, + 254, + "extra" + ], + [ + 3, + 331, + "extra" + ], + [ + 8, + 0, + "extra" + ], + [ + 8, + 77, + "extra" + ], + [ + 8, + 154, + "extra" + ], + [ + 8, + 231, + "extra" + ], + [ + 8, + 308, + "extra" + ], + [ + 5, + 14, + "extra" + ], + [ + 5, + 91, + "extra" + ], + [ + 5, + 168, + "extra" + ], + [ + 5, + 245, + "extra" + ], + [ + 5, + 322, + "extra" + ], + [ + 2, + 28, + "extra" + ], + [ + 2, + 105, + "extra" + ], + [ + 2, + 182, + "extra" + ], + [ + 2, + 259, + "extra" + ], + [ + 2, + 336, + "extra" + ], + [ + 7, + 5, + "extra" + ], + [ + 7, + 82, + "extra" + ], + [ + 7, + 159, + "extra" + ], + [ + 7, + 236, + "extra" + ], + [ + 7, + 313, + "extra" + ], + [ + 4, + 19, + "extra" + ], + [ + 4, + 96, + "extra" + ], + [ + 4, + 173, + "extra" + ], + [ + 4, + 250, + "extra" + ], + [ + 4, + 327, + "extra" + ], + [ + 1, + 33, + "extra" + ], + [ + 1, + 110, + "extra" + ], + [ + 1, + 187, + "extra" + ], + [ + 1, + 264, + "extra" + ], + [ + 1, + 341, + "extra" + ], + [ + 6, + 10, + "extra" + ], + [ + 6, + 87, + "extra" + ], + [ + 6, + 164, + "extra" + ], + [ + 6, + 241, + "extra" + ], + [ + 6, + 318, + "extra" + ], + [ + 3, + 24, + "extra" + ], + [ + 3, + 101, + "extra" + ], + [ + 3, + 178, + "extra" + ], + [ + 3, + 255, + "extra" + ], + [ + 3, + 332, + "extra" + ], + [ + 8, + 1, + "extra" + ], + [ + 8, + 78, + "extra" + ], + [ + 8, + 155, + "extra" + ], + [ + 8, + 232, + "extra" + ], + [ + 8, + 309, + "extra" + ], + [ + 5, + 15, + "extra" + ], + [ + 5, + 92, + "extra" + ], + [ + 5, + 169, + "extra" + ], + [ + 5, + 246, + "extra" + ], + [ + 5, + 323, + "extra" + ], + [ + 2, + 29, + "extra" + ], + [ + 2, + 106, + "extra" + ], + [ + 2, + 183, + "extra" + ], + [ + 2, + 260, + "extra" + ], + [ + 2, + 337, + "extra" + ], + [ + 7, + 6, + "extra" + ], + [ + 7, + 83, + "extra" + ], + [ + 7, + 160, + "extra" + ], + [ + 7, + 237, + "extra" + ], + [ + 7, + 314, + "extra" + ], + [ + 4, + 20, + "extra" + ], + [ + 4, + 97, + "extra" + ], + [ + 4, + 174, + "extra" + ], + [ + 4, + 251, + "extra" + ], + [ + 4, + 328, + "extra" + ], + [ + 1, + 34, + "extra" + ], + [ + 1, + 111, + "extra" + ], + [ + 1, + 188, + "extra" + ], + [ + 1, + 265, + "extra" + ], + [ + 1, + 342, + "extra" + ], + [ + 6, + 11, + "extra" + ], + [ + 6, + 88, + "extra" + ], + [ + 6, + 165, + "extra" + ], + [ + 6, + 242, + "extra" + ], + [ + 6, + 319, + "extra" + ], + [ + 3, + 25, + "extra" + ], + [ + 3, + 102, + "extra" + ], + [ + 3, + 179, + "extra" + ], + [ + 3, + 256, + "extra" + ], + [ + 3, + 333, + "extra" + ], + [ + 8, + 2, + "extra" + ], + [ + 8, + 79, + "extra" + ], + [ + 8, + 156, + "extra" + ], + [ + 8, + 233, + "extra" + ], + [ + 8, + 310, + "extra" + ], + [ + 5, + 16, + "extra" + ], + [ + 5, + 93, + "extra" + ], + [ + 5, + 170, + "extra" + ], + [ + 5, + 247, + "extra" + ], + [ + 5, + 324, + "extra" + ], + [ + 2, + 30, + "extra" + ], + [ + 2, + 107, + "extra" + ], + [ + 2, + 184, + "extra" + ], + [ + 2, + 261, + "extra" + ], + [ + 2, + 338, + "extra" + ], + [ + 7, + 7, + "extra" + ], + [ + 7, + 84, + "extra" + ], + [ + 7, + 161, + "extra" + ], + [ + 7, + 238, + "extra" + ], + [ + 7, + 315, + "extra" + ], + [ + 4, + 21, + "extra" + ], + [ + 4, + 98, + "extra" + ], + [ + 4, + 175, + "extra" + ], + [ + 4, + 252, + "extra" + ], + [ + 4, + 329, + "extra" + ], + [ + 1, + 35, + "extra" + ], + [ + 1, + 112, + "extra" + ], + [ + 1, + 189, + "extra" + ], + [ + 1, + 266, + "extra" + ], + [ + 1, + 343, + "extra" + ], + [ + 6, + 12, + "extra" + ], + [ + 6, + 89, + "extra" + ], + [ + 6, + 166, + "extra" + ], + [ + 6, + 243, + "extra" + ], + [ + 6, + 320, + "extra" + ], + [ + 3, + 26, + "extra" + ], + [ + 3, + 103, + "extra" + ], + [ + 3, + 180, + "extra" + ], + [ + 3, + 257, + "extra" + ], + [ + 3, + 334, + "extra" + ], + [ + 8, + 3, + "extra" + ], + [ + 8, + 80, + "extra" + ], + [ + 8, + 157, + "extra" + ], + [ + 8, + 234, + "extra" + ], + [ + 8, + 311, + "extra" + ], + [ + 5, + 17, + "extra" + ], + [ + 5, + 94, + "extra" + ], + [ + 5, + 171, + "extra" + ], + [ + 5, + 248, + "extra" + ], + [ + 5, + 325, + "extra" + ], + [ + 2, + 31, + "extra" + ], + [ + 2, + 108, + "extra" + ], + [ + 2, + 185, + "extra" + ], + [ + 2, + 262, + "extra" + ], + [ + 2, + 339, + "extra" + ], + [ + 7, + 8, + "extra" + ], + [ + 7, + 85, + "extra" + ], + [ + 7, + 162, + "extra" + ], + [ + 7, + 239, + "extra" + ], + [ + 7, + 316, + "extra" + ], + [ + 4, + 22, + "extra" + ], + [ + 4, + 99, + "extra" + ], + [ + 4, + 176, + "extra" + ], + [ + 4, + 253, + "extra" + ], + [ + 4, + 330, + "extra" + ], + [ + 1, + 36, + "extra" + ], + [ + 1, + 113, + "extra" + ], + [ + 1, + 190, + "extra" + ], + [ + 1, + 267, + "extra" + ], + [ + 1, + 344, + "extra" + ], + [ + 6, + 13, + "extra" + ], + [ + 6, + 90, + "extra" + ], + [ + 6, + 167, + "extra" + ], + [ + 6, + 244, + "extra" + ], + [ + 6, + 321, + "extra" + ], + [ + 3, + 27, + "extra" + ], + [ + 3, + 104, + "extra" + ], + [ + 3, + 181, + "extra" + ], + [ + 3, + 258, + "extra" + ], + [ + 3, + 335, + "extra" + ], + [ + 8, + 4, + "extra" + ], + [ + 8, + 81, + "extra" + ], + [ + 8, + 158, + "extra" + ], + [ + 8, + 235, + "extra" + ], + [ + 8, + 312, + "extra" + ], + [ + 5, + 18, + "extra" + ], + [ + 5, + 95, + "extra" + ], + [ + 5, + 172, + "extra" + ], + [ + 5, + 249, + "extra" + ], + [ + 5, + 326, + "extra" + ], + [ + 2, + 32, + "extra" + ], + [ + 2, + 109, + "extra" + ], + [ + 2, + 186, + "extra" + ], + [ + 2, + 263, + "extra" + ], + [ + 2, + 340, + "extra" + ], + [ + 7, + 9, + "extra" + ], + [ + 7, + 86, + "extra" + ], + [ + 7, + 163, + "extra" + ], + [ + 7, + 240, + "extra" + ], + [ + 7, + 317, + "extra" + ], + [ + 4, + 23, + "extra" + ], + [ + 4, + 100, + "extra" + ], + [ + 4, + 177, + "extra" + ], + [ + 4, + 254, + "extra" + ], + [ + 4, + 331, + "extra" + ], + [ + 6, + 14, + "extra" + ], + [ + 6, + 91, + "extra" + ], + [ + 6, + 168, + "extra" + ], + [ + 6, + 245, + "extra" + ], + [ + 6, + 322, + "extra" + ], + [ + 3, + 28, + "gauge44" + ], + [ + 3, + 105, + "gauge44" + ], + [ + 3, + 182, + "gauge44" + ], + [ + 3, + 259, + "gauge44" + ], + [ + 3, + 336, + "gauge44" + ], + [ + 8, + 5, + "gauge44" + ], + [ + 8, + 82, + "gauge44" + ], + [ + 8, + 159, + "gauge44" + ], + [ + 8, + 236, + "gauge44" + ], + [ + 8, + 313, + "gauge44" + ], + [ + 5, + 19, + "gauge44" + ], + [ + 5, + 96, + "gauge44" + ], + [ + 5, + 173, + "gauge44" + ], + [ + 5, + 250, + "gauge44" + ], + [ + 5, + 327, + "gauge44" + ], + [ + 2, + 33, + "gauge44" + ], + [ + 2, + 110, + "gauge44" + ], + [ + 2, + 187, + "gauge44" + ], + [ + 2, + 264, + "gauge44" + ], + [ + 2, + 341, + "gauge44" + ], + [ + 7, + 10, + "gauge44" + ], + [ + 7, + 87, + "gauge44" + ], + [ + 7, + 164, + "gauge44" + ], + [ + 7, + 241, + "gauge44" + ], + [ + 7, + 318, + "gauge44" + ], + [ + 4, + 24, + "gauge44" + ], + [ + 4, + 101, + "gauge44" + ], + [ + 4, + 178, + "gauge44" + ], + [ + 4, + 255, + "gauge44" + ], + [ + 4, + 332, + "gauge44" + ], + [ + 6, + 15, + "gauge44" + ], + [ + 6, + 92, + "gauge44" + ], + [ + 6, + 169, + "gauge44" + ], + [ + 6, + 246, + "gauge44" + ], + [ + 6, + 323, + "gauge44" + ], + [ + 3, + 29, + "gauge44" + ], + [ + 3, + 106, + "gauge44" + ], + [ + 3, + 183, + "gauge44" + ], + [ + 3, + 260, + "gauge44" + ], + [ + 3, + 337, + "gauge44" + ], + [ + 8, + 6, + "gauge44" + ], + [ + 8, + 83, + "gauge44" + ], + [ + 8, + 160, + "gauge44" + ], + [ + 8, + 237, + "gauge44" + ], + [ + 8, + 314, + "gauge44" + ], + [ + 5, + 20, + "gauge44" + ], + [ + 5, + 97, + "gauge44" + ], + [ + 5, + 174, + "gauge44" + ], + [ + 5, + 251, + "gauge44" + ], + [ + 5, + 328, + "gauge44" + ], + [ + 2, + 34, + "gauge44" + ], + [ + 2, + 111, + "gauge44" + ], + [ + 2, + 188, + "gauge44" + ], + [ + 2, + 265, + "gauge44" + ], + [ + 2, + 342, + "gauge44" + ], + [ + 7, + 11, + "gauge44" + ], + [ + 7, + 88, + "gauge44" + ], + [ + 7, + 165, + "gauge44" + ], + [ + 7, + 242, + "gauge44" + ], + [ + 7, + 319, + "gauge44" + ], + [ + 4, + 25, + "gauge44" + ], + [ + 4, + 102, + "gauge44" + ], + [ + 4, + 179, + "gauge44" + ], + [ + 4, + 256, + "gauge44" + ], + [ + 4, + 333, + "gauge44" + ], + [ + 6, + 16, + "gauge44" + ], + [ + 6, + 93, + "gauge44" + ], + [ + 6, + 170, + "gauge44" + ], + [ + 6, + 247, + "gauge44" + ], + [ + 6, + 324, + "gauge44" + ], + [ + 3, + 30, + "gauge44" + ], + [ + 3, + 107, + "gauge44" + ], + [ + 3, + 184, + "gauge44" + ], + [ + 3, + 261, + "gauge44" + ], + [ + 3, + 338, + "gauge44" + ], + [ + 8, + 7, + "gauge44" + ], + [ + 8, + 84, + "gauge44" + ], + [ + 8, + 161, + "gauge44" + ], + [ + 8, + 238, + "gauge44" + ], + [ + 8, + 315, + "gauge44" + ], + [ + 5, + 21, + "gauge44" + ], + [ + 5, + 98, + "gauge44" + ], + [ + 5, + 175, + "gauge44" + ], + [ + 5, + 252, + "gauge44" + ], + [ + 5, + 329, + "gauge44" + ], + [ + 2, + 35, + "gauge44" + ], + [ + 2, + 112, + "gauge44" + ], + [ + 2, + 189, + "gauge44" + ], + [ + 2, + 266, + "gauge44" + ], + [ + 2, + 343, + "gauge44" + ], + [ + 7, + 12, + "gauge44" + ], + [ + 7, + 89, + "gauge44" + ], + [ + 7, + 166, + "gauge44" + ], + [ + 7, + 243, + "gauge44" + ], + [ + 7, + 320, + "gauge44" + ], + [ + 4, + 26, + "gauge44" + ], + [ + 4, + 103, + "gauge44" + ], + [ + 4, + 180, + "gauge44" + ], + [ + 4, + 257, + "gauge44" + ], + [ + 4, + 334, + "gauge44" + ], + [ + 6, + 17, + "gauge44" + ], + [ + 6, + 94, + "gauge44" + ], + [ + 6, + 171, + "gauge44" + ], + [ + 6, + 248, + "gauge44" + ], + [ + 6, + 325, + "gauge44" + ], + [ + 3, + 31, + "gauge44" + ], + [ + 3, + 108, + "gauge44" + ], + [ + 3, + 185, + "gauge44" + ], + [ + 3, + 262, + "gauge44" + ], + [ + 3, + 339, + "gauge44" + ], + [ + 8, + 8, + "gauge44" + ], + [ + 8, + 85, + "gauge44" + ], + [ + 8, + 162, + "gauge44" + ], + [ + 8, + 239, + "gauge44" + ], + [ + 8, + 316, + "gauge44" + ], + [ + 5, + 22, + "gauge44" + ], + [ + 5, + 99, + "gauge44" + ], + [ + 5, + 176, + "gauge44" + ], + [ + 5, + 253, + "gauge44" + ], + [ + 5, + 330, + "gauge44" + ], + [ + 2, + 36, + "gauge44" + ], + [ + 2, + 113, + "gauge44" + ], + [ + 2, + 190, + "gauge44" + ], + [ + 2, + 267, + "gauge44" + ], + [ + 2, + 344, + "gauge44" + ], + [ + 7, + 13, + "gauge44" + ], + [ + 7, + 90, + "gauge44" + ], + [ + 7, + 167, + "gauge44" + ], + [ + 7, + 244, + "gauge44" + ], + [ + 7, + 321, + "gauge44" + ], + [ + 4, + 27, + "gauge44" + ], + [ + 4, + 104, + "gauge44" + ], + [ + 4, + 181, + "gauge44" + ], + [ + 4, + 258, + "gauge44" + ], + [ + 4, + 335, + "gauge44" + ], + [ + 6, + 18, + "gauge44" + ], + [ + 6, + 95, + "gauge44" + ], + [ + 6, + 172, + "gauge44" + ], + [ + 6, + 249, + "gauge44" + ], + [ + 6, + 326, + "gauge44" + ], + [ + 3, + 32, + "gauge44" + ], + [ + 3, + 109, + "gauge44" + ], + [ + 3, + 186, + "gauge44" + ], + [ + 3, + 263, + "gauge44" + ], + [ + 3, + 340, + "gauge44" + ], + [ + 8, + 9, + "gauge44" + ], + [ + 8, + 86, + "gauge44" + ], + [ + 8, + 163, + "gauge44" + ], + [ + 8, + 240, + "gauge44" + ], + [ + 8, + 317, + "gauge44" + ], + [ + 5, + 23, + "gauge44" + ], + [ + 5, + 100, + "gauge44" + ], + [ + 5, + 177, + "gauge44" + ], + [ + 5, + 254, + "gauge44" + ], + [ + 5, + 331, + "gauge44" + ], + [ + 7, + 14, + "gauge44" + ], + [ + 7, + 91, + "gauge44" + ], + [ + 7, + 168, + "gauge44" + ], + [ + 7, + 245, + "gauge44" + ], + [ + 7, + 322, + "gauge44" + ], + [ + 4, + 28, + "gauge44" + ], + [ + 4, + 105, + "gauge44" + ], + [ + 4, + 182, + "gauge44" + ], + [ + 4, + 259, + "gauge44" + ], + [ + 4, + 336, + "gauge44" + ], + [ + 6, + 19, + "gauge44" + ], + [ + 6, + 96, + "gauge44" + ], + [ + 6, + 173, + "gauge44" + ], + [ + 6, + 250, + "gauge44" + ], + [ + 6, + 327, + "gauge44" + ], + [ + 3, + 33, + "gauge44" + ], + [ + 3, + 110, + "gauge44" + ], + [ + 3, + 187, + "gauge44" + ], + [ + 3, + 264, + "gauge44" + ], + [ + 3, + 341, + "gauge44" + ], + [ + 8, + 10, + "gauge44" + ], + [ + 8, + 87, + "gauge44" + ], + [ + 8, + 164, + "gauge44" + ], + [ + 8, + 241, + "gauge44" + ], + [ + 8, + 318, + "gauge44" + ], + [ + 5, + 24, + "gauge44" + ], + [ + 5, + 101, + "gauge44" + ], + [ + 5, + 178, + "gauge44" + ], + [ + 5, + 255, + "gauge44" + ], + [ + 5, + 332, + "gauge44" + ], + [ + 7, + 15, + "gauge44" + ], + [ + 7, + 92, + "gauge44" + ], + [ + 7, + 169, + "gauge44" + ], + [ + 7, + 246, + "gauge44" + ], + [ + 7, + 323, + "gauge44" + ], + [ + 4, + 29, + "gauge44" + ], + [ + 4, + 106, + "gauge44" + ], + [ + 4, + 183, + "gauge44" + ], + [ + 4, + 260, + "gauge44" + ], + [ + 4, + 337, + "gauge44" + ], + [ + 6, + 20, + "gauge44" + ], + [ + 6, + 97, + "gauge44" + ], + [ + 6, + 174, + "gauge44" + ], + [ + 6, + 251, + "gauge44" + ], + [ + 6, + 328, + "gauge44" + ], + [ + 3, + 34, + "gauge44" + ], + [ + 3, + 111, + "gauge44" + ], + [ + 3, + 188, + "gauge44" + ], + [ + 3, + 265, + "gauge44" + ], + [ + 3, + 342, + "gauge44" + ], + [ + 8, + 11, + "gauge44" + ], + [ + 8, + 88, + "gauge44" + ], + [ + 8, + 165, + "gauge44" + ], + [ + 8, + 242, + "gauge44" + ], + [ + 8, + 319, + "gauge44" + ], + [ + 5, + 25, + "gauge44" + ], + [ + 5, + 102, + "gauge44" + ], + [ + 5, + 179, + "gauge44" + ], + [ + 5, + 256, + "gauge44" + ], + [ + 5, + 333, + "gauge44" + ], + [ + 7, + 16, + "gauge44" + ], + [ + 7, + 93, + "gauge44" + ], + [ + 7, + 170, + "gauge44" + ], + [ + 7, + 247, + "gauge44" + ], + [ + 7, + 324, + "gauge44" + ], + [ + 4, + 30, + "gauge44" + ], + [ + 4, + 107, + "gauge44" + ], + [ + 4, + 184, + "gauge44" + ], + [ + 4, + 261, + "gauge44" + ], + [ + 4, + 338, + "gauge44" + ], + [ + 6, + 21, + "gauge44" + ], + [ + 6, + 98, + "gauge44" + ], + [ + 6, + 175, + "gauge44" + ], + [ + 6, + 252, + "gauge44" + ], + [ + 6, + 329, + "gauge44" + ], + [ + 3, + 35, + "gauge44" + ], + [ + 3, + 112, + "gauge44" + ], + [ + 3, + 189, + "gauge44" + ], + [ + 3, + 266, + "gauge44" + ], + [ + 3, + 343, + "gauge44" + ], + [ + 8, + 12, + "gauge44" + ], + [ + 8, + 89, + "gauge44" + ], + [ + 8, + 166, + "gauge44" + ], + [ + 8, + 243, + "gauge44" + ], + [ + 8, + 320, + "gauge44" + ], + [ + 5, + 26, + "gauge44" + ], + [ + 5, + 103, + "gauge44" + ], + [ + 5, + 180, + "gauge44" + ], + [ + 5, + 257, + "gauge44" + ], + [ + 5, + 334, + "gauge44" + ], + [ + 7, + 17, + "gauge44" + ], + [ + 7, + 94, + "gauge44" + ], + [ + 7, + 171, + "gauge44" + ], + [ + 7, + 248, + "gauge44" + ], + [ + 7, + 325, + "gauge44" + ], + [ + 4, + 31, + "gauge44" + ], + [ + 4, + 108, + "gauge44" + ], + [ + 4, + 185, + "gauge44" + ], + [ + 4, + 262, + "gauge44" + ], + [ + 4, + 339, + "gauge44" + ], + [ + 6, + 22, + "gauge44" + ], + [ + 6, + 99, + "gauge44" + ], + [ + 6, + 176, + "gauge44" + ], + [ + 6, + 253, + "gauge44" + ], + [ + 6, + 330, + "gauge44" + ], + [ + 3, + 36, + "gauge44" + ], + [ + 3, + 113, + "gauge44" + ], + [ + 3, + 190, + "gauge44" + ], + [ + 3, + 267, + "gauge44" + ], + [ + 3, + 344, + "gauge44" + ], + [ + 8, + 13, + "gauge44" + ], + [ + 8, + 90, + "gauge44" + ], + [ + 8, + 167, + "gauge44" + ], + [ + 8, + 244, + "gauge44" + ], + [ + 8, + 321, + "gauge44" + ], + [ + 5, + 27, + "gauge44" + ], + [ + 5, + 104, + "gauge44" + ], + [ + 5, + 181, + "gauge44" + ], + [ + 5, + 258, + "gauge44" + ], + [ + 5, + 335, + "gauge44" + ], + [ + 7, + 18, + "gauge44" + ], + [ + 7, + 95, + "gauge44" + ], + [ + 7, + 172, + "gauge44" + ], + [ + 7, + 249, + "gauge44" + ], + [ + 7, + 326, + "gauge44" + ], + [ + 4, + 32, + "gauge44" + ], + [ + 4, + 109, + "gauge44" + ], + [ + 4, + 186, + "gauge44" + ], + [ + 4, + 263, + "gauge44" + ], + [ + 4, + 340, + "gauge44" + ], + [ + 6, + 23, + "gauge44" + ], + [ + 6, + 100, + "gauge44" + ], + [ + 6, + 177, + "gauge44" + ], + [ + 6, + 254, + "gauge44" + ], + [ + 6, + 331, + "gauge44" + ], + [ + 8, + 14, + "gauge44" + ], + [ + 8, + 91, + "gauge44" + ], + [ + 8, + 168, + "gauge44" + ], + [ + 8, + 245, + "gauge44" + ], + [ + 8, + 322, + "gauge44" + ], + [ + 5, + 28, + "gauge44" + ], + [ + 5, + 105, + "gauge44" + ], + [ + 5, + 182, + "gauge44" + ], + [ + 5, + 259, + "gauge44" + ], + [ + 5, + 336, + "gauge44" + ], + [ + 7, + 19, + "gauge44" + ], + [ + 7, + 96, + "gauge44" + ], + [ + 7, + 173, + "gauge44" + ], + [ + 7, + 250, + "gauge44" + ], + [ + 7, + 327, + "gauge44" + ], + [ + 4, + 33, + "gauge44" + ], + [ + 4, + 110, + "gauge44" + ], + [ + 4, + 187, + "gauge44" + ], + [ + 4, + 264, + "gauge44" + ], + [ + 4, + 341, + "gauge44" + ], + [ + 6, + 24, + "gauge44" + ], + [ + 6, + 101, + "gauge44" + ], + [ + 6, + 178, + "gauge44" + ], + [ + 6, + 255, + "gauge44" + ], + [ + 6, + 332, + "gauge44" + ], + [ + 8, + 15, + "gauge44" + ], + [ + 8, + 92, + "gauge44" + ], + [ + 8, + 169, + "gauge44" + ], + [ + 8, + 246, + "gauge44" + ], + [ + 8, + 323, + "gauge44" + ], + [ + 5, + 29, + "gauge44" + ], + [ + 5, + 106, + "gauge44" + ], + [ + 5, + 183, + "gauge44" + ], + [ + 5, + 260, + "gauge44" + ], + [ + 5, + 337, + "gauge44" + ], + [ + 7, + 20, + "gauge44" + ], + [ + 7, + 97, + "gauge44" + ], + [ + 7, + 174, + "gauge44" + ], + [ + 7, + 251, + "gauge44" + ], + [ + 7, + 328, + "gauge44" + ], + [ + 4, + 34, + "gauge44" + ], + [ + 4, + 111, + "gauge44" + ], + [ + 4, + 188, + "gauge44" + ], + [ + 4, + 265, + "gauge44" + ], + [ + 4, + 342, + "gauge44" + ], + [ + 6, + 25, + "gauge44" + ], + [ + 6, + 102, + "gauge44" + ], + [ + 6, + 179, + "gauge44" + ], + [ + 6, + 256, + "gauge44" + ], + [ + 6, + 333, + "gauge44" + ], + [ + 8, + 16, + "gauge44" + ], + [ + 8, + 93, + "gauge44" + ], + [ + 8, + 170, + "gauge44" + ], + [ + 8, + 247, + "gauge44" + ], + [ + 8, + 324, + "gauge44" + ], + [ + 5, + 30, + "gauge44" + ], + [ + 5, + 107, + "gauge44" + ], + [ + 5, + 184, + "gauge44" + ], + [ + 5, + 261, + "gauge44" + ], + [ + 5, + 338, + "gauge44" + ], + [ + 7, + 21, + "gauge44" + ], + [ + 7, + 98, + "gauge44" + ], + [ + 7, + 175, + "gauge44" + ], + [ + 7, + 252, + "gauge44" + ], + [ + 7, + 329, + "gauge44" + ], + [ + 4, + 35, + "gauge44" + ], + [ + 4, + 112, + "gauge44" + ], + [ + 4, + 189, + "gauge44" + ], + [ + 4, + 266, + "gauge44" + ], + [ + 4, + 343, + "gauge44" + ], + [ + 6, + 26, + "gauge44" + ], + [ + 6, + 103, + "gauge44" + ], + [ + 6, + 180, + "gauge44" + ], + [ + 6, + 257, + "gauge44" + ], + [ + 6, + 334, + "gauge44" + ], + [ + 8, + 17, + "gauge44" + ], + [ + 8, + 94, + "gauge44" + ], + [ + 8, + 171, + "gauge44" + ], + [ + 8, + 248, + "gauge44" + ], + [ + 8, + 325, + "gauge44" + ], + [ + 5, + 31, + "gauge44" + ], + [ + 5, + 108, + "gauge44" + ], + [ + 5, + 185, + "gauge44" + ], + [ + 5, + 262, + "gauge44" + ], + [ + 5, + 339, + "gauge44" + ], + [ + 7, + 22, + "gauge44" + ], + [ + 7, + 99, + "gauge44" + ], + [ + 7, + 176, + "gauge44" + ], + [ + 7, + 253, + "gauge44" + ], + [ + 7, + 330, + "gauge44" + ], + [ + 4, + 36, + "gauge44" + ], + [ + 4, + 113, + "gauge44" + ], + [ + 4, + 190, + "gauge44" + ], + [ + 4, + 267, + "gauge44" + ], + [ + 4, + 344, + "gauge44" + ], + [ + 6, + 27, + "gauge44" + ], + [ + 6, + 104, + "gauge44" + ], + [ + 6, + 181, + "gauge44" + ], + [ + 6, + 258, + "gauge44" + ], + [ + 6, + 335, + "gauge44" + ], + [ + 8, + 18, + "gauge44" + ], + [ + 8, + 95, + "gauge44" + ], + [ + 8, + 172, + "gauge44" + ], + [ + 8, + 249, + "gauge44" + ], + [ + 8, + 326, + "gauge44" + ], + [ + 5, + 32, + "gauge44" + ], + [ + 5, + 109, + "gauge44" + ], + [ + 5, + 186, + "gauge44" + ], + [ + 5, + 263, + "gauge44" + ], + [ + 5, + 340, + "gauge44" + ], + [ + 7, + 23, + "gauge44" + ], + [ + 7, + 100, + "gauge44" + ], + [ + 7, + 177, + "gauge44" + ], + [ + 7, + 254, + "gauge44" + ], + [ + 7, + 331, + "gauge44" + ], + [ + 6, + 28, + "gauge44" + ], + [ + 6, + 105, + "gauge44" + ], + [ + 6, + 182, + "gauge44" + ], + [ + 6, + 259, + "gauge44" + ], + [ + 6, + 336, + "gauge44" + ], + [ + 8, + 19, + "gauge44" + ], + [ + 8, + 96, + "gauge44" + ], + [ + 8, + 173, + "gauge44" + ], + [ + 8, + 250, + "gauge44" + ], + [ + 8, + 327, + "gauge44" + ], + [ + 5, + 33, + "gauge44" + ], + [ + 5, + 110, + "gauge44" + ], + [ + 5, + 187, + "gauge44" + ], + [ + 5, + 264, + "gauge44" + ], + [ + 5, + 341, + "gauge44" + ], + [ + 7, + 24, + "gauge44" + ], + [ + 7, + 101, + "gauge44" + ], + [ + 7, + 178, + "gauge44" + ], + [ + 7, + 255, + "gauge44" + ], + [ + 7, + 332, + "gauge44" + ], + [ + 6, + 29, + "gauge44" + ], + [ + 6, + 106, + "gauge44" + ], + [ + 6, + 183, + "gauge44" + ], + [ + 6, + 260, + "gauge44" + ], + [ + 6, + 337, + "gauge44" + ], + [ + 8, + 20, + "gauge44" + ], + [ + 8, + 97, + "gauge44" + ], + [ + 8, + 174, + "gauge44" + ], + [ + 8, + 251, + "gauge44" + ], + [ + 8, + 328, + "gauge44" + ], + [ + 5, + 34, + "gauge44" + ], + [ + 5, + 111, + "gauge44" + ], + [ + 5, + 188, + "gauge44" + ], + [ + 5, + 265, + "gauge44" + ], + [ + 5, + 342, + "gauge44" + ], + [ + 7, + 25, + "gauge44" + ], + [ + 7, + 102, + "gauge44" + ], + [ + 7, + 179, + "gauge44" + ], + [ + 7, + 256, + "gauge44" + ], + [ + 7, + 333, + "gauge44" + ], + [ + 6, + 30, + "gauge44" + ], + [ + 6, + 107, + "gauge44" + ], + [ + 6, + 184, + "gauge44" + ], + [ + 6, + 261, + "gauge44" + ], + [ + 6, + 338, + "gauge44" + ], + [ + 8, + 21, + "gauge44" + ], + [ + 8, + 98, + "gauge44" + ], + [ + 8, + 175, + "gauge44" + ], + [ + 8, + 252, + "gauge44" + ], + [ + 8, + 329, + "gauge44" + ], + [ + 5, + 35, + "gauge44" + ], + [ + 5, + 112, + "gauge44" + ], + [ + 5, + 189, + "gauge44" + ], + [ + 5, + 266, + "gauge44" + ], + [ + 5, + 343, + "gauge44" + ], + [ + 7, + 26, + "gauge44" + ], + [ + 7, + 103, + "gauge44" + ], + [ + 7, + 180, + "gauge44" + ], + [ + 7, + 257, + "gauge44" + ], + [ + 7, + 334, + "gauge44" + ], + [ + 6, + 31, + "gauge44" + ], + [ + 6, + 108, + "gauge44" + ], + [ + 6, + 185, + "gauge44" + ], + [ + 6, + 262, + "gauge44" + ], + [ + 6, + 339, + "gauge44" + ], + [ + 8, + 22, + "gauge44" + ], + [ + 8, + 99, + "gauge44" + ], + [ + 8, + 176, + "gauge44" + ], + [ + 8, + 253, + "gauge44" + ], + [ + 8, + 330, + "gauge44" + ], + [ + 5, + 36, + "gauge44" + ], + [ + 5, + 113, + "gauge44" + ], + [ + 5, + 190, + "gauge44" + ], + [ + 5, + 267, + "gauge44" + ], + [ + 5, + 344, + "gauge44" + ], + [ + 7, + 27, + "gauge44" + ], + [ + 7, + 104, + "gauge44" + ], + [ + 7, + 181, + "gauge44" + ], + [ + 7, + 258, + "gauge44" + ], + [ + 7, + 335, + "gauge44" + ], + [ + 6, + 32, + "gauge44" + ], + [ + 6, + 109, + "gauge44" + ], + [ + 6, + 186, + "gauge44" + ], + [ + 6, + 263, + "gauge44" + ], + [ + 6, + 340, + "gauge44" + ], + [ + 8, + 23, + "gauge44" + ], + [ + 8, + 100, + "gauge44" + ], + [ + 8, + 177, + "gauge44" + ], + [ + 8, + 254, + "gauge44" + ], + [ + 8, + 331, + "gauge44" + ], + [ + 7, + 28, + "gauge44" + ], + [ + 7, + 105, + "gauge44" + ], + [ + 7, + 182, + "gauge44" + ], + [ + 7, + 259, + "gauge44" + ], + [ + 7, + 336, + "gauge44" + ], + [ + 6, + 33, + "gauge44" + ], + [ + 6, + 110, + "gauge44" + ], + [ + 6, + 187, + "gauge44" + ], + [ + 6, + 264, + "gauge44" + ], + [ + 6, + 341, + "gauge44" + ], + [ + 8, + 24, + "gauge44" + ], + [ + 8, + 101, + "gauge44" + ], + [ + 8, + 178, + "gauge44" + ], + [ + 8, + 255, + "gauge44" + ], + [ + 8, + 332, + "gauge44" + ], + [ + 7, + 29, + "gauge44" + ], + [ + 7, + 106, + "gauge44" + ], + [ + 7, + 183, + "gauge44" + ], + [ + 7, + 260, + "gauge44" + ], + [ + 7, + 337, + "gauge44" + ], + [ + 6, + 34, + "gauge44" + ], + [ + 6, + 111, + "gauge44" + ], + [ + 6, + 188, + "gauge44" + ], + [ + 6, + 265, + "gauge44" + ], + [ + 6, + 342, + "gauge44" + ], + [ + 8, + 25, + "gauge44" + ], + [ + 8, + 102, + "gauge44" + ], + [ + 8, + 179, + "gauge44" + ], + [ + 8, + 256, + "gauge44" + ], + [ + 8, + 333, + "gauge44" + ], + [ + 7, + 30, + "gauge44" + ], + [ + 7, + 107, + "gauge44" + ], + [ + 7, + 184, + "gauge44" + ], + [ + 7, + 261, + "gauge44" + ], + [ + 7, + 338, + "gauge44" + ], + [ + 6, + 35, + "gauge44" + ], + [ + 6, + 112, + "gauge44" + ], + [ + 6, + 189, + "gauge44" + ], + [ + 6, + 266, + "gauge44" + ], + [ + 6, + 343, + "gauge44" + ], + [ + 8, + 26, + "gauge44" + ], + [ + 8, + 103, + "gauge44" + ], + [ + 8, + 180, + "gauge44" + ], + [ + 8, + 257, + "gauge44" + ], + [ + 8, + 334, + "gauge44" + ], + [ + 7, + 31, + "gauge44" + ], + [ + 7, + 108, + "gauge44" + ], + [ + 7, + 185, + "gauge44" + ], + [ + 7, + 262, + "gauge44" + ], + [ + 7, + 339, + "gauge44" + ], + [ + 6, + 36, + "gauge44" + ], + [ + 6, + 113, + "gauge44" + ], + [ + 6, + 190, + "gauge44" + ], + [ + 6, + 267, + "gauge44" + ], + [ + 6, + 344, + "gauge44" + ], + [ + 8, + 27, + "gauge44" + ], + [ + 8, + 104, + "gauge44" + ], + [ + 8, + 181, + "gauge44" + ], + [ + 8, + 258, + "gauge44" + ], + [ + 8, + 335, + "gauge44" + ], + [ + 7, + 32, + "gauge44" + ], + [ + 7, + 109, + "gauge44" + ], + [ + 7, + 186, + "gauge44" + ], + [ + 7, + 263, + "gauge44" + ], + [ + 7, + 340, + "gauge44" + ], + [ + 8, + 28, + "gauge44" + ], + [ + 8, + 105, + "gauge44" + ], + [ + 8, + 182, + "gauge44" + ], + [ + 8, + 259, + "gauge44" + ], + [ + 8, + 336, + "gauge44" + ], + [ + 7, + 33, + "gauge44" + ], + [ + 7, + 110, + "gauge44" + ], + [ + 7, + 187, + "gauge44" + ], + [ + 7, + 264, + "gauge44" + ], + [ + 7, + 341, + "gauge44" + ], + [ + 8, + 29, + "gauge44" + ], + [ + 8, + 106, + "gauge44" + ], + [ + 8, + 183, + "gauge44" + ], + [ + 8, + 260, + "gauge44" + ], + [ + 8, + 337, + "gauge44" + ], + [ + 7, + 34, + "gauge44" + ], + [ + 7, + 111, + "gauge44" + ], + [ + 7, + 188, + "gauge44" + ], + [ + 7, + 265, + "gauge44" + ], + [ + 7, + 342, + "gauge44" + ], + [ + 8, + 30, + "gauge44" + ], + [ + 8, + 107, + "gauge44" + ], + [ + 8, + 184, + "gauge44" + ], + [ + 8, + 261, + "gauge44" + ], + [ + 8, + 338, + "gauge44" + ], + [ + 7, + 35, + "gauge44" + ], + [ + 7, + 112, + "gauge44" + ], + [ + 7, + 189, + "gauge44" + ], + [ + 7, + 266, + "gauge44" + ], + [ + 7, + 343, + "gauge44" + ], + [ + 8, + 31, + "gauge44" + ], + [ + 8, + 108, + "gauge44" + ], + [ + 8, + 185, + "gauge44" + ], + [ + 8, + 262, + "gauge44" + ], + [ + 8, + 339, + "gauge44" + ], + [ + 7, + 36, + "gauge44" + ], + [ + 7, + 113, + "gauge44" + ], + [ + 7, + 190, + "gauge44" + ], + [ + 7, + 267, + "gauge44" + ], + [ + 7, + 344, + "gauge44" + ], + [ + 8, + 32, + "gauge44" + ], + [ + 8, + 109, + "gauge44" + ], + [ + 8, + 186, + "gauge44" + ], + [ + 8, + 263, + "gauge44" + ], + [ + 8, + 340, + "gauge44" + ], + [ + 8, + 33, + "gauge44" + ], + [ + 8, + 110, + "gauge44" + ], + [ + 8, + 187, + "gauge44" + ], + [ + 8, + 264, + "gauge44" + ], + [ + 8, + 341, + "gauge44" + ], + [ + 8, + 34, + "gauge44" + ], + [ + 8, + 111, + "gauge44" + ], + [ + 8, + 188, + "gauge44" + ], + [ + 8, + 265, + "gauge44" + ], + [ + 8, + 342, + "gauge44" + ], + [ + 8, + 35, + "gauge44" + ], + [ + 8, + 112, + "gauge44" + ], + [ + 8, + 189, + "gauge44" + ], + [ + 8, + 266, + "gauge44" + ], + [ + 8, + 343, + "gauge44" + ], + [ + 8, + 36, + "gauge44" + ], + [ + 8, + 113, + "gauge44" + ], + [ + 8, + 190, + "gauge44" + ], + [ + 8, + 267, + "gauge44" + ], + [ + 8, + 344, + "gauge44" + ], + [ + 0, + 37, + "extra" + ], + [ + 0, + 114, + "extra" + ], + [ + 0, + 191, + "extra" + ], + [ + 0, + 268, + "extra" + ], + [ + 0, + 345, + "extra" + ], + [ + 0, + 38, + "gauge44" + ], + [ + 0, + 115, + "gauge44" + ], + [ + 0, + 192, + "gauge44" + ], + [ + 0, + 269, + "gauge44" + ], + [ + 0, + 346, + "gauge44" + ], + [ + 1, + 37, + "gauge44" + ], + [ + 1, + 114, + "gauge44" + ], + [ + 1, + 191, + "gauge44" + ], + [ + 1, + 268, + "gauge44" + ], + [ + 1, + 345, + "gauge44" + ], + [ + 0, + 39, + "gauge44" + ], + [ + 0, + 116, + "gauge44" + ], + [ + 0, + 193, + "gauge44" + ], + [ + 0, + 270, + "gauge44" + ], + [ + 0, + 347, + "gauge44" + ], + [ + 1, + 38, + "gauge44" + ], + [ + 1, + 115, + "gauge44" + ], + [ + 1, + 192, + "gauge44" + ], + [ + 1, + 269, + "gauge44" + ], + [ + 1, + 346, + "gauge44" + ], + [ + 2, + 37, + "gauge44" + ], + [ + 2, + 114, + "gauge44" + ], + [ + 2, + 191, + "gauge44" + ], + [ + 2, + 268, + "gauge44" + ], + [ + 2, + 345, + "gauge44" + ], + [ + 0, + 40, + "gauge44" + ], + [ + 0, + 117, + "gauge44" + ], + [ + 0, + 194, + "gauge44" + ], + [ + 0, + 271, + "gauge44" + ], + [ + 0, + 348, + "gauge44" + ], + [ + 3, + 37, + "gauge44" + ], + [ + 3, + 114, + "gauge44" + ], + [ + 3, + 191, + "gauge44" + ], + [ + 3, + 268, + "gauge44" + ], + [ + 3, + 345, + "gauge44" + ], + [ + 1, + 39, + "gauge44" + ], + [ + 1, + 116, + "gauge44" + ], + [ + 1, + 193, + "gauge44" + ], + [ + 1, + 270, + "gauge44" + ], + [ + 1, + 347, + "gauge44" + ], + [ + 2, + 38, + "gauge44" + ], + [ + 2, + 115, + "gauge44" + ], + [ + 2, + 192, + "gauge44" + ], + [ + 2, + 269, + "gauge44" + ], + [ + 2, + 346, + "gauge44" + ], + [ + 0, + 41, + "gauge44" + ], + [ + 0, + 118, + "gauge44" + ], + [ + 0, + 195, + "gauge44" + ], + [ + 0, + 272, + "gauge44" + ], + [ + 0, + 349, + "gauge44" + ], + [ + 2, + 39, + "gauge44" + ], + [ + 2, + 116, + "gauge44" + ], + [ + 2, + 193, + "gauge44" + ], + [ + 2, + 270, + "gauge44" + ], + [ + 2, + 347, + "gauge44" + ], + [ + 1, + 40, + "gauge44" + ], + [ + 1, + 117, + "gauge44" + ], + [ + 1, + 194, + "gauge44" + ], + [ + 1, + 271, + "gauge44" + ], + [ + 1, + 348, + "gauge44" + ], + [ + 3, + 38, + "gauge44" + ], + [ + 3, + 115, + "gauge44" + ], + [ + 3, + 192, + "gauge44" + ], + [ + 3, + 269, + "gauge44" + ], + [ + 3, + 346, + "gauge44" + ], + [ + 4, + 37, + "gauge44" + ], + [ + 4, + 114, + "gauge44" + ], + [ + 4, + 191, + "gauge44" + ], + [ + 4, + 268, + "gauge44" + ], + [ + 4, + 345, + "gauge44" + ], + [ + 0, + 42, + "gauge44" + ], + [ + 0, + 119, + "gauge44" + ], + [ + 0, + 196, + "gauge44" + ], + [ + 0, + 273, + "gauge44" + ], + [ + 0, + 350, + "gauge44" + ], + [ + 1, + 41, + "gauge44" + ], + [ + 1, + 118, + "gauge44" + ], + [ + 1, + 195, + "gauge44" + ], + [ + 1, + 272, + "gauge44" + ], + [ + 1, + 349, + "gauge44" + ], + [ + 2, + 40, + "gauge44" + ], + [ + 2, + 117, + "gauge44" + ], + [ + 2, + 194, + "gauge44" + ], + [ + 2, + 271, + "gauge44" + ], + [ + 2, + 348, + "gauge44" + ], + [ + 3, + 39, + "gauge44" + ], + [ + 3, + 116, + "gauge44" + ], + [ + 3, + 193, + "gauge44" + ], + [ + 3, + 270, + "gauge44" + ], + [ + 3, + 347, + "gauge44" + ], + [ + 4, + 38, + "gauge44" + ], + [ + 4, + 115, + "gauge44" + ], + [ + 4, + 192, + "gauge44" + ], + [ + 4, + 269, + "gauge44" + ], + [ + 4, + 346, + "gauge44" + ], + [ + 5, + 37, + "gauge44" + ], + [ + 5, + 114, + "gauge44" + ], + [ + 5, + 191, + "gauge44" + ], + [ + 5, + 268, + "gauge44" + ], + [ + 5, + 345, + "gauge44" + ], + [ + 0, + 43, + "gauge44" + ], + [ + 0, + 120, + "gauge44" + ], + [ + 0, + 197, + "gauge44" + ], + [ + 0, + 274, + "gauge44" + ], + [ + 0, + 351, + "gauge44" + ], + [ + 1, + 42, + "gauge44" + ], + [ + 1, + 119, + "gauge44" + ], + [ + 1, + 196, + "gauge44" + ], + [ + 1, + 273, + "gauge44" + ], + [ + 1, + 350, + "gauge44" + ], + [ + 2, + 41, + "gauge44" + ], + [ + 2, + 118, + "gauge44" + ], + [ + 2, + 195, + "gauge44" + ], + [ + 2, + 272, + "gauge44" + ], + [ + 2, + 349, + "gauge44" + ], + [ + 3, + 40, + "gauge44" + ], + [ + 3, + 117, + "gauge44" + ], + [ + 3, + 194, + "gauge44" + ], + [ + 3, + 271, + "gauge44" + ], + [ + 3, + 348, + "gauge44" + ], + [ + 4, + 39, + "gauge44" + ], + [ + 4, + 116, + "gauge44" + ], + [ + 4, + 193, + "gauge44" + ], + [ + 4, + 270, + "gauge44" + ], + [ + 4, + 347, + "gauge44" + ], + [ + 5, + 38, + "gauge44" + ], + [ + 5, + 115, + "gauge44" + ], + [ + 5, + 192, + "gauge44" + ], + [ + 5, + 269, + "gauge44" + ], + [ + 5, + 346, + "gauge44" + ], + [ + 0, + 44, + "gauge44" + ], + [ + 0, + 121, + "gauge44" + ], + [ + 0, + 198, + "gauge44" + ], + [ + 0, + 275, + "gauge44" + ], + [ + 0, + 352, + "gauge44" + ], + [ + 6, + 37, + "gauge44" + ], + [ + 6, + 114, + "gauge44" + ], + [ + 6, + 191, + "gauge44" + ], + [ + 6, + 268, + "gauge44" + ], + [ + 6, + 345, + "gauge44" + ], + [ + 1, + 43, + "gauge44" + ], + [ + 1, + 120, + "gauge44" + ], + [ + 1, + 197, + "gauge44" + ], + [ + 1, + 274, + "gauge44" + ], + [ + 1, + 351, + "gauge44" + ], + [ + 2, + 42, + "gauge44" + ], + [ + 2, + 119, + "gauge44" + ], + [ + 2, + 196, + "gauge44" + ], + [ + 2, + 273, + "gauge44" + ], + [ + 2, + 350, + "gauge44" + ], + [ + 3, + 41, + "gauge44" + ], + [ + 3, + 118, + "gauge44" + ], + [ + 3, + 195, + "gauge44" + ], + [ + 3, + 272, + "gauge44" + ], + [ + 3, + 349, + "gauge44" + ], + [ + 4, + 40, + "gauge44" + ], + [ + 4, + 117, + "gauge44" + ], + [ + 4, + 194, + "gauge44" + ], + [ + 4, + 271, + "gauge44" + ], + [ + 4, + 348, + "gauge44" + ], + [ + 5, + 39, + "gauge44" + ], + [ + 5, + 116, + "gauge44" + ], + [ + 5, + 193, + "gauge44" + ], + [ + 5, + 270, + "gauge44" + ], + [ + 5, + 347, + "gauge44" + ], + [ + 6, + 38, + "gauge44" + ], + [ + 6, + 115, + "gauge44" + ], + [ + 6, + 192, + "gauge44" + ], + [ + 6, + 269, + "gauge44" + ], + [ + 6, + 346, + "gauge44" + ], + [ + 1, + 44, + "gauge44" + ], + [ + 1, + 121, + "gauge44" + ], + [ + 1, + 198, + "gauge44" + ], + [ + 1, + 275, + "gauge44" + ], + [ + 1, + 352, + "gauge44" + ], + [ + 7, + 37, + "gauge44" + ], + [ + 7, + 114, + "gauge44" + ], + [ + 7, + 191, + "gauge44" + ], + [ + 7, + 268, + "gauge44" + ], + [ + 7, + 345, + "gauge44" + ], + [ + 2, + 43, + "gauge44" + ], + [ + 2, + 120, + "gauge44" + ], + [ + 2, + 197, + "gauge44" + ], + [ + 2, + 274, + "gauge44" + ], + [ + 2, + 351, + "gauge44" + ], + [ + 3, + 42, + "gauge44" + ], + [ + 3, + 119, + "gauge44" + ], + [ + 3, + 196, + "gauge44" + ], + [ + 3, + 273, + "gauge44" + ], + [ + 3, + 350, + "gauge44" + ], + [ + 4, + 41, + "gauge44" + ], + [ + 4, + 118, + "gauge44" + ], + [ + 4, + 195, + "gauge44" + ], + [ + 4, + 272, + "gauge44" + ], + [ + 4, + 349, + "gauge44" + ], + [ + 5, + 40, + "gauge44" + ], + [ + 5, + 117, + "gauge44" + ], + [ + 5, + 194, + "gauge44" + ], + [ + 5, + 271, + "gauge44" + ], + [ + 5, + 348, + "gauge44" + ], + [ + 6, + 39, + "gauge44" + ], + [ + 6, + 116, + "gauge44" + ], + [ + 6, + 193, + "gauge44" + ], + [ + 6, + 270, + "gauge44" + ], + [ + 6, + 347, + "gauge44" + ], + [ + 7, + 38, + "gauge44" + ], + [ + 7, + 115, + "gauge44" + ], + [ + 7, + 192, + "gauge44" + ], + [ + 7, + 269, + "gauge44" + ], + [ + 7, + 346, + "gauge44" + ], + [ + 2, + 44, + "gauge44" + ], + [ + 2, + 121, + "gauge44" + ], + [ + 2, + 198, + "gauge44" + ], + [ + 2, + 275, + "gauge44" + ], + [ + 2, + 352, + "gauge44" + ], + [ + 8, + 37, + "gauge44" + ], + [ + 8, + 114, + "gauge44" + ], + [ + 8, + 191, + "gauge44" + ], + [ + 8, + 268, + "gauge44" + ], + [ + 8, + 345, + "gauge44" + ], + [ + 3, + 43, + "gauge44" + ], + [ + 3, + 120, + "gauge44" + ], + [ + 3, + 197, + "gauge44" + ], + [ + 3, + 274, + "gauge44" + ], + [ + 3, + 351, + "gauge44" + ], + [ + 4, + 42, + "gauge44" + ], + [ + 4, + 119, + "gauge44" + ], + [ + 4, + 196, + "gauge44" + ], + [ + 4, + 273, + "gauge44" + ], + [ + 4, + 350, + "gauge44" + ], + [ + 5, + 41, + "gauge44" + ], + [ + 5, + 118, + "gauge44" + ], + [ + 5, + 195, + "gauge44" + ], + [ + 5, + 272, + "gauge44" + ], + [ + 5, + 349, + "gauge44" + ], + [ + 6, + 40, + "gauge44" + ], + [ + 6, + 117, + "gauge44" + ], + [ + 6, + 194, + "gauge44" + ], + [ + 6, + 271, + "gauge44" + ], + [ + 6, + 348, + "gauge44" + ], + [ + 7, + 39, + "gauge44" + ], + [ + 7, + 116, + "gauge44" + ], + [ + 7, + 193, + "gauge44" + ], + [ + 7, + 270, + "gauge44" + ], + [ + 7, + 347, + "gauge44" + ], + [ + 8, + 38, + "gauge44" + ], + [ + 8, + 115, + "gauge44" + ], + [ + 8, + 192, + "gauge44" + ], + [ + 8, + 269, + "gauge44" + ], + [ + 8, + 346, + "gauge44" + ], + [ + 3, + 44, + "gauge44" + ], + [ + 3, + 121, + "gauge44" + ], + [ + 3, + 198, + "gauge44" + ], + [ + 3, + 275, + "gauge44" + ], + [ + 3, + 352, + "gauge44" + ], + [ + 4, + 43, + "gauge44" + ], + [ + 4, + 120, + "gauge44" + ], + [ + 4, + 197, + "gauge44" + ], + [ + 4, + 274, + "gauge44" + ], + [ + 4, + 351, + "gauge44" + ], + [ + 5, + 42, + "gauge44" + ], + [ + 5, + 119, + "gauge44" + ], + [ + 5, + 196, + "gauge44" + ], + [ + 5, + 273, + "gauge44" + ], + [ + 5, + 350, + "gauge44" + ], + [ + 6, + 41, + "gauge44" + ], + [ + 6, + 118, + "gauge44" + ], + [ + 6, + 195, + "gauge44" + ], + [ + 6, + 272, + "gauge44" + ], + [ + 6, + 349, + "gauge44" + ], + [ + 7, + 40, + "gauge44" + ], + [ + 7, + 117, + "gauge44" + ], + [ + 7, + 194, + "gauge44" + ], + [ + 7, + 271, + "gauge44" + ], + [ + 7, + 348, + "gauge44" + ], + [ + 8, + 39, + "gauge44" + ], + [ + 8, + 116, + "gauge44" + ], + [ + 8, + 193, + "gauge44" + ], + [ + 8, + 270, + "gauge44" + ], + [ + 8, + 347, + "gauge44" + ], + [ + 4, + 44, + "gauge44" + ], + [ + 4, + 121, + "gauge44" + ], + [ + 4, + 198, + "gauge44" + ], + [ + 4, + 275, + "gauge44" + ], + [ + 4, + 352, + "gauge44" + ], + [ + 5, + 43, + "gauge44" + ], + [ + 5, + 120, + "gauge44" + ], + [ + 5, + 197, + "gauge44" + ], + [ + 5, + 274, + "gauge44" + ], + [ + 5, + 351, + "gauge44" + ], + [ + 6, + 42, + "gauge44" + ], + [ + 6, + 119, + "gauge44" + ], + [ + 6, + 196, + "gauge44" + ], + [ + 6, + 273, + "gauge44" + ], + [ + 6, + 350, + "gauge44" + ], + [ + 7, + 41, + "gauge44" + ], + [ + 7, + 118, + "gauge44" + ], + [ + 7, + 195, + "gauge44" + ], + [ + 7, + 272, + "gauge44" + ], + [ + 7, + 349, + "gauge44" + ], + [ + 8, + 40, + "gauge44" + ], + [ + 8, + 117, + "gauge44" + ], + [ + 8, + 194, + "gauge44" + ], + [ + 8, + 271, + "gauge44" + ], + [ + 8, + 348, + "gauge44" + ], + [ + 5, + 44, + "gauge44" + ], + [ + 5, + 121, + "gauge44" + ], + [ + 5, + 198, + "gauge44" + ], + [ + 5, + 275, + "gauge44" + ], + [ + 5, + 352, + "gauge44" + ], + [ + 6, + 43, + "gauge44" + ], + [ + 6, + 120, + "gauge44" + ], + [ + 6, + 197, + "gauge44" + ], + [ + 6, + 274, + "gauge44" + ], + [ + 6, + 351, + "gauge44" + ], + [ + 7, + 42, + "gauge44" + ], + [ + 7, + 119, + "gauge44" + ], + [ + 7, + 196, + "gauge44" + ], + [ + 7, + 273, + "gauge44" + ], + [ + 7, + 350, + "gauge44" + ], + [ + 8, + 41, + "gauge44" + ], + [ + 8, + 118, + "gauge44" + ], + [ + 8, + 195, + "gauge44" + ], + [ + 8, + 272, + "gauge44" + ], + [ + 8, + 349, + "gauge44" + ], + [ + 6, + 44, + "gauge44" + ], + [ + 6, + 121, + "gauge44" + ], + [ + 6, + 198, + "gauge44" + ], + [ + 6, + 275, + "gauge44" + ], + [ + 6, + 352, + "gauge44" + ], + [ + 7, + 43, + "gauge44" + ], + [ + 7, + 120, + "gauge44" + ], + [ + 7, + 197, + "gauge44" + ], + [ + 7, + 274, + "gauge44" + ], + [ + 7, + 351, + "gauge44" + ], + [ + 8, + 42, + "gauge44" + ], + [ + 8, + 119, + "gauge44" + ], + [ + 8, + 196, + "gauge44" + ], + [ + 8, + 273, + "gauge44" + ], + [ + 8, + 350, + "gauge44" + ], + [ + 7, + 44, + "gauge44" + ], + [ + 7, + 121, + "gauge44" + ], + [ + 7, + 198, + "gauge44" + ], + [ + 7, + 275, + "gauge44" + ], + [ + 7, + 352, + "gauge44" + ], + [ + 8, + 43, + "gauge44" + ], + [ + 8, + 120, + "gauge44" + ], + [ + 8, + 197, + "gauge44" + ], + [ + 8, + 274, + "gauge44" + ], + [ + 8, + 351, + "gauge44" + ], + [ + 8, + 44, + "gauge44" + ], + [ + 8, + 121, + "gauge44" + ], + [ + 8, + 198, + "gauge44" + ], + [ + 8, + 275, + "gauge44" + ], + [ + 8, + 352, + "gauge44" + ], + [ + 0, + 45, + "extra" + ], + [ + 0, + 122, + "extra" + ], + [ + 0, + 199, + "extra" + ], + [ + 0, + 276, + "extra" + ], + [ + 0, + 353, + "extra" + ], + [ + 0, + 53, + "gauge44" + ], + [ + 0, + 130, + "gauge44" + ], + [ + 0, + 207, + "gauge44" + ], + [ + 0, + 284, + "gauge44" + ], + [ + 0, + 361, + "gauge44" + ], + [ + 0, + 46, + "gauge44" + ], + [ + 0, + 123, + "gauge44" + ], + [ + 0, + 200, + "gauge44" + ], + [ + 0, + 277, + "gauge44" + ], + [ + 0, + 354, + "gauge44" + ], + [ + 0, + 54, + "gauge44" + ], + [ + 0, + 131, + "gauge44" + ], + [ + 0, + 208, + "gauge44" + ], + [ + 0, + 285, + "gauge44" + ], + [ + 0, + 362, + "gauge44" + ], + [ + 1, + 45, + "gauge44" + ], + [ + 1, + 122, + "gauge44" + ], + [ + 1, + 199, + "gauge44" + ], + [ + 1, + 276, + "gauge44" + ], + [ + 1, + 353, + "gauge44" + ], + [ + 1, + 53, + "gauge44" + ], + [ + 1, + 130, + "gauge44" + ], + [ + 1, + 207, + "gauge44" + ], + [ + 1, + 284, + "gauge44" + ], + [ + 1, + 361, + "gauge44" + ], + [ + 0, + 47, + "gauge44" + ], + [ + 0, + 124, + "gauge44" + ], + [ + 0, + 201, + "gauge44" + ], + [ + 0, + 278, + "gauge44" + ], + [ + 0, + 355, + "gauge44" + ], + [ + 0, + 55, + "gauge44" + ], + [ + 0, + 132, + "gauge44" + ], + [ + 0, + 209, + "gauge44" + ], + [ + 0, + 286, + "gauge44" + ], + [ + 0, + 363, + "gauge44" + ], + [ + 1, + 46, + "gauge44" + ], + [ + 1, + 123, + "gauge44" + ], + [ + 1, + 200, + "gauge44" + ], + [ + 1, + 277, + "gauge44" + ], + [ + 1, + 354, + "gauge44" + ], + [ + 1, + 54, + "gauge44" + ], + [ + 1, + 131, + "gauge44" + ], + [ + 1, + 208, + "gauge44" + ], + [ + 1, + 285, + "gauge44" + ], + [ + 1, + 362, + "gauge44" + ], + [ + 2, + 45, + "gauge44" + ], + [ + 2, + 122, + "gauge44" + ], + [ + 2, + 199, + "gauge44" + ], + [ + 2, + 276, + "gauge44" + ], + [ + 2, + 353, + "gauge44" + ], + [ + 2, + 53, + "gauge44" + ], + [ + 2, + 130, + "gauge44" + ], + [ + 2, + 207, + "gauge44" + ], + [ + 2, + 284, + "gauge44" + ], + [ + 2, + 361, + "gauge44" + ], + [ + 0, + 48, + "gauge44" + ], + [ + 0, + 125, + "gauge44" + ], + [ + 0, + 202, + "gauge44" + ], + [ + 0, + 279, + "gauge44" + ], + [ + 0, + 356, + "gauge44" + ], + [ + 0, + 56, + "gauge44" + ], + [ + 0, + 133, + "gauge44" + ], + [ + 0, + 210, + "gauge44" + ], + [ + 0, + 287, + "gauge44" + ], + [ + 0, + 364, + "gauge44" + ], + [ + 1, + 47, + "gauge44" + ], + [ + 1, + 124, + "gauge44" + ], + [ + 1, + 201, + "gauge44" + ], + [ + 1, + 278, + "gauge44" + ], + [ + 1, + 355, + "gauge44" + ], + [ + 1, + 55, + "gauge44" + ], + [ + 1, + 132, + "gauge44" + ], + [ + 1, + 209, + "gauge44" + ], + [ + 1, + 286, + "gauge44" + ], + [ + 1, + 363, + "gauge44" + ], + [ + 2, + 46, + "gauge44" + ], + [ + 2, + 123, + "gauge44" + ], + [ + 2, + 200, + "gauge44" + ], + [ + 2, + 277, + "gauge44" + ], + [ + 2, + 354, + "gauge44" + ], + [ + 2, + 54, + "gauge44" + ], + [ + 2, + 131, + "gauge44" + ], + [ + 2, + 208, + "gauge44" + ], + [ + 2, + 285, + "gauge44" + ], + [ + 2, + 362, + "gauge44" + ], + [ + 3, + 45, + "gauge44" + ], + [ + 3, + 122, + "gauge44" + ], + [ + 3, + 199, + "gauge44" + ], + [ + 3, + 276, + "gauge44" + ], + [ + 3, + 353, + "gauge44" + ], + [ + 3, + 53, + "gauge44" + ], + [ + 3, + 130, + "gauge44" + ], + [ + 3, + 207, + "gauge44" + ], + [ + 3, + 284, + "gauge44" + ], + [ + 3, + 361, + "gauge44" + ], + [ + 0, + 49, + "gauge44" + ], + [ + 0, + 126, + "gauge44" + ], + [ + 0, + 203, + "gauge44" + ], + [ + 0, + 280, + "gauge44" + ], + [ + 0, + 357, + "gauge44" + ], + [ + 0, + 57, + "gauge44" + ], + [ + 0, + 134, + "gauge44" + ], + [ + 0, + 211, + "gauge44" + ], + [ + 0, + 288, + "gauge44" + ], + [ + 0, + 365, + "gauge44" + ], + [ + 1, + 48, + "gauge44" + ], + [ + 1, + 125, + "gauge44" + ], + [ + 1, + 202, + "gauge44" + ], + [ + 1, + 279, + "gauge44" + ], + [ + 1, + 356, + "gauge44" + ], + [ + 1, + 56, + "gauge44" + ], + [ + 1, + 133, + "gauge44" + ], + [ + 1, + 210, + "gauge44" + ], + [ + 1, + 287, + "gauge44" + ], + [ + 1, + 364, + "gauge44" + ], + [ + 2, + 47, + "gauge44" + ], + [ + 2, + 124, + "gauge44" + ], + [ + 2, + 201, + "gauge44" + ], + [ + 2, + 278, + "gauge44" + ], + [ + 2, + 355, + "gauge44" + ], + [ + 2, + 55, + "gauge44" + ], + [ + 2, + 132, + "gauge44" + ], + [ + 2, + 209, + "gauge44" + ], + [ + 2, + 286, + "gauge44" + ], + [ + 2, + 363, + "gauge44" + ], + [ + 3, + 46, + "gauge44" + ], + [ + 3, + 123, + "gauge44" + ], + [ + 3, + 200, + "gauge44" + ], + [ + 3, + 277, + "gauge44" + ], + [ + 3, + 354, + "gauge44" + ], + [ + 3, + 54, + "gauge44" + ], + [ + 3, + 131, + "gauge44" + ], + [ + 3, + 208, + "gauge44" + ], + [ + 3, + 285, + "gauge44" + ], + [ + 3, + 362, + "gauge44" + ], + [ + 4, + 45, + "gauge44" + ], + [ + 4, + 122, + "gauge44" + ], + [ + 4, + 199, + "gauge44" + ], + [ + 4, + 276, + "gauge44" + ], + [ + 4, + 353, + "gauge44" + ], + [ + 4, + 53, + "gauge44" + ], + [ + 4, + 130, + "gauge44" + ], + [ + 4, + 207, + "gauge44" + ], + [ + 4, + 284, + "gauge44" + ], + [ + 4, + 361, + "gauge44" + ], + [ + 0, + 50, + "gauge44" + ], + [ + 0, + 127, + "gauge44" + ], + [ + 0, + 204, + "gauge44" + ], + [ + 0, + 281, + "gauge44" + ], + [ + 0, + 358, + "gauge44" + ], + [ + 0, + 58, + "gauge44" + ], + [ + 0, + 135, + "gauge44" + ], + [ + 0, + 212, + "gauge44" + ], + [ + 0, + 289, + "gauge44" + ], + [ + 0, + 366, + "gauge44" + ], + [ + 1, + 49, + "gauge44" + ], + [ + 1, + 126, + "gauge44" + ], + [ + 1, + 203, + "gauge44" + ], + [ + 1, + 280, + "gauge44" + ], + [ + 1, + 357, + "gauge44" + ], + [ + 1, + 57, + "gauge44" + ], + [ + 1, + 134, + "gauge44" + ], + [ + 1, + 211, + "gauge44" + ], + [ + 1, + 288, + "gauge44" + ], + [ + 1, + 365, + "gauge44" + ], + [ + 2, + 48, + "gauge44" + ], + [ + 2, + 125, + "gauge44" + ], + [ + 2, + 202, + "gauge44" + ], + [ + 2, + 279, + "gauge44" + ], + [ + 2, + 356, + "gauge44" + ], + [ + 2, + 56, + "gauge44" + ], + [ + 2, + 133, + "gauge44" + ], + [ + 2, + 210, + "gauge44" + ], + [ + 2, + 287, + "gauge44" + ], + [ + 2, + 364, + "gauge44" + ], + [ + 3, + 47, + "gauge44" + ], + [ + 3, + 124, + "gauge44" + ], + [ + 3, + 201, + "gauge44" + ], + [ + 3, + 278, + "gauge44" + ], + [ + 3, + 355, + "gauge44" + ], + [ + 3, + 55, + "gauge44" + ], + [ + 3, + 132, + "gauge44" + ], + [ + 3, + 209, + "gauge44" + ], + [ + 3, + 286, + "gauge44" + ], + [ + 3, + 363, + "gauge44" + ], + [ + 4, + 46, + "gauge44" + ], + [ + 4, + 123, + "gauge44" + ], + [ + 4, + 200, + "gauge44" + ], + [ + 4, + 277, + "gauge44" + ], + [ + 4, + 354, + "gauge44" + ], + [ + 4, + 54, + "gauge44" + ], + [ + 4, + 131, + "gauge44" + ], + [ + 4, + 208, + "gauge44" + ], + [ + 4, + 285, + "gauge44" + ], + [ + 4, + 362, + "gauge44" + ], + [ + 5, + 45, + "gauge44" + ], + [ + 5, + 122, + "gauge44" + ], + [ + 5, + 199, + "gauge44" + ], + [ + 5, + 276, + "gauge44" + ], + [ + 5, + 353, + "gauge44" + ], + [ + 5, + 53, + "gauge44" + ], + [ + 5, + 130, + "gauge44" + ], + [ + 5, + 207, + "gauge44" + ], + [ + 5, + 284, + "gauge44" + ], + [ + 5, + 361, + "gauge44" + ], + [ + 0, + 51, + "gauge44" + ], + [ + 0, + 128, + "gauge44" + ], + [ + 0, + 205, + "gauge44" + ], + [ + 0, + 282, + "gauge44" + ], + [ + 0, + 359, + "gauge44" + ], + [ + 0, + 59, + "gauge44" + ], + [ + 0, + 136, + "gauge44" + ], + [ + 0, + 213, + "gauge44" + ], + [ + 0, + 290, + "gauge44" + ], + [ + 0, + 367, + "gauge44" + ], + [ + 1, + 50, + "gauge44" + ], + [ + 1, + 127, + "gauge44" + ], + [ + 1, + 204, + "gauge44" + ], + [ + 1, + 281, + "gauge44" + ], + [ + 1, + 358, + "gauge44" + ], + [ + 1, + 58, + "gauge44" + ], + [ + 1, + 135, + "gauge44" + ], + [ + 1, + 212, + "gauge44" + ], + [ + 1, + 289, + "gauge44" + ], + [ + 1, + 366, + "gauge44" + ], + [ + 2, + 49, + "gauge44" + ], + [ + 2, + 126, + "gauge44" + ], + [ + 2, + 203, + "gauge44" + ], + [ + 2, + 280, + "gauge44" + ], + [ + 2, + 357, + "gauge44" + ], + [ + 2, + 57, + "gauge44" + ], + [ + 2, + 134, + "gauge44" + ], + [ + 2, + 211, + "gauge44" + ], + [ + 2, + 288, + "gauge44" + ], + [ + 2, + 365, + "gauge44" + ], + [ + 3, + 48, + "gauge44" + ], + [ + 3, + 125, + "gauge44" + ], + [ + 3, + 202, + "gauge44" + ], + [ + 3, + 279, + "gauge44" + ], + [ + 3, + 356, + "gauge44" + ], + [ + 3, + 56, + "gauge44" + ], + [ + 3, + 133, + "gauge44" + ], + [ + 3, + 210, + "gauge44" + ], + [ + 3, + 287, + "gauge44" + ], + [ + 3, + 364, + "gauge44" + ], + [ + 4, + 47, + "gauge44" + ], + [ + 4, + 124, + "gauge44" + ], + [ + 4, + 201, + "gauge44" + ], + [ + 4, + 278, + "gauge44" + ], + [ + 4, + 355, + "gauge44" + ], + [ + 4, + 55, + "gauge44" + ], + [ + 4, + 132, + "gauge44" + ], + [ + 4, + 209, + "gauge44" + ], + [ + 4, + 286, + "gauge44" + ], + [ + 4, + 363, + "gauge44" + ], + [ + 5, + 46, + "gauge44" + ], + [ + 5, + 123, + "gauge44" + ], + [ + 5, + 200, + "gauge44" + ], + [ + 5, + 277, + "gauge44" + ], + [ + 5, + 354, + "gauge44" + ], + [ + 5, + 54, + "gauge44" + ], + [ + 5, + 131, + "gauge44" + ], + [ + 5, + 208, + "gauge44" + ], + [ + 5, + 285, + "gauge44" + ], + [ + 5, + 362, + "gauge44" + ], + [ + 0, + 52, + "gauge44" + ], + [ + 0, + 129, + "gauge44" + ], + [ + 0, + 206, + "gauge44" + ], + [ + 0, + 283, + "gauge44" + ], + [ + 0, + 360, + "gauge44" + ], + [ + 0, + 60, + "gauge44" + ], + [ + 0, + 137, + "gauge44" + ], + [ + 0, + 214, + "gauge44" + ], + [ + 0, + 291, + "gauge44" + ], + [ + 0, + 368, + "gauge44" + ], + [ + 6, + 45, + "gauge44" + ], + [ + 6, + 122, + "gauge44" + ], + [ + 6, + 199, + "gauge44" + ], + [ + 6, + 276, + "gauge44" + ], + [ + 6, + 353, + "gauge44" + ], + [ + 6, + 53, + "gauge44" + ], + [ + 6, + 130, + "gauge44" + ], + [ + 6, + 207, + "gauge44" + ], + [ + 6, + 284, + "gauge44" + ], + [ + 6, + 361, + "gauge44" + ], + [ + 1, + 51, + "gauge44" + ], + [ + 1, + 128, + "gauge44" + ], + [ + 1, + 205, + "gauge44" + ], + [ + 1, + 282, + "gauge44" + ], + [ + 1, + 359, + "gauge44" + ], + [ + 1, + 59, + "gauge44" + ], + [ + 1, + 136, + "gauge44" + ], + [ + 1, + 213, + "gauge44" + ], + [ + 1, + 290, + "gauge44" + ], + [ + 1, + 367, + "gauge44" + ], + [ + 2, + 50, + "gauge44" + ], + [ + 2, + 127, + "gauge44" + ], + [ + 2, + 204, + "gauge44" + ], + [ + 2, + 281, + "gauge44" + ], + [ + 2, + 358, + "gauge44" + ], + [ + 2, + 58, + "gauge44" + ], + [ + 2, + 135, + "gauge44" + ], + [ + 2, + 212, + "gauge44" + ], + [ + 2, + 289, + "gauge44" + ], + [ + 2, + 366, + "gauge44" + ], + [ + 3, + 49, + "gauge44" + ], + [ + 3, + 126, + "gauge44" + ], + [ + 3, + 203, + "gauge44" + ], + [ + 3, + 280, + "gauge44" + ], + [ + 3, + 357, + "gauge44" + ], + [ + 3, + 57, + "gauge44" + ], + [ + 3, + 134, + "gauge44" + ], + [ + 3, + 211, + "gauge44" + ], + [ + 3, + 288, + "gauge44" + ], + [ + 3, + 365, + "gauge44" + ], + [ + 4, + 48, + "gauge44" + ], + [ + 4, + 125, + "gauge44" + ], + [ + 4, + 202, + "gauge44" + ], + [ + 4, + 279, + "gauge44" + ], + [ + 4, + 356, + "gauge44" + ], + [ + 4, + 56, + "gauge44" + ], + [ + 4, + 133, + "gauge44" + ], + [ + 4, + 210, + "gauge44" + ], + [ + 4, + 287, + "gauge44" + ], + [ + 4, + 364, + "gauge44" + ], + [ + 5, + 47, + "gauge44" + ], + [ + 5, + 124, + "gauge44" + ], + [ + 5, + 201, + "gauge44" + ], + [ + 5, + 278, + "gauge44" + ], + [ + 5, + 355, + "gauge44" + ], + [ + 5, + 55, + "gauge44" + ], + [ + 5, + 132, + "gauge44" + ], + [ + 5, + 209, + "gauge44" + ], + [ + 5, + 286, + "gauge44" + ], + [ + 5, + 363, + "gauge44" + ], + [ + 6, + 46, + "gauge44" + ], + [ + 6, + 123, + "gauge44" + ], + [ + 6, + 200, + "gauge44" + ], + [ + 6, + 277, + "gauge44" + ], + [ + 6, + 354, + "gauge44" + ], + [ + 6, + 54, + "gauge44" + ], + [ + 6, + 131, + "gauge44" + ], + [ + 6, + 208, + "gauge44" + ], + [ + 6, + 285, + "gauge44" + ], + [ + 6, + 362, + "gauge44" + ], + [ + 1, + 52, + "gauge44" + ], + [ + 1, + 129, + "gauge44" + ], + [ + 1, + 206, + "gauge44" + ], + [ + 1, + 283, + "gauge44" + ], + [ + 1, + 360, + "gauge44" + ], + [ + 1, + 60, + "gauge44" + ], + [ + 1, + 137, + "gauge44" + ], + [ + 1, + 214, + "gauge44" + ], + [ + 1, + 291, + "gauge44" + ], + [ + 1, + 368, + "gauge44" + ], + [ + 7, + 45, + "gauge44" + ], + [ + 7, + 122, + "gauge44" + ], + [ + 7, + 199, + "gauge44" + ], + [ + 7, + 276, + "gauge44" + ], + [ + 7, + 353, + "gauge44" + ], + [ + 7, + 53, + "gauge44" + ], + [ + 7, + 130, + "gauge44" + ], + [ + 7, + 207, + "gauge44" + ], + [ + 7, + 284, + "gauge44" + ], + [ + 7, + 361, + "gauge44" + ], + [ + 2, + 51, + "gauge44" + ], + [ + 2, + 128, + "gauge44" + ], + [ + 2, + 205, + "gauge44" + ], + [ + 2, + 282, + "gauge44" + ], + [ + 2, + 359, + "gauge44" + ], + [ + 2, + 59, + "gauge44" + ], + [ + 2, + 136, + "gauge44" + ], + [ + 2, + 213, + "gauge44" + ], + [ + 2, + 290, + "gauge44" + ], + [ + 2, + 367, + "gauge44" + ], + [ + 3, + 50, + "gauge44" + ], + [ + 3, + 127, + "gauge44" + ], + [ + 3, + 204, + "gauge44" + ], + [ + 3, + 281, + "gauge44" + ], + [ + 3, + 358, + "gauge44" + ], + [ + 3, + 58, + "gauge44" + ], + [ + 3, + 135, + "gauge44" + ], + [ + 3, + 212, + "gauge44" + ], + [ + 3, + 289, + "gauge44" + ], + [ + 3, + 366, + "gauge44" + ], + [ + 4, + 49, + "gauge44" + ], + [ + 4, + 126, + "gauge44" + ], + [ + 4, + 203, + "gauge44" + ], + [ + 4, + 280, + "gauge44" + ], + [ + 4, + 357, + "gauge44" + ], + [ + 4, + 57, + "gauge44" + ], + [ + 4, + 134, + "gauge44" + ], + [ + 4, + 211, + "gauge44" + ], + [ + 4, + 288, + "gauge44" + ], + [ + 4, + 365, + "gauge44" + ], + [ + 5, + 48, + "gauge44" + ], + [ + 5, + 125, + "gauge44" + ], + [ + 5, + 202, + "gauge44" + ], + [ + 5, + 279, + "gauge44" + ], + [ + 5, + 356, + "gauge44" + ], + [ + 5, + 56, + "gauge44" + ], + [ + 5, + 133, + "gauge44" + ], + [ + 5, + 210, + "gauge44" + ], + [ + 5, + 287, + "gauge44" + ], + [ + 5, + 364, + "gauge44" + ], + [ + 6, + 47, + "gauge44" + ], + [ + 6, + 124, + "gauge44" + ], + [ + 6, + 201, + "gauge44" + ], + [ + 6, + 278, + "gauge44" + ], + [ + 6, + 355, + "gauge44" + ], + [ + 6, + 55, + "gauge44" + ], + [ + 6, + 132, + "gauge44" + ], + [ + 6, + 209, + "gauge44" + ], + [ + 6, + 286, + "gauge44" + ], + [ + 6, + 363, + "gauge44" + ], + [ + 7, + 46, + "gauge44" + ], + [ + 7, + 123, + "gauge44" + ], + [ + 7, + 200, + "gauge44" + ], + [ + 7, + 277, + "gauge44" + ], + [ + 7, + 354, + "gauge44" + ], + [ + 7, + 54, + "gauge44" + ], + [ + 7, + 131, + "gauge44" + ], + [ + 7, + 208, + "gauge44" + ], + [ + 7, + 285, + "gauge44" + ], + [ + 7, + 362, + "gauge44" + ], + [ + 2, + 52, + "gauge44" + ], + [ + 2, + 129, + "gauge44" + ], + [ + 2, + 206, + "gauge44" + ], + [ + 2, + 283, + "gauge44" + ], + [ + 2, + 360, + "gauge44" + ], + [ + 2, + 60, + "gauge44" + ], + [ + 2, + 137, + "gauge44" + ], + [ + 2, + 214, + "gauge44" + ], + [ + 2, + 291, + "gauge44" + ], + [ + 2, + 368, + "gauge44" + ], + [ + 8, + 45, + "gauge44" + ], + [ + 8, + 122, + "gauge44" + ], + [ + 8, + 199, + "gauge44" + ], + [ + 8, + 276, + "gauge44" + ], + [ + 8, + 353, + "gauge44" + ], + [ + 8, + 53, + "gauge44" + ], + [ + 8, + 130, + "gauge44" + ], + [ + 8, + 207, + "gauge44" + ], + [ + 8, + 284, + "gauge44" + ], + [ + 8, + 361, + "gauge44" + ], + [ + 3, + 51, + "gauge44" + ], + [ + 3, + 128, + "gauge44" + ], + [ + 3, + 205, + "gauge44" + ], + [ + 3, + 282, + "gauge44" + ], + [ + 3, + 359, + "gauge44" + ], + [ + 3, + 59, + "gauge44" + ], + [ + 3, + 136, + "gauge44" + ], + [ + 3, + 213, + "gauge44" + ], + [ + 3, + 290, + "gauge44" + ], + [ + 3, + 367, + "gauge44" + ], + [ + 4, + 50, + "gauge44" + ], + [ + 4, + 127, + "gauge44" + ], + [ + 4, + 204, + "gauge44" + ], + [ + 4, + 281, + "gauge44" + ], + [ + 4, + 358, + "gauge44" + ], + [ + 4, + 58, + "gauge44" + ], + [ + 4, + 135, + "gauge44" + ], + [ + 4, + 212, + "gauge44" + ], + [ + 4, + 289, + "gauge44" + ], + [ + 4, + 366, + "gauge44" + ], + [ + 5, + 49, + "gauge44" + ], + [ + 5, + 126, + "gauge44" + ], + [ + 5, + 203, + "gauge44" + ], + [ + 5, + 280, + "gauge44" + ], + [ + 5, + 357, + "gauge44" + ], + [ + 5, + 57, + "gauge44" + ], + [ + 5, + 134, + "gauge44" + ], + [ + 5, + 211, + "gauge44" + ], + [ + 5, + 288, + "gauge44" + ], + [ + 5, + 365, + "gauge44" + ], + [ + 6, + 48, + "gauge44" + ], + [ + 6, + 125, + "gauge44" + ], + [ + 6, + 202, + "gauge44" + ], + [ + 6, + 279, + "gauge44" + ], + [ + 6, + 356, + "gauge44" + ], + [ + 6, + 56, + "gauge44" + ], + [ + 6, + 133, + "gauge44" + ], + [ + 6, + 210, + "gauge44" + ], + [ + 6, + 287, + "gauge44" + ], + [ + 6, + 364, + "gauge44" + ], + [ + 7, + 47, + "gauge44" + ], + [ + 7, + 124, + "gauge44" + ], + [ + 7, + 201, + "gauge44" + ], + [ + 7, + 278, + "gauge44" + ], + [ + 7, + 355, + "gauge44" + ], + [ + 7, + 55, + "gauge44" + ], + [ + 7, + 132, + "gauge44" + ], + [ + 7, + 209, + "gauge44" + ], + [ + 7, + 286, + "gauge44" + ], + [ + 7, + 363, + "gauge44" + ], + [ + 8, + 46, + "gauge44" + ], + [ + 8, + 123, + "gauge44" + ], + [ + 8, + 200, + "gauge44" + ], + [ + 8, + 277, + "gauge44" + ], + [ + 8, + 354, + "gauge44" + ], + [ + 8, + 54, + "gauge44" + ], + [ + 8, + 131, + "gauge44" + ], + [ + 8, + 208, + "gauge44" + ], + [ + 8, + 285, + "gauge44" + ], + [ + 8, + 362, + "gauge44" + ], + [ + 3, + 52, + "gauge44" + ], + [ + 3, + 129, + "gauge44" + ], + [ + 3, + 206, + "gauge44" + ], + [ + 3, + 283, + "gauge44" + ], + [ + 3, + 360, + "gauge44" + ], + [ + 3, + 60, + "gauge44" + ], + [ + 3, + 137, + "gauge44" + ], + [ + 3, + 214, + "gauge44" + ], + [ + 3, + 291, + "gauge44" + ], + [ + 3, + 368, + "gauge44" + ], + [ + 4, + 51, + "gauge44" + ], + [ + 4, + 128, + "gauge44" + ], + [ + 4, + 205, + "gauge44" + ], + [ + 4, + 282, + "gauge44" + ], + [ + 4, + 359, + "gauge44" + ], + [ + 4, + 59, + "gauge44" + ], + [ + 4, + 136, + "gauge44" + ], + [ + 4, + 213, + "gauge44" + ], + [ + 4, + 290, + "gauge44" + ], + [ + 4, + 367, + "gauge44" + ], + [ + 5, + 50, + "gauge44" + ], + [ + 5, + 127, + "gauge44" + ], + [ + 5, + 204, + "gauge44" + ], + [ + 5, + 281, + "gauge44" + ], + [ + 5, + 358, + "gauge44" + ], + [ + 5, + 58, + "gauge44" + ], + [ + 5, + 135, + "gauge44" + ], + [ + 5, + 212, + "gauge44" + ], + [ + 5, + 289, + "gauge44" + ], + [ + 5, + 366, + "gauge44" + ], + [ + 6, + 49, + "gauge44" + ], + [ + 6, + 126, + "gauge44" + ], + [ + 6, + 203, + "gauge44" + ], + [ + 6, + 280, + "gauge44" + ], + [ + 6, + 357, + "gauge44" + ], + [ + 6, + 57, + "gauge44" + ], + [ + 6, + 134, + "gauge44" + ], + [ + 6, + 211, + "gauge44" + ], + [ + 6, + 288, + "gauge44" + ], + [ + 6, + 365, + "gauge44" + ], + [ + 7, + 48, + "gauge44" + ], + [ + 7, + 125, + "gauge44" + ], + [ + 7, + 202, + "gauge44" + ], + [ + 7, + 279, + "gauge44" + ], + [ + 7, + 356, + "gauge44" + ], + [ + 7, + 56, + "gauge44" + ], + [ + 7, + 133, + "gauge44" + ], + [ + 7, + 210, + "gauge44" + ], + [ + 7, + 287, + "gauge44" + ], + [ + 7, + 364, + "gauge44" + ], + [ + 8, + 47, + "gauge44" + ], + [ + 8, + 124, + "gauge44" + ], + [ + 8, + 201, + "gauge44" + ], + [ + 8, + 278, + "gauge44" + ], + [ + 8, + 355, + "gauge44" + ], + [ + 8, + 55, + "gauge44" + ], + [ + 8, + 132, + "gauge44" + ], + [ + 8, + 209, + "gauge44" + ], + [ + 8, + 286, + "gauge44" + ], + [ + 8, + 363, + "gauge44" + ], + [ + 4, + 52, + "gauge44" + ], + [ + 4, + 129, + "gauge44" + ], + [ + 4, + 206, + "gauge44" + ], + [ + 4, + 283, + "gauge44" + ], + [ + 4, + 360, + "gauge44" + ], + [ + 4, + 60, + "gauge44" + ], + [ + 4, + 137, + "gauge44" + ], + [ + 4, + 214, + "gauge44" + ], + [ + 4, + 291, + "gauge44" + ], + [ + 4, + 368, + "gauge44" + ], + [ + 5, + 51, + "gauge44" + ], + [ + 5, + 128, + "gauge44" + ], + [ + 5, + 205, + "gauge44" + ], + [ + 5, + 282, + "gauge44" + ], + [ + 5, + 359, + "gauge44" + ], + [ + 5, + 59, + "gauge44" + ], + [ + 5, + 136, + "gauge44" + ], + [ + 5, + 213, + "gauge44" + ], + [ + 5, + 290, + "gauge44" + ], + [ + 5, + 367, + "gauge44" + ], + [ + 6, + 50, + "gauge44" + ], + [ + 6, + 127, + "gauge44" + ], + [ + 6, + 204, + "gauge44" + ], + [ + 6, + 281, + "gauge44" + ], + [ + 6, + 358, + "gauge44" + ], + [ + 6, + 58, + "gauge44" + ], + [ + 6, + 135, + "gauge44" + ], + [ + 6, + 212, + "gauge44" + ], + [ + 6, + 289, + "gauge44" + ], + [ + 6, + 366, + "gauge44" + ], + [ + 7, + 49, + "gauge44" + ], + [ + 7, + 126, + "gauge44" + ], + [ + 7, + 203, + "gauge44" + ], + [ + 7, + 280, + "gauge44" + ], + [ + 7, + 357, + "gauge44" + ], + [ + 7, + 57, + "gauge44" + ], + [ + 7, + 134, + "gauge44" + ], + [ + 7, + 211, + "gauge44" + ], + [ + 7, + 288, + "gauge44" + ], + [ + 7, + 365, + "gauge44" + ], + [ + 8, + 48, + "gauge44" + ], + [ + 8, + 125, + "gauge44" + ], + [ + 8, + 202, + "gauge44" + ], + [ + 8, + 279, + "gauge44" + ], + [ + 8, + 356, + "gauge44" + ], + [ + 8, + 56, + "gauge44" + ], + [ + 8, + 133, + "gauge44" + ], + [ + 8, + 210, + "gauge44" + ], + [ + 8, + 287, + "gauge44" + ], + [ + 8, + 364, + "gauge44" + ], + [ + 5, + 52, + "gauge44" + ], + [ + 5, + 129, + "gauge44" + ], + [ + 5, + 206, + "gauge44" + ], + [ + 5, + 283, + "gauge44" + ], + [ + 5, + 360, + "gauge44" + ], + [ + 5, + 60, + "gauge44" + ], + [ + 5, + 137, + "gauge44" + ], + [ + 5, + 214, + "gauge44" + ], + [ + 5, + 291, + "gauge44" + ], + [ + 5, + 368, + "gauge44" + ], + [ + 6, + 51, + "gauge44" + ], + [ + 6, + 128, + "gauge44" + ], + [ + 6, + 205, + "gauge44" + ], + [ + 6, + 282, + "gauge44" + ], + [ + 6, + 359, + "gauge44" + ], + [ + 6, + 59, + "gauge44" + ], + [ + 6, + 136, + "gauge44" + ], + [ + 6, + 213, + "gauge44" + ], + [ + 6, + 290, + "gauge44" + ], + [ + 6, + 367, + "gauge44" + ], + [ + 7, + 50, + "gauge44" + ], + [ + 7, + 127, + "gauge44" + ], + [ + 7, + 204, + "gauge44" + ], + [ + 7, + 281, + "gauge44" + ], + [ + 7, + 358, + "gauge44" + ], + [ + 7, + 58, + "gauge44" + ], + [ + 7, + 135, + "gauge44" + ], + [ + 7, + 212, + "gauge44" + ], + [ + 7, + 289, + "gauge44" + ], + [ + 7, + 366, + "gauge44" + ], + [ + 8, + 49, + "gauge44" + ], + [ + 8, + 126, + "gauge44" + ], + [ + 8, + 203, + "gauge44" + ], + [ + 8, + 280, + "gauge44" + ], + [ + 8, + 357, + "gauge44" + ], + [ + 8, + 57, + "gauge44" + ], + [ + 8, + 134, + "gauge44" + ], + [ + 8, + 211, + "gauge44" + ], + [ + 8, + 288, + "gauge44" + ], + [ + 8, + 365, + "gauge44" + ], + [ + 6, + 52, + "gauge44" + ], + [ + 6, + 129, + "gauge44" + ], + [ + 6, + 206, + "gauge44" + ], + [ + 6, + 283, + "gauge44" + ], + [ + 6, + 360, + "gauge44" + ], + [ + 6, + 60, + "gauge44" + ], + [ + 6, + 137, + "gauge44" + ], + [ + 6, + 214, + "gauge44" + ], + [ + 6, + 291, + "gauge44" + ], + [ + 6, + 368, + "gauge44" + ], + [ + 7, + 51, + "gauge44" + ], + [ + 7, + 128, + "gauge44" + ], + [ + 7, + 205, + "gauge44" + ], + [ + 7, + 282, + "gauge44" + ], + [ + 7, + 359, + "gauge44" + ], + [ + 7, + 59, + "gauge44" + ], + [ + 7, + 136, + "gauge44" + ], + [ + 7, + 213, + "gauge44" + ], + [ + 7, + 290, + "gauge44" + ], + [ + 7, + 367, + "gauge44" + ], + [ + 8, + 50, + "gauge44" + ], + [ + 8, + 127, + "gauge44" + ], + [ + 8, + 204, + "gauge44" + ], + [ + 8, + 281, + "gauge44" + ], + [ + 8, + 358, + "gauge44" + ], + [ + 8, + 58, + "gauge44" + ], + [ + 8, + 135, + "gauge44" + ], + [ + 8, + 212, + "gauge44" + ], + [ + 8, + 289, + "gauge44" + ], + [ + 8, + 366, + "gauge44" + ], + [ + 7, + 52, + "gauge44" + ], + [ + 7, + 129, + "gauge44" + ], + [ + 7, + 206, + "gauge44" + ], + [ + 7, + 283, + "gauge44" + ], + [ + 7, + 360, + "gauge44" + ], + [ + 7, + 60, + "gauge44" + ], + [ + 7, + 137, + "gauge44" + ], + [ + 7, + 214, + "gauge44" + ], + [ + 7, + 291, + "gauge44" + ], + [ + 7, + 368, + "gauge44" + ], + [ + 8, + 51, + "gauge44" + ], + [ + 8, + 128, + "gauge44" + ], + [ + 8, + 205, + "gauge44" + ], + [ + 8, + 282, + "gauge44" + ], + [ + 8, + 359, + "gauge44" + ], + [ + 8, + 59, + "gauge44" + ], + [ + 8, + 136, + "gauge44" + ], + [ + 8, + 213, + "gauge44" + ], + [ + 8, + 290, + "gauge44" + ], + [ + 8, + 367, + "gauge44" + ], + [ + 8, + 52, + "gauge44" + ], + [ + 8, + 129, + "gauge44" + ], + [ + 8, + 206, + "gauge44" + ], + [ + 8, + 283, + "gauge44" + ], + [ + 8, + 360, + "gauge44" + ], + [ + 8, + 60, + "gauge44" + ], + [ + 8, + 137, + "gauge44" + ], + [ + 8, + 214, + "gauge44" + ], + [ + 8, + 291, + "gauge44" + ], + [ + 8, + 368, + "gauge44" + ], + [ + 0, + 61, + "extra" + ], + [ + 0, + 138, + "extra" + ], + [ + 0, + 215, + "extra" + ], + [ + 0, + 292, + "extra" + ], + [ + 0, + 369, + "extra" + ], + [ + 0, + 69, + "gauge44" + ], + [ + 0, + 146, + "gauge44" + ], + [ + 0, + 223, + "gauge44" + ], + [ + 0, + 300, + "gauge44" + ], + [ + 0, + 377, + "gauge44" + ], + [ + 0, + 62, + "gauge44" + ], + [ + 0, + 139, + "gauge44" + ], + [ + 0, + 216, + "gauge44" + ], + [ + 0, + 293, + "gauge44" + ], + [ + 0, + 370, + "gauge44" + ], + [ + 0, + 70, + "gauge44" + ], + [ + 0, + 147, + "gauge44" + ], + [ + 0, + 224, + "gauge44" + ], + [ + 0, + 301, + "gauge44" + ], + [ + 0, + 378, + "gauge44" + ], + [ + 1, + 61, + "gauge44" + ], + [ + 1, + 138, + "gauge44" + ], + [ + 1, + 215, + "gauge44" + ], + [ + 1, + 292, + "gauge44" + ], + [ + 1, + 369, + "gauge44" + ], + [ + 1, + 69, + "gauge44" + ], + [ + 1, + 146, + "gauge44" + ], + [ + 1, + 223, + "gauge44" + ], + [ + 1, + 300, + "gauge44" + ], + [ + 1, + 377, + "gauge44" + ], + [ + 0, + 63, + "gauge44" + ], + [ + 0, + 140, + "gauge44" + ], + [ + 0, + 217, + "gauge44" + ], + [ + 0, + 294, + "gauge44" + ], + [ + 0, + 371, + "gauge44" + ], + [ + 0, + 71, + "gauge44" + ], + [ + 0, + 148, + "gauge44" + ], + [ + 0, + 225, + "gauge44" + ], + [ + 0, + 302, + "gauge44" + ], + [ + 0, + 379, + "gauge44" + ], + [ + 1, + 62, + "gauge44" + ], + [ + 1, + 139, + "gauge44" + ], + [ + 1, + 216, + "gauge44" + ], + [ + 1, + 293, + "gauge44" + ], + [ + 1, + 370, + "gauge44" + ], + [ + 1, + 70, + "gauge44" + ], + [ + 1, + 147, + "gauge44" + ], + [ + 1, + 224, + "gauge44" + ], + [ + 1, + 301, + "gauge44" + ], + [ + 1, + 378, + "gauge44" + ], + [ + 2, + 61, + "gauge44" + ], + [ + 2, + 138, + "gauge44" + ], + [ + 2, + 215, + "gauge44" + ], + [ + 2, + 292, + "gauge44" + ], + [ + 2, + 369, + "gauge44" + ], + [ + 2, + 69, + "gauge44" + ], + [ + 2, + 146, + "gauge44" + ], + [ + 2, + 223, + "gauge44" + ], + [ + 2, + 300, + "gauge44" + ], + [ + 2, + 377, + "gauge44" + ], + [ + 0, + 64, + "gauge44" + ], + [ + 0, + 141, + "gauge44" + ], + [ + 0, + 218, + "gauge44" + ], + [ + 0, + 295, + "gauge44" + ], + [ + 0, + 372, + "gauge44" + ], + [ + 0, + 72, + "gauge44" + ], + [ + 0, + 149, + "gauge44" + ], + [ + 0, + 226, + "gauge44" + ], + [ + 0, + 303, + "gauge44" + ], + [ + 0, + 380, + "gauge44" + ], + [ + 1, + 63, + "gauge44" + ], + [ + 1, + 140, + "gauge44" + ], + [ + 1, + 217, + "gauge44" + ], + [ + 1, + 294, + "gauge44" + ], + [ + 1, + 371, + "gauge44" + ], + [ + 1, + 71, + "gauge44" + ], + [ + 1, + 148, + "gauge44" + ], + [ + 1, + 225, + "gauge44" + ], + [ + 1, + 302, + "gauge44" + ], + [ + 1, + 379, + "gauge44" + ], + [ + 2, + 62, + "gauge44" + ], + [ + 2, + 139, + "gauge44" + ], + [ + 2, + 216, + "gauge44" + ], + [ + 2, + 293, + "gauge44" + ], + [ + 2, + 370, + "gauge44" + ], + [ + 2, + 70, + "gauge44" + ], + [ + 2, + 147, + "gauge44" + ], + [ + 2, + 224, + "gauge44" + ], + [ + 2, + 301, + "gauge44" + ], + [ + 2, + 378, + "gauge44" + ], + [ + 3, + 61, + "gauge44" + ], + [ + 3, + 138, + "gauge44" + ], + [ + 3, + 215, + "gauge44" + ], + [ + 3, + 292, + "gauge44" + ], + [ + 3, + 369, + "gauge44" + ], + [ + 3, + 69, + "gauge44" + ], + [ + 3, + 146, + "gauge44" + ], + [ + 3, + 223, + "gauge44" + ], + [ + 3, + 300, + "gauge44" + ], + [ + 3, + 377, + "gauge44" + ], + [ + 0, + 65, + "gauge44" + ], + [ + 0, + 142, + "gauge44" + ], + [ + 0, + 219, + "gauge44" + ], + [ + 0, + 296, + "gauge44" + ], + [ + 0, + 373, + "gauge44" + ], + [ + 0, + 73, + "gauge44" + ], + [ + 0, + 150, + "gauge44" + ], + [ + 0, + 227, + "gauge44" + ], + [ + 0, + 304, + "gauge44" + ], + [ + 0, + 381, + "gauge44" + ], + [ + 1, + 64, + "gauge44" + ], + [ + 1, + 141, + "gauge44" + ], + [ + 1, + 218, + "gauge44" + ], + [ + 1, + 295, + "gauge44" + ], + [ + 1, + 372, + "gauge44" + ], + [ + 1, + 72, + "gauge44" + ], + [ + 1, + 149, + "gauge44" + ], + [ + 1, + 226, + "gauge44" + ], + [ + 1, + 303, + "gauge44" + ], + [ + 1, + 380, + "gauge44" + ], + [ + 2, + 63, + "gauge44" + ], + [ + 2, + 140, + "gauge44" + ], + [ + 2, + 217, + "gauge44" + ], + [ + 2, + 294, + "gauge44" + ], + [ + 2, + 371, + "gauge44" + ], + [ + 2, + 71, + "gauge44" + ], + [ + 2, + 148, + "gauge44" + ], + [ + 2, + 225, + "gauge44" + ], + [ + 2, + 302, + "gauge44" + ], + [ + 2, + 379, + "gauge44" + ], + [ + 3, + 62, + "gauge44" + ], + [ + 3, + 139, + "gauge44" + ], + [ + 3, + 216, + "gauge44" + ], + [ + 3, + 293, + "gauge44" + ], + [ + 3, + 370, + "gauge44" + ], + [ + 3, + 70, + "gauge44" + ], + [ + 3, + 147, + "gauge44" + ], + [ + 3, + 224, + "gauge44" + ], + [ + 3, + 301, + "gauge44" + ], + [ + 3, + 378, + "gauge44" + ], + [ + 4, + 61, + "gauge44" + ], + [ + 4, + 138, + "gauge44" + ], + [ + 4, + 215, + "gauge44" + ], + [ + 4, + 292, + "gauge44" + ], + [ + 4, + 369, + "gauge44" + ], + [ + 4, + 69, + "gauge44" + ], + [ + 4, + 146, + "gauge44" + ], + [ + 4, + 223, + "gauge44" + ], + [ + 4, + 300, + "gauge44" + ], + [ + 4, + 377, + "gauge44" + ], + [ + 0, + 66, + "gauge44" + ], + [ + 0, + 143, + "gauge44" + ], + [ + 0, + 220, + "gauge44" + ], + [ + 0, + 297, + "gauge44" + ], + [ + 0, + 374, + "gauge44" + ], + [ + 0, + 74, + "gauge44" + ], + [ + 0, + 151, + "gauge44" + ], + [ + 0, + 228, + "gauge44" + ], + [ + 0, + 305, + "gauge44" + ], + [ + 0, + 382, + "gauge44" + ], + [ + 1, + 65, + "gauge44" + ], + [ + 1, + 142, + "gauge44" + ], + [ + 1, + 219, + "gauge44" + ], + [ + 1, + 296, + "gauge44" + ], + [ + 1, + 373, + "gauge44" + ], + [ + 1, + 73, + "gauge44" + ], + [ + 1, + 150, + "gauge44" + ], + [ + 1, + 227, + "gauge44" + ], + [ + 1, + 304, + "gauge44" + ], + [ + 1, + 381, + "gauge44" + ], + [ + 2, + 64, + "gauge44" + ], + [ + 2, + 141, + "gauge44" + ], + [ + 2, + 218, + "gauge44" + ], + [ + 2, + 295, + "gauge44" + ], + [ + 2, + 372, + "gauge44" + ], + [ + 2, + 72, + "gauge44" + ], + [ + 2, + 149, + "gauge44" + ], + [ + 2, + 226, + "gauge44" + ], + [ + 2, + 303, + "gauge44" + ], + [ + 2, + 380, + "gauge44" + ], + [ + 3, + 63, + "gauge44" + ], + [ + 3, + 140, + "gauge44" + ], + [ + 3, + 217, + "gauge44" + ], + [ + 3, + 294, + "gauge44" + ], + [ + 3, + 371, + "gauge44" + ], + [ + 3, + 71, + "gauge44" + ], + [ + 3, + 148, + "gauge44" + ], + [ + 3, + 225, + "gauge44" + ], + [ + 3, + 302, + "gauge44" + ], + [ + 3, + 379, + "gauge44" + ], + [ + 4, + 62, + "gauge44" + ], + [ + 4, + 139, + "gauge44" + ], + [ + 4, + 216, + "gauge44" + ], + [ + 4, + 293, + "gauge44" + ], + [ + 4, + 370, + "gauge44" + ], + [ + 4, + 70, + "gauge44" + ], + [ + 4, + 147, + "gauge44" + ], + [ + 4, + 224, + "gauge44" + ], + [ + 4, + 301, + "gauge44" + ], + [ + 4, + 378, + "gauge44" + ], + [ + 5, + 61, + "gauge44" + ], + [ + 5, + 138, + "gauge44" + ], + [ + 5, + 215, + "gauge44" + ], + [ + 5, + 292, + "gauge44" + ], + [ + 5, + 369, + "gauge44" + ], + [ + 5, + 69, + "gauge44" + ], + [ + 5, + 146, + "gauge44" + ], + [ + 5, + 223, + "gauge44" + ], + [ + 5, + 300, + "gauge44" + ], + [ + 5, + 377, + "gauge44" + ], + [ + 0, + 67, + "gauge44" + ], + [ + 0, + 144, + "gauge44" + ], + [ + 0, + 221, + "gauge44" + ], + [ + 0, + 298, + "gauge44" + ], + [ + 0, + 375, + "gauge44" + ], + [ + 0, + 75, + "gauge44" + ], + [ + 0, + 152, + "gauge44" + ], + [ + 0, + 229, + "gauge44" + ], + [ + 0, + 306, + "gauge44" + ], + [ + 0, + 383, + "gauge44" + ], + [ + 1, + 66, + "gauge44" + ], + [ + 1, + 143, + "gauge44" + ], + [ + 1, + 220, + "gauge44" + ], + [ + 1, + 297, + "gauge44" + ], + [ + 1, + 374, + "gauge44" + ], + [ + 1, + 74, + "gauge44" + ], + [ + 1, + 151, + "gauge44" + ], + [ + 1, + 228, + "gauge44" + ], + [ + 1, + 305, + "gauge44" + ], + [ + 1, + 382, + "gauge44" + ], + [ + 2, + 65, + "gauge44" + ], + [ + 2, + 142, + "gauge44" + ], + [ + 2, + 219, + "gauge44" + ], + [ + 2, + 296, + "gauge44" + ], + [ + 2, + 373, + "gauge44" + ], + [ + 2, + 73, + "gauge44" + ], + [ + 2, + 150, + "gauge44" + ], + [ + 2, + 227, + "gauge44" + ], + [ + 2, + 304, + "gauge44" + ], + [ + 2, + 381, + "gauge44" + ], + [ + 3, + 64, + "gauge44" + ], + [ + 3, + 141, + "gauge44" + ], + [ + 3, + 218, + "gauge44" + ], + [ + 3, + 295, + "gauge44" + ], + [ + 3, + 372, + "gauge44" + ], + [ + 3, + 72, + "gauge44" + ], + [ + 3, + 149, + "gauge44" + ], + [ + 3, + 226, + "gauge44" + ], + [ + 3, + 303, + "gauge44" + ], + [ + 3, + 380, + "gauge44" + ], + [ + 4, + 63, + "gauge44" + ], + [ + 4, + 140, + "gauge44" + ], + [ + 4, + 217, + "gauge44" + ], + [ + 4, + 294, + "gauge44" + ], + [ + 4, + 371, + "gauge44" + ], + [ + 4, + 71, + "gauge44" + ], + [ + 4, + 148, + "gauge44" + ], + [ + 4, + 225, + "gauge44" + ], + [ + 4, + 302, + "gauge44" + ], + [ + 4, + 379, + "gauge44" + ], + [ + 5, + 62, + "gauge44" + ], + [ + 5, + 139, + "gauge44" + ], + [ + 5, + 216, + "gauge44" + ], + [ + 5, + 293, + "gauge44" + ], + [ + 5, + 370, + "gauge44" + ], + [ + 5, + 70, + "gauge44" + ], + [ + 5, + 147, + "gauge44" + ], + [ + 5, + 224, + "gauge44" + ], + [ + 5, + 301, + "gauge44" + ], + [ + 5, + 378, + "gauge44" + ], + [ + 0, + 68, + "gauge44" + ], + [ + 0, + 145, + "gauge44" + ], + [ + 0, + 222, + "gauge44" + ], + [ + 0, + 299, + "gauge44" + ], + [ + 0, + 376, + "gauge44" + ], + [ + 0, + 76, + "gauge44" + ], + [ + 0, + 153, + "gauge44" + ], + [ + 0, + 230, + "gauge44" + ], + [ + 0, + 307, + "gauge44" + ], + [ + 0, + 384, + "gauge44" + ], + [ + 6, + 61, + "gauge44" + ], + [ + 6, + 138, + "gauge44" + ], + [ + 6, + 215, + "gauge44" + ], + [ + 6, + 292, + "gauge44" + ], + [ + 6, + 369, + "gauge44" + ], + [ + 6, + 69, + "gauge44" + ], + [ + 6, + 146, + "gauge44" + ], + [ + 6, + 223, + "gauge44" + ], + [ + 6, + 300, + "gauge44" + ], + [ + 6, + 377, + "gauge44" + ], + [ + 1, + 67, + "gauge44" + ], + [ + 1, + 144, + "gauge44" + ], + [ + 1, + 221, + "gauge44" + ], + [ + 1, + 298, + "gauge44" + ], + [ + 1, + 375, + "gauge44" + ], + [ + 1, + 75, + "gauge44" + ], + [ + 1, + 152, + "gauge44" + ], + [ + 1, + 229, + "gauge44" + ], + [ + 1, + 306, + "gauge44" + ], + [ + 1, + 383, + "gauge44" + ], + [ + 2, + 66, + "gauge44" + ], + [ + 2, + 143, + "gauge44" + ], + [ + 2, + 220, + "gauge44" + ], + [ + 2, + 297, + "gauge44" + ], + [ + 2, + 374, + "gauge44" + ], + [ + 2, + 74, + "gauge44" + ], + [ + 2, + 151, + "gauge44" + ], + [ + 2, + 228, + "gauge44" + ], + [ + 2, + 305, + "gauge44" + ], + [ + 2, + 382, + "gauge44" + ], + [ + 3, + 65, + "gauge44" + ], + [ + 3, + 142, + "gauge44" + ], + [ + 3, + 219, + "gauge44" + ], + [ + 3, + 296, + "gauge44" + ], + [ + 3, + 373, + "gauge44" + ], + [ + 3, + 73, + "gauge44" + ], + [ + 3, + 150, + "gauge44" + ], + [ + 3, + 227, + "gauge44" + ], + [ + 3, + 304, + "gauge44" + ], + [ + 3, + 381, + "gauge44" + ], + [ + 4, + 64, + "gauge44" + ], + [ + 4, + 141, + "gauge44" + ], + [ + 4, + 218, + "gauge44" + ], + [ + 4, + 295, + "gauge44" + ], + [ + 4, + 372, + "gauge44" + ], + [ + 4, + 72, + "gauge44" + ], + [ + 4, + 149, + "gauge44" + ], + [ + 4, + 226, + "gauge44" + ], + [ + 4, + 303, + "gauge44" + ], + [ + 4, + 380, + "gauge44" + ], + [ + 5, + 63, + "gauge44" + ], + [ + 5, + 140, + "gauge44" + ], + [ + 5, + 217, + "gauge44" + ], + [ + 5, + 294, + "gauge44" + ], + [ + 5, + 371, + "gauge44" + ], + [ + 5, + 71, + "gauge44" + ], + [ + 5, + 148, + "gauge44" + ], + [ + 5, + 225, + "gauge44" + ], + [ + 5, + 302, + "gauge44" + ], + [ + 5, + 379, + "gauge44" + ], + [ + 6, + 62, + "gauge44" + ], + [ + 6, + 139, + "gauge44" + ], + [ + 6, + 216, + "gauge44" + ], + [ + 6, + 293, + "gauge44" + ], + [ + 6, + 370, + "gauge44" + ], + [ + 6, + 70, + "gauge44" + ], + [ + 6, + 147, + "gauge44" + ], + [ + 6, + 224, + "gauge44" + ], + [ + 6, + 301, + "gauge44" + ], + [ + 6, + 378, + "gauge44" + ], + [ + 1, + 68, + "gauge44" + ], + [ + 1, + 145, + "gauge44" + ], + [ + 1, + 222, + "gauge44" + ], + [ + 1, + 299, + "gauge44" + ], + [ + 1, + 376, + "gauge44" + ], + [ + 1, + 76, + "gauge44" + ], + [ + 1, + 153, + "gauge44" + ], + [ + 1, + 230, + "gauge44" + ], + [ + 1, + 307, + "gauge44" + ], + [ + 1, + 384, + "gauge44" + ], + [ + 7, + 61, + "gauge44" + ], + [ + 7, + 138, + "gauge44" + ], + [ + 7, + 215, + "gauge44" + ], + [ + 7, + 292, + "gauge44" + ], + [ + 7, + 369, + "gauge44" + ], + [ + 7, + 69, + "gauge44" + ], + [ + 7, + 146, + "gauge44" + ], + [ + 7, + 223, + "gauge44" + ], + [ + 7, + 300, + "gauge44" + ], + [ + 7, + 377, + "gauge44" + ], + [ + 2, + 67, + "gauge44" + ], + [ + 2, + 144, + "gauge44" + ], + [ + 2, + 221, + "gauge44" + ], + [ + 2, + 298, + "gauge44" + ], + [ + 2, + 375, + "gauge44" + ], + [ + 2, + 75, + "gauge44" + ], + [ + 2, + 152, + "gauge44" + ], + [ + 2, + 229, + "gauge44" + ], + [ + 2, + 306, + "gauge44" + ], + [ + 2, + 383, + "gauge44" + ], + [ + 3, + 66, + "gauge44" + ], + [ + 3, + 143, + "gauge44" + ], + [ + 3, + 220, + "gauge44" + ], + [ + 3, + 297, + "gauge44" + ], + [ + 3, + 374, + "gauge44" + ], + [ + 3, + 74, + "gauge44" + ], + [ + 3, + 151, + "gauge44" + ], + [ + 3, + 228, + "gauge44" + ], + [ + 3, + 305, + "gauge44" + ], + [ + 3, + 382, + "gauge44" + ], + [ + 4, + 65, + "gauge44" + ], + [ + 4, + 142, + "gauge44" + ], + [ + 4, + 219, + "gauge44" + ], + [ + 4, + 296, + "gauge44" + ], + [ + 4, + 373, + "gauge44" + ], + [ + 4, + 73, + "gauge44" + ], + [ + 4, + 150, + "gauge44" + ], + [ + 4, + 227, + "gauge44" + ], + [ + 4, + 304, + "gauge44" + ], + [ + 4, + 381, + "gauge44" + ], + [ + 5, + 64, + "gauge44" + ], + [ + 5, + 141, + "gauge44" + ], + [ + 5, + 218, + "gauge44" + ], + [ + 5, + 295, + "gauge44" + ], + [ + 5, + 372, + "gauge44" + ], + [ + 5, + 72, + "gauge44" + ], + [ + 5, + 149, + "gauge44" + ], + [ + 5, + 226, + "gauge44" + ], + [ + 5, + 303, + "gauge44" + ], + [ + 5, + 380, + "gauge44" + ], + [ + 6, + 63, + "gauge44" + ], + [ + 6, + 140, + "gauge44" + ], + [ + 6, + 217, + "gauge44" + ], + [ + 6, + 294, + "gauge44" + ], + [ + 6, + 371, + "gauge44" + ], + [ + 6, + 71, + "gauge44" + ], + [ + 6, + 148, + "gauge44" + ], + [ + 6, + 225, + "gauge44" + ], + [ + 6, + 302, + "gauge44" + ], + [ + 6, + 379, + "gauge44" + ], + [ + 7, + 62, + "gauge44" + ], + [ + 7, + 139, + "gauge44" + ], + [ + 7, + 216, + "gauge44" + ], + [ + 7, + 293, + "gauge44" + ], + [ + 7, + 370, + "gauge44" + ], + [ + 7, + 70, + "gauge44" + ], + [ + 7, + 147, + "gauge44" + ], + [ + 7, + 224, + "gauge44" + ], + [ + 7, + 301, + "gauge44" + ], + [ + 7, + 378, + "gauge44" + ], + [ + 2, + 68, + "gauge44" + ], + [ + 2, + 145, + "gauge44" + ], + [ + 2, + 222, + "gauge44" + ], + [ + 2, + 299, + "gauge44" + ], + [ + 2, + 376, + "gauge44" + ], + [ + 2, + 76, + "gauge44" + ], + [ + 2, + 153, + "gauge44" + ], + [ + 2, + 230, + "gauge44" + ], + [ + 2, + 307, + "gauge44" + ], + [ + 2, + 384, + "gauge44" + ], + [ + 8, + 61, + "gauge44" + ], + [ + 8, + 138, + "gauge44" + ], + [ + 8, + 215, + "gauge44" + ], + [ + 8, + 292, + "gauge44" + ], + [ + 8, + 369, + "gauge44" + ], + [ + 8, + 69, + "gauge44" + ], + [ + 8, + 146, + "gauge44" + ], + [ + 8, + 223, + "gauge44" + ], + [ + 8, + 300, + "gauge44" + ], + [ + 8, + 377, + "gauge44" + ], + [ + 3, + 67, + "gauge44" + ], + [ + 3, + 144, + "gauge44" + ], + [ + 3, + 221, + "gauge44" + ], + [ + 3, + 298, + "gauge44" + ], + [ + 3, + 375, + "gauge44" + ], + [ + 3, + 75, + "gauge44" + ], + [ + 3, + 152, + "gauge44" + ], + [ + 3, + 229, + "gauge44" + ], + [ + 3, + 306, + "gauge44" + ], + [ + 3, + 383, + "gauge44" + ], + [ + 4, + 66, + "gauge44" + ], + [ + 4, + 143, + "gauge44" + ], + [ + 4, + 220, + "gauge44" + ], + [ + 4, + 297, + "gauge44" + ], + [ + 4, + 374, + "gauge44" + ], + [ + 4, + 74, + "gauge44" + ], + [ + 4, + 151, + "gauge44" + ], + [ + 4, + 228, + "gauge44" + ], + [ + 4, + 305, + "gauge44" + ], + [ + 4, + 382, + "gauge44" + ], + [ + 5, + 65, + "gauge44" + ], + [ + 5, + 142, + "gauge44" + ], + [ + 5, + 219, + "gauge44" + ], + [ + 5, + 296, + "gauge44" + ], + [ + 5, + 373, + "gauge44" + ], + [ + 5, + 73, + "gauge44" + ], + [ + 5, + 150, + "gauge44" + ], + [ + 5, + 227, + "gauge44" + ], + [ + 5, + 304, + "gauge44" + ], + [ + 5, + 381, + "gauge44" + ], + [ + 6, + 64, + "gauge44" + ], + [ + 6, + 141, + "gauge44" + ], + [ + 6, + 218, + "gauge44" + ], + [ + 6, + 295, + "gauge44" + ], + [ + 6, + 372, + "gauge44" + ], + [ + 6, + 72, + "gauge44" + ], + [ + 6, + 149, + "gauge44" + ], + [ + 6, + 226, + "gauge44" + ], + [ + 6, + 303, + "gauge44" + ], + [ + 6, + 380, + "gauge44" + ], + [ + 7, + 63, + "gauge44" + ], + [ + 7, + 140, + "gauge44" + ], + [ + 7, + 217, + "gauge44" + ], + [ + 7, + 294, + "gauge44" + ], + [ + 7, + 371, + "gauge44" + ], + [ + 7, + 71, + "gauge44" + ], + [ + 7, + 148, + "gauge44" + ], + [ + 7, + 225, + "gauge44" + ], + [ + 7, + 302, + "gauge44" + ], + [ + 7, + 379, + "gauge44" + ], + [ + 8, + 62, + "gauge44" + ], + [ + 8, + 139, + "gauge44" + ], + [ + 8, + 216, + "gauge44" + ], + [ + 8, + 293, + "gauge44" + ], + [ + 8, + 370, + "gauge44" + ], + [ + 8, + 70, + "gauge44" + ], + [ + 8, + 147, + "gauge44" + ], + [ + 8, + 224, + "gauge44" + ], + [ + 8, + 301, + "gauge44" + ], + [ + 8, + 378, + "gauge44" + ], + [ + 3, + 68, + "gauge44" + ], + [ + 3, + 145, + "gauge44" + ], + [ + 3, + 222, + "gauge44" + ], + [ + 3, + 299, + "gauge44" + ], + [ + 3, + 376, + "gauge44" + ], + [ + 3, + 76, + "gauge44" + ], + [ + 3, + 153, + "gauge44" + ], + [ + 3, + 230, + "gauge44" + ], + [ + 3, + 307, + "gauge44" + ], + [ + 3, + 384, + "gauge44" + ], + [ + 4, + 67, + "gauge44" + ], + [ + 4, + 144, + "gauge44" + ], + [ + 4, + 221, + "gauge44" + ], + [ + 4, + 298, + "gauge44" + ], + [ + 4, + 375, + "gauge44" + ], + [ + 4, + 75, + "gauge44" + ], + [ + 4, + 152, + "gauge44" + ], + [ + 4, + 229, + "gauge44" + ], + [ + 4, + 306, + "gauge44" + ], + [ + 4, + 383, + "gauge44" + ], + [ + 5, + 66, + "gauge44" + ], + [ + 5, + 143, + "gauge44" + ], + [ + 5, + 220, + "gauge44" + ], + [ + 5, + 297, + "gauge44" + ], + [ + 5, + 374, + "gauge44" + ], + [ + 5, + 74, + "gauge44" + ], + [ + 5, + 151, + "gauge44" + ], + [ + 5, + 228, + "gauge44" + ], + [ + 5, + 305, + "gauge44" + ], + [ + 5, + 382, + "gauge44" + ], + [ + 6, + 65, + "gauge44" + ], + [ + 6, + 142, + "gauge44" + ], + [ + 6, + 219, + "gauge44" + ], + [ + 6, + 296, + "gauge44" + ], + [ + 6, + 373, + "gauge44" + ], + [ + 6, + 73, + "gauge44" + ], + [ + 6, + 150, + "gauge44" + ], + [ + 6, + 227, + "gauge44" + ], + [ + 6, + 304, + "gauge44" + ], + [ + 6, + 381, + "gauge44" + ], + [ + 7, + 64, + "gauge44" + ], + [ + 7, + 141, + "gauge44" + ], + [ + 7, + 218, + "gauge44" + ], + [ + 7, + 295, + "gauge44" + ], + [ + 7, + 372, + "gauge44" + ], + [ + 7, + 72, + "gauge44" + ], + [ + 7, + 149, + "gauge44" + ], + [ + 7, + 226, + "gauge44" + ], + [ + 7, + 303, + "gauge44" + ], + [ + 7, + 380, + "gauge44" + ], + [ + 8, + 63, + "gauge44" + ], + [ + 8, + 140, + "gauge44" + ], + [ + 8, + 217, + "gauge44" + ], + [ + 8, + 294, + "gauge44" + ], + [ + 8, + 371, + "gauge44" + ], + [ + 8, + 71, + "gauge44" + ], + [ + 8, + 148, + "gauge44" + ], + [ + 8, + 225, + "gauge44" + ], + [ + 8, + 302, + "gauge44" + ], + [ + 8, + 379, + "gauge44" + ], + [ + 4, + 68, + "gauge44" + ], + [ + 4, + 145, + "gauge44" + ], + [ + 4, + 222, + "gauge44" + ], + [ + 4, + 299, + "gauge44" + ], + [ + 4, + 376, + "gauge44" + ], + [ + 4, + 76, + "gauge44" + ], + [ + 4, + 153, + "gauge44" + ], + [ + 4, + 230, + "gauge44" + ], + [ + 4, + 307, + "gauge44" + ], + [ + 4, + 384, + "gauge44" + ], + [ + 5, + 67, + "gauge44" + ], + [ + 5, + 144, + "gauge44" + ], + [ + 5, + 221, + "gauge44" + ], + [ + 5, + 298, + "gauge44" + ], + [ + 5, + 375, + "gauge44" + ], + [ + 5, + 75, + "gauge44" + ], + [ + 5, + 152, + "gauge44" + ], + [ + 5, + 229, + "gauge44" + ], + [ + 5, + 306, + "gauge44" + ], + [ + 5, + 383, + "gauge44" + ], + [ + 6, + 66, + "gauge44" + ], + [ + 6, + 143, + "gauge44" + ], + [ + 6, + 220, + "gauge44" + ], + [ + 6, + 297, + "gauge44" + ], + [ + 6, + 374, + "gauge44" + ], + [ + 6, + 74, + "gauge44" + ], + [ + 6, + 151, + "gauge44" + ], + [ + 6, + 228, + "gauge44" + ], + [ + 6, + 305, + "gauge44" + ], + [ + 6, + 382, + "gauge44" + ], + [ + 7, + 65, + "gauge44" + ], + [ + 7, + 142, + "gauge44" + ], + [ + 7, + 219, + "gauge44" + ], + [ + 7, + 296, + "gauge44" + ], + [ + 7, + 373, + "gauge44" + ], + [ + 7, + 73, + "gauge44" + ], + [ + 7, + 150, + "gauge44" + ], + [ + 7, + 227, + "gauge44" + ], + [ + 7, + 304, + "gauge44" + ], + [ + 7, + 381, + "gauge44" + ], + [ + 8, + 64, + "gauge44" + ], + [ + 8, + 141, + "gauge44" + ], + [ + 8, + 218, + "gauge44" + ], + [ + 8, + 295, + "gauge44" + ], + [ + 8, + 372, + "gauge44" + ], + [ + 8, + 72, + "gauge44" + ], + [ + 8, + 149, + "gauge44" + ], + [ + 8, + 226, + "gauge44" + ], + [ + 8, + 303, + "gauge44" + ], + [ + 8, + 380, + "gauge44" + ], + [ + 5, + 68, + "gauge44" + ], + [ + 5, + 145, + "gauge44" + ], + [ + 5, + 222, + "gauge44" + ], + [ + 5, + 299, + "gauge44" + ], + [ + 5, + 376, + "gauge44" + ], + [ + 5, + 76, + "gauge44" + ], + [ + 5, + 153, + "gauge44" + ], + [ + 5, + 230, + "gauge44" + ], + [ + 5, + 307, + "gauge44" + ], + [ + 5, + 384, + "gauge44" + ], + [ + 6, + 67, + "gauge44" + ], + [ + 6, + 144, + "gauge44" + ], + [ + 6, + 221, + "gauge44" + ], + [ + 6, + 298, + "gauge44" + ], + [ + 6, + 375, + "gauge44" + ], + [ + 6, + 75, + "gauge44" + ], + [ + 6, + 152, + "gauge44" + ], + [ + 6, + 229, + "gauge44" + ], + [ + 6, + 306, + "gauge44" + ], + [ + 6, + 383, + "gauge44" + ], + [ + 7, + 66, + "gauge44" + ], + [ + 7, + 143, + "gauge44" + ], + [ + 7, + 220, + "gauge44" + ], + [ + 7, + 297, + "gauge44" + ], + [ + 7, + 374, + "gauge44" + ], + [ + 7, + 74, + "gauge44" + ], + [ + 7, + 151, + "gauge44" + ], + [ + 7, + 228, + "gauge44" + ], + [ + 7, + 305, + "gauge44" + ], + [ + 7, + 382, + "gauge44" + ], + [ + 8, + 65, + "gauge44" + ], + [ + 8, + 142, + "gauge44" + ], + [ + 8, + 219, + "gauge44" + ], + [ + 8, + 296, + "gauge44" + ], + [ + 8, + 373, + "gauge44" + ], + [ + 8, + 73, + "gauge44" + ], + [ + 8, + 150, + "gauge44" + ], + [ + 8, + 227, + "gauge44" + ], + [ + 8, + 304, + "gauge44" + ], + [ + 8, + 381, + "gauge44" + ], + [ + 6, + 68, + "gauge44" + ], + [ + 6, + 145, + "gauge44" + ], + [ + 6, + 222, + "gauge44" + ], + [ + 6, + 299, + "gauge44" + ], + [ + 6, + 376, + "gauge44" + ], + [ + 6, + 76, + "gauge44" + ], + [ + 6, + 153, + "gauge44" + ], + [ + 6, + 230, + "gauge44" + ], + [ + 6, + 307, + "gauge44" + ], + [ + 6, + 384, + "gauge44" + ], + [ + 7, + 67, + "gauge44" + ], + [ + 7, + 144, + "gauge44" + ], + [ + 7, + 221, + "gauge44" + ], + [ + 7, + 298, + "gauge44" + ], + [ + 7, + 375, + "gauge44" + ], + [ + 7, + 75, + "gauge44" + ], + [ + 7, + 152, + "gauge44" + ], + [ + 7, + 229, + "gauge44" + ], + [ + 7, + 306, + "gauge44" + ], + [ + 7, + 383, + "gauge44" + ], + [ + 8, + 66, + "gauge44" + ], + [ + 8, + 143, + "gauge44" + ], + [ + 8, + 220, + "gauge44" + ], + [ + 8, + 297, + "gauge44" + ], + [ + 8, + 374, + "gauge44" + ], + [ + 8, + 74, + "gauge44" + ], + [ + 8, + 151, + "gauge44" + ], + [ + 8, + 228, + "gauge44" + ], + [ + 8, + 305, + "gauge44" + ], + [ + 8, + 382, + "gauge44" + ], + [ + 7, + 68, + "gauge44" + ], + [ + 7, + 145, + "gauge44" + ], + [ + 7, + 222, + "gauge44" + ], + [ + 7, + 299, + "gauge44" + ], + [ + 7, + 376, + "gauge44" + ], + [ + 7, + 76, + "gauge44" + ], + [ + 7, + 153, + "gauge44" + ], + [ + 7, + 230, + "gauge44" + ], + [ + 7, + 307, + "gauge44" + ], + [ + 7, + 384, + "gauge44" + ], + [ + 8, + 67, + "gauge44" + ], + [ + 8, + 144, + "gauge44" + ], + [ + 8, + 221, + "gauge44" + ], + [ + 8, + 298, + "gauge44" + ], + [ + 8, + 375, + "gauge44" + ], + [ + 8, + 75, + "gauge44" + ], + [ + 8, + 152, + "gauge44" + ], + [ + 8, + 229, + "gauge44" + ], + [ + 8, + 306, + "gauge44" + ], + [ + 8, + 383, + "gauge44" + ], + [ + 8, + 68, + "gauge44" + ], + [ + 8, + 145, + "gauge44" + ], + [ + 8, + 222, + "gauge44" + ], + [ + 8, + 299, + "gauge44" + ], + [ + 8, + 376, + "gauge44" + ], + [ + 8, + 76, + "gauge44" + ], + [ + 8, + 153, + "gauge44" + ], + [ + 8, + 230, + "gauge44" + ], + [ + 8, + 307, + "gauge44" + ], + [ + 8, + 384, + "gauge44" + ] + ], + "expected": { + "gain_baseline_kappa": "838166083799229/500000000000000000", + "live": 344960, + "global_profile": { + "1": 8544690, + "2": 2512125, + "3": 801108, + "4": 353430, + "5": 73920, + "8": 27720, + "48": 147532 + }, + "idle_remainder_profile": { + "1": 90090, + "3": 24948, + "5": 4620, + "48": 147532 + }, + "idle_remainders": 267190, + "hosted_residuals": 1413720, + "cross_replica_helper_roles": 1377634, + "physical": 345469, + "rank_mass": 25058880, + "actual_73column_sigmas": 9509, + "conservative_kappa_decimal": "0.001727588706510098", + "kappa_decimal": "0.001727588709497126", + "complex_lower": "86528921863312340937/50000000000000000000000", + "conservative_complex_lower": "1730578434268871045597/1000000000000000000000000", + "kappa": "863794354748563/500000000000000000", + "assembly_controls_rejected": 139, + "provider_counts": { + "extra": 1055, + "gauge44": 2410 + }, + "mutations_rejected": 25 + }, + "geometry": { + "charged_prefix_bits": 2048, + "dimension": 73, + "pairs": 4, + "parent_helpers": 504, + "parent_idle": 776160, + "parent_live": 567224, + "parent_physical": 567738, + "replicas": 385, + "stages": 9 + }, + "name": "mixed-t385-exact-fill", + "outer_refinement": { + "bootstrap_steps": 12, + "endpoint_digits": 24, + "grid_digits": 18, + "margin_digits": 28 + }, + "pivot_swap": { + "recipe": "construction/leaver/PIVOT-SWAP-k8.json", + "sha256": "3ef7acf0cf67442a532f25b53d5fbeda76d3a84524118df8e003ca69b5cac0bb" + }, + "providers": { + "extra": { + "inventory": { + "4": 26, + "5": 2, + "6": 18, + "7": 53, + "8": 96, + "9": 213 + }, + "native_negative_controls": 46, + "phase_edges": 3041, + "expected_profile": { + "1": 2440, + "2": 725, + "3": 224, + "4": 102, + "5": 20, + "8": 8 + }, + "artifact_semantic_sha256": { + "CANONICAL-WORD.json.gz": "a82077d5c0245d671c06f49132f3bf4f66c856fd821e9fccb42febef0130fa7c", + "LOCAL-PROGRAMS.json.gz": "7664d82a72647abdaa039859499b99918943339c9ac924e86297776dd3cdbea3", + "LOCAL-CHECKS.json": "cdff3def89d1b4ea48be628a9c02c38205007a6990d58e8845b5f85880c16235", + "INDEPENDENT-LOCAL-REPLAY.json": "b465b2c5ad246e83f0f03c16700ed52d3de11a6483e2187253cb1076d1de76a7", + "CLIFFORD-RECIPES.json": "b7965e69d748a642da92a63e877e1c9642b2aded0a4fbe070422b77502710621", + "CLIFFORD-REVIEW.json": "365f6faef81c257fc00b89f6a7e7d676114cc0fddbb53ced6caf007de80b2e43", + "RESIDUAL-ADAPTERS.json": "5791c7d77129ac62b1dcea53ec38e0a31b4da3b97cab1f95c0332f2996f3aa6a" + }, + "entering": 134, + "entrance": 167, + "width_digest": "df3f356f968aa6b763ed3f27af6ddef220fdb45d7913fc7f9b608ebb649b5f00", + "program_hashes": { + "backward": "e3b398c534a8f476d0862783f73aaaad1659b8f863044ee652007aff720eabee", + "forward": "8c3c15c1eadfa52f13a19f0fbe072f28112eefd096b86f27616b9627b65c2fcc" + }, + "artifacts": { + "LOCAL-CHECKS.json": "93289eb9c8858a828c07040433c0e0a04c3f402ad37eb39aa82973e909e69ff5", + "CLIFFORD-RECIPES.json": "b7965e69d748a642da92a63e877e1c9642b2aded0a4fbe070422b77502710621", + "RESIDUAL-ADAPTERS.json": "67003353a7fbd614b23b69848210fbfb709e298cb3ce73a0db0109ab608826fe" + }, + "complete_contract": { + "local": { + "backward": { + "events": 22771, + "macros": 17634, + "real_component_primitives": 158586, + "warp_events": 240, + "literal_scalar_macros": 17452, + "literal_real_component_primitives": 158222, + "private_zero_buffer_clears": 182, + "private_zero_buffer_peak": 91, + "prefix_l1": "4091250694836343058722527489905/128", + "prefix_bits": 95, + "coefficient_work_primitive_count": 77555, + "all_exact_columns": 632, + "dirty_helper_columns": 408, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 195, + "post_wrappers": 195, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + }, + "forward": { + "events": 22771, + "macros": 17634, + "real_component_primitives": 158538, + "warp_events": 240, + "literal_scalar_macros": 17452, + "literal_real_component_primitives": 158174, + "private_zero_buffer_clears": 182, + "private_zero_buffer_peak": 91, + "prefix_l1": "202390250292205836324353781643/512", + "prefix_bits": 89, + "coefficient_work_primitive_count": 77523, + "all_exact_columns": 632, + "dirty_helper_columns": 408, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 195, + "post_wrappers": 195, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + } + }, + "helpers": 408, + "centres": 8, + "v": 112, + "h": 9, + "n": 632, + "zero_buffers": 91, + "entering_helpers": 134, + "entrance_rank": 167, + "terminal_codimension": 227, + "hyperplane_ended_helpers": 91, + "cold_hyperplane_ended_helpers": 61, + "width_inventory": { + "4": 26, + "5": 2, + "6": 18, + "7": 53, + "8": 96, + "9": 213 + }, + "widths": [ + 9, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 9, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 9, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 7, + 9, + 9, + 9, + 9, + 8, + 9, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 8, + 9, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 7, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 8, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 9, + 9, + 9, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 9, + 9, + 9, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 9, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 6, + 6, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 6, + 6, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 6, + 6, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 7, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 6, + 6, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 6, + 7, + 6, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 8, + 8, + 8, + 8, + 5, + 5, + 8, + 8, + 8, + 8 + ], + "local_adapters": 358688, + "local_primitive_bound": 9302335269754, + "compiler": 25934336, + "children": 3519, + "paid_profile": { + "1": 2440, + "2": 725, + "3": 224, + "4": 102, + "5": 20, + "8": 8 + }, + "program_hashes": { + "backward": "e3b398c534a8f476d0862783f73aaaad1659b8f863044ee652007aff720eabee", + "forward": "8c3c15c1eadfa52f13a19f0fbe072f28112eefd096b86f27616b9627b65c2fcc" + }, + "semantic_artifact_sha256": { + "CANONICAL-WORD.json.gz": "a82077d5c0245d671c06f49132f3bf4f66c856fd821e9fccb42febef0130fa7c", + "LOCAL-PROGRAMS.json.gz": "7664d82a72647abdaa039859499b99918943339c9ac924e86297776dd3cdbea3", + "LOCAL-CHECKS.json": "cdff3def89d1b4ea48be628a9c02c38205007a6990d58e8845b5f85880c16235", + "INDEPENDENT-LOCAL-REPLAY.json": "b465b2c5ad246e83f0f03c16700ed52d3de11a6483e2187253cb1076d1de76a7", + "CLIFFORD-RECIPES.json": "b7965e69d748a642da92a63e877e1c9642b2aded0a4fbe070422b77502710621", + "CLIFFORD-REVIEW.json": "365f6faef81c257fc00b89f6a7e7d676114cc0fddbb53ced6caf007de80b2e43", + "RESIDUAL-ADAPTERS.json": "5791c7d77129ac62b1dcea53ec38e0a31b4da3b97cab1f95c0332f2996f3aa6a" + } + }, + "semantic_phase_sha256": "365f6faef81c257fc00b89f6a7e7d676114cc0fddbb53ced6caf007de80b2e43", + "expected_local": { + "forward": { + "events": 22771, + "macros": 17634, + "real_component_primitives": 158538, + "prefix_l1": "202390250292205836324353781643/512", + "coefficient_work_primitive_count": 77523 + }, + "backward": { + "events": 22771, + "macros": 17634, + "real_component_primitives": 158586, + "prefix_l1": "4091250694836343058722527489905/128", + "coefficient_work_primitive_count": 77555 + } + }, + "wrappers": 195 + }, + "gauge44": { + "inventory": { + "4": 26, + "5": 2, + "6": 18, + "7": 53, + "8": 96, + "9": 213 + }, + "native_negative_controls": 46, + "phase_edges": 3041, + "expected_profile": { + "1": 2440, + "2": 725, + "3": 224, + "4": 102, + "5": 20, + "8": 8 + }, + "artifact_semantic_sha256": { + "CANONICAL-WORD.json.gz": "0db11248b311e5ae359f246621f945fa62d1a95a21c2634a14689c01fe042aa1", + "LOCAL-PROGRAMS.json.gz": "7664d82a72647abdaa039859499b99918943339c9ac924e86297776dd3cdbea3", + "LOCAL-CHECKS.json": "cdff3def89d1b4ea48be628a9c02c38205007a6990d58e8845b5f85880c16235", + "INDEPENDENT-LOCAL-REPLAY.json": "5eca287fd7f908d27a410f84673833ba0cfbb58c7844f1df0a2b353a48075ddb", + "CLIFFORD-RECIPES.json": "4890935bbf7a525161316ff9f00ca0fee83d531b3552d7f3317ed1594defc47f", + "CLIFFORD-REVIEW.json": "2a3c1b538f1e8961a46f14b30ad029d8c74c10422ed8c31e7391cfe78995a4a5", + "RESIDUAL-ADAPTERS.json": "81f558a82e3917126599938dc754c4773da24dbca7c31e22b7d611faf2dae4b4" + }, + "entering": 134, + "entrance": 167, + "width_digest": "df3f356f968aa6b763ed3f27af6ddef220fdb45d7913fc7f9b608ebb649b5f00", + "program_hashes": { + "backward": "e3b398c534a8f476d0862783f73aaaad1659b8f863044ee652007aff720eabee", + "forward": "8c3c15c1eadfa52f13a19f0fbe072f28112eefd096b86f27616b9627b65c2fcc" + }, + "artifacts": { + "LOCAL-CHECKS.json": "93289eb9c8858a828c07040433c0e0a04c3f402ad37eb39aa82973e909e69ff5", + "CLIFFORD-RECIPES.json": "4890935bbf7a525161316ff9f00ca0fee83d531b3552d7f3317ed1594defc47f", + "RESIDUAL-ADAPTERS.json": "9352dc86d0161f64d987b4134c27533ba93753e09f29cfb8a53fd517baa5c39b" + }, + "complete_contract": { + "local": { + "backward": { + "events": 22771, + "macros": 17634, + "real_component_primitives": 158586, + "warp_events": 240, + "literal_scalar_macros": 17452, + "literal_real_component_primitives": 158222, + "private_zero_buffer_clears": 182, + "private_zero_buffer_peak": 91, + "prefix_l1": "4091250694836343058722527489905/128", + "prefix_bits": 95, + "coefficient_work_primitive_count": 77555, + "all_exact_columns": 632, + "dirty_helper_columns": 408, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 195, + "post_wrappers": 195, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + }, + "forward": { + "events": 22771, + "macros": 17634, + "real_component_primitives": 158538, + "warp_events": 240, + "literal_scalar_macros": 17452, + "literal_real_component_primitives": 158174, + "private_zero_buffer_clears": 182, + "private_zero_buffer_peak": 91, + "prefix_l1": "202390250292205836324353781643/512", + "prefix_bits": 89, + "coefficient_work_primitive_count": 77523, + "all_exact_columns": 632, + "dirty_helper_columns": 408, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 195, + "post_wrappers": 195, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + } + }, + "helpers": 408, + "centres": 8, + "v": 112, + "h": 9, + "n": 632, + "zero_buffers": 91, + "entering_helpers": 134, + "entrance_rank": 167, + "terminal_codimension": 227, + "hyperplane_ended_helpers": 91, + "cold_hyperplane_ended_helpers": 61, + "width_inventory": { + "4": 26, + "5": 2, + "6": 18, + "7": 53, + "8": 96, + "9": 213 + }, + "widths": [ + 9, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 9, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 9, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 7, + 9, + 9, + 9, + 9, + 8, + 9, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 8, + 9, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 7, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 8, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 9, + 9, + 9, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 9, + 9, + 9, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 9, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 6, + 6, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 6, + 6, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 6, + 6, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 7, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 6, + 6, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 6, + 7, + 6, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 8, + 8, + 8, + 8, + 5, + 5, + 8, + 8, + 8, + 8 + ], + "local_adapters": 358688, + "local_primitive_bound": 9302335269754, + "compiler": 25934336, + "children": 3519, + "paid_profile": { + "1": 2440, + "2": 725, + "3": 224, + "4": 102, + "5": 20, + "8": 8 + }, + "program_hashes": { + "backward": "e3b398c534a8f476d0862783f73aaaad1659b8f863044ee652007aff720eabee", + "forward": "8c3c15c1eadfa52f13a19f0fbe072f28112eefd096b86f27616b9627b65c2fcc" + }, + "semantic_artifact_sha256": { + "CANONICAL-WORD.json.gz": "0db11248b311e5ae359f246621f945fa62d1a95a21c2634a14689c01fe042aa1", + "LOCAL-PROGRAMS.json.gz": "7664d82a72647abdaa039859499b99918943339c9ac924e86297776dd3cdbea3", + "LOCAL-CHECKS.json": "cdff3def89d1b4ea48be628a9c02c38205007a6990d58e8845b5f85880c16235", + "INDEPENDENT-LOCAL-REPLAY.json": "5eca287fd7f908d27a410f84673833ba0cfbb58c7844f1df0a2b353a48075ddb", + "CLIFFORD-RECIPES.json": "4890935bbf7a525161316ff9f00ca0fee83d531b3552d7f3317ed1594defc47f", + "CLIFFORD-REVIEW.json": "2a3c1b538f1e8961a46f14b30ad029d8c74c10422ed8c31e7391cfe78995a4a5", + "RESIDUAL-ADAPTERS.json": "81f558a82e3917126599938dc754c4773da24dbca7c31e22b7d611faf2dae4b4" + } + }, + "semantic_phase_sha256": "2a3c1b538f1e8961a46f14b30ad029d8c74c10422ed8c31e7391cfe78995a4a5", + "expected_local": { + "forward": { + "events": 22771, + "macros": 17634, + "real_component_primitives": 158538, + "prefix_l1": "202390250292205836324353781643/512", + "coefficient_work_primitive_count": 77523 + }, + "backward": { + "events": 22771, + "macros": 17634, + "real_component_primitives": 158586, + "prefix_l1": "4091250694836343058722527489905/128", + "coefficient_work_primitive_count": 77555 + } + }, + "wrappers": 195 + } + }, + "schema": "witness-spec/1", + "width_spot_helpers": [ + 278, + 281, + 284, + 289 + ] +} diff --git a/research/staged544-t385/outer-replay/outer/B.json b/research/staged544-t385/outer-replay/outer/B.json new file mode 100644 index 0000000000..81fdf6912e --- /dev/null +++ b/research/staged544-t385/outer-replay/outer/B.json @@ -0,0 +1,14 @@ +{ + "b": "173057843726624681873999999999999999999999999999999999999999999999999999999999999999999999999999999999/100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "b_above_endpoint": "1730578437266246818741/1000000000000000000000000", + "live": 344960, + "profile": { + "1": 8544690, + "2": 2512125, + "3": 801108, + "4": 353430, + "48": 147532, + "5": 73920, + "8": 27720 + } +} diff --git a/research/staged544-t385/outer-replay/outer/INDEPENDENT.json b/research/staged544-t385/outer-replay/outer/INDEPENDENT.json new file mode 100644 index 0000000000..125cc54729 --- /dev/null +++ b/research/staged544-t385/outer-replay/outer/INDEPENDENT.json @@ -0,0 +1,43 @@ +{ + "status": "PASS_INDEPENDENT_BALANCE_DERIVATION", + "source_sha256": "f352bbda6728390d82b25dcd8cdee4fb0bdff7b6109828def5aca4243f66acf6", + "b": "173057843726624681873999999999999999999999999999999999999999999999999999999999999999999999999999999999/100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "rows": { + "struct_boundary_radix_union": { + "epsilon": "4095999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999959/4096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cap": "185954422463952127348477951999999999999999999999999999999999999999999999999999999999999999999999999999995898452314203604194021583000000000000000000000000000000000000000000000000000000000000000000000000000000041/204800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "beta": "4095999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999877/4096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "kappa": "17305784372662468187399999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "margin_above_kappa": "20480000000000000000000020479999999999999999999999999999995900452314203604194021583000000000000000000000000000000000000000000000000000000000000000000000000000000041/204800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "checked_cost_powers": 9, + "gap_to_q": "5000000000000000000000004999999999999999999999999999999999/50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "epsilon_free_sweep_delta_gap_to_q": [ + [ + "1/10000000", + "1.7305784372662468e-10" + ], + [ + "1/1000000000000", + "1.7305784372662468e-15" + ], + [ + "1/1000000000000000000000000000000", + "1.7305784372662468e-33" + ], + [ + "1/1000000000000000000000000000000000000000000000000000000000000", + "1.730578437266247e-63" + ], + [ + "41/4096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "1.7322684552713895e-107" + ], + [ + "11/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "1.9036362809928715e-107" + ] + ] + } + }, + "scope": "Independent balance derivation and margin comparisons for this package's supplier endpoint; the supplier native admission is bound by verify_release.py; inherited all-size assumptions remain." +} diff --git a/research/staged544-t385/outer-replay/outer/LEDGER.json b/research/staged544-t385/outer-replay/outer/LEDGER.json new file mode 100644 index 0000000000..278977e3c3 --- /dev/null +++ b/research/staged544-t385/outer-replay/outer/LEDGER.json @@ -0,0 +1,575 @@ +{ + "status": "PASS_FINE_PRIME_PADDING_EXACT_ARITHMETIC", + "scope": "Conditional fine-prime padding composition. Fresh native admission is required by verify.py. The cited prime theorem, written gauge-free theorem and inherited all-size interfaces are not proved by this arithmetic. No independent human review is claimed.", + "geometry_changes": { + "theta_power": { + "rational": "2", + "decimal": "2" + }, + "halo_power": 48, + "core_power": 128, + "matrix_exponent": { + "rational": "45/16", + "decimal": "2.8125" + } + }, + "halo_umbrella": { + "umbrella_power": 10, + "theta_power": { + "rational": "2", + "decimal": "2" + }, + "exponent_budget": { + "rational": "13/2", + "decimal": "6.5" + }, + "margin": { + "rational": "7/2", + "decimal": "3.5" + }, + "fails_from_theta_power": { + "rational": "15/4", + "decimal": "3.75" + } + }, + "complex_lower_short": { + "rational": "173057843726624681873999999999999999999999999999999999999999999999999999999999999999999999999999999999/100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.00173057843726624681873999999999999999999999999999999999999999999999999999999999999999999999999999999999" + }, + "complex_lower_pinned": { + "rational": "86528921863312340937/50000000000000000000000", + "decimal": "0.00173057843726624681874" + }, + "native_moment": [ + { + "rational": "439347050248359021758840762443799524119583914437397741171808277901566176527572151650278686280539637431018183621644434214837167051742589913520825887249191433247/439347050248359021758841651141209165905243859209171546201245661387874763737449987335843817002333091518546963929054774914375807231981865204004737810631363657728", + "decimal": "0.99999999999999999999999797723141844377279013265827731374129454851593833745063260712840612780292067681218937332905396566737178537390844135563332750119382271596228394361293165689301148129319133148236007884965116410467758135834" + }, + { + "rational": "54918381281044877719855095305474940514947989304674717646476034737695772065946518956284835785067454678877272952705554276854645881467823739190103235906148929169/54918381281044877719855206392651145738155482401146443275155707673484345467181248416980477125291636439818370491131846864296975903997733150500592226328920457216", + "decimal": "0.99999999999999999999999797723141844377279013265827731374129454851593833745063260712840612780292067681218937332905396566737178537390844135563332750119382271620127496435756718791277202759556195310239471969835805006003324083913" + } + ], + "profile": { + "1": 8544690, + "2": 2512125, + "3": 801108, + "4": 353430, + "5": 73920, + "8": 27720, + "48": 147532 + }, + "m": 73, + "W": 344960, + "online_final_kappa": { + "rational": "863794354748563/500000000000000000", + "decimal": "0.001727588709497126" + }, + "rows": { + "struct_boundary_radix_union": { + "kind": "struct_boundary_radix_union", + "kappa": { + "rational": "17305784372662468187399999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.0017305784372662468187399999999999999999999998999999999999999999999999" + }, + "epsilon": { + "rational": "4095999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999959/4096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999989990234375" + }, + "xi": { + "rational": "185954422463952127348477951999999999999999999999999999999999999999999999999999999999999999999999999999995898452314203604194021583000000000000000000000000000000000000000000000000000000000000000000000000000000041/204800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.9079805784372662468187399999999999999999999999999999999999999999999999999999999999999999999999999999999799729116904472861036210107421875000000000000000000000000000000000000000000000000000000000000000000000002001953125" + }, + "beta": { + "rational": "4095999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999877/4096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999969970703125" + }, + "q": { + "rational": "86528921863312340936999999999999999999999999999999999999999999999999999999999999999999999999999999999/50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.00173057843726624681873999999999999999999999999999999999999999999999999999999999999999999999999999999998" + }, + "a": { + "rational": "346115687453249363747999999999999999999999999999999999999999999999999999999999999999999999999999999997/200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.001730578437266246818739999999999999999999999999999999999999999999999999999999999999999999999999999999985" + }, + "r0": { + "rational": "1/100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "1E-104" + }, + "zeta": { + "rational": "1/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "1E-106" + }, + "slack": { + "rational": "1/100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "1E-104" + }, + "margins": { + "main_transform": { + "rational": "354422463952127348477951999999999999999999999999999999999999999999999999999999999999999999999999999995900452314203604194021583000000000000000000000000000000000000000000000000000000000000000000000000000000041/204800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.0017305784372662468187399999999999999999999999999999999999999999999999999999999999999999999999999999999799826773154472861036210107421875000000000000000000000000000000000000000000000000000000000000000000000002001953125" + }, + "global_coordinate_router": { + "rational": "346115687453249363747999999999999999999999999999999999999999999999999999999999999999999999999999999997/200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.001730578437266246818739999999999999999999999999999999999999999999999999999999999999999999999999999999985" + }, + "fused_gaussian": { + "rational": "354422463952127348477951999999999999999999999999999999999999999999999999999999999999999999999999999997943356942610812582064749000000000000000000000000000000000000000000000000000000000000000000000000000000123/204800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.0017305784372662468187399999999999999999999999999999999999999999999999999999999999999999999999999999999899577975713418583108630322265625000000000000000000000000000000000000000000000000000000000000000000000006005859375" + }, + "group_bit_router": { + "rational": "1417689855808509393911807999999999999999999999999999999999999999999999999999999999999999999999999999995869427770443250328258996000000000000000000000000000000000000000000000000000000000000000000000000000000369/819200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.001730578437266246818739999999999999999999999999999999999999999999999999999999999999999999999999999999994957797571341858310863032226562500000000000000000000000000000000000000000000000000000000000000000000000450439453125" + }, + "group_scans": { + "rational": "2047999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999959/2048000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999997998046875" + }, + "boundary_algebraic_matrix": { + "rational": "354422463952127348477951999999999999999999999999999999999999999999999999999999999999999999999999999997948452314203604194021583000000000000000000000000000000000000000000000000000000000000000000000000000000041/204800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.0017305784372662468187399999999999999999999999999999999999999999999999999999999999999999999999999999999899826773154472861036210107421875000000000000000000000000000000000000000000000000000000000000000000000002001953125" + }, + "sparse_union_movement": { + "rational": "83554422463952127348477951999999999999999999999999999999999999999999999999999999999999999999999999999997948452314203604194021583000000000000000000000000000000000000000000000000000000000000000000000000000000041/204800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.4079805784372662468187399999999999999999999999999999999999999999999999999999999999999999999999999999999899826773154472861036210107421875000000000000000000000000000000000000000000000000000000000000000000000002001953125" + }, + "polynomial_products": { + "rational": "4095999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999959/4096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999989990234375" + }, + "microbox_face_corrections": { + "rational": "78848000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041/1024000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "77.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400390625" + } + }, + "strict_checks": { + "actual_bit_above_effective": { + "rational": "569720464719483201800000000000000000000000000000000000000000000000000000000000000000000000000000003/200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.000002848602323597416009000000000000000000000000000000000000000000000000000000000000000000000000000000015" + }, + "complex_above_effective": { + "rational": "1/200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "5E-105" + }, + "q_positive": { + "rational": "86528921863312340936999999999999999999999999999999999999999999999999999999999999999999999999999999999/50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.00173057843726624681873999999999999999999999999999999999999999999999999999999999999999999999999999999998" + }, + "complex_endpoint": { + "rational": "1/100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "1E-104" + }, + "q_below_effective": { + "rational": "1/200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "5E-105" + }, + "stop_positive": { + "rational": "1/100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "1E-110" + }, + "stop_below_one": { + "rational": "99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999/100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999" + }, + "leaf_saving_above_effective": { + "rational": "49999999826942156273375318126000000000000000000000000000000000000000000000000000000000000000000000000000000001/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "4.9999999826942156273375318126000000000000000000000000000000000000000000000000000000000000000000000000000000001E-105" + }, + "q_below_internal": { + "rational": "1/200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "5E-105" + }, + "q_below_leaf": { + "rational": "99999999826942156273375318126000000000000000000000000000000000000000000000000000000000000000000000000000000001/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "9.9999999826942156273375318126000000000000000000000000000000000000000000000000000000000000000000000000000000001E-105" + }, + "lambda_above_tau": { + "rational": "1/400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "2.5E-105" + }, + "lambda_above_sigma": { + "rational": "3/400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "7.5E-105" + }, + "lambda_above_internal": { + "rational": "1/400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "2.5E-105" + }, + "lambda_prime_above_lambda": { + "rational": "1/400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "2.5E-105" + }, + "lambda_prime_above_leaf": { + "rational": "99999999826942156273375318126000000000000000000000000000000000000000000000000000000000000000000000000000000001/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "9.9999999826942156273375318126000000000000000000000000000000000000000000000000000000000000000000000000000000001E-105" + }, + "epsilon_positive": { + "rational": "4095999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999959/4096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999989990234375" + }, + "epsilon_below_one": { + "rational": "41/4096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "1.0009765625E-104" + }, + "cap_above_band": { + "rational": "83554422463952127348477951999999999999999999999999999999999999999999999999999999999999999999999999999995898452314203604194021583000000000000000000000000000000000000000000000000000000000000000000000000000000041/204800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.4079805784372662468187399999999999999999999999999999999999999999999999999999999999999999999999999999999799729116904472861036210107421875000000000000000000000000000000000000000000000000000000000000000000000002001953125" + }, + "cap_below_cell": { + "rational": "18845577536047872651522048000000000000000000000000000000000000000000000000000000000000000000000000000002051547685796395805978416999999999999999999999999999999999999999999999999999999999999999999999999999999959/204800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.0920194215627337531812600000000000000000000000000000000000000000000000000000000000000000000000000000000100173226845527138963789892578124999999999999999999999999999999999999999999999999999999999999999999999997998046875" + }, + "group_positive": { + "rational": "4095999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999877/4096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999969970703125" + }, + "group_below_dimension": { + "rational": "41/2048000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "2.001953125E-104" + }, + "support_router_span": { + "rational": "123/4096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "3.0029296875E-104" + }, + "group_gauge_power_slack": { + "rational": "18845577536047872651522048000000000000000000000000000000000000000000000000000000000000000000000000000006152547685796395805978416999999999999999999999999999999999999999999999999999999999999999999999999999999959/102400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.184038843125467506362520000000000000000000000000000000000000000000000000000000000000000000000000000000060083473494105427792757978515624999999999999999999999999999999999999999999999999999999999999999999999999599609375" + }, + "actual_logarithmic_group_guard": { + "rational": "18845577536047872651522048000000000000000000000000000000000000000000000000000000000000000000000000000007176547685796395805978416999999999999999999999999999999999999999999999999999999999999999999999999999999959/102400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.184038843125467506362520000000000000000000000000000000000000000000000000000000000000000000000000000000070083473494105427792757978515624999999999999999999999999999999999999999999999999999999999999999999999999599609375" + }, + "global_gamma_power_slack": { + "rational": "1/102400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "9.765625E-108" + }, + "actual_logarithmic_gamma_guard": { + "rational": "41/4096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "1.0009765625E-104" + }, + "alpha_logarithm_absorption": { + "rational": "1/100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "1E-104" + }, + "group_key_fits_record": { + "rational": "41/2048000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "2.001953125E-104" + }, + "membership_arithmetic_fits_record": { + "rational": "41/4096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "1.0009765625E-104" + }, + "microbox_halo_volume": { + "rational": "323584000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000123/4096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "79.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030029296875" + }, + "positive_layout_slack": { + "rational": "1/100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "1E-104" + }, + "short_record_fallback": { + "rational": "102222788768023936325761024000000000000000000000000000000000000000000000000000000000000000000000000000000511/102400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.998269421562733753181260000000000000000000000000000000000000000000000000000000000000000000000000000000004990234375" + }, + "improvement_over_online_final": { + "rational": "29897277691208187399999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.0000029897277691208187399999999999999999999998999999999999999999999999" + }, + "improvement_over_previous_local_final": { + "rational": "572183318604688187399999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.0000572183318604688187399999999999999999999998999999999999999999999999" + }, + "complex_below_one_over_32": { + "rational": "2951942156273375318126000000000000000000000000000000000000000000000000000000000000000000000000000000001/100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.02951942156273375318126000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + "strassen_integer_power_gap": { + "rational": "1951441519231", + "decimal": "1951441519231" + }, + "theta_positive_polynomial_power": { + "rational": "2", + "decimal": "2" + }, + "cap_below_phase_cell_power": { + "rational": "223645577536047872651522048000000000000000000000000000000000000000000000000000000000000000000000000000004101547685796395805978416999999999999999999999999999999999999999999999999999999999999999999999999999999959/204800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "1.0920194215627337531812600000000000000000000000000000000000000000000000000000000000000000000000000000000200270883095527138963789892578124999999999999999999999999999999999999999999999999999999999999999999999997998046875" + }, + "halo_covers_generic_inverse_radius": { + "rational": "5", + "decimal": "5" + }, + "union_tag_work_per_visit_fits_record": { + "rational": "123/4096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "3.0029296875E-104" + }, + "union_header_fits_record": { + "rational": "123/4096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "3.0029296875E-104" + }, + "source_axis_superpolynomial": { + "rational": "41/4096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "1.0009765625E-104" + }, + "improvement_over_pr1786": { + "rational": "508236491161979099594521334999999999999999000000000000000001999998800001/10000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.0000508236491161979099594521334999999999999999000000000000000001999998800001" + }, + "improvement_over_pr1828": { + "rational": "101646962281404594808658012158594846003376922994839409079344959674200000000000000000000000004006719019826502178085342683975683/2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.0000508234811407022974043290060792974230016884614974197045396724798371000000000000000000000000020033595099132510890426713419878415" + }, + "improvement_over_pr1839": { + "rational": "254117405703511487021645030396487115008442307487098522698362399185177258698371805868475000000001001679754956625544521335670993920703/5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.0000508234811407022974043290060792974230016884614974197045396724798370354517396743611736950000000002003359509913251089042671341987841406" + }, + "improvement_over_pr1875": { + "rational": "254117405703511487021645030396487115008442307487098522698362399185177258698371805868471719335776838627743415457068895139647759399172939286143496816535216421325187363046885361425772909502231218314437622205930116079297234806627210590217190600996553729143901162562581526621534715086055386213403722175000000001001679754956625544521335670993920703/5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.000050823481140702297404329006079297423001688461497419704539672479837035451739674361173694343867155367725548683091413779027929551879834587857228699363307043284265037472609377072285154581900446243662887524441186023215859446961325" + }, + "improvement_over_pr1876": { + "rational": "25411740570351148702164503039648711500844230748709852269836239918517725869837180586847171933577683862774341545706889513964775939917293928614349681653521642132518736304688536142577290950223121831443762220593011607929723480662721059021719060099655372914390116256258152662153471508605538621340372217196657216794137380775174500330086462142358142864921147118845386980694114022172311249292673931726844600000000000000000001001679754956625544521335670993920702577/500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.000050823481140702297404329006079297423001688461497419704539672479837035451739674361173694343867155367725548683091413779027929551879834587857228699363307043284265037472609377072285154581900446243662887524441186023215859446961325" + }, + "improvement_over_pr1897": { + "rational": "50823481140702297404329006079297423001688461497419704539672479837035451739674361173694343867155367725548683091413779027929551879834587857228699363307043284265037472609377072285154581900446243662887524441186023215859446961325442118043438120199310745828780232512516305324306943017211077242680744434393314433588274761550349000660172924284716285729842294237690773961388228044344622498585347863453689118814253082419197486359454032147189198319033143866021423837056207677317517847011467076188001061138620310116832610271556685687769184940440093096226243113127523863162928128796969576356494654526264864467/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.000050823481140702297404329006079297423001688461497419704539672479837035451739674361173694343867155367725548683091413779027929551879834587857228699363307043284265037472609377072285154581900446243662887524441186023215859446961325" + }, + "improvement_over_pr1758": { + "rational": "50832928463947767193466314800026327686526480209199320247542619067115757027414399369818327775017/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.000050832928463947767193466314800026327686526480209199320247542619067115757027414399369818327775017" + }, + "improvement_over_pr1699": { + "rational": "529367059228922544889417129363552509344314069999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.0000529367059228922544889417129363552509344314069999999999999999999999" + }, + "improvement_over_pr1712": { + "rational": "264683529614461272441362020680007884145726638632283638941299969772187285461029288600736779707649/5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.0000529367059228922544882724041360015768291453277264567277882599939544374570922058577201473559415298" + }, + "improvement_over_previous_package": { + "rational": "527585349518103851089448641223998986170597784229341400200650717282025923262102542077285802551153/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.0000527585349518103851089448641223998986170597784229341400200650717282025923262102542077285802551153" + }, + "improvement_over_pkg_k2": { + "rational": "52585830060964298007911225169191627777122002965890395790280701170094526587548469132116575062403/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.000052585830060964298007911225169191627777122002965890395790280701170094526587548469132116575062403" + }, + "gaussian_above_main": { + "rational": "1021452314203604194021583000000000000000000000000000000000000000000000000000000000000000000000000000000041/102400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "9.975120255894572207242021484375000000000000000000000000000000000000000000000000000000000000000000000000400390625E-105" + }, + "main_transform_above_kappa": { + "rational": "20480000000000000000000020479999999999999999999999999999995900452314203604194021583000000000000000000000000000000000000000000000000000000000000000000000000000000041/204800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "1.000000000000000000000000999999999999999999999999999999999799826773154472861036210107421875000000000000000000000000000000000000000000000000000000000000000000000002001953125E-46" + }, + "global_coordinate_router_above_kappa": { + "rational": "20000000000000000000000019999999999999999999999999999999997/200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "1.00000000000000000000000099999999999999999999999999999999985E-46" + }, + "fused_gaussian_above_kappa": { + "rational": "20480000000000000000000020479999999999999999999999999999997943356942610812582064749000000000000000000000000000000000000000000000000000000000000000000000000000000123/204800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "1.000000000000000000000000999999999999999999999999999999999899577975713418583108630322265625000000000000000000000000000000000000000000000000000000000000000000000006005859375E-46" + }, + "group_bit_router_above_kappa": { + "rational": "81920000000000000000000081919999999999999999999999999999995869427770443250328258996000000000000000000000000000000000000000000000000000000000000000000000000000000369/819200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "1.00000000000000000000000099999999999999999999999999999999994957797571341858310863032226562500000000000000000000000000000000000000000000000000000000000000000000000450439453125E-46" + }, + "group_scans_above_kappa": { + "rational": "2044455775360478726515220480000000000000000000204800000000000000000000204799999999999999999999999999999959/2048000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.99826942156273375318126000000000000000000000010000000000000000000000009999999999999999999999999999999997998046875" + }, + "boundary_algebraic_matrix_above_kappa": { + "rational": "20480000000000000000000020479999999999999999999999999999997948452314203604194021583000000000000000000000000000000000000000000000000000000000000000000000000000000041/204800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "1.000000000000000000000000999999999999999999999999999999999899826773154472861036210107421875000000000000000000000000000000000000000000000000000000000000000000000002001953125E-46" + }, + "sparse_union_movement_above_kappa": { + "rational": "83200000000000000000000000000000000000000000020480000000000000000000020479999999999999999999999999999997948452314203604194021583000000000000000000000000000000000000000000000000000000000000000000000000000000041/204800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.4062500000000000000000000000000000000000000001000000000000000000000000999999999999999999999999999999999899826773154472861036210107421875000000000000000000000000000000000000000000000000000000000000000000000002001953125" + }, + "polynomial_products_above_kappa": { + "rational": "4088911550720957453030440960000000000000000000409600000000000000000000409599999999999999999999999999999959/4096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.998269421562733753181260000000000000000000000100000000000000000000000099999999999999999999999999999999989990234375" + }, + "microbox_face_corrections_above_kappa": { + "rational": "78846227887680239363257610240000000000000000000102400000000000000000000102400000000000000000000000000000041/1024000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "76.9982694215627337531812600000000000000000000001000000000000000000000001000000000000000000000000000000000400390625" + } + } + } + }, + "rejecting_controls": { + "struct_boundary_radix_union": { + "endpoint_equality": { + "complex_endpoint": { + "rational": "0", + "decimal": "0" + }, + "q_below_effective": { + "rational": "-1/200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "-5E-105" + }, + "q_below_internal": { + "rational": "-1/200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "-5E-105" + }, + "q_below_leaf": { + "rational": "-173057843726624681873999999999999999999999999999999999999999999999999999999999999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "-1.73057843726624681873999999999999999999999999999999999999999999999999999999999999999999999999999999999E-113" + }, + "lambda_above_tau": { + "rational": "-1/400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "-2.5E-105" + }, + "lambda_above_internal": { + "rational": "-1/400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "-2.5E-105" + }, + "lambda_prime_above_lambda": { + "rational": "-1/400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "-2.5E-105" + }, + "lambda_prime_above_leaf": { + "rational": "-173057843726624681873999999999999999999999999999999999999999999999999999999999999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "-1.73057843726624681873999999999999999999999999999999999999999999999999999999999999999999999999999999999E-113" + } + }, + "zero_layout_slack": { + "positive_layout_slack": { + "rational": "0", + "decimal": "0" + } + }, + "old_per_axis_scan": { + "old_per_axis_scan_above_kappa": { + "rational": "-7088449279042546969559039999999999999999999590399999999999999999999590399999999999999999999999999999959/4096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "-0.001730578437266246818739999999999999999999999899999999999999999999999899999999999999999999999999999999989990234375" + } + }, + "full_cell_gauge": { + "unrecentered_group_gauge": { + "rational": "-204799999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999997949/102400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "-1.999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999979970703125" + } + }, + "full_key_sort": { + "unnecessary_full_key_sort_above_kappa": { + "rational": "-121599999999999999999999999999999999999999999979519999999999999999999979519999999999999999999999999999997951547685796395805978416999999999999999999999999999999999999999999999999999999999999999999999999999999959/204800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "-0.5937499999999999999999999999999999999999999998999999999999999999999998999999999999999999999999999999999899977914345527138963789892578124999999999999999999999999999999999999999999999999999999999999999999999997998046875" + } + }, + "old_g_factor_union_row": { + "old_g_factor_union_row_above_kappa": { + "rational": "-121599999999999999999999999999999999999999999979519999999999999999999979519999999999999999999999999999995901547685796395805978416999999999999999999999999999999999999999999999999999999999999999999999999999999959/204800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "-0.5937499999999999999999999999999999999999999998999999999999999999999998999999999999999999999999999999999799880258095527138963789892578124999999999999999999999999999999999999999999999999999999999999999999999997998046875" + } + }, + "old_theta_chirp_guard": { + "old_theta_chirp_guard": { + "rational": "-83554422463952127348477951999999999999999999999999999999999999999999999999999999999999999999999999999994872452314203604194021583000000000000000000000000000000000000000000000000000000000000000000000000000000041/102400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "-0.815961156874532493637479999999999999999999999999999999999999999999999999999999999999999999999999999999949926292130894572207242021484375000000000000000000000000000000000000000000000000000000000000000000000000400390625" + } + }, + "old_linear_guard": { + "old_linear_guard": { + "rational": "-185954422463952127348477951999999999999999999999999999999999999999999999999999999999999999999999999999991796452314203604194021583000000000000000000000000000000000000000000000000000000000000000000000000000000041/204800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "-0.9079805784372662468187399999999999999999999999999999999999999999999999999999999999999999999999999999999599436148154472861036210107421875000000000000000000000000000000000000000000000000000000000000000000000002001953125" + } + }, + "old_union_tag_2beta": { + "old_union_tag_2beta": { + "rational": "-2047999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999877/2048000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "-0.99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999993994140625" + } + }, + "matrix_below_strassen": { + "strassen_integer_power_gap": { + "rational": "-423", + "decimal": "-423" + } + }, + "halo_too_short": { + "halo_covers_generic_inverse_radius": { + "rational": "-3", + "decimal": "-3" + } + }, + "core_too_small": { + "microbox_halo_volume": { + "rational": "-4095999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999877/4096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "-0.999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999969970703125" + }, + "microbox_face_corrections_above_kappa": { + "rational": "-3073772112319760636742389759999999999999999999897599999999999999999999897599999999999999999999999999999959/1024000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "-3.0017305784372662468187399999999999999999999998999999999999999999999998999999999999999999999999999999999599609375" + } + }, + "group_equals_dimension": { + "group_below_dimension": { + "rational": "0", + "decimal": "0" + }, + "group_key_fits_record": { + "rational": "0", + "decimal": "0" + }, + "membership_arithmetic_fits_record": { + "rational": "-41/4096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "-1.0009765625E-104" + } + }, + "epsilon_equals_one": { + "epsilon_below_one": { + "rational": "0", + "decimal": "0" + }, + "global_gamma_power_slack": { + "rational": "-1/100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "-1E-104" + }, + "actual_logarithmic_gamma_guard": { + "rational": "0", + "decimal": "0" + }, + "source_axis_superpolynomial": { + "rational": "0", + "decimal": "0" + }, + "gaussian_above_main": { + "rational": "-10643057389187417935250999999999999999999999999999999999999999999999999999999999999999999999999999999877/204800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "-5.19680536581416891369677734374999999999999999999999999999999999999999999999999999999999999999999999993994140625E-107" + } + }, + "epsilon_not_above_r0_slack": { + "global_gamma_power_slack": { + "rational": "0", + "decimal": "0" + } + }, + "beta_below_gaussian_window": { + "gaussian_above_main": { + "rational": "-429832371680668378913482999999999999999999999999999999999999999999999999999999999999999999999999999971341/204800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "-2.0987908773470135689134912109374999999999999999999999999999999999999999999999999999999999999999999998600634765625E-105" + } + }, + "beta_above_membership_window": { + "membership_arithmetic_fits_record": { + "rational": "0", + "decimal": "0" + } + } + } + }, + "pr1673_kappa": { + "rational": "1677160151714381/1000000000000000000", + "decimal": "0.001677160151714381" + }, + "improvement_over_pr1673": { + "rational": "534182855518658187399999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.0000534182855518658187399999999999999999999998999999999999999999999999" + }, + "source_sha256": { + "new/SPEC.json": "f352bbda6728390d82b25dcd8cdee4fb0bdff7b6109828def5aca4243f66acf6", + "CLAIM.json": "36414906085c1ff17a022f04f7a730f5e1e24696155b736c7fc8a0cd0b881cba" + } +} diff --git a/research/staged544-t385/outer-replay/outer/check_ledger.py b/research/staged544-t385/outer-replay/outer/check_ledger.py new file mode 100644 index 0000000000..d3b6149c5c --- /dev/null +++ b/research/staged544-t385/outer-replay/outer/check_ledger.py @@ -0,0 +1,260 @@ +#!/usr/bin/env python3 +"""Exact ledger for fine-prime padding (PR1786, chafreaky / Chafik Boukhalfa, with Tim Trudgian's prime theorem) at the free point epsilon = 1 - (1025/1024)*10^-(DIG+80), explicit Strassen boundary, retuned to the fixed-grid maximum kappa = C - 1/FLOOR - BACKOFF. + +Adapted from PR1786's ledger, itself adapted from PR1731's cost ledger, credited to Jeremy Kothe et al. and +Vlado Vojdanovski (PR1673); uses PR1758's gauge-free chirp and per-visit tag +accounting. New source-prime, coefficient-setup and halo lemmas are in +FINE-PRIME-PADDING.md. Finite arithmetic does not prove the all-size theorem. +""" +from fractions import Fraction as Q +from decimal import Decimal, localcontext +from pathlib import Path +from math import factorial +import hashlib, json, sys +sys.set_int_max_str_digits(0) + +if not __debug__: raise RuntimeError('Assertions must be enabled') +HERE=Path(__file__).resolve().parent +WORK=HERE.parent +SPEC=WORK/'new/SPEC.json' +CLAIM=WORK/'CLAIM.json' +BJ=json.loads((HERE/'B.json').read_text()) +spec=json.loads(SPEC.read_text()) +# Free strict slacks of the PR1673 proof (retuned in this package, see RETUNED-SLACKS.md); every one only needs to be > 0. +DIG=spec['outer_refinement']['endpoint_digits'] # the supplier endpoint is certified to 10^-DIG (accept at the endpoint, reject at endpoint + 10^-DIG); every slack sits 10 digits below +# Fixed-grid maximum (PR2180 / PR2161, dataisfire; proof PROOF-GRID-MAX.md): the free gaps shrink together to R0 = 10^-(DIG+80); grid, backoff and certified endpoint are unchanged. +R0=Q(1,10**(DIG+80)); ZETA=R0/100; SLACK=R0; GAP=R0; STOP=R0/10**6 +FLOOR=10**(DIG+46); BACKOFF=Q(1,10**(DIG+22)); B_GAP=R0 +# Fine prime padding: theta is between 1/(4p^2) and 1/(2p^2-1). +# Online chirp guard beta+2*xi-2<1; coefficient setup uses O(p^2 log p) bits. +# epsilon = 1 - DELTA_E is a FREE parameter (outer/FINE-PADDING-COMPOSITION.md sec. 2): every row is strictly satisfied for every DELTA_E > r0 = 10^-(DIG+80); beta = 1 - 3 DELTA_E lies in the admissible window +# [1 - DELTA_E (1 + 1/q), 1 - 2 DELTA_E). DELTA_E = (1025/1024) r0 keeps the gamma spare power 1-eps-r0 = r0/1024 > 0 and puts C - eps*q below 1/FLOOR (PROOF-GRID-MAX.md). +DELTA_E=Q(1025,1024)*R0 +EPS=1-DELTA_E +BETA=1-3*DELTA_E +THETA_POWER=Q(2) +HALO_POWER=48 +CORE_POWER=128 +STRASSEN_TAU=Q(45,16) +KAPPA_1828=Q('0.0016797549561255445213356709939207025769983114385025802954603275201627999999999999999999999999979966404900867489109573286580121585') # exact kappa of rohanarun's PR1828 (slack refinement of PR1800 at 1e-96), from its body +KAPPA_1839=Q('0.0016797549561255445213356709939207025769983114385025802954603275201628645482603256388263049999999997996640490086748910957328658012158594') # exact kappa of PR1839 (previous package: 1e-90 endpoint) +KAPPA_1875=Q('0.0016797549561255445213356709939207025769983114385025802954603275201628645482603256388263056561328446322744513169085862209720704481201654121427713006366929567157349625273906229277148454180995537563371124755588139767841405530386745578819565618798006892541712197674874836946756930569827889227573192555649999999997996640490086748910957328658012158594') # exact kappa of rohanarun's PR1875 (1e-300 endpoint), from its body +KAPPA_1876=Q('0.001679754956125544521335670993920702576998311438502580295460327520162864548260325638826305656132844632274451316908586220972070448120165412142771300636692956715734962527390622927714845418099553756337112475558813976784140553038674557881956561879800689254171219767487483694675693056982788922757319255565606685566411725238449650999339827075715283714270157705762309226038611771955655377501414652136546310799999999999999999997996640490086748910957328658012158594846') # exact kappa of rohanarun's PR1876 (1e-400 endpoint), from its body +KAPPA_1897=Q('0.001679754956125544521335670993920702576998311438502580295460327520162864548260325638826305656132844632274451316908586220972070448120165412142771300636692956715734962527390622927714845418099553756337112475558813976784140553038674557881956561879800689254171219767487483694675693056982788922757319255565606685566411725238449650999339827075715283714270157705762309226038611771955655377501414652136546310881185746917580802513640545967852810801680966856133978576162943792322682482152988532923811998938861379689883167389728443314312230815059559906903773756886872476136837071871203030423643505345473735135533') # exact kappa of M6LI's PR1897 (1e-500 grid), from its body +KAPPA_1786=Q('0.0016797547881500489087805478664999999999999999999999999999999998000000199999') # exact kappa of chafreaky's PR1786 ledger (EXPECTED-BALANCE.json), headline 0.001679754788150048 +KAPPA_PKG5=Q('0.001677992607205282520732088774830808372222877897034109604209719298829805473412451530867883424937597') # previous package (rectangular k=2, tau_eff=2.2500351) +KAPPA_PKG4=Q('0.0016778199023144364336310551358776001013829401215770658599799349282716974076737897457922714197448847') # previous package (radix union schedule, square boundary tau=2.372864) +KAPPA_1712=Q('0.0016776417313433545642517275958639984231708545722735432722117400060454625429077941422798526440584702') # pkg of PR1712 (Le Gall tau=12/5, old union row) +KAPPA_1699=Q('0.001677641731343354564251058287063644749065568493') # exact kappa of PR1699's ledger (Chafik Boukhalfa), same supplier profile +certified_complex=Q(spec['expected']['complex_lower']) +bit=Q('0.001733427039589844234749') +# Keep short independently checkable decimals strictly inside both endpoints. +b=certified_complex-B_GAP # strictly inside the certified supplier endpoint; B.json carries the same exact value +assert b==Q(BJ['b']) +q=b-GAP +a=(q+b)/2 +online=Q(spec['expected']['kappa']) +old=Q('0.001673360105405778') +assert b0 +assert m==73 and W==896*T and W==BJ['live'] +EXPECTED_PROFILE={int(k):v for k,v in BJ['profile'].items()} +assert profile==EXPECTED_PROFILE + +GB=int((DIG+130)*3.3220)+16 # enclosure grid 2^-GB, about 50 digits below the slacks +ONE=1<=2:x/=2;k+=1 + lo,hi=unit_log(x) + return down(lo+k*ln2[0]),up(hi+k*ln2[1]) +def exp(x): + assert 0<=x>GB)//j;th=_cd(-((-th*xu)>>GB),j);sl+=tl;sh+=th + tn=_cd(-((-th*xu)>>GB),EN) # x^EN/EN! (rounded up); the tail is at most twice this + return Q(int(sl),ONE),Q(int(sh+2*tn+2),ONE) +def moment(endpoint): + lo=hi=Q(0) + for r,n in profile.items(): + l,h=log(Q(m,r)); weight=Q(n*r,m*W) + lo+=weight*exp(endpoint*l)[0] + hi+=weight*exp(endpoint*h)[1] + return down(lo),up(hi) + +native=moment(b) +assert native[1]<1 +b_up=Q(BJ['b_above_endpoint']) +assert b_up>certified_complex and moment(b_up)[0]>1 # a larger test endpoint is rejected + +def ledger(kind, *, q_=q, zeta=ZETA, slack=SLACK, + old_scan=False, full_gauge=False, full_key=False, old_union=False, old_theta=False, old_linear=False, old_tag=False, + eps_=EPS, beta_=BETA, tau_eff=STRASSEN_TAU, halo_power=HALO_POWER, core_power=CORE_POWER): + r=R0; stop=STOP + # Existing explicit Strassen format, 7^16<2^45; c=3/32. + # Union: radix-distributed schedule (outer/UNION-SCHEDULE.md, new in this package): row exponent eps+1/2-xi. The boundary row binds with main; the Gaussian row has slack at this explicit point. + c=(3-tau_eff)/2 + eps=eps_; beta=beta_ + xi=eps*(1+q_)-c+slack + saving=eps*q_ + # Deliberate strict gap (BACKOFF) after decimal truncation to the FLOOR grid. + kappa=Q((saving*FLOOR).__floor__(),FLOOR)-BACKOFF + # kappa is derived, not silently asserted to equal an expected decimal. + tau=1-a; sigma=1-b + internal=tau+(1-stop)*max(sigma-tau,Q(0)) + leaf=sigma+stop*(1-sigma) + lam=1-(q_+a)/2 + key=beta+1-eps + margins={ + 'main_transform':saving, + 'global_coordinate_router':a, + 'fused_gaussian':1-eps+q_*beta, + 'group_bit_router':1-eps+a*beta, + 'group_scans':1-eps+beta, + 'boundary_algebraic_matrix':c+xi-eps, + 'sparse_union_movement':xi+Q(1,2)-eps, + 'polynomial_products':eps, + 'microbox_face_corrections':1-(eps+beta+halo_power-core_power+2), + } + if old_union:margins['old_g_factor_union_row']=1-eps-beta-Q(1,2)+xi + if old_scan:margins['old_per_axis_scan']=1-eps + if full_key:margins['unnecessary_full_key_sort']=margins['sparse_union_movement']-key + checks={ + 'actual_bit_above_effective':bit-a, + 'complex_above_effective':b-a, + 'q_positive':q_, 'complex_endpoint':b-q_, + 'q_below_effective':a-q_, 'stop_positive':stop, + 'stop_below_one':1-stop, + 'leaf_saving_above_effective':(1-stop)*b-a, + 'q_below_internal':1-internal-q_, 'q_below_leaf':1-leaf-q_, + 'lambda_above_tau':lam-tau, 'lambda_above_sigma':lam-sigma, + 'lambda_above_internal':lam-internal, + 'lambda_prime_above_lambda':1-q_-lam, + 'lambda_prime_above_leaf':1-q_-leaf, + 'epsilon_positive':eps,'epsilon_below_one':1-eps, + 'cap_above_band':xi-Q(1,2),'cap_below_cell':eps-xi, + 'group_positive':beta,'group_below_dimension':eps-beta, + 'support_router_span':1-beta, + 'group_gauge_power_slack':1-(2*xi-THETA_POWER)-r-beta, + 'actual_logarithmic_group_guard':1-(2*xi-THETA_POWER)-beta, + 'global_gamma_power_slack':1-eps-r, + 'actual_logarithmic_gamma_guard':1-eps, + 'alpha_logarithm_absorption':r, + 'group_key_fits_record':1-key, + 'membership_arithmetic_fits_record':1-beta-2*(1-eps), + 'microbox_halo_volume':core_power-halo_power-beta, + 'positive_layout_slack':slack, + 'short_record_fallback':eps-a, + 'improvement_over_online_final':kappa-online, + 'improvement_over_previous_local_final':kappa-old, + 'complex_below_one_over_32':Q(1,32)-b, + } + checks['strassen_integer_power_gap']=Q(2**tau_eff.numerator-7**tau_eff.denominator) + checks['theta_positive_polynomial_power']=THETA_POWER + checks['cap_below_phase_cell_power']=THETA_POWER-xi + checks['halo_covers_generic_inverse_radius']=Q(halo_power-43) + checks['union_tag_work_per_visit_fits_record']=1-beta + checks['union_header_fits_record']=1-beta + checks['source_axis_superpolynomial']=1-eps + checks['improvement_over_pr1786']=kappa-KAPPA_1786 + checks['improvement_over_pr1828']=kappa-KAPPA_1828 + checks['improvement_over_pr1839']=kappa-KAPPA_1839 + checks['improvement_over_pr1875']=kappa-KAPPA_1875 + checks['improvement_over_pr1876']=kappa-KAPPA_1876 + checks['improvement_over_pr1897']=kappa-KAPPA_1897 + checks['improvement_over_pr1758']=kappa-Q('0.001679745508802299051546533685199973672313473419790800679752457380932784242972585600630181672224983') + checks['improvement_over_pr1699']=kappa-KAPPA_1699 + checks['improvement_over_pr1712']=kappa-KAPPA_1712 + checks['improvement_over_previous_package']=kappa-KAPPA_PKG4 + checks['improvement_over_pkg_k2']=kappa-KAPPA_PKG5 + if full_gauge:checks['unrecentered_group_gauge']=1-THETA_POWER-r-beta + if old_theta:checks['old_theta_chirp_guard']=1-(2*xi-eps)-r-beta + if old_linear:checks['old_linear_guard']=1-xi-r-beta + if old_tag:checks['old_union_tag_2beta']=1-2*beta + # Main-binding family invariant (PR2180): the Gaussian saving stays above the main saving. The fixed kappa grid (FLOOR) is coarser than the free gaps, + # so the *_above_kappa rows alone would no longer exclude a beta outside the main-binding window; this row is delta*(1-2q) > 0. + checks['gaussian_above_main']=margins['fused_gaussian']-saving + checks.update({n+'_above_kappa':v-kappa for n,v in margins.items()}) + assert margins['boundary_algebraic_matrix']==saving+slack + assert margins['sparse_union_movement']==saving+slack+(tau_eff-2)/2 + return {'kind':kind,'kappa':kappa,'epsilon':eps,'xi':xi,'beta':beta, + 'q':q_,'a':a,'r0':r,'zeta':zeta,'slack':slack, + 'margins':margins,'strict_checks':checks} + +def encode(x): + if isinstance(x,Q): + with localcontext() as c: + c.prec=DIG+200 + return {'rational':str(x),'decimal':str(Decimal(x.numerator)/Decimal(x.denominator))} + if isinstance(x,dict):return {str(k):encode(v) for k,v in x.items()} + if isinstance(x,(list,tuple)):return [encode(v) for v in x] + return x + +rows={};controls={} +for kind in ['struct_boundary_radix_union']: + row=ledger(kind) + assert all(v>0 for v in row['strict_checks'].values()) + assert min(row['margins'].values())==row['margins']['main_transform'] + # fixed-grid maximum: C*FLOOR is an integer and 0 < C - eps*q < 1/FLOOR, so floor(FLOOR*eps*q)/FLOOR = C - 1/FLOOR exactly and kappa attains the grid/backoff ceiling + assert (certified_complex*FLOOR).denominator==1 and 0= 1/(4 p^THETA_POWER)), an exponential factor <= p^2 eventually, +# alpha^5 polylogarithmic; a further half power is allowed for the polylogarithmic and bounded-constant factors of the augmented matrices. The umbrella must exceed that budget. +UMBRELLA_POWER=10 +def umbrella_margin(theta_power):return UMBRELLA_POWER-(2*theta_power+2+Q(1,2)) +assert umbrella_margin(THETA_POWER)>0 and umbrella_margin(Q(15,4))<=0 # control: the umbrella would fail silently for THETA_POWER >= 3.75 +HALO_UMBRELLA={'umbrella_power':UMBRELLA_POWER,'theta_power':THETA_POWER,'exponent_budget':2*THETA_POWER+2+Q(1,2),'margin':umbrella_margin(THETA_POWER),'fails_from_theta_power':Q(15,4)} +out={'status':'PASS_FINE_PRIME_PADDING_EXACT_ARITHMETIC', + 'scope':'Conditional fine-prime padding composition. Fresh native admission is required by verify.py. The cited prime theorem, written gauge-free theorem and inherited all-size interfaces are not proved by this arithmetic. No independent human review is claimed.', + 'geometry_changes':{'theta_power':THETA_POWER,'halo_power':HALO_POWER,'core_power':CORE_POWER,'matrix_exponent':STRASSEN_TAU}, + 'halo_umbrella':HALO_UMBRELLA,'complex_lower_short':b,'complex_lower_pinned':certified_complex, + 'native_moment':native,'profile':profile,'m':m,'W':W, + 'online_final_kappa':online,'rows':rows,'rejecting_controls':controls, + 'pr1673_kappa':Q('0.001677160151714381'),'improvement_over_pr1673':rows['struct_boundary_radix_union']['kappa']-Q('0.001677160151714381'), + 'source_sha256':{p.relative_to(WORK).as_posix():hashlib.sha256(p.read_bytes()).hexdigest() for p in [SPEC,CLAIM]}} +(HERE/'LEDGER.json').write_text(json.dumps(encode(out),indent=2)+'\n') +print(out['status']) +for name,row in rows.items(): + print(name,'FINAL KAPPA',encode(row['kappa'])['decimal'], + 'positive checks',len(row['strict_checks']), + 'gain over online',encode(row['kappa']-online)['decimal']) diff --git a/research/staged544-t385/outer-replay/outer/independent_check.py b/research/staged544-t385/outer-replay/outer/independent_check.py new file mode 100644 index 0000000000..b838c430ef --- /dev/null +++ b/research/staged544-t385/outer-replay/outer/independent_check.py @@ -0,0 +1,60 @@ +"""Independent balance-equation check (PR1673, adapted: this package's supplier b and SPEC), not an execution of the ledger in check_ledger.py.""" +from fractions import Fraction as F +from pathlib import Path +from decimal import Decimal,localcontext +import json,hashlib,sys +sys.set_int_max_str_digits(0) +D=Path(__file__).resolve().parent;W=D.parent +src=W/'new/SPEC.json' +BJ=json.loads((D/'B.json').read_text()) +spec=json.loads(src.read_text());pinned=F(spec['expected']['complex_lower']) +DIG=spec['outer_refinement']['endpoint_digits'];T=10**(DIG+80) # all free slacks are 10^-(DIG+80) or below (fixed-grid-maximum point, PR2180 / PR2161 dataisfire) +b=F(BJ['b']);q=b-F(1,T);eff=(q+b)/2;actual_bit=F('0.001733427039589844234749') +r=F(1,T);z=F(1,T*100);s=F(1,T) +assert 0eff +rows={} +# FINE-PRIME PADDING (outer/FINE-PADDING-COMPOSITION.md): explicit point epsilon=1-delta, beta=1-3 delta, delta=(1025/1024)*10^-(DIG+80), Strassen boundary tau=45/16 (7^16<2^45), c=3/32, +# theta in (1/(4p^2),1/(2p^2-1)], chirp guard beta+2xi-2<1, halo power 48, core power 128. Derived here WITHOUT the ledger code; the structured boundary is not used. +delta=F(1025,1024*T);E=1-delta;B=1-3*delta +assert 7**16<2**45;tau=F(45,16);c=(3-tau)/2;assert c==F(3,32) +nu=2;halo=48;core=128 +X=E+E*q+s-c # boundary saving c+X-E = E q + s +assert c+X-E==E*q+s +# the Gaussian row has slack: 1-E+qB-Eq = delta(1-2q) +assert 1-E+q*B-E*q==delta*(1-2*q)>0 +# admissible beta window for this epsilon: Gaussian row needs beta >= 1-delta(1+1/q); membership needs beta < 1-2 delta +assert 1-delta*(1+1/q)<=B<1-2*delta +assert F(1,2)z>0 and 1-E-r>0 and core-halo-B>0 and halo>43 +assert 1-B>0 and 1-B-2*(1-E)==delta>0 +costs={'transform':1-E*q,'global_router':1-eff,'gaussian':E-q*B,'group_router':E-eff*B,'group_scans':E-B,'boundary':E-X+(tau-1)/2,'sparse_union':E+F(1,2)-X,'polynomials':1-E,'microfaces':E+B+halo-core+2} +K=F((E*q*10**(DIG+46)).__floor__(),10**(DIG+46))-F(1,10**(DIG+22)) +assert max(costs.values())==costs['transform'] and all(v<1-K for v in costs.values()) +# earlier packages' guards fail at this point (they are rejecting controls in the ledger): linear guard 1-X-r-B<0, old theta chirp guard 1-(2X-E)-r-B<0, 2B<1 test fails +assert 1-X-r-B<0 and 1-(2*X-E)-r-B<0 and 1-2*B<0 +assert K>F('0.0016797547881500489087805478664999999999999999999999999999999998000000199999') # PR1786 exact kappa +assert K>F('0.0016797549561255445213356709939207025769983114385025802954603275201627999999999999999999999999979966404900867489109573286580121585') # PR1828 exact kappa +assert K>F('0.0016797549561255445213356709939207025769983114385025802954603275201628645482603256388263049999999997996640490086748910957328658012158594') # PR1839 exact kappa +assert K>F('0.0016797549561255445213356709939207025769983114385025802954603275201628645482603256388263056561328446322744513169085862209720704481201654121427713006366929567157349625273906229277148454180995537563371124755588139767841405530386745578819565618798006892541712197674874836946756930569827889227573192555649999999997996640490086748910957328658012158594') # PR1875 exact kappa +assert K>F('0.001679754956125544521335670993920702576998311438502580295460327520162864548260325638826305656132844632274451316908586220972070448120165412142771300636692956715734962527390622927714845418099553756337112475558813976784140553038674557881956561879800689254171219767487483694675693056982788922757319255565606685566411725238449650999339827075715283714270157705762309226038611771955655377501414652136546310799999999999999999997996640490086748910957328658012158594846') # PR1876 exact kappa +assert K>F('0.001679754956125544521335670993920702576998311438502580295460327520162864548260325638826305656132844632274451316908586220972070448120165412142771300636692956715734962527390622927714845418099553756337112475558813976784140553038674557881956561879800689254171219767487483694675693056982788922757319255565606685566411725238449650999339827075715283714270157705762309226038611771955655377501414652136546310881185746917580802513640545967852810801680966856133978576162943792322682482152988532923811998938861379689883167389728443314312230815059559906903773756886872476136837071871203030423643505345473735135533') # PR1897 exact kappa +assert K>F('0.001679745508802299051546533685199973672313473419790800679752457380932784242972585600630181672224983') # PR1758 +assert K r0 (beta = 1-3 delta); only kappa moves, kappa = (1-delta) q - O(1e-76) +# fixed-grid maximum: saving < C and C*FLOOR integral give K <= C-1/FLOOR-BACKOFF; this point attains it (0 < C-E*q < 1/FLOOR) +FL=10**(DIG+46);assert (pinned*FL).denominator==1 and 00 and 1-dd*(1+1/q)<=Bd<1-2*dd and 1-Ed+q*Bd-Ed*q>0 and Ed-Bd>0 and 1-Bd-2*(1-Ed)>0 + assert F(1,2)0 and core-halo-Bd>0 + assert 1-Ed+eff*Bd>Ed*q and eff>Ed*q and 1-Ed+Bd>Ed*q and Ed>Ed*q and 1-(Ed+Bd+halo-core+2)>Ed*q + sweep.append((str(dd),str(float(q-Ed*q)))) +assert 1-F(1,T)<=1-r # delta=r0 itself is rejected by 1-eps-r0>0 +assert not (1-(1-r)-r>0) +rows['struct_boundary_radix_union']={'epsilon':str(E),'cap':str(X),'beta':str(B),'kappa':str(K),'margin_above_kappa':str(E*q-K),'checked_cost_powers':len(costs),'gap_to_q':str(q-K),'epsilon_free_sweep_delta_gap_to_q':sweep} +report={'status':'PASS_INDEPENDENT_BALANCE_DERIVATION','source_sha256':hashlib.sha256(src.read_bytes()).hexdigest(),'b':str(b),'rows':rows,'scope':'Independent balance derivation and margin comparisons for this package\'s supplier endpoint; the supplier native admission is bound by verify_release.py; inherited all-size assumptions remain.'} +(D/'INDEPENDENT.json').write_text(json.dumps(report,indent=2)+'\n') +print(json.dumps(report,indent=2)) diff --git a/research/staged544-t385/owner_check.py b/research/staged544-t385/owner_check.py new file mode 100644 index 0000000000..79ef1632f3 --- /dev/null +++ b/research/staged544-t385/owner_check.py @@ -0,0 +1,69 @@ +"""Portable streaming adapter for the retained PR3734 physical owner audit. +Retained owner audit adapted from credited PR3638 predicates; byte-identical source vendored. +This adapter changes only input location and derives T from order. All predicates and controls remain. +""" +import argparse,gzip,json,hashlib,re,itertools,time +from pathlib import Path +if not __debug__:raise RuntimeError("assertions must be enabled") +def row_stream(path,metadata): + dec=json.JSONDecoder() + with gzip.open(path,'rt')as f: + buf='' + while True: + match=re.search(r'"rows"\s*:\s*\[',buf) + if match:break + chunk=f.read(65536) + if not chunk:raise ValueError('missing rows') + buf+=chunk + prefix=buf[:match.start()];metadata.update(json.loads(prefix+'"rows":[]}'));buf=buf[match.end():];pos=0;delimiter=False;after_comma=False + while True: + while True: + while pos1024:raise ValueError('oversized or malformed row') + chunk=f.read(65536) + if not chunk:raise ValueError('truncated row') + buf=partial+chunk;pos=0 + continue + pos=end;delimiter=True;after_comma=False;yield row + if pos>65536:buf=buf[pos:];pos=0 + +class Rows: + def __init__(self,path,count): + self.metadata={};self.gen=row_stream(path,self.metadata);self.first=[next(self.gen),next(self.gen)];self.count=count + def __len__(self):return self.count + def __getitem__(self,i):return self.first[i] + def __iter__(self): + count=0 + for row in itertools.chain(self.first,self.gen):count+=1;yield row + if count!=self.count:raise ValueError('literal row count differs') + +def sha(p):return hashlib.sha256(Path(p).read_bytes()).hexdigest() +def main(): + parser=argparse.ArgumentParser();parser.add_argument('--package',type=Path,default=Path(__file__).parent);parser.add_argument('--output',type=Path);a=parser.parse_args();package=a.package.resolve();supplier=package/'source3734';allocation=package/'inputs';source=supplier/'owner_audit.py';expected='56405eacc7c2dd0f7834ed5d62a4db8303c71657300eb4e4bbe020319552cde1';assert sha(source)==expected,'retained source changed' + expected_inputs={'PLAN.json.gz': 'd566cfb87b71639d4138e1f89b543e2dd6a7772070226a2a14c799a6835bf21e', 'TEMPLATE.json.gz': '21297b20f1f2dc76eb9dd8124416068c3cb096bab9df17fa4da19bc68dfe082e', 'NATIVE-base.json.gz': 'bfe0cc0badac6c6d18461ceea0b299162c0f280c05f81b63f11fcc06cf9180e6', 'NATIVE-extra.json.gz': 'c5eec94a64cecfd6b83de05619628ad4868e889d62a55b49973f09705cc60448'};supplier_files=[supplier/x for x in expected_inputs] + for p in supplier_files:assert sha(p)==expected_inputs[p.name],'supplier pin mismatch' + text=source.read_text();old="D=P/'inputs';T=360;order=read(D/'ORDER.json');dispatch=read(D/'DISPATCH.json');N=9*T";new="D=P/'inputs';order=read(D/'ORDER.json');need(len(order)%9==0,'whole replica order');T=len(order)//9;dispatch=read(D/'DISPATCH.json');N=9*T";assert text.count(old)==1;ns={'__file__':str(source),'__name__':'retained_owner_audit'};exec(compile(text.replace(old,new),str(source),'exec'),ns);ns['P']=supplier;read_original=ns['read'] + def read(path): + if path.name in('ORDER.json','DISPATCH.json','PROFILE.json'):return read_original(allocation/path.name) + if path.name=='FILL.json.gz': + rows=Rows(allocation/path.name,len(read_original(allocation/'ORDER.json'))*408);return {**rows.metadata,'rows':rows} + return read_original(supplier/path.name) + ns['read']=read;started=time.monotonic();positive=ns['audit']();controls=ns['controls']();bindings={} + for prefix,files,root in [('supplier',supplier_files+[source],supplier),('allocation',[allocation/x for x in('ORDER.json','DISPATCH.json','PROFILE.json','FILL.json.gz')],allocation),('checker',[Path(__file__)],Path(__file__).parent)]: + for p in files:bindings[prefix+'/'+p.relative_to(root).as_posix()]=sha(p) + out={'positive':positive,'controls':controls,'seconds':time.monotonic()-started,'scope':__doc__,'pins':bindings}; + if a.output:a.output.parent.mkdir(parents=True,exist_ok=True);a.output.write_text(json.dumps(out,indent=2)+'\n') + print(json.dumps({'status':positive['status'],'replicas':positive['replicas'],'roles':positive['roles'],'physical':positive['physical'],'controls':controls,'seconds':out['seconds']},sort_keys=True)) +if __name__=='__main__':main() diff --git a/research/staged544-t385/rational_price.py b/research/staged544-t385/rational_price.py new file mode 100644 index 0000000000..cc53a4ef64 --- /dev/null +++ b/research/staged544-t385/rational_price.py @@ -0,0 +1,77 @@ +# SPDX-License-Identifier: Apache-2.0 +"""Rational enclosures for the finite paid-profile comparison. + +For 1<=x<2, log(x)=2*sum(z^(2j+1)/(2j+1)), z=(x-1)/(x+1). +The positive remainder is at most 2*z^(2n+1)/((2n+1)*(1-z*z)). +Range reduction gives z<=1/3. Alternating exponential partial sums then +bound exp(-a*log(r)); no floating arithmetic or root solver is used. +""" +from fractions import Fraction as Q +from functools import lru_cache + + +def need(ok, message): + if not ok: + raise ValueError(message) + + +def log_series(x, n=100): + z = (x - 1) / (x + 1) + total = Q(0) + power = z + for j in range(n): + total += 2 * power / (2*j + 1) + power *= z*z + tail = 2 * power / ((2*n + 1) * (1-z*z)) + return total, total + tail + + +@lru_cache(None) +def log_bounds(rank): + need(type(rank) is int and 1 <= rank <= 73, 'priced rank domain') + exponent = rank.bit_length() - 1 + a, b = log_series(Q(rank, 1 << exponent)) + c, d = log_series(Q(2)) + lo, hi = a + exponent*c, b + exponent*d + # Outward rational quantization keeps subsequent denominators bounded. + scale = 10**90 + low = (lo.numerator * scale) // lo.denominator + high = -((-hi.numerator * scale) // hi.denominator) + return Q(low, scale), Q(high, scale) + + +def exp_negative(x, degree): + need(0 <= x < 1, 'alternating exponential range') + term = Q(1) + total = term + for j in range(1, degree + 1): + term *= -x / j + total += term + return total + + +@lru_cache(None) +def h_bounds(rank, a): + need(Q(0) < a < Q(1, 100), 'exponent domain') + lo, hi = log_bounds(rank) + return rank * exp_negative(a*hi, 31), rank * exp_negative(a*lo, 30) + + +def interval(profile, a): + a = Q(a) + lower = upper = Q(0) + for r, count in profile.items(): + need(type(r) is int and type(count) is int, 'integer signed profile') + lo, hi = h_bounds(r, a) + lower += count * (lo if count >= 0 else hi) + upper += count * (hi if count >= 0 else lo) + return lower, upper + + +def compact(bounds): + # Report outward intervals at 60 decimal places, retaining rational signs. + lo, hi = bounds + scale = 10**60 + low = (lo.numerator*scale)//lo.denominator + high = -((-hi.numerator*scale)//hi.denominator) + return {'lower': str(Q(low, scale)), 'upper': str(Q(high, scale))} diff --git a/research/staged544-t385/replay_outer.py b/research/staged544-t385/replay_outer.py new file mode 100644 index 0000000000..f64dd47a74 --- /dev/null +++ b/research/staged544-t385/replay_outer.py @@ -0,0 +1,22 @@ +"""Replay both exact outer arithmetic ledgers on their frozen admitted inputs.""" +from pathlib import Path +import json,shutil,subprocess,sys,tempfile,uuid +P=Path(__file__).resolve().parent + +def replay(): + source=P/'outer-replay';tmp=Path(tempfile.gettempdir()).resolve();work=tmp/('staged544-outer-'+uuid.uuid4().hex);work.mkdir() + try: + for f in source.rglob('*'): + if f.is_file(): + target=work/f.relative_to(source);target.parent.mkdir(parents=True,exist_ok=True);shutil.copy2(f,target) + for name in ['LEDGER.json','INDEPENDENT.json']:(work/'outer'/name).unlink() + for script in ['check_ledger.py','independent_check.py']: + result=subprocess.run([sys.executable,'-B',str(work/'outer'/script)],capture_output=True,text=True) + if result.returncode:raise ValueError(script+' failed: '+result.stderr[-1500:]) + for name in ['LEDGER.json','INDEPENDENT.json']: + if json.loads((work/'outer'/name).read_text())!=json.loads((source/'outer'/name).read_text()):raise ValueError('regenerated outer artifact differs '+name) + finally: + assert work.resolve().parent==tmp and work.name.startswith('staged544-outer-') + shutil.rmtree(work) + print('PASS_REGENERATED_BOTH_EXACT_OUTER_LEDGERS',flush=True) +if __name__=='__main__':replay() diff --git a/research/staged544-t385/reproduce_t385.py b/research/staged544-t385/reproduce_t385.py new file mode 100644 index 0000000000..ff321d9160 --- /dev/null +++ b/research/staged544-t385/reproduce_t385.py @@ -0,0 +1,98 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copy-coloring and literal expansion adapt retained PR3605/T45 portable_expand.py +# and integral_network.py. This is not an independent third-party implementation. +"""Solver-free exact integer expansion of the fixed PR3734 T385 proof certificate. +All native supplier words remain unchanged; fresh owner/outer admission is separate. +""" +from pathlib import Path +from array import array +from collections import Counter,defaultdict +from fractions import Fraction as F +import sys,json,gzip,hashlib,time,argparse +if not __debug__ or sys.flags.optimize:raise RuntimeError('Enabled assertions required for exact replay') +P=Path(__file__).parent +read=lambda p:json.loads(gzip.decompress(p.read_bytes())if p.suffix=='.gz'else p.read_bytes()) +def main(): + ap=argparse.ArgumentParser();ap.add_argument('--source',type=Path,required=True,help='Authenticated PR3734 staged544-producer-return directory');ap.add_argument('--clock',type=Path,required=True);ap.add_argument('--certificate',type=Path,required=True);ap.add_argument('--network',type=Path,required=True,help='Retained integral_network.py');ap.add_argument('--out',type=Path,required=True);ap.add_argument('--bounded',type=int,default=0);args=ap.parse_args();start=time.monotonic();SRC=args.source.resolve() + import importlib.util + d=read(args.certificate) + assert hashlib.sha256(args.network.read_bytes()).hexdigest()==d['integral_network_sha256'],'retained network digest' + spec=importlib.util.spec_from_file_location('retained_integral_network',args.network);net=importlib.util.module_from_spec(spec);spec.loader.exec_module(net);net.INV=(26,2,18,53,96,213) + for rel,digest in d['source_pins'].items(): + assert not Path(rel).is_absolute()and '..'not in Path(rel).parts,'relative source pin' + assert hashlib.sha256((SRC/rel).read_bytes()).hexdigest()==digest,('source digest',rel) + price={'S':d['S'],'profile':d['profile']};S=d['S'];T=77*S;assert d['baseT']==77 and S==5 and d['T']==T;G=d['groups'];order45=d['order'];W=d['widths'];clock_source=read(args.clock);assert hashlib.sha256(args.clock.read_bytes()).hexdigest()==d['clock_sha256'];assert clock_source['order']==order45 and clock_source['baseT']==77,'pinned macroclock';assert sorted(map(tuple,order45))==[(s,r)for s in range(9)for r in range(77)];assert all([s for s,r in order45 if r==o]==list(range(9))for o in range(77));xg=defaultdict(list);zg=defaultdict(list) + for g,q,n in d['x']: + assert type(n)is int and n>0;xg[g].append((q,n)) + for g,t,w,n in d['z']: + assert type(n)is int and n>0;zg[g].append((t,w,n)) + taskwidth=array('B');taskbin=array('I');bingroup=array('H');required=array('b');macro=[array('I')for _ in order45];ranges=[] + for gi,g in enumerate(G): + first=len(bingroup);available=defaultdict(lambda:array('I')) + for q,n in sorted(xg[gi]): + widths=[w for w,c in zip(W,q)for _ in range(c)] + for _ in range(n): + b=len(bingroup);bingroup.append(gi);required.append(-1) + for w in widths:i=len(taskwidth);taskwidth.append(w);taskbin.append(b);available[w].append(i) + cursor=Counter() + for t,w,n in sorted(zg[gi]): + ids=available[w][cursor[w]:cursor[w]+n];assert len(ids)==n;macro[t].extend(ids);cursor[w]+=n + assert all(cursor[w]==len(ids)for w,ids in available.items());assert len(bingroup)-first==g[3]*S;ranges.append((first,len(bingroup))) + assert len(taskwidth)==693*S*408;print('BUILT',len(taskwidth),'tasks',len(bingroup),'bins',round(time.monotonic()-start,2),flush=True) + actual=[array('I')for _ in range(693*S)];stats=Counter();gn={i:g[3]for i,g in enumerate(G)} + chosen=list(range(693))if not args.bounded else sorted(set([0,692]+[int(i*692/max(1,args.bounded-1))for i in range(args.bounded)])) + for t in chosen: + colors,st=net.copy_colors(sorted(macro[t]),taskbin,taskwidth,bingroup,gn,S) + for i,cp in colors.items(): + actual[S*t+cp].append(i);b=taskbin[i];gi=bingroup[b] + if t==G[gi][2]:required[b]=max(required[b],cp) + stats['flows']+=st['flows'];stats['max_nodes']=max(stats['max_nodes'],st['max_nodes']);stats['max_edges']=max(stats['max_edges'],st['max_edges']) + if t%20==0 or args.bounded:print('COLORED',t,round(time.monotonic()-start,2),flush=True) + if args.bounded: + args.out.mkdir(parents=True,exist_ok=True);(args.out/'COPY-PREFLIGHT.json').write_text(json.dumps({'status':'PASS_BOUNDED_EXACT_COPY_COLORS','macrocalls':chosen,'S':S,'tasks':len(taskwidth),'stats':dict(stats),'seconds':time.monotonic()-start},indent=2)+'\n');return + assert all(len(x)==408 for x in actual) + template=read(SRC/'TEMPLATE.json.gz');plan=read(SRC/'PLAN.json.gz');children={c['child']:c['rank']for c in template['idle_children']};clock={tuple(v):i for i,v in enumerate(order45)};groups=defaultdict(list) + for o in range(77): + touched={};tm=None + for ev in template['execution_schedule']: + kind=ev['kind'] + if kind=='local_cover_sweep':tm=clock[ev['stage'],o];touched[next(x['pair']for x in template['recipe']if x['kind']=='local'and x['stage']==ev['stage'])]=tm + elif kind=='bridge':touched[ev['src']]=tm;touched[ev['dst']]=tm + elif kind=='idle_cover_sweep': + for c in ev['child_indices']: + if c in children: + for port in range(112):groups[children[c],touched.get(ev['pair'],-1),tm].append((o,c,port)) + keys=sorted(groups);assert [[*k,len(groups[k])]for k in keys]==G + owners=array('H',[0])*len(bingroup);childs=array('H',[0])*len(bingroup);ports=array('B',[0])*len(bingroup) + for gi,(lo,hi)in enumerate(ranges): + base=groups[keys[gi]];m=len(base) + for j,b in enumerate(sorted(range(lo,hi),key=lambda b:(required[b],b),reverse=True)): + cp=S-1-j//m;o,c,p=base[j%m];assert cp>=required[b];owners[b]=o+77*cp;childs[b]=c;ports[b]=p + order=[[s,r+77*cp]for s,r in order45 for cp in range(S)];old_dispatch={tuple(x[:2]):x[2]for x in clock_source['dispatch']};assert all(pid==old_dispatch[s,r%77]for (s,r),pid in old_dispatch.items());dispatch=[[s,r,old_dispatch[s,r%77]]for s,r in order] + widths={};pids={} + for tag,pid in [('base','gauge44'),('extra','extra')]: + w=read(SRC/f'NATIVE-{tag}.json.gz');widths[pid]=[len(w['frames'][w['final'][r]])-len(w['frames'][w['start'][r]])for r in range(224,632)];assert Counter(widths[pid])==dict(zip(W,net.INV)) + out=args.out;out.mkdir(parents=True,exist_ok=False) + for name,obj in [('ORDER.json',order),('DISPATCH.json',dispatch),('PROFILE.json',price['profile'])]:(out/name).write_text(json.dumps(obj,separators=(',',':'))+'\n') + offsets=array('B',[0])*len(bingroup);families={c:2*plan['pairs'][str(c)]+plan['sides'][str(c)]for c in children};rolecount=0 + with gzip.open(out/'FILL.json.gz','wt',compresslevel=1)as f: + f.write('{"columns":["time","helper","owner_replica","child","port","offset"],"dispatch_overrides":[],"rows":[') + for t,tasks in enumerate(actual): + pool=defaultdict(list);pid=dispatch[t][2] + for h,w in enumerate(widths[pid]):pool[w].append(h) + rows=[];usedfamilies=set() + for i in sorted(tasks,key=lambda i:(taskwidth[i],i)): + w=taskwidth[i];h=pool[w].pop();b=taskbin[i];gi=bingroup[b];o=owners[b];c=childs[b];p=ports[b];z=offsets[b];offsets[b]+=w;cap,lo,hi,_=G[gi];cp=o//77 + assert (-1 if lo==-1 else S*lo+cp)=min(b,d) for j,(a,b) in enumerate(rows) for c,d in rows[j+1:]),'source family windows disjoint') + widths={};local=None + for tag,pid in [('base','gauge44'),('extra','extra')]: + w=read(D/f'NATIVE-{tag}.json.gz');need(w['R']==408 and len(w['zero_buffers'])==91,'native stock') + widths[pid]=[rank(w['frames'][w['final'][r]])-rank(w['frames'][w['start'][r]]) for r in range(224,632)] + need(Counter(widths[pid])=={4:26,5:2,6:18,7:53,8:96,9:213},'native widths') + loc={int(r):n for r,n in w['local_profile'].items()};need(local is None or local==loc,'provider paid profiles');local=loc + need(local=={1:2440,2:725,3:224,4:102,5:20,8:8},'changed local bill') + fill=read(D/'FILL.json.gz') + if mutator:mutator(fill['rows']) + need(fill['columns']==['time','helper','owner_replica','child','port','offset'] and fill['dispatch_overrides']==[],'literal schema') + need(len(fill['rows'])==N*408,'role count');used=Counter();callfamilies=set() + for j,row in enumerate(fill['rows']): + need(len(row)==6 and all(type(x)is int for x in row),'integer role') + t,h,o,c,p,z=row;need(t==j//408 and h==j%408,'ordered complete helper identities') + if h==0:callfamilies=set() + need((o,c) in windows and 0<=p<112,'owner child port') + cap,lo,hi=windows[o,c];need(lo=0,'bin overflow') + if left:idle[left]+=1 + profile=Counter({r:N*n for r,n in local.items()});profile.update(idle) + expected={int(r):n for r,n in read(D/'PROFILE.json').items()};need(dict(profile)==expected,'complete paid histogram') + need(sum(r*n for r,n in profile.items())==65088*T,'mass deficit') + return dict(status='PASS_STANDARD_LIBRARY_INDEPENDENT_LITERAL_AUDIT',replicas=T,calls=N,roles=N*408,physical=896*T+408+8+91+2,idle=dict(idle),profile=dict(profile)) +def controls(): + def reused_family(rows): + rows[1][2:5]=rows[0][2:5] + def duplicate_helper(rows):rows[1][1]=rows[0][1] + def unpaid_hole(rows):rows[0][5]+=1 + results=[] + for name,mutator,phrase in [('same_call_family',reused_family,'same-call physical family uniqueness'),('duplicate_helper',duplicate_helper,'ordered complete helper identities'),('unpaid_hole',unpaid_hole,'compact chronological prefix')]: + try:audit(mutator) + except ValueError as ex: + need(phrase in str(ex),'wrong owner rejection: '+str(ex));results.append(name) + else:raise ValueError('owner mutant accepted '+name) + return results +if __name__=='__main__':print(json.dumps(dict(positive=audit(),controls=controls()),sort_keys=True),flush=True) diff --git a/research/staged544-t385/verify.py b/research/staged544-t385/verify.py new file mode 100644 index 0000000000..243bf0eeaa --- /dev/null +++ b/research/staged544-t385/verify.py @@ -0,0 +1,87 @@ +# SPDX-License-Identifier: Apache-2.0 +"""Fresh exact aggregate, literal owner and arithmetic checks; authenticate full release. +The complete conditional release is separately reproducible with full_replay.py. +""" +from pathlib import Path +from fractions import Fraction as Q +import copy,gzip,hashlib,json,subprocess,sys,tarfile,types,tempfile +P=Path(__file__).resolve().parent + +def need(ok,why): + if not ok:raise ValueError(why) +def sha(p):return hashlib.sha256(p.read_bytes()).hexdigest() +def read(p):return json.loads(p.read_text()) +def authenticate(): + pins=read(P/'PINS.json') + for name,digest in pins.items(): + f=P/name;need(not Path(name).is_absolute() and '..' not in Path(name).parts,'relative pin') + need(f.is_file() and not f.is_symlink() and sha(f)==digest,'source digest '+name) + return pins + +def check_release(release,endpoint,profile,source_manifest,native_digest): + need(release['status']=='PASS_REPLICA_ORDER_FILL_DERIVATIVE_COMPLETE_RELEASE','complete release status') + need(release['source_manifest_sha256']==source_manifest,'unchanged source binding') + need(release['native_receipt_sha256']==native_digest,'exact native receipt binding') + need(Q(release['kappa'])==endpoint,'released endpoint') + need(release['profile']=={str(r):n for r,n in profile.items()},'released paid profile') + need(release['replicas']==385 and release['actual_expected_helpers']==408,'released stock') + need(release['comparison_pr']==3734 and release['comparison_head']=='fa041037a3374eaa08feeca0b26a5d6893194147','frontier comparison') + need(release['comparison_claim_sha256']==sha(P/'source3734/CLAIM.json'),'full comparison claim') + for field,name in [('fill_sha256','FILL.json.gz'),('order_sha256','ORDER.json'),('dispatch_sha256','DISPATCH.json')]:need(release[field]==sha(P/'inputs'/name),'admitted literal '+name) + need([s['name']for s in release['stages']]==['owners','parent-lift','rebind','discovery','outer-check_ledger.py','outer-independent_check.py','release'] and all(s['exit_code']==0 for s in release['stages']),'all admission stages') + +def check_final_receipt(rr,release,endpoint): + need(rr['status']=='PASS_RELEASE','final receipt status') + need(Q(rr['kappa_decimal'])==endpoint,'final receipt endpoint') + need(rr['manifest_sha256']==release['package_manifest_sha256'],'final receipt manifest') + +def main(): + need(__debug__,'assertions enabled');pins=authenticate() + subprocess.run([sys.executable,'-B',str(P/'check_aggregate.py'),'--certificate',str(P/'inputs/AGGREGATE.json.gz')],check=True) + with tempfile.TemporaryDirectory(prefix='t385-owner-')as tmp: + report=Path(tmp)/'owner.json';subprocess.run([sys.executable,'-B',str(P/'owner_check.py'),'--output',str(report)],check=True);owner=read(report) + positive=owner['positive'];need(positive['roles']==1413720 and positive['physical']==345469,'complete physical stock') + need(set(owner['controls'])=={'same_call_family','duplicate_helper','unpaid_hole'},'owner controls') + price=read(P/'evidence/PRICE.json');profile={int(r):n for r,n in price['profile'].items()} + need(profile=={int(r):n for r,n in positive['profile'].items()},'physical profile equality') + R=types.ModuleType('exact_price');f=P/'rational_price.py';exec(compile(f.read_bytes(),str(f),'exec'),R.__dict__) + lo,hi=Q(price['root_lower']),Q(price['root_upper']);signed=profile.copy();signed[73]=-896*385 + need(R.interval(signed,lo)[1]<0