diff --git a/.gitattributes b/.gitattributes index 5a34da7b20..ae3a2b3d81 100644 --- a/.gitattributes +++ b/.gitattributes @@ -184,3 +184,6 @@ research/rank7-joint-endframes-restore-edit/** -text -whitespace research/pr1-retention-receipt/inputs/** -text -whitespace research/rank-shape-coframe-bill-seed850bc3/sources/pr3066-RESULT.json -text + +# Exact PR4088 export bytes and the pinned two-provider rebind. +research/staged544-mixed-idle-rebind/** -text -whitespace diff --git a/research/staged544-mixed-idle-rebind/.gitattributes b/research/staged544-mixed-idle-rebind/.gitattributes new file mode 100644 index 0000000000..751117729f --- /dev/null +++ b/research/staged544-mixed-idle-rebind/.gitattributes @@ -0,0 +1,2 @@ +inputs/DISPATCH.json -text +vendor/rebind.py -text diff --git a/research/staged544-mixed-idle-rebind/NOTICE.md b/research/staged544-mixed-idle-rebind/NOTICE.md new file mode 100644 index 0000000000..fa5d8cf90a --- /dev/null +++ b/research/staged544-mixed-idle-rebind/NOTICE.md @@ -0,0 +1,11 @@ +# Export notice + +Prepared by unpaidmoon with substantial Cursor Grok assistance. Apache-2.0. + +The files under `inputs/` are unmodified exports of +https://github.com/CrocSwap/integer-mult-bounds/tree/72d7efc181edb21806a878f174847c96dd410ab0/research/staged544-mixed-fourth-entry +(Cinna Davis, PR #4088). `THREE-*.json.gz` are the candidate words pinned by zxv's PR #4085 release. SHA-256 digests are checked by `verify.py`. + +`vendor/rebind.py` is an unmodified copy of `source/new/rebind.py` from the PR #3815 replay archive `REPLAY-INPUTS.tar.gz` at commit `c5854c77620723aae6914c32122870519a6f820d` (path `research/kappa-adaptive-continuation/sources/PR3815/research/staged544-producer-return/REPLAY-INPUTS.tar.gz`). That engine is the ordinary profile rule used by the later staged544 releases. Its SHA-256 is `faf283eb4edd2e6a1ccb40b3cb3ba30ae54338eaf5ea0a10d84d11d7939502af`. + +Those predecessor texts keep their original credit and the repository Apache-2.0 license. This notice does not replace them. The new scan, obstruction and moment comparison are the work of this package. diff --git a/research/staged544-mixed-idle-rebind/PROOF.md b/research/staged544-mixed-idle-rebind/PROOF.md new file mode 100644 index 0000000000..359e8c8bf9 --- /dev/null +++ b/research/staged544-mixed-idle-rebind/PROOF.md @@ -0,0 +1,51 @@ +# Idle cost that the two-provider rebind does not charge + +Prepared by unpaidmoon with substantial Cursor Grok assistance. Apache-2.0. + +## Sources + +Canonical base `bb4bccbf42844d2801487450727c2f63e10d1d0f`. The fill, order, dispatch, template, plan, helper origins and four words are the bytes of PR #4088 at `72d7efc181edb21806a878f174847c96dd410ab0`, checked by SHA-256 in `verify.py`. `vendor/rebind.py` is the unmodified file from the PR #3815 replay archive, SHA-256 `faf283eb4edd2e6a1ccb40b3cb3ba30ae54338eaf5ea0a10d84d11d7939502af`. + +The predecessor global profile is PR #4085's published histogram. Its idle is that histogram minus `3240` copies of the three-entry local profile. + +## Scanned invoice + +Helper frames are ranked over `F_2^9`. On both orientations the three-entry and four-entry width vectors differ only at origin index 367, register 601, where the width falls from 8 to 7. The declared local profiles agree with that one-unit mass drop: + +`L3 = {1:2487, 2:713, 3:224, 4:102, 5:20, 8:8}`, mass 5157, + +`L4 = {1:2489, 2:713, 3:227, 4:99, 5:20, 8:8}`, mass 5156. + +The published dispatch is exactly the rule `(109 t mod 324) < 109` on the retained 3,240-call order: 1,090 fourth-entry calls and 2,150 three-entry calls. Walking every hosted row against the template windows gives idle + +`I = {3:22783, 5:1625, 48:138492}` + +and complete profile `2150 L3 + 1090 L4 + I`, which is the #4088 histogram. Total paid rank mass is `65088 * 360`. + +The #4085 idle is `{3:22842, 5:1890, 48:138438}`. The difference is `-59 H3 - 265 H5 + 54 H48`, rank mass `+1090`, matching the local saving `1090 * 1`. + +## Why the inherited rebind rejects this invoice + +`rebind.py` sets `locs = {gauge44, extra}` and, when a provider's widths change, assigns that one vector to every `per_call_widths` entry of the provider. Inside `gauge44` the scanned calls use width 8 on 1,040 calls and width 7 on 528 calls. Inside `extra` the split is 1,110 and 562. One vector per id cannot match both. + +The same function adds `n_pid * local_profile[pid]` for a single integer profile. The fourth-entry calls contribute `2 * 528 = 1056` extra rank-1 cells on `gauge44` and `2 * 562 = 1124` on `extra`. Neither count is divisible by the orientation's call count (1,568 and 1,672). No integer local profile per orientation reproduces the mixed local histogram. + +Idle is read from the shipped construction and described in the file as the unchanged idle remainder. Substituting the mixed local sum and the #4085 idle produces a different histogram, lighter by exactly 1,090 rank units: + +`{1:8060060, 2:2310120, 3:751872, 4:327210, 5:66690, 8:25920, 48:138438}`. + +## Moment consequence + +Let `M(k) = Σ n_r r^(1-k) - (896 * 360) 73^(1-k)`. Logarithms use the odd artanh series with an explicit geometric tail; `exp(-x)` uses the alternating Taylor theorem. Both are reimplemented in `verify.py`. + +For the scanned profile, `M` is negative at `0.001730979115670792472760` and positive at `0.001730979115670792472761`. The same enclosure accepts the #4085 bracket and rejects that profile at the new bracket. After the retained outer padding `10^-46 + 10^-70`, the scanned endpoint still exceeds the #4085 upper endpoint by more than `8.69 × 10^-9`. + +For the frozen-idle profile, a 24-step bisection isolates a sign change in + +`(7328391261/4194304000000, 5862713009/3355443200000)`, + +about `0.00174722463155`. The lower end exceeds the scanned upper endpoint by `259928254034166138949/16000000000000000000000000 > 1.62 × 10^-5`. Charging the scanned idle, in particular the 54 rank-48 cells, is what pulls the root back down. An ordinary release that kept the shipped idle would be certifying a different, lighter invoice. + +## What this does not prove + +The scan uses the words' declared local histograms and checks them against the frame-rank mass. It does not replay scalar semantics or the five native stages. It does not execute `admit544.py`, the outer ledger, or #4100's unconditional writeup. Passing this verifier does not admit a selected κ. diff --git a/research/staged544-mixed-idle-rebind/README.md b/research/staged544-mixed-idle-rebind/README.md new file mode 100644 index 0000000000..3352082e25 --- /dev/null +++ b/research/staged544-mixed-idle-rebind/README.md @@ -0,0 +1,56 @@ +# The ordinary rebind cannot charge PR #4088's mixed idle + +**Finite profile reproduced. Ordinary admission blocked by the shipped idle remainder. No selected-frontier change.** + +The highest pending conditional endpoint on canonical main `bb4bccbf42844d2801487450727c2f63e10d1d0f` is the mixed staged544 profile of [PR #4088](https://github.com/CrocSwap/integer-mult-bounds/pull/4088) at head `72d7efc181edb21806a878f174847c96dd410ab0`: + +`κ = 0.001730979115670792472760 − 10^-46 − 10^-70`. + +[PR #4100](https://github.com/CrocSwap/integer-mult-bounds/pull/4100) quotes a numerically sharper unconditional reading of that same profile and states that the historical outer-admission CLI was not run. Selected κ remains `0.001672660197076918` (#1094). + +## What blocks admission + +The inherited ordinary rebind, pinned here as `vendor/rebind.py` (SHA-256 `faf283eb4edd2e6a1ccb40b3cb3ba30ae54338eaf5ea0a10d84d11d7939502af`, from the PR #3815 replay archive used by the #3945/#4076/#4085 release), does two things this fill cannot survive: + +1. It has only the provider ids `gauge44` and `extra`, and it writes one width vector onto every call of a provider. +2. It rebuilds the global profile as `n_pid * (one integer local profile) + idle`, where `idle` is the shipped `CONSTRUCTION.json` remainder and is not recomputed. + +An independent scan of the vendored #4088 rows finds that helper 601, origin index 367, has width 8 on 2,150 three-entry calls and width 7 on 1,090 four-entry calls. Both orientations mix those widths (`gauge44`: 1,040 eights and 528 sevens; `extra`: 1,110 eights and 562 sevens). The two extra rank-1 cells on each fourth-entry call are not divisible by the orientation's call count, so no single integer local profile per orientation reproduces the mixed local histogram. + +The scanned idle remainder is `{3: 22783, 5: 1625, 48: 138492}`. Relative to the #4085 two-provider idle `{3: 22842, 5: 1890, 48: 138438}` the change is + +`-59 H3 − 265 H5 + 54 H48`, + +rank mass `+1090`. That exactly balances the local rank-mass drop of one unit on each of the 1,090 fourth-entry calls. Keeping the #4085 idle while accepting the mixed local histogram drops those 1,090 rank units. The moment of that illegal profile changes sign near `0.00174722463155`, more than `1.62455 × 10^-5` above the scanned root. The `+54` rank-48 cells are the charge the ordinary engine would omit. + +The scanned complete profile is + +`{1: 8060060, 2: 2310120, 3: 751813, 4: 327210, 5: 66425, 8: 25920, 48: 138492}`. + +Its moment is negative at `0.001730979115670792472760` and positive at the next 24th digit. That reproduces the finite #4088 bracket. It is a positive control for the scan, not a new root and not an admission. + +## Existing checks and what is still open + +#4088's own verifier walks this fill and prices the moment. #4085 completed the two-provider ordinary release for the three-entry words. No open PR extends that rebind to four width vectors and a recomputed idle. This package does not rerun native stages or the outer-release CLI, and it does not discharge #4100's unconditional argument. The selected record is unchanged. + +## Reproduce + +From the repository root, standard-library CPython 3.12: + +```sh +python3 scripts/research_package.py --package research/staged544-mixed-idle-rebind --check-only +python3.12 scripts/research_package.py --package research/staged544-mixed-idle-rebind +``` + +The direct command is `python3 -B research/staged544-mixed-idle-rebind/verify.py`. It checks the vendored bytes, scans all 1,321,920 rows, certifies both moments, and rejects five mutations: a 108-of-324 selector, a three-entry width on the first fourth-entry call, the frozen-idle profile at the claimed bracket, one extra rank-1 cell, and the #4085 profile at the claimed bracket. + +## Open next questions + +1. Extend the pinned rebind to four provider ids, recompute idle from the per-call widths, keep every admission predicate and mutation control, and rerun the ordinary/outer release. That is the integration step still required before a maintainer can consider this endpoint. +2. A different literal fill might place helper 601's freed unit without creating 54 rank-48 idle cells. Any such fill needs its own row scan and moment certificate; the fractional screen is not a substitute. + +## Credit + +Prepared by unpaidmoon with substantial Cursor Grok assistance. Apache-2.0. + +The mixed words, dispatch and owner rows are unmodified exports of Cinna Davis's PR #4088. The three-entry gzip hashes `df31495c…` and `9a28f7ef…` are the candidate pins of zxv's PR #4085 release. The two-provider rebind is the unmodified PR #3815 archive file used by Dugongue's PR #3945 and Rohan Arun's PR #4076. `NOTICE.md` records the export. diff --git a/research/staged544-mixed-idle-rebind/SOURCES.json b/research/staged544-mixed-idle-rebind/SOURCES.json new file mode 100644 index 0000000000..a604c6a640 --- /dev/null +++ b/research/staged544-mixed-idle-rebind/SOURCES.json @@ -0,0 +1,18 @@ +{ + "schema_version": 1, + "base_commit": "bb4bccbf42844d2801487450727c2f63e10d1d0f", + "files": [ + { + "path": "certificates/selected-result.json", + "usage": "provenance", + "git_blob": "b1fea0c94436b236cc2b7d41a7be032811b94c81", + "sha256": "bb2eaa58647b353f88d0aec2eafb9d30df1be53589231b23e12ceef3e4bad129" + }, + { + "path": "docs/research/agent-task-catalog.json", + "usage": "provenance", + "git_blob": "67f085acd86acd7d4e03922d9cf4b26bca66fed5", + "sha256": "47b42433f5a85809a3aadd29c2c339da2c6ed728e4f7762df6b88bccb7874cf0" + } + ] +} diff --git a/research/staged544-mixed-idle-rebind/TASK.json b/research/staged544-mixed-idle-rebind/TASK.json new file mode 100644 index 0000000000..058c19f362 --- /dev/null +++ b/research/staged544-mixed-idle-rebind/TASK.json @@ -0,0 +1,72 @@ +{ + "schema_version": 1, + "task_id": "independent-moment", + "priority_revision": 6, + "base_commit": "bb4bccbf42844d2801487450727c2f63e10d1d0f", + "original_card": { + "id": "independent-moment", + "question": "Does one changed supplier or assembly claim lack a source-bound independent check of a specific new implication?", + "starting_points": [ + "certificates/selected-result.json", + "research/rank7-joint-endframes/README.md", + "docs/research/research-family-status.md" + ], + "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." + ], + "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.", + "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." + }, + "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.", + "bottleneck_link": "Independent pricing prevents unsupported frontier claims and can reveal genuine accounting slack.", + "allowed_variations": [ + "Reconstruct either a source ledger or a numeric enclosure with a different method." + ], + "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." + ], + "overlap_terms": [ + "independent moment", + "rank histogram", + "exact enclosure", + "2979", + "rank7 joint endframes", + "paired extraction", + "joint lowering" + ] + }, + "scope_status": "changed", + "actual_scope": "Identify the ordinary-release cost that blocks admission of the highest pending conditional endpoint, PR #4088's mixed staged544 profile, by scanning its literal owner rows and comparing them with the pinned two-provider unchanged-idle rebind.", + "scope_change_reason": "The catalogue's first experiment asks for one #2979 joint group. Those audits already exist, and #2979 is not the highest pending conditional claim. The live blocker is the complete invoice of PR #4088/#4100: the inherited rebind never recomputes the mixed idle.", + "bottleneck_link": "The complex supplier binds. A higher selected \u03ba needs this mixed invoice charged in full. Omitting the scanned idle, including 54 rank-48 cells, overstates the root by more than 1.62e-5.", + "budget_minutes": 180, + "stop_rule": "Stop once the literal idle scan, the two-provider divisibility obstruction and the frozen-idle moment comparison are checked. Do not rerun the outer-release CLI or edit the selected record.", + "outcome": "completed", + "evidence": "Independent scan of 1321920 rows reproduces idle {3:22783,5:1625,48:138492} and the #4088 profile. Helper 601 widths split 8/7 inside both orientations, so one vector per provider id fails. Rank-1 extras 1056 and 1124 are not divisible by 1568 and 1672. Keeping the #4085 idle drops 1090 rank units and moves the root above 0.00174722463155. Five rejection controls pass. Ordinary release not rerun; selected frontier unchanged.", + "author": "unpaidmoon", + "ai_assistance": "Prepared by unpaidmoon with substantial Cursor Grok assistance for the scan, the rebind obstruction and the rational moment comparison.", + "open_questions": [ + { + "question": "Can the pinned ordinary rebind be extended to four provider ids so idle is recomputed from the per-call widths and the full outer release still passes?", + "why_it_matters": "That is the remaining integration step before a maintainer could consider the #4088 endpoint. This package shows the current rule charges the wrong idle.", + "first_step": "Add gauge44-four and extra-four to rebind.py, stamp each call's own width vector, recompute idle from the literal bins, and rerun admit544.py with every existing mutation control.", + "blocked_by": "The full release needs the reconstructed source closure, native cache and outer wheels. This session stops at the cost identification." + }, + { + "question": "Is there a different literal fill that uses the width-7 helper 601 calls without adding 54 rank-48 idle cells?", + "why_it_matters": "Those 54 cells are what pull the scanned root back from about 0.00174722 to 0.001730979. Removing them would be a new construction, not an admission of this fill.", + "first_step": "Propose one complete row assignment, then rerun this package's walk and moment certificate on that fill.", + "blocked_by": "A fractional packing screen does not supply the rows or the idle histogram." + } + ] +} diff --git a/research/staged544-mixed-idle-rebind/VERIFY.json b/research/staged544-mixed-idle-rebind/VERIFY.json new file mode 100644 index 0000000000..89a50b385c --- /dev/null +++ b/research/staged544-mixed-idle-rebind/VERIFY.json @@ -0,0 +1,33 @@ +{ + "schema_version": 1, + "status": "ready", + "python": "3.12", + "requirements": [], + "inputs": [ + "research/staged544-mixed-idle-rebind/inputs/DISPATCH.json", + "research/staged544-mixed-idle-rebind/inputs/FILL.json.gz", + "research/staged544-mixed-idle-rebind/inputs/FOUR-base.json.gz", + "research/staged544-mixed-idle-rebind/inputs/FOUR-extra.json.gz", + "research/staged544-mixed-idle-rebind/inputs/MIXED-DISPATCH.json", + "research/staged544-mixed-idle-rebind/inputs/NATIVE-base.json.gz", + "research/staged544-mixed-idle-rebind/inputs/NATIVE-extra.json.gz", + "research/staged544-mixed-idle-rebind/inputs/ORDER.json", + "research/staged544-mixed-idle-rebind/inputs/PLAN.json.gz", + "research/staged544-mixed-idle-rebind/inputs/PR4085-PROFILE.json", + "research/staged544-mixed-idle-rebind/inputs/TEMPLATE.json.gz", + "research/staged544-mixed-idle-rebind/inputs/THREE-base.json.gz", + "research/staged544-mixed-idle-rebind/inputs/THREE-extra.json.gz", + "research/staged544-mixed-idle-rebind/vendor/rebind.py" + ], + "commands": [ + { + "argv": [ + "{python}", + "-B", + "{package}/verify.py" + ], + "timeout_seconds": 120, + "checks": "SHA-256 pins, literal idle scan, two-provider width and divisibility obstruction, scanned and frozen-idle moment signs, and five rejection controls." + } + ] +} diff --git a/research/staged544-mixed-idle-rebind/inputs/DISPATCH.json b/research/staged544-mixed-idle-rebind/inputs/DISPATCH.json new file mode 100644 index 0000000000..9e93daeaf8 --- /dev/null +++ b/research/staged544-mixed-idle-rebind/inputs/DISPATCH.json @@ -0,0 +1 @@ +[[0,0,"extra"],[0,45,"extra"],[0,90,"extra"],[0,135,"extra"],[0,180,"extra"],[0,225,"extra"],[0,270,"extra"],[0,315,"extra"],[0,1,"extra"],[0,46,"extra"],[0,91,"extra"],[0,136,"extra"],[0,181,"extra"],[0,226,"extra"],[0,271,"extra"],[0,316,"extra"],[0,2,"extra"],[0,47,"extra"],[0,92,"extra"],[0,137,"extra"],[0,182,"extra"],[0,227,"extra"],[0,272,"extra"],[0,317,"extra"],[0,3,"extra"],[0,48,"extra"],[0,93,"extra"],[0,138,"extra"],[0,183,"extra"],[0,228,"extra"],[0,273,"extra"],[0,318,"extra"],[0,4,"extra"],[0,49,"extra"],[0,94,"extra"],[0,139,"extra"],[0,184,"extra"],[0,229,"extra"],[0,274,"extra"],[0,319,"extra"],[1,0,"extra"],[1,45,"extra"],[1,90,"extra"],[1,135,"extra"],[1,180,"extra"],[1,225,"extra"],[1,270,"extra"],[1,315,"extra"],[0,5,"extra"],[0,50,"extra"],[0,95,"extra"],[0,140,"extra"],[0,185,"extra"],[0,230,"extra"],[0,275,"extra"],[0,320,"extra"],[1,1,"extra"],[1,46,"extra"],[1,91,"extra"],[1,136,"extra"],[1,181,"extra"],[1,226,"extra"],[1,271,"extra"],[1,316,"extra"],[0,6,"extra"],[0,51,"extra"],[0,96,"extra"],[0,141,"extra"],[0,186,"extra"],[0,231,"extra"],[0,276,"extra"],[0,321,"extra"],[1,2,"extra"],[1,47,"extra"],[1,92,"extra"],[1,137,"extra"],[1,182,"extra"],[1,227,"extra"],[1,272,"extra"],[1,317,"extra"],[0,7,"extra"],[0,52,"extra"],[0,97,"extra"],[0,142,"extra"],[0,187,"extra"],[0,232,"extra"],[0,277,"extra"],[0,322,"extra"],[1,3,"extra"],[1,48,"extra"],[1,93,"extra"],[1,138,"extra"],[1,183,"extra"],[1,228,"extra"],[1,273,"extra"],[1,318,"extra"],[0,8,"extra"],[0,53,"extra"],[0,98,"extra"],[0,143,"extra"],[0,188,"extra"],[0,233,"extra"],[0,278,"extra"],[0,323,"extra"],[1,4,"extra"],[1,49,"extra"],[1,94,"extra"],[1,139,"extra"],[1,184,"extra"],[1,229,"extra"],[1,274,"extra"],[1,319,"extra"],[0,9,"extra"],[0,54,"extra"],[0,99,"extra"],[0,144,"extra"],[0,189,"extra"],[0,234,"extra"],[0,279,"extra"],[0,324,"extra"],[2,0,"extra"],[2,45,"extra"],[2,90,"extra"],[2,135,"extra"],[2,180,"extra"],[2,225,"extra"],[2,270,"extra"],[2,315,"extra"],[1,5,"extra"],[1,50,"extra"],[1,95,"extra"],[1,140,"extra"],[1,185,"extra"],[1,230,"extra"],[1,275,"extra"],[1,320,"extra"],[0,10,"extra"],[0,55,"extra"],[0,100,"extra"],[0,145,"extra"],[0,190,"extra"],[0,235,"extra"],[0,280,"extra"],[0,325,"extra"],[2,1,"extra"],[2,46,"extra"],[2,91,"extra"],[2,136,"extra"],[2,181,"extra"],[2,226,"extra"],[2,271,"extra"],[2,316,"extra"],[1,6,"extra"],[1,51,"extra"],[1,96,"extra"],[1,141,"extra"],[1,186,"extra"],[1,231,"extra"],[1,276,"extra"],[1,321,"extra"],[0,11,"extra"],[0,56,"extra"],[0,101,"extra"],[0,146,"extra"],[0,191,"extra"],[0,236,"extra"],[0,281,"extra"],[0,326,"extra"],[2,2,"extra"],[2,47,"extra"],[2,92,"extra"],[2,137,"extra"],[2,182,"extra"],[2,227,"extra"],[2,272,"extra"],[2,317,"extra"],[1,7,"extra"],[1,52,"extra"],[1,97,"extra"],[1,142,"extra"],[1,187,"extra"],[1,232,"extra"],[1,277,"extra"],[1,322,"extra"],[0,12,"extra"],[0,57,"extra"],[0,102,"extra"],[0,147,"extra"],[0,192,"extra"],[0,237,"extra"],[0,282,"extra"],[0,327,"extra"],[2,3,"extra"],[2,48,"extra"],[2,93,"extra"],[2,138,"extra"],[2,183,"extra"],[2,228,"extra"],[2,273,"extra"],[2,318,"extra"],[1,8,"extra"],[1,53,"extra"],[1,98,"extra"],[1,143,"extra"],[1,188,"extra"],[1,233,"extra"],[1,278,"extra"],[1,323,"extra"],[0,13,"extra"],[0,58,"extra"],[0,103,"extra"],[0,148,"extra"],[0,193,"extra"],[0,238,"extra"],[0,283,"extra"],[0,328,"extra"],[2,4,"extra"],[2,49,"extra"],[2,94,"extra"],[2,139,"extra"],[2,184,"extra"],[2,229,"extra"],[2,274,"extra"],[2,319,"extra"],[1,9,"extra"],[1,54,"extra"],[1,99,"extra"],[1,144,"extra"],[1,189,"extra"],[1,234,"extra"],[1,279,"extra"],[1,324,"extra"],[3,0,"extra"],[3,45,"extra"],[3,90,"extra"],[3,135,"extra"],[3,180,"extra"],[3,225,"extra"],[3,270,"extra"],[3,315,"extra"],[0,14,"extra"],[0,59,"extra"],[0,104,"extra"],[0,149,"extra"],[0,194,"extra"],[0,239,"extra"],[0,284,"extra"],[0,329,"extra"],[2,5,"extra"],[2,50,"extra"],[2,95,"extra"],[2,140,"extra"],[2,185,"extra"],[2,230,"extra"],[2,275,"extra"],[2,320,"extra"],[1,10,"extra"],[1,55,"extra"],[1,100,"extra"],[1,145,"extra"],[1,190,"extra"],[1,235,"extra"],[1,280,"extra"],[1,325,"extra"],[3,1,"extra"],[3,46,"extra"],[3,91,"extra"],[3,136,"extra"],[3,181,"extra"],[3,226,"extra"],[3,271,"extra"],[3,316,"extra"],[0,15,"extra"],[0,60,"extra"],[0,105,"extra"],[0,150,"extra"],[0,195,"extra"],[0,240,"extra"],[0,285,"extra"],[0,330,"extra"],[2,6,"extra"],[2,51,"extra"],[2,96,"extra"],[2,141,"extra"],[2,186,"extra"],[2,231,"extra"],[2,276,"extra"],[2,321,"extra"],[1,11,"extra"],[1,56,"extra"],[1,101,"extra"],[1,146,"extra"],[1,191,"extra"],[1,236,"extra"],[1,281,"extra"],[1,326,"extra"],[3,2,"extra"],[3,47,"extra"],[3,92,"extra"],[3,137,"extra"],[3,182,"extra"],[3,227,"extra"],[3,272,"extra"],[3,317,"extra"],[0,16,"extra"],[0,61,"extra"],[0,106,"extra"],[0,151,"extra"],[0,196,"extra"],[0,241,"extra"],[0,286,"extra"],[0,331,"extra"],[2,7,"extra"],[2,52,"extra"],[2,97,"extra"],[2,142,"extra"],[2,187,"extra"],[2,232,"extra"],[2,277,"extra"],[2,322,"extra"],[1,12,"extra"],[1,57,"extra"],[1,102,"extra"],[1,147,"extra"],[1,192,"extra"],[1,237,"extra"],[1,282,"extra"],[1,327,"extra"],[3,3,"extra"],[3,48,"extra"],[3,93,"extra"],[3,138,"extra"],[3,183,"extra"],[3,228,"extra"],[3,273,"extra"],[3,318,"extra"],[0,17,"extra"],[0,62,"extra"],[0,107,"extra"],[0,152,"extra"],[0,197,"extra"],[0,242,"extra"],[0,287,"extra"],[0,332,"extra"],[2,8,"extra"],[2,53,"extra"],[2,98,"extra"],[2,143,"extra"],[2,188,"extra"],[2,233,"extra"],[2,278,"extra"],[2,323,"extra"],[1,13,"extra"],[1,58,"extra"],[1,103,"extra"],[1,148,"extra"],[1,193,"extra"],[1,238,"extra"],[1,283,"extra"],[1,328,"extra"],[3,4,"extra"],[3,49,"extra"],[3,94,"extra"],[3,139,"extra"],[3,184,"extra"],[3,229,"extra"],[3,274,"extra"],[3,319,"extra"],[0,18,"extra"],[0,63,"extra"],[0,108,"extra"],[0,153,"extra"],[0,198,"extra"],[0,243,"extra"],[0,288,"extra"],[0,333,"extra"],[2,9,"extra"],[2,54,"extra"],[2,99,"extra"],[2,144,"extra"],[2,189,"extra"],[2,234,"extra"],[2,279,"extra"],[2,324,"extra"],[4,0,"extra"],[4,45,"extra"],[4,90,"extra"],[4,135,"extra"],[4,180,"extra"],[4,225,"extra"],[4,270,"extra"],[4,315,"extra"],[1,14,"extra"],[1,59,"extra"],[1,104,"extra"],[1,149,"extra"],[1,194,"extra"],[1,239,"extra"],[1,284,"extra"],[1,329,"extra"],[3,5,"extra"],[3,50,"extra"],[3,95,"extra"],[3,140,"extra"],[3,185,"extra"],[3,230,"extra"],[3,275,"extra"],[3,320,"extra"],[0,19,"extra"],[0,64,"extra"],[0,109,"extra"],[0,154,"extra"],[0,199,"extra"],[0,244,"extra"],[0,289,"extra"],[0,334,"extra"],[2,10,"extra"],[2,55,"extra"],[2,100,"extra"],[2,145,"extra"],[2,190,"extra"],[2,235,"extra"],[2,280,"extra"],[2,325,"extra"],[4,1,"extra"],[4,46,"extra"],[4,91,"extra"],[4,136,"extra"],[4,181,"extra"],[4,226,"extra"],[4,271,"extra"],[4,316,"extra"],[1,15,"extra"],[1,60,"extra"],[1,105,"extra"],[1,150,"extra"],[1,195,"extra"],[1,240,"extra"],[1,285,"extra"],[1,330,"extra"],[3,6,"extra"],[3,51,"extra"],[3,96,"extra"],[3,141,"extra"],[3,186,"extra"],[3,231,"extra"],[3,276,"extra"],[3,321,"extra"],[0,20,"extra"],[0,65,"extra"],[0,110,"extra"],[0,155,"extra"],[0,200,"extra"],[0,245,"extra"],[0,290,"extra"],[0,335,"extra"],[2,11,"extra"],[2,56,"extra"],[2,101,"extra"],[2,146,"extra"],[2,191,"extra"],[2,236,"extra"],[2,281,"extra"],[2,326,"extra"],[4,2,"extra"],[4,47,"extra"],[4,92,"extra"],[4,137,"extra"],[4,182,"extra"],[4,227,"extra"],[4,272,"extra"],[4,317,"extra"],[1,16,"extra"],[1,61,"extra"],[1,106,"extra"],[1,151,"extra"],[1,196,"extra"],[1,241,"extra"],[1,286,"extra"],[1,331,"extra"],[3,7,"extra"],[3,52,"extra"],[3,97,"extra"],[3,142,"extra"],[3,187,"extra"],[3,232,"extra"],[3,277,"extra"],[3,322,"extra"],[0,21,"extra"],[0,66,"extra"],[0,111,"extra"],[0,156,"extra"],[0,201,"extra"],[0,246,"extra"],[0,291,"extra"],[0,336,"extra"],[2,12,"extra"],[2,57,"extra"],[2,102,"extra"],[2,147,"extra"],[2,192,"extra"],[2,237,"extra"],[2,282,"extra"],[2,327,"extra"],[4,3,"extra"],[4,48,"extra"],[4,93,"extra"],[4,138,"extra"],[4,183,"extra"],[4,228,"extra"],[4,273,"extra"],[4,318,"extra"],[1,17,"extra"],[1,62,"extra"],[1,107,"extra"],[1,152,"extra"],[1,197,"extra"],[1,242,"extra"],[1,287,"extra"],[1,332,"extra"],[3,8,"extra"],[3,53,"extra"],[3,98,"extra"],[3,143,"extra"],[3,188,"extra"],[3,233,"extra"],[3,278,"extra"],[3,323,"extra"],[0,22,"extra"],[0,67,"extra"],[0,112,"extra"],[0,157,"extra"],[0,202,"extra"],[0,247,"extra"],[0,292,"extra"],[0,337,"extra"],[2,13,"extra"],[2,58,"extra"],[2,103,"extra"],[2,148,"extra"],[2,193,"extra"],[2,238,"extra"],[2,283,"extra"],[2,328,"extra"],[4,4,"extra"],[4,49,"extra"],[4,94,"extra"],[4,139,"extra"],[4,184,"extra"],[4,229,"extra"],[4,274,"extra"],[4,319,"extra"],[1,18,"extra"],[1,63,"extra"],[1,108,"extra"],[1,153,"extra"],[1,198,"extra"],[1,243,"extra"],[1,288,"extra"],[1,333,"extra"],[3,9,"extra"],[3,54,"extra"],[3,99,"extra"],[3,144,"extra"],[3,189,"extra"],[3,234,"extra"],[3,279,"extra"],[3,324,"extra"],[0,23,"extra"],[0,68,"extra"],[0,113,"extra"],[0,158,"extra"],[0,203,"extra"],[0,248,"extra"],[0,293,"extra"],[0,338,"extra"],[5,0,"extra"],[5,45,"extra"],[5,90,"extra"],[5,135,"extra"],[5,180,"extra"],[5,225,"extra"],[5,270,"extra"],[5,315,"extra"],[2,14,"extra"],[2,59,"extra"],[2,104,"extra"],[2,149,"extra"],[2,194,"extra"],[2,239,"extra"],[2,284,"extra"],[2,329,"extra"],[4,5,"extra"],[4,50,"extra"],[4,95,"extra"],[4,140,"extra"],[4,185,"extra"],[4,230,"extra"],[4,275,"extra"],[4,320,"extra"],[1,19,"extra"],[1,64,"extra"],[1,109,"extra"],[1,154,"extra"],[1,199,"extra"],[1,244,"extra"],[1,289,"extra"],[1,334,"extra"],[3,10,"extra"],[3,55,"extra"],[3,100,"extra"],[3,145,"extra"],[3,190,"extra"],[3,235,"extra"],[3,280,"extra"],[3,325,"extra"],[0,24,"extra"],[0,69,"extra"],[0,114,"extra"],[0,159,"extra"],[0,204,"extra"],[0,249,"extra"],[0,294,"extra"],[0,339,"extra"],[5,1,"extra"],[5,46,"extra"],[5,91,"extra"],[5,136,"extra"],[5,181,"extra"],[5,226,"extra"],[5,271,"extra"],[5,316,"extra"],[2,15,"extra"],[2,60,"extra"],[2,105,"extra"],[2,150,"extra"],[2,195,"extra"],[2,240,"extra"],[2,285,"extra"],[2,330,"extra"],[4,6,"extra"],[4,51,"extra"],[4,96,"extra"],[4,141,"extra"],[4,186,"extra"],[4,231,"extra"],[4,276,"extra"],[4,321,"extra"],[1,20,"extra"],[1,65,"extra"],[1,110,"extra"],[1,155,"extra"],[1,200,"extra"],[1,245,"extra"],[1,290,"extra"],[1,335,"extra"],[3,11,"extra"],[3,56,"extra"],[3,101,"extra"],[3,146,"extra"],[3,191,"extra"],[3,236,"extra"],[3,281,"extra"],[3,326,"extra"],[0,25,"extra"],[0,70,"extra"],[0,115,"extra"],[0,160,"extra"],[0,205,"extra"],[0,250,"extra"],[0,295,"extra"],[0,340,"extra"],[5,2,"extra"],[5,47,"extra"],[5,92,"extra"],[5,137,"extra"],[5,182,"extra"],[5,227,"extra"],[5,272,"extra"],[5,317,"extra"],[2,16,"extra"],[2,61,"extra"],[2,106,"extra"],[2,151,"extra"],[2,196,"extra"],[2,241,"extra"],[2,286,"extra"],[2,331,"extra"],[4,7,"extra"],[4,52,"extra"],[4,97,"extra"],[4,142,"extra"],[4,187,"extra"],[4,232,"extra"],[4,277,"extra"],[4,322,"extra"],[1,21,"extra"],[1,66,"extra"],[1,111,"extra"],[1,156,"extra"],[1,201,"extra"],[1,246,"extra"],[1,291,"extra"],[1,336,"extra"],[3,12,"extra"],[3,57,"extra"],[3,102,"extra"],[3,147,"extra"],[3,192,"extra"],[3,237,"extra"],[3,282,"extra"],[3,327,"extra"],[0,26,"extra"],[0,71,"extra"],[0,116,"extra"],[0,161,"extra"],[0,206,"extra"],[0,251,"extra"],[0,296,"extra"],[0,341,"extra"],[5,3,"extra"],[5,48,"extra"],[5,93,"extra"],[5,138,"extra"],[5,183,"extra"],[5,228,"extra"],[5,273,"extra"],[5,318,"extra"],[2,17,"extra"],[2,62,"extra"],[2,107,"extra"],[2,152,"extra"],[2,197,"extra"],[2,242,"extra"],[2,287,"extra"],[2,332,"extra"],[4,8,"extra"],[4,53,"extra"],[4,98,"extra"],[4,143,"extra"],[4,188,"extra"],[4,233,"extra"],[4,278,"extra"],[4,323,"extra"],[1,22,"extra"],[1,67,"extra"],[1,112,"extra"],[1,157,"extra"],[1,202,"extra"],[1,247,"extra"],[1,292,"extra"],[1,337,"extra"],[3,13,"extra"],[3,58,"extra"],[3,103,"extra"],[3,148,"extra"],[3,193,"extra"],[3,238,"extra"],[3,283,"extra"],[3,328,"extra"],[0,27,"extra"],[0,72,"extra"],[0,117,"extra"],[0,162,"extra"],[0,207,"extra"],[0,252,"extra"],[0,297,"extra"],[0,342,"extra"],[5,4,"extra"],[5,49,"extra"],[5,94,"extra"],[5,139,"extra"],[5,184,"extra"],[5,229,"extra"],[5,274,"extra"],[5,319,"extra"],[2,18,"extra"],[2,63,"extra"],[2,108,"extra"],[2,153,"extra"],[2,198,"extra"],[2,243,"extra"],[2,288,"extra"],[2,333,"extra"],[4,9,"extra"],[4,54,"extra"],[4,99,"extra"],[4,144,"extra"],[4,189,"extra"],[4,234,"extra"],[4,279,"extra"],[4,324,"extra"],[1,23,"extra"],[1,68,"extra"],[1,113,"extra"],[1,158,"extra"],[1,203,"extra"],[1,248,"extra"],[1,293,"extra"],[1,338,"extra"],[6,0,"extra"],[6,45,"extra"],[6,90,"extra"],[6,135,"extra"],[6,180,"extra"],[6,225,"extra"],[6,270,"extra"],[6,315,"extra"],[3,14,"extra"],[3,59,"extra"],[3,104,"extra"],[3,149,"extra"],[3,194,"extra"],[3,239,"extra"],[3,284,"extra"],[3,329,"extra"],[0,28,"extra"],[0,73,"extra"],[0,118,"extra"],[0,163,"extra"],[0,208,"extra"],[0,253,"extra"],[0,298,"extra"],[0,343,"extra"],[5,5,"extra"],[5,50,"extra"],[5,95,"extra"],[5,140,"extra"],[5,185,"extra"],[5,230,"extra"],[5,275,"extra"],[5,320,"extra"],[2,19,"extra"],[2,64,"extra"],[2,109,"extra"],[2,154,"extra"],[2,199,"extra"],[2,244,"extra"],[2,289,"extra"],[2,334,"extra"],[4,10,"extra"],[4,55,"extra"],[4,100,"extra"],[4,145,"extra"],[4,190,"extra"],[4,235,"extra"],[4,280,"extra"],[4,325,"extra"],[1,24,"extra"],[1,69,"extra"],[1,114,"extra"],[1,159,"extra"],[1,204,"extra"],[1,249,"extra"],[1,294,"extra"],[1,339,"extra"],[6,1,"extra"],[6,46,"extra"],[6,91,"extra"],[6,136,"extra"],[6,181,"extra"],[6,226,"extra"],[6,271,"extra"],[6,316,"extra"],[3,15,"extra"],[3,60,"extra"],[3,105,"extra"],[3,150,"extra"],[3,195,"extra"],[3,240,"extra"],[3,285,"extra"],[3,330,"extra"],[0,29,"extra"],[0,74,"extra"],[0,119,"extra"],[0,164,"extra"],[0,209,"extra"],[0,254,"extra"],[0,299,"extra"],[0,344,"extra"],[5,6,"extra"],[5,51,"extra"],[5,96,"extra"],[5,141,"extra"],[5,186,"extra"],[5,231,"extra"],[5,276,"extra"],[5,321,"extra"],[2,20,"extra"],[2,65,"extra"],[2,110,"extra"],[2,155,"extra"],[2,200,"extra"],[2,245,"extra"],[2,290,"extra"],[2,335,"extra"],[4,11,"extra"],[4,56,"extra"],[4,101,"extra"],[4,146,"extra"],[4,191,"extra"],[4,236,"extra"],[4,281,"extra"],[4,326,"extra"],[1,25,"extra"],[1,70,"extra"],[1,115,"extra"],[1,160,"extra"],[1,205,"extra"],[1,250,"extra"],[1,295,"extra"],[1,340,"extra"],[6,2,"extra"],[6,47,"extra"],[6,92,"extra"],[6,137,"extra"],[6,182,"extra"],[6,227,"extra"],[6,272,"extra"],[6,317,"extra"],[3,16,"extra"],[3,61,"extra"],[3,106,"extra"],[3,151,"extra"],[3,196,"extra"],[3,241,"extra"],[3,286,"extra"],[3,331,"extra"],[0,30,"extra"],[0,75,"extra"],[0,120,"extra"],[0,165,"extra"],[0,210,"extra"],[0,255,"extra"],[0,300,"extra"],[0,345,"extra"],[5,7,"extra"],[5,52,"extra"],[5,97,"extra"],[5,142,"extra"],[5,187,"extra"],[5,232,"extra"],[5,277,"extra"],[5,322,"extra"],[2,21,"extra"],[2,66,"extra"],[2,111,"extra"],[2,156,"extra"],[2,201,"extra"],[2,246,"extra"],[2,291,"extra"],[2,336,"extra"],[4,12,"extra"],[4,57,"extra"],[4,102,"extra"],[4,147,"extra"],[4,192,"extra"],[4,237,"extra"],[4,282,"extra"],[4,327,"extra"],[1,26,"extra"],[1,71,"extra"],[1,116,"extra"],[1,161,"extra"],[1,206,"extra"],[1,251,"extra"],[1,296,"extra"],[1,341,"extra"],[6,3,"extra"],[6,48,"extra"],[6,93,"extra"],[6,138,"extra"],[6,183,"extra"],[6,228,"extra"],[6,273,"extra"],[6,318,"extra"],[3,17,"extra"],[3,62,"extra"],[3,107,"extra"],[3,152,"extra"],[3,197,"extra"],[3,242,"extra"],[3,287,"extra"],[3,332,"extra"],[0,31,"extra"],[0,76,"extra"],[0,121,"extra"],[0,166,"extra"],[0,211,"extra"],[0,256,"extra"],[0,301,"extra"],[0,346,"extra"],[5,8,"extra"],[5,53,"extra"],[5,98,"extra"],[5,143,"extra"],[5,188,"extra"],[5,233,"extra"],[5,278,"extra"],[5,323,"extra"],[2,22,"extra"],[2,67,"extra"],[2,112,"extra"],[2,157,"extra"],[2,202,"extra"],[2,247,"extra"],[2,292,"extra"],[2,337,"extra"],[4,13,"extra"],[4,58,"extra"],[4,103,"extra"],[4,148,"extra"],[4,193,"extra"],[4,238,"extra"],[4,283,"extra"],[4,328,"extra"],[1,27,"extra"],[1,72,"extra"],[1,117,"extra"],[1,162,"extra"],[1,207,"extra"],[1,252,"extra"],[1,297,"extra"],[1,342,"extra"],[6,4,"extra"],[6,49,"extra"],[6,94,"extra"],[6,139,"extra"],[6,184,"extra"],[6,229,"extra"],[6,274,"extra"],[6,319,"extra"],[3,18,"extra"],[3,63,"extra"],[3,108,"extra"],[3,153,"extra"],[3,198,"extra"],[3,243,"extra"],[3,288,"extra"],[3,333,"extra"],[0,32,"extra"],[0,77,"extra"],[0,122,"extra"],[0,167,"extra"],[0,212,"extra"],[0,257,"extra"],[0,302,"extra"],[0,347,"extra"],[5,9,"extra"],[5,54,"extra"],[5,99,"extra"],[5,144,"extra"],[5,189,"extra"],[5,234,"extra"],[5,279,"extra"],[5,324,"extra"],[2,23,"extra"],[2,68,"extra"],[2,113,"extra"],[2,158,"extra"],[2,203,"extra"],[2,248,"extra"],[2,293,"extra"],[2,338,"extra"],[7,0,"extra"],[7,45,"extra"],[7,90,"extra"],[7,135,"extra"],[7,180,"extra"],[7,225,"extra"],[7,270,"extra"],[7,315,"extra"],[4,14,"extra"],[4,59,"extra"],[4,104,"extra"],[4,149,"extra"],[4,194,"extra"],[4,239,"extra"],[4,284,"extra"],[4,329,"extra"],[1,28,"extra"],[1,73,"extra"],[1,118,"extra"],[1,163,"extra"],[1,208,"extra"],[1,253,"extra"],[1,298,"extra"],[1,343,"extra"],[6,5,"extra"],[6,50,"extra"],[6,95,"extra"],[6,140,"extra"],[6,185,"extra"],[6,230,"extra"],[6,275,"extra"],[6,320,"extra"],[3,19,"extra"],[3,64,"extra"],[3,109,"extra"],[3,154,"extra"],[3,199,"extra"],[3,244,"extra"],[3,289,"extra"],[3,334,"extra"],[0,33,"extra"],[0,78,"extra"],[0,123,"extra"],[0,168,"extra"],[0,213,"extra"],[0,258,"extra"],[0,303,"extra"],[0,348,"extra"],[5,10,"extra"],[5,55,"extra"],[5,100,"extra"],[5,145,"extra"],[5,190,"extra"],[5,235,"extra"],[5,280,"extra"],[5,325,"extra"],[2,24,"extra"],[2,69,"extra"],[2,114,"extra"],[2,159,"extra"],[2,204,"extra"],[2,249,"extra"],[2,294,"extra"],[2,339,"extra"],[7,1,"extra"],[7,46,"extra"],[7,91,"extra"],[7,136,"extra"],[7,181,"extra"],[7,226,"extra"],[7,271,"extra"],[7,316,"extra"],[4,15,"extra"],[4,60,"extra"],[4,105,"extra"],[4,150,"extra"],[4,195,"extra"],[4,240,"extra"],[4,285,"extra"],[4,330,"extra"],[1,29,"extra"],[1,74,"extra"],[1,119,"extra"],[1,164,"extra"],[1,209,"extra"],[1,254,"extra"],[1,299,"extra"],[1,344,"extra"],[6,6,"extra"],[6,51,"extra"],[6,96,"extra"],[6,141,"extra"],[6,186,"extra"],[6,231,"extra"],[6,276,"extra"],[6,321,"extra"],[3,20,"extra"],[3,65,"extra"],[3,110,"extra"],[3,155,"extra"],[3,200,"extra"],[3,245,"extra"],[3,290,"extra"],[3,335,"extra"],[0,34,"extra"],[0,79,"extra"],[0,124,"extra"],[0,169,"extra"],[0,214,"extra"],[0,259,"extra"],[0,304,"extra"],[0,349,"extra"],[5,11,"extra"],[5,56,"extra"],[5,101,"extra"],[5,146,"extra"],[5,191,"extra"],[5,236,"extra"],[5,281,"extra"],[5,326,"extra"],[2,25,"extra"],[2,70,"extra"],[2,115,"extra"],[2,160,"extra"],[2,205,"extra"],[2,250,"extra"],[2,295,"extra"],[2,340,"extra"],[7,2,"extra"],[7,47,"extra"],[7,92,"extra"],[7,137,"extra"],[7,182,"extra"],[7,227,"extra"],[7,272,"extra"],[7,317,"extra"],[4,16,"extra"],[4,61,"extra"],[4,106,"extra"],[4,151,"extra"],[4,196,"extra"],[4,241,"extra"],[4,286,"extra"],[4,331,"extra"],[1,30,"extra"],[1,75,"extra"],[1,120,"extra"],[1,165,"extra"],[1,210,"extra"],[1,255,"extra"],[1,300,"extra"],[1,345,"extra"],[6,7,"extra"],[6,52,"extra"],[6,97,"extra"],[6,142,"extra"],[6,187,"extra"],[6,232,"extra"],[6,277,"extra"],[6,322,"extra"],[3,21,"extra"],[3,66,"extra"],[3,111,"extra"],[3,156,"extra"],[3,201,"extra"],[3,246,"extra"],[3,291,"extra"],[3,336,"extra"],[0,35,"extra"],[0,80,"extra"],[0,125,"extra"],[0,170,"extra"],[0,215,"extra"],[0,260,"extra"],[0,305,"extra"],[0,350,"extra"],[5,12,"extra"],[5,57,"extra"],[5,102,"extra"],[5,147,"extra"],[5,192,"extra"],[5,237,"extra"],[5,282,"extra"],[5,327,"extra"],[2,26,"extra"],[2,71,"extra"],[2,116,"extra"],[2,161,"extra"],[2,206,"extra"],[2,251,"extra"],[2,296,"extra"],[2,341,"extra"],[7,3,"extra"],[7,48,"extra"],[7,93,"extra"],[7,138,"extra"],[7,183,"extra"],[7,228,"extra"],[7,273,"extra"],[7,318,"extra"],[4,17,"extra"],[4,62,"extra"],[4,107,"extra"],[4,152,"extra"],[4,197,"extra"],[4,242,"extra"],[4,287,"extra"],[4,332,"extra"],[1,31,"extra"],[1,76,"extra"],[1,121,"extra"],[1,166,"extra"],[1,211,"extra"],[1,256,"extra"],[1,301,"extra"],[1,346,"extra"],[6,8,"extra"],[6,53,"extra"],[6,98,"extra"],[6,143,"extra"],[6,188,"extra"],[6,233,"extra"],[6,278,"extra"],[6,323,"extra"],[3,22,"extra"],[3,67,"extra"],[3,112,"extra"],[3,157,"extra"],[3,202,"extra"],[3,247,"extra"],[3,292,"extra"],[3,337,"extra"],[0,36,"extra"],[0,81,"extra"],[0,126,"extra"],[0,171,"extra"],[0,216,"extra"],[0,261,"extra"],[0,306,"extra"],[0,351,"extra"],[5,13,"extra"],[5,58,"extra"],[5,103,"extra"],[5,148,"extra"],[5,193,"extra"],[5,238,"extra"],[5,283,"extra"],[5,328,"extra"],[2,27,"extra"],[2,72,"extra"],[2,117,"extra"],[2,162,"extra"],[2,207,"extra"],[2,252,"extra"],[2,297,"extra"],[2,342,"extra"],[7,4,"extra"],[7,49,"extra"],[7,94,"extra"],[7,139,"extra"],[7,184,"extra"],[7,229,"extra"],[7,274,"extra"],[7,319,"extra"],[4,18,"extra"],[4,63,"extra"],[4,108,"extra"],[4,153,"extra"],[4,198,"extra"],[4,243,"extra"],[4,288,"extra"],[4,333,"extra"],[1,32,"extra"],[1,77,"extra"],[1,122,"extra"],[1,167,"extra"],[1,212,"extra"],[1,257,"extra"],[1,302,"extra"],[1,347,"extra"],[6,9,"extra"],[6,54,"extra"],[6,99,"extra"],[6,144,"extra"],[6,189,"extra"],[6,234,"extra"],[6,279,"extra"],[6,324,"extra"],[3,23,"extra"],[3,68,"extra"],[3,113,"extra"],[3,158,"extra"],[3,203,"extra"],[3,248,"extra"],[3,293,"extra"],[3,338,"extra"],[8,0,"extra"],[8,45,"extra"],[8,90,"extra"],[8,135,"extra"],[8,180,"extra"],[8,225,"extra"],[8,270,"extra"],[8,315,"extra"],[5,14,"extra"],[5,59,"extra"],[5,104,"extra"],[5,149,"extra"],[5,194,"extra"],[5,239,"extra"],[5,284,"extra"],[5,329,"extra"],[2,28,"extra"],[2,73,"extra"],[2,118,"extra"],[2,163,"extra"],[2,208,"extra"],[2,253,"extra"],[2,298,"extra"],[2,343,"extra"],[7,5,"extra"],[7,50,"extra"],[7,95,"extra"],[7,140,"extra"],[7,185,"extra"],[7,230,"extra"],[7,275,"extra"],[7,320,"extra"],[4,19,"extra"],[4,64,"extra"],[4,109,"extra"],[4,154,"extra"],[4,199,"extra"],[4,244,"extra"],[4,289,"extra"],[4,334,"extra"],[1,33,"extra"],[1,78,"extra"],[1,123,"extra"],[1,168,"extra"],[1,213,"extra"],[1,258,"extra"],[1,303,"extra"],[1,348,"extra"],[6,10,"extra"],[6,55,"extra"],[6,100,"extra"],[6,145,"extra"],[6,190,"extra"],[6,235,"extra"],[6,280,"extra"],[6,325,"extra"],[3,24,"extra"],[3,69,"extra"],[3,114,"extra"],[3,159,"extra"],[3,204,"extra"],[3,249,"extra"],[3,294,"extra"],[3,339,"extra"],[8,1,"extra"],[8,46,"extra"],[8,91,"extra"],[8,136,"extra"],[8,181,"extra"],[8,226,"extra"],[8,271,"extra"],[8,316,"extra"],[5,15,"extra"],[5,60,"extra"],[5,105,"extra"],[5,150,"extra"],[5,195,"extra"],[5,240,"extra"],[5,285,"extra"],[5,330,"extra"],[2,29,"extra"],[2,74,"extra"],[2,119,"extra"],[2,164,"extra"],[2,209,"extra"],[2,254,"extra"],[2,299,"extra"],[2,344,"extra"],[7,6,"extra"],[7,51,"extra"],[7,96,"extra"],[7,141,"extra"],[7,186,"extra"],[7,231,"extra"],[7,276,"extra"],[7,321,"extra"],[4,20,"extra"],[4,65,"extra"],[4,110,"extra"],[4,155,"extra"],[4,200,"extra"],[4,245,"extra"],[4,290,"extra"],[4,335,"extra"],[1,34,"extra"],[1,79,"extra"],[1,124,"extra"],[1,169,"extra"],[1,214,"extra"],[1,259,"extra"],[1,304,"extra"],[1,349,"extra"],[6,11,"extra"],[6,56,"extra"],[6,101,"extra"],[6,146,"extra"],[6,191,"extra"],[6,236,"extra"],[6,281,"extra"],[6,326,"extra"],[3,25,"extra"],[3,70,"extra"],[3,115,"extra"],[3,160,"extra"],[3,205,"extra"],[3,250,"extra"],[3,295,"extra"],[3,340,"extra"],[8,2,"extra"],[8,47,"extra"],[8,92,"extra"],[8,137,"extra"],[8,182,"extra"],[8,227,"extra"],[8,272,"extra"],[8,317,"extra"],[5,16,"extra"],[5,61,"extra"],[5,106,"extra"],[5,151,"extra"],[5,196,"extra"],[5,241,"extra"],[5,286,"extra"],[5,331,"extra"],[2,30,"extra"],[2,75,"extra"],[2,120,"extra"],[2,165,"extra"],[2,210,"extra"],[2,255,"extra"],[2,300,"extra"],[2,345,"extra"],[7,7,"extra"],[7,52,"extra"],[7,97,"extra"],[7,142,"extra"],[7,187,"extra"],[7,232,"extra"],[7,277,"extra"],[7,322,"extra"],[4,21,"extra"],[4,66,"extra"],[4,111,"extra"],[4,156,"extra"],[4,201,"extra"],[4,246,"extra"],[4,291,"extra"],[4,336,"extra"],[1,35,"extra"],[1,80,"extra"],[1,125,"extra"],[1,170,"extra"],[1,215,"extra"],[1,260,"extra"],[1,305,"extra"],[1,350,"extra"],[6,12,"extra"],[6,57,"extra"],[6,102,"extra"],[6,147,"extra"],[6,192,"extra"],[6,237,"extra"],[6,282,"extra"],[6,327,"extra"],[3,26,"extra"],[3,71,"extra"],[3,116,"extra"],[3,161,"extra"],[3,206,"extra"],[3,251,"extra"],[3,296,"extra"],[3,341,"extra"],[8,3,"extra"],[8,48,"extra"],[8,93,"extra"],[8,138,"extra"],[8,183,"extra"],[8,228,"extra"],[8,273,"extra"],[8,318,"extra"],[5,17,"extra"],[5,62,"extra"],[5,107,"extra"],[5,152,"extra"],[5,197,"extra"],[5,242,"extra"],[5,287,"extra"],[5,332,"extra"],[2,31,"extra"],[2,76,"extra"],[2,121,"extra"],[2,166,"extra"],[2,211,"extra"],[2,256,"extra"],[2,301,"extra"],[2,346,"extra"],[7,8,"extra"],[7,53,"extra"],[7,98,"extra"],[7,143,"extra"],[7,188,"extra"],[7,233,"extra"],[7,278,"extra"],[7,323,"extra"],[4,22,"extra"],[4,67,"extra"],[4,112,"extra"],[4,157,"extra"],[4,202,"extra"],[4,247,"extra"],[4,292,"extra"],[4,337,"extra"],[1,36,"extra"],[1,81,"extra"],[1,126,"extra"],[1,171,"extra"],[1,216,"extra"],[1,261,"extra"],[1,306,"extra"],[1,351,"extra"],[6,13,"extra"],[6,58,"extra"],[6,103,"extra"],[6,148,"extra"],[6,193,"extra"],[6,238,"extra"],[6,283,"extra"],[6,328,"extra"],[3,27,"extra"],[3,72,"extra"],[3,117,"extra"],[3,162,"extra"],[3,207,"extra"],[3,252,"extra"],[3,297,"extra"],[3,342,"extra"],[8,4,"extra"],[8,49,"extra"],[8,94,"extra"],[8,139,"extra"],[8,184,"extra"],[8,229,"extra"],[8,274,"extra"],[8,319,"extra"],[5,18,"extra"],[5,63,"extra"],[5,108,"extra"],[5,153,"extra"],[5,198,"extra"],[5,243,"extra"],[5,288,"extra"],[5,333,"extra"],[2,32,"extra"],[2,77,"extra"],[2,122,"extra"],[2,167,"extra"],[2,212,"extra"],[2,257,"extra"],[2,302,"extra"],[2,347,"extra"],[7,9,"extra"],[7,54,"extra"],[7,99,"extra"],[7,144,"extra"],[7,189,"extra"],[7,234,"extra"],[7,279,"extra"],[7,324,"extra"],[4,23,"extra"],[4,68,"extra"],[4,113,"extra"],[4,158,"extra"],[4,203,"extra"],[4,248,"extra"],[4,293,"extra"],[4,338,"extra"],[6,14,"extra"],[6,59,"extra"],[6,104,"extra"],[6,149,"extra"],[6,194,"extra"],[6,239,"extra"],[6,284,"extra"],[6,329,"extra"],[3,28,"gauge44"],[3,73,"gauge44"],[3,118,"gauge44"],[3,163,"gauge44"],[3,208,"gauge44"],[3,253,"gauge44"],[3,298,"gauge44"],[3,343,"gauge44"],[8,5,"gauge44"],[8,50,"gauge44"],[8,95,"gauge44"],[8,140,"gauge44"],[8,185,"gauge44"],[8,230,"gauge44"],[8,275,"gauge44"],[8,320,"gauge44"],[5,19,"gauge44"],[5,64,"gauge44"],[5,109,"gauge44"],[5,154,"gauge44"],[5,199,"gauge44"],[5,244,"gauge44"],[5,289,"gauge44"],[5,334,"gauge44"],[2,33,"gauge44"],[2,78,"gauge44"],[2,123,"gauge44"],[2,168,"gauge44"],[2,213,"gauge44"],[2,258,"gauge44"],[2,303,"gauge44"],[2,348,"gauge44"],[7,10,"gauge44"],[7,55,"gauge44"],[7,100,"gauge44"],[7,145,"gauge44"],[7,190,"gauge44"],[7,235,"gauge44"],[7,280,"gauge44"],[7,325,"gauge44"],[4,24,"gauge44"],[4,69,"gauge44"],[4,114,"gauge44"],[4,159,"gauge44"],[4,204,"gauge44"],[4,249,"gauge44"],[4,294,"gauge44"],[4,339,"gauge44"],[6,15,"gauge44"],[6,60,"gauge44"],[6,105,"gauge44"],[6,150,"gauge44"],[6,195,"gauge44"],[6,240,"gauge44"],[6,285,"gauge44"],[6,330,"gauge44"],[3,29,"gauge44"],[3,74,"gauge44"],[3,119,"gauge44"],[3,164,"gauge44"],[3,209,"gauge44"],[3,254,"gauge44"],[3,299,"gauge44"],[3,344,"gauge44"],[8,6,"gauge44"],[8,51,"gauge44"],[8,96,"gauge44"],[8,141,"gauge44"],[8,186,"gauge44"],[8,231,"gauge44"],[8,276,"gauge44"],[8,321,"gauge44"],[5,20,"gauge44"],[5,65,"gauge44"],[5,110,"gauge44"],[5,155,"gauge44"],[5,200,"gauge44"],[5,245,"gauge44"],[5,290,"gauge44"],[5,335,"gauge44"],[2,34,"gauge44"],[2,79,"gauge44"],[2,124,"gauge44"],[2,169,"gauge44"],[2,214,"gauge44"],[2,259,"gauge44"],[2,304,"gauge44"],[2,349,"gauge44"],[7,11,"gauge44"],[7,56,"gauge44"],[7,101,"gauge44"],[7,146,"gauge44"],[7,191,"gauge44"],[7,236,"gauge44"],[7,281,"gauge44"],[7,326,"gauge44"],[4,25,"gauge44"],[4,70,"gauge44"],[4,115,"gauge44"],[4,160,"gauge44"],[4,205,"gauge44"],[4,250,"gauge44"],[4,295,"gauge44"],[4,340,"gauge44"],[6,16,"gauge44"],[6,61,"gauge44"],[6,106,"gauge44"],[6,151,"gauge44"],[6,196,"gauge44"],[6,241,"gauge44"],[6,286,"gauge44"],[6,331,"gauge44"],[3,30,"gauge44"],[3,75,"gauge44"],[3,120,"gauge44"],[3,165,"gauge44"],[3,210,"gauge44"],[3,255,"gauge44"],[3,300,"gauge44"],[3,345,"gauge44"],[8,7,"gauge44"],[8,52,"gauge44"],[8,97,"gauge44"],[8,142,"gauge44"],[8,187,"gauge44"],[8,232,"gauge44"],[8,277,"gauge44"],[8,322,"gauge44"],[5,21,"gauge44"],[5,66,"gauge44"],[5,111,"gauge44"],[5,156,"gauge44"],[5,201,"gauge44"],[5,246,"gauge44"],[5,291,"gauge44"],[5,336,"gauge44"],[2,35,"gauge44"],[2,80,"gauge44"],[2,125,"gauge44"],[2,170,"gauge44"],[2,215,"gauge44"],[2,260,"gauge44"],[2,305,"gauge44"],[2,350,"gauge44"],[7,12,"gauge44"],[7,57,"gauge44"],[7,102,"gauge44"],[7,147,"gauge44"],[7,192,"gauge44"],[7,237,"gauge44"],[7,282,"gauge44"],[7,327,"gauge44"],[4,26,"gauge44"],[4,71,"gauge44"],[4,116,"gauge44"],[4,161,"gauge44"],[4,206,"gauge44"],[4,251,"gauge44"],[4,296,"gauge44"],[4,341,"gauge44"],[6,17,"gauge44"],[6,62,"gauge44"],[6,107,"gauge44"],[6,152,"gauge44"],[6,197,"gauge44"],[6,242,"gauge44"],[6,287,"gauge44"],[6,332,"gauge44"],[3,31,"gauge44"],[3,76,"gauge44"],[3,121,"gauge44"],[3,166,"gauge44"],[3,211,"gauge44"],[3,256,"gauge44"],[3,301,"gauge44"],[3,346,"gauge44"],[8,8,"gauge44"],[8,53,"gauge44"],[8,98,"gauge44"],[8,143,"gauge44"],[8,188,"gauge44"],[8,233,"gauge44"],[8,278,"gauge44"],[8,323,"gauge44"],[5,22,"gauge44"],[5,67,"gauge44"],[5,112,"gauge44"],[5,157,"gauge44"],[5,202,"gauge44"],[5,247,"gauge44"],[5,292,"gauge44"],[5,337,"gauge44"],[2,36,"gauge44"],[2,81,"gauge44"],[2,126,"gauge44"],[2,171,"gauge44"],[2,216,"gauge44"],[2,261,"gauge44"],[2,306,"gauge44"],[2,351,"gauge44"],[7,13,"gauge44"],[7,58,"gauge44"],[7,103,"gauge44"],[7,148,"gauge44"],[7,193,"gauge44"],[7,238,"gauge44"],[7,283,"gauge44"],[7,328,"gauge44"],[4,27,"gauge44"],[4,72,"gauge44"],[4,117,"gauge44"],[4,162,"gauge44"],[4,207,"gauge44"],[4,252,"gauge44"],[4,297,"gauge44"],[4,342,"gauge44"],[6,18,"gauge44"],[6,63,"gauge44"],[6,108,"gauge44"],[6,153,"gauge44"],[6,198,"gauge44"],[6,243,"gauge44"],[6,288,"gauge44"],[6,333,"gauge44"],[3,32,"gauge44"],[3,77,"gauge44"],[3,122,"gauge44"],[3,167,"gauge44"],[3,212,"gauge44"],[3,257,"gauge44"],[3,302,"gauge44"],[3,347,"gauge44"],[8,9,"gauge44"],[8,54,"gauge44"],[8,99,"gauge44"],[8,144,"gauge44"],[8,189,"gauge44"],[8,234,"gauge44"],[8,279,"gauge44"],[8,324,"gauge44"],[5,23,"gauge44"],[5,68,"gauge44"],[5,113,"gauge44"],[5,158,"gauge44"],[5,203,"gauge44"],[5,248,"gauge44"],[5,293,"gauge44"],[5,338,"gauge44"],[7,14,"gauge44"],[7,59,"gauge44"],[7,104,"gauge44"],[7,149,"gauge44"],[7,194,"gauge44"],[7,239,"gauge44"],[7,284,"gauge44"],[7,329,"gauge44"],[4,28,"gauge44"],[4,73,"gauge44"],[4,118,"gauge44"],[4,163,"gauge44"],[4,208,"gauge44"],[4,253,"gauge44"],[4,298,"gauge44"],[4,343,"gauge44"],[6,19,"gauge44"],[6,64,"gauge44"],[6,109,"gauge44"],[6,154,"gauge44"],[6,199,"gauge44"],[6,244,"gauge44"],[6,289,"gauge44"],[6,334,"gauge44"],[3,33,"gauge44"],[3,78,"gauge44"],[3,123,"gauge44"],[3,168,"gauge44"],[3,213,"gauge44"],[3,258,"gauge44"],[3,303,"gauge44"],[3,348,"gauge44"],[8,10,"gauge44"],[8,55,"gauge44"],[8,100,"gauge44"],[8,145,"gauge44"],[8,190,"gauge44"],[8,235,"gauge44"],[8,280,"gauge44"],[8,325,"gauge44"],[5,24,"gauge44"],[5,69,"gauge44"],[5,114,"gauge44"],[5,159,"gauge44"],[5,204,"gauge44"],[5,249,"gauge44"],[5,294,"gauge44"],[5,339,"gauge44"],[7,15,"gauge44"],[7,60,"gauge44"],[7,105,"gauge44"],[7,150,"gauge44"],[7,195,"gauge44"],[7,240,"gauge44"],[7,285,"gauge44"],[7,330,"gauge44"],[4,29,"gauge44"],[4,74,"gauge44"],[4,119,"gauge44"],[4,164,"gauge44"],[4,209,"gauge44"],[4,254,"gauge44"],[4,299,"gauge44"],[4,344,"gauge44"],[6,20,"gauge44"],[6,65,"gauge44"],[6,110,"gauge44"],[6,155,"gauge44"],[6,200,"gauge44"],[6,245,"gauge44"],[6,290,"gauge44"],[6,335,"gauge44"],[3,34,"gauge44"],[3,79,"gauge44"],[3,124,"gauge44"],[3,169,"gauge44"],[3,214,"gauge44"],[3,259,"gauge44"],[3,304,"gauge44"],[3,349,"gauge44"],[8,11,"gauge44"],[8,56,"gauge44"],[8,101,"gauge44"],[8,146,"gauge44"],[8,191,"gauge44"],[8,236,"gauge44"],[8,281,"gauge44"],[8,326,"gauge44"],[5,25,"gauge44"],[5,70,"gauge44"],[5,115,"gauge44"],[5,160,"gauge44"],[5,205,"gauge44"],[5,250,"gauge44"],[5,295,"gauge44"],[5,340,"gauge44"],[7,16,"gauge44"],[7,61,"gauge44"],[7,106,"gauge44"],[7,151,"gauge44"],[7,196,"gauge44"],[7,241,"gauge44"],[7,286,"gauge44"],[7,331,"gauge44"],[4,30,"gauge44"],[4,75,"gauge44"],[4,120,"gauge44"],[4,165,"gauge44"],[4,210,"gauge44"],[4,255,"gauge44"],[4,300,"gauge44"],[4,345,"gauge44"],[6,21,"gauge44"],[6,66,"gauge44"],[6,111,"gauge44"],[6,156,"gauge44"],[6,201,"gauge44"],[6,246,"gauge44"],[6,291,"gauge44"],[6,336,"gauge44"],[3,35,"gauge44"],[3,80,"gauge44"],[3,125,"gauge44"],[3,170,"gauge44"],[3,215,"gauge44"],[3,260,"gauge44"],[3,305,"gauge44"],[3,350,"gauge44"],[8,12,"gauge44"],[8,57,"gauge44"],[8,102,"gauge44"],[8,147,"gauge44"],[8,192,"gauge44"],[8,237,"gauge44"],[8,282,"gauge44"],[8,327,"gauge44"],[5,26,"gauge44"],[5,71,"gauge44"],[5,116,"gauge44"],[5,161,"gauge44"],[5,206,"gauge44"],[5,251,"gauge44"],[5,296,"gauge44"],[5,341,"gauge44"],[7,17,"gauge44"],[7,62,"gauge44"],[7,107,"gauge44"],[7,152,"gauge44"],[7,197,"gauge44"],[7,242,"gauge44"],[7,287,"gauge44"],[7,332,"gauge44"],[4,31,"gauge44"],[4,76,"gauge44"],[4,121,"gauge44"],[4,166,"gauge44"],[4,211,"gauge44"],[4,256,"gauge44"],[4,301,"gauge44"],[4,346,"gauge44"],[6,22,"gauge44"],[6,67,"gauge44"],[6,112,"gauge44"],[6,157,"gauge44"],[6,202,"gauge44"],[6,247,"gauge44"],[6,292,"gauge44"],[6,337,"gauge44"],[3,36,"gauge44"],[3,81,"gauge44"],[3,126,"gauge44"],[3,171,"gauge44"],[3,216,"gauge44"],[3,261,"gauge44"],[3,306,"gauge44"],[3,351,"gauge44"],[8,13,"gauge44"],[8,58,"gauge44"],[8,103,"gauge44"],[8,148,"gauge44"],[8,193,"gauge44"],[8,238,"gauge44"],[8,283,"gauge44"],[8,328,"gauge44"],[5,27,"gauge44"],[5,72,"gauge44"],[5,117,"gauge44"],[5,162,"gauge44"],[5,207,"gauge44"],[5,252,"gauge44"],[5,297,"gauge44"],[5,342,"gauge44"],[7,18,"gauge44"],[7,63,"gauge44"],[7,108,"gauge44"],[7,153,"gauge44"],[7,198,"gauge44"],[7,243,"gauge44"],[7,288,"gauge44"],[7,333,"gauge44"],[4,32,"gauge44"],[4,77,"gauge44"],[4,122,"gauge44"],[4,167,"gauge44"],[4,212,"gauge44"],[4,257,"gauge44"],[4,302,"gauge44"],[4,347,"gauge44"],[6,23,"gauge44"],[6,68,"gauge44"],[6,113,"gauge44"],[6,158,"gauge44"],[6,203,"gauge44"],[6,248,"gauge44"],[6,293,"gauge44"],[6,338,"gauge44"],[8,14,"gauge44"],[8,59,"gauge44"],[8,104,"gauge44"],[8,149,"gauge44"],[8,194,"gauge44"],[8,239,"gauge44"],[8,284,"gauge44"],[8,329,"gauge44"],[5,28,"gauge44"],[5,73,"gauge44"],[5,118,"gauge44"],[5,163,"gauge44"],[5,208,"gauge44"],[5,253,"gauge44"],[5,298,"gauge44"],[5,343,"gauge44"],[7,19,"gauge44"],[7,64,"gauge44"],[7,109,"gauge44"],[7,154,"gauge44"],[7,199,"gauge44"],[7,244,"gauge44"],[7,289,"gauge44"],[7,334,"gauge44"],[4,33,"gauge44"],[4,78,"gauge44"],[4,123,"gauge44"],[4,168,"gauge44"],[4,213,"gauge44"],[4,258,"gauge44"],[4,303,"gauge44"],[4,348,"gauge44"],[6,24,"gauge44"],[6,69,"gauge44"],[6,114,"gauge44"],[6,159,"gauge44"],[6,204,"gauge44"],[6,249,"gauge44"],[6,294,"gauge44"],[6,339,"gauge44"],[8,15,"gauge44"],[8,60,"gauge44"],[8,105,"gauge44"],[8,150,"gauge44"],[8,195,"gauge44"],[8,240,"gauge44"],[8,285,"gauge44"],[8,330,"gauge44"],[5,29,"gauge44"],[5,74,"gauge44"],[5,119,"gauge44"],[5,164,"gauge44"],[5,209,"gauge44"],[5,254,"gauge44"],[5,299,"gauge44"],[5,344,"gauge44"],[7,20,"gauge44"],[7,65,"gauge44"],[7,110,"gauge44"],[7,155,"gauge44"],[7,200,"gauge44"],[7,245,"gauge44"],[7,290,"gauge44"],[7,335,"gauge44"],[4,34,"gauge44"],[4,79,"gauge44"],[4,124,"gauge44"],[4,169,"gauge44"],[4,214,"gauge44"],[4,259,"gauge44"],[4,304,"gauge44"],[4,349,"gauge44"],[6,25,"gauge44"],[6,70,"gauge44"],[6,115,"gauge44"],[6,160,"gauge44"],[6,205,"gauge44"],[6,250,"gauge44"],[6,295,"gauge44"],[6,340,"gauge44"],[8,16,"gauge44"],[8,61,"gauge44"],[8,106,"gauge44"],[8,151,"gauge44"],[8,196,"gauge44"],[8,241,"gauge44"],[8,286,"gauge44"],[8,331,"gauge44"],[5,30,"gauge44"],[5,75,"gauge44"],[5,120,"gauge44"],[5,165,"gauge44"],[5,210,"gauge44"],[5,255,"gauge44"],[5,300,"gauge44"],[5,345,"gauge44"],[7,21,"gauge44"],[7,66,"gauge44"],[7,111,"gauge44"],[7,156,"gauge44"],[7,201,"gauge44"],[7,246,"gauge44"],[7,291,"gauge44"],[7,336,"gauge44"],[4,35,"gauge44"],[4,80,"gauge44"],[4,125,"gauge44"],[4,170,"gauge44"],[4,215,"gauge44"],[4,260,"gauge44"],[4,305,"gauge44"],[4,350,"gauge44"],[6,26,"gauge44"],[6,71,"gauge44"],[6,116,"gauge44"],[6,161,"gauge44"],[6,206,"gauge44"],[6,251,"gauge44"],[6,296,"gauge44"],[6,341,"gauge44"],[8,17,"gauge44"],[8,62,"gauge44"],[8,107,"gauge44"],[8,152,"gauge44"],[8,197,"gauge44"],[8,242,"gauge44"],[8,287,"gauge44"],[8,332,"gauge44"],[5,31,"gauge44"],[5,76,"gauge44"],[5,121,"gauge44"],[5,166,"gauge44"],[5,211,"gauge44"],[5,256,"gauge44"],[5,301,"gauge44"],[5,346,"gauge44"],[7,22,"gauge44"],[7,67,"gauge44"],[7,112,"gauge44"],[7,157,"gauge44"],[7,202,"gauge44"],[7,247,"gauge44"],[7,292,"gauge44"],[7,337,"gauge44"],[4,36,"gauge44"],[4,81,"gauge44"],[4,126,"gauge44"],[4,171,"gauge44"],[4,216,"gauge44"],[4,261,"gauge44"],[4,306,"gauge44"],[4,351,"gauge44"],[6,27,"gauge44"],[6,72,"gauge44"],[6,117,"gauge44"],[6,162,"gauge44"],[6,207,"gauge44"],[6,252,"gauge44"],[6,297,"gauge44"],[6,342,"gauge44"],[8,18,"gauge44"],[8,63,"gauge44"],[8,108,"gauge44"],[8,153,"gauge44"],[8,198,"gauge44"],[8,243,"gauge44"],[8,288,"gauge44"],[8,333,"gauge44"],[5,32,"gauge44"],[5,77,"gauge44"],[5,122,"gauge44"],[5,167,"gauge44"],[5,212,"gauge44"],[5,257,"gauge44"],[5,302,"gauge44"],[5,347,"gauge44"],[7,23,"gauge44"],[7,68,"gauge44"],[7,113,"gauge44"],[7,158,"gauge44"],[7,203,"gauge44"],[7,248,"gauge44"],[7,293,"gauge44"],[7,338,"gauge44"],[6,28,"gauge44"],[6,73,"gauge44"],[6,118,"gauge44"],[6,163,"gauge44"],[6,208,"gauge44"],[6,253,"gauge44"],[6,298,"gauge44"],[6,343,"gauge44"],[8,19,"gauge44"],[8,64,"gauge44"],[8,109,"gauge44"],[8,154,"gauge44"],[8,199,"gauge44"],[8,244,"gauge44"],[8,289,"gauge44"],[8,334,"gauge44"],[5,33,"gauge44"],[5,78,"gauge44"],[5,123,"gauge44"],[5,168,"gauge44"],[5,213,"gauge44"],[5,258,"gauge44"],[5,303,"gauge44"],[5,348,"gauge44"],[7,24,"gauge44"],[7,69,"gauge44"],[7,114,"gauge44"],[7,159,"gauge44"],[7,204,"gauge44"],[7,249,"gauge44"],[7,294,"gauge44"],[7,339,"gauge44"],[6,29,"gauge44"],[6,74,"gauge44"],[6,119,"gauge44"],[6,164,"gauge44"],[6,209,"gauge44"],[6,254,"gauge44"],[6,299,"gauge44"],[6,344,"gauge44"],[8,20,"gauge44"],[8,65,"gauge44"],[8,110,"gauge44"],[8,155,"gauge44"],[8,200,"gauge44"],[8,245,"gauge44"],[8,290,"gauge44"],[8,335,"gauge44"],[5,34,"gauge44"],[5,79,"gauge44"],[5,124,"gauge44"],[5,169,"gauge44"],[5,214,"gauge44"],[5,259,"gauge44"],[5,304,"gauge44"],[5,349,"gauge44"],[7,25,"gauge44"],[7,70,"gauge44"],[7,115,"gauge44"],[7,160,"gauge44"],[7,205,"gauge44"],[7,250,"gauge44"],[7,295,"gauge44"],[7,340,"gauge44"],[6,30,"gauge44"],[6,75,"gauge44"],[6,120,"gauge44"],[6,165,"gauge44"],[6,210,"gauge44"],[6,255,"gauge44"],[6,300,"gauge44"],[6,345,"gauge44"],[8,21,"gauge44"],[8,66,"gauge44"],[8,111,"gauge44"],[8,156,"gauge44"],[8,201,"gauge44"],[8,246,"gauge44"],[8,291,"gauge44"],[8,336,"gauge44"],[5,35,"gauge44"],[5,80,"gauge44"],[5,125,"gauge44"],[5,170,"gauge44"],[5,215,"gauge44"],[5,260,"gauge44"],[5,305,"gauge44"],[5,350,"gauge44"],[7,26,"gauge44"],[7,71,"gauge44"],[7,116,"gauge44"],[7,161,"gauge44"],[7,206,"gauge44"],[7,251,"gauge44"],[7,296,"gauge44"],[7,341,"gauge44"],[6,31,"gauge44"],[6,76,"gauge44"],[6,121,"gauge44"],[6,166,"gauge44"],[6,211,"gauge44"],[6,256,"gauge44"],[6,301,"gauge44"],[6,346,"gauge44"],[8,22,"gauge44"],[8,67,"gauge44"],[8,112,"gauge44"],[8,157,"gauge44"],[8,202,"gauge44"],[8,247,"gauge44"],[8,292,"gauge44"],[8,337,"gauge44"],[5,36,"gauge44"],[5,81,"gauge44"],[5,126,"gauge44"],[5,171,"gauge44"],[5,216,"gauge44"],[5,261,"gauge44"],[5,306,"gauge44"],[5,351,"gauge44"],[7,27,"gauge44"],[7,72,"gauge44"],[7,117,"gauge44"],[7,162,"gauge44"],[7,207,"gauge44"],[7,252,"gauge44"],[7,297,"gauge44"],[7,342,"gauge44"],[6,32,"gauge44"],[6,77,"gauge44"],[6,122,"gauge44"],[6,167,"gauge44"],[6,212,"gauge44"],[6,257,"gauge44"],[6,302,"gauge44"],[6,347,"gauge44"],[8,23,"gauge44"],[8,68,"gauge44"],[8,113,"gauge44"],[8,158,"gauge44"],[8,203,"gauge44"],[8,248,"gauge44"],[8,293,"gauge44"],[8,338,"gauge44"],[7,28,"gauge44"],[7,73,"gauge44"],[7,118,"gauge44"],[7,163,"gauge44"],[7,208,"gauge44"],[7,253,"gauge44"],[7,298,"gauge44"],[7,343,"gauge44"],[6,33,"gauge44"],[6,78,"gauge44"],[6,123,"gauge44"],[6,168,"gauge44"],[6,213,"gauge44"],[6,258,"gauge44"],[6,303,"gauge44"],[6,348,"gauge44"],[8,24,"gauge44"],[8,69,"gauge44"],[8,114,"gauge44"],[8,159,"gauge44"],[8,204,"gauge44"],[8,249,"gauge44"],[8,294,"gauge44"],[8,339,"gauge44"],[7,29,"gauge44"],[7,74,"gauge44"],[7,119,"gauge44"],[7,164,"gauge44"],[7,209,"gauge44"],[7,254,"gauge44"],[7,299,"gauge44"],[7,344,"gauge44"],[6,34,"gauge44"],[6,79,"gauge44"],[6,124,"gauge44"],[6,169,"gauge44"],[6,214,"gauge44"],[6,259,"gauge44"],[6,304,"gauge44"],[6,349,"gauge44"],[8,25,"gauge44"],[8,70,"gauge44"],[8,115,"gauge44"],[8,160,"gauge44"],[8,205,"gauge44"],[8,250,"gauge44"],[8,295,"gauge44"],[8,340,"gauge44"],[7,30,"gauge44"],[7,75,"gauge44"],[7,120,"gauge44"],[7,165,"gauge44"],[7,210,"gauge44"],[7,255,"gauge44"],[7,300,"gauge44"],[7,345,"gauge44"],[6,35,"gauge44"],[6,80,"gauge44"],[6,125,"gauge44"],[6,170,"gauge44"],[6,215,"gauge44"],[6,260,"gauge44"],[6,305,"gauge44"],[6,350,"gauge44"],[8,26,"gauge44"],[8,71,"gauge44"],[8,116,"gauge44"],[8,161,"gauge44"],[8,206,"gauge44"],[8,251,"gauge44"],[8,296,"gauge44"],[8,341,"gauge44"],[7,31,"gauge44"],[7,76,"gauge44"],[7,121,"gauge44"],[7,166,"gauge44"],[7,211,"gauge44"],[7,256,"gauge44"],[7,301,"gauge44"],[7,346,"gauge44"],[6,36,"gauge44"],[6,81,"gauge44"],[6,126,"gauge44"],[6,171,"gauge44"],[6,216,"gauge44"],[6,261,"gauge44"],[6,306,"gauge44"],[6,351,"gauge44"],[8,27,"gauge44"],[8,72,"gauge44"],[8,117,"gauge44"],[8,162,"gauge44"],[8,207,"gauge44"],[8,252,"gauge44"],[8,297,"gauge44"],[8,342,"gauge44"],[7,32,"gauge44"],[7,77,"gauge44"],[7,122,"gauge44"],[7,167,"gauge44"],[7,212,"gauge44"],[7,257,"gauge44"],[7,302,"gauge44"],[7,347,"gauge44"],[8,28,"gauge44"],[8,73,"gauge44"],[8,118,"gauge44"],[8,163,"gauge44"],[8,208,"gauge44"],[8,253,"gauge44"],[8,298,"gauge44"],[8,343,"gauge44"],[7,33,"gauge44"],[7,78,"gauge44"],[7,123,"gauge44"],[7,168,"gauge44"],[7,213,"gauge44"],[7,258,"gauge44"],[7,303,"gauge44"],[7,348,"gauge44"],[8,29,"gauge44"],[8,74,"gauge44"],[8,119,"gauge44"],[8,164,"gauge44"],[8,209,"gauge44"],[8,254,"gauge44"],[8,299,"gauge44"],[8,344,"gauge44"],[7,34,"gauge44"],[7,79,"gauge44"],[7,124,"gauge44"],[7,169,"gauge44"],[7,214,"gauge44"],[7,259,"gauge44"],[7,304,"gauge44"],[7,349,"gauge44"],[8,30,"gauge44"],[8,75,"gauge44"],[8,120,"gauge44"],[8,165,"gauge44"],[8,210,"gauge44"],[8,255,"gauge44"],[8,300,"gauge44"],[8,345,"gauge44"],[7,35,"gauge44"],[7,80,"gauge44"],[7,125,"gauge44"],[7,170,"gauge44"],[7,215,"gauge44"],[7,260,"gauge44"],[7,305,"gauge44"],[7,350,"gauge44"],[8,31,"gauge44"],[8,76,"gauge44"],[8,121,"gauge44"],[8,166,"gauge44"],[8,211,"gauge44"],[8,256,"gauge44"],[8,301,"gauge44"],[8,346,"gauge44"],[7,36,"gauge44"],[7,81,"gauge44"],[7,126,"gauge44"],[7,171,"gauge44"],[7,216,"gauge44"],[7,261,"gauge44"],[7,306,"gauge44"],[7,351,"gauge44"],[8,32,"gauge44"],[8,77,"gauge44"],[8,122,"gauge44"],[8,167,"gauge44"],[8,212,"gauge44"],[8,257,"gauge44"],[8,302,"gauge44"],[8,347,"gauge44"],[8,33,"gauge44"],[8,78,"gauge44"],[8,123,"gauge44"],[8,168,"gauge44"],[8,213,"gauge44"],[8,258,"gauge44"],[8,303,"gauge44"],[8,348,"gauge44"],[8,34,"gauge44"],[8,79,"gauge44"],[8,124,"gauge44"],[8,169,"gauge44"],[8,214,"gauge44"],[8,259,"gauge44"],[8,304,"gauge44"],[8,349,"gauge44"],[8,35,"gauge44"],[8,80,"gauge44"],[8,125,"gauge44"],[8,170,"gauge44"],[8,215,"gauge44"],[8,260,"gauge44"],[8,305,"gauge44"],[8,350,"gauge44"],[0,37,"extra"],[0,82,"extra"],[0,127,"extra"],[0,172,"extra"],[0,217,"extra"],[0,262,"extra"],[0,307,"extra"],[0,352,"extra"],[8,36,"gauge44"],[8,81,"gauge44"],[8,126,"gauge44"],[8,171,"gauge44"],[8,216,"gauge44"],[8,261,"gauge44"],[8,306,"gauge44"],[8,351,"gauge44"],[0,38,"gauge44"],[0,83,"gauge44"],[0,128,"gauge44"],[0,173,"gauge44"],[0,218,"gauge44"],[0,263,"gauge44"],[0,308,"gauge44"],[0,353,"gauge44"],[1,37,"gauge44"],[1,82,"gauge44"],[1,127,"gauge44"],[1,172,"gauge44"],[1,217,"gauge44"],[1,262,"gauge44"],[1,307,"gauge44"],[1,352,"gauge44"],[0,39,"gauge44"],[0,84,"gauge44"],[0,129,"gauge44"],[0,174,"gauge44"],[0,219,"gauge44"],[0,264,"gauge44"],[0,309,"gauge44"],[0,354,"gauge44"],[1,38,"gauge44"],[1,83,"gauge44"],[1,128,"gauge44"],[1,173,"gauge44"],[1,218,"gauge44"],[1,263,"gauge44"],[1,308,"gauge44"],[1,353,"gauge44"],[2,37,"gauge44"],[2,82,"gauge44"],[2,127,"gauge44"],[2,172,"gauge44"],[2,217,"gauge44"],[2,262,"gauge44"],[2,307,"gauge44"],[2,352,"gauge44"],[0,40,"gauge44"],[0,85,"gauge44"],[0,130,"gauge44"],[0,175,"gauge44"],[0,220,"gauge44"],[0,265,"gauge44"],[0,310,"gauge44"],[0,355,"gauge44"],[3,37,"gauge44"],[3,82,"gauge44"],[3,127,"gauge44"],[3,172,"gauge44"],[3,217,"gauge44"],[3,262,"gauge44"],[3,307,"gauge44"],[3,352,"gauge44"],[1,39,"gauge44"],[1,84,"gauge44"],[1,129,"gauge44"],[1,174,"gauge44"],[1,219,"gauge44"],[1,264,"gauge44"],[1,309,"gauge44"],[1,354,"gauge44"],[2,38,"gauge44"],[2,83,"gauge44"],[2,128,"gauge44"],[2,173,"gauge44"],[2,218,"gauge44"],[2,263,"gauge44"],[2,308,"gauge44"],[2,353,"gauge44"],[0,41,"gauge44"],[0,86,"gauge44"],[0,131,"gauge44"],[0,176,"gauge44"],[0,221,"gauge44"],[0,266,"gauge44"],[0,311,"gauge44"],[0,356,"gauge44"],[2,39,"gauge44"],[2,84,"gauge44"],[2,129,"gauge44"],[2,174,"gauge44"],[2,219,"gauge44"],[2,264,"gauge44"],[2,309,"gauge44"],[2,354,"gauge44"],[1,40,"gauge44"],[1,85,"gauge44"],[1,130,"gauge44"],[1,175,"gauge44"],[1,220,"gauge44"],[1,265,"gauge44"],[1,310,"gauge44"],[1,355,"gauge44"],[3,38,"gauge44"],[3,83,"gauge44"],[3,128,"gauge44"],[3,173,"gauge44"],[3,218,"gauge44"],[3,263,"gauge44"],[3,308,"gauge44"],[3,353,"gauge44"],[4,37,"gauge44"],[4,82,"gauge44"],[4,127,"gauge44"],[4,172,"gauge44"],[4,217,"gauge44"],[4,262,"gauge44"],[4,307,"gauge44"],[4,352,"gauge44"],[0,42,"gauge44"],[0,87,"gauge44"],[0,132,"gauge44"],[0,177,"gauge44"],[0,222,"gauge44"],[0,267,"gauge44"],[0,312,"gauge44"],[0,357,"gauge44"],[1,41,"gauge44"],[1,86,"gauge44"],[1,131,"gauge44"],[1,176,"gauge44"],[1,221,"gauge44"],[1,266,"gauge44"],[1,311,"gauge44"],[1,356,"gauge44"],[2,40,"gauge44"],[2,85,"gauge44"],[2,130,"gauge44"],[2,175,"gauge44"],[2,220,"gauge44"],[2,265,"gauge44"],[2,310,"gauge44"],[2,355,"gauge44"],[3,39,"gauge44"],[3,84,"gauge44"],[3,129,"gauge44"],[3,174,"gauge44"],[3,219,"gauge44"],[3,264,"gauge44"],[3,309,"gauge44"],[3,354,"gauge44"],[4,38,"gauge44"],[4,83,"gauge44"],[4,128,"gauge44"],[4,173,"gauge44"],[4,218,"gauge44"],[4,263,"gauge44"],[4,308,"gauge44"],[4,353,"gauge44"],[5,37,"gauge44"],[5,82,"gauge44"],[5,127,"gauge44"],[5,172,"gauge44"],[5,217,"gauge44"],[5,262,"gauge44"],[5,307,"gauge44"],[5,352,"gauge44"],[0,43,"gauge44"],[0,88,"gauge44"],[0,133,"gauge44"],[0,178,"gauge44"],[0,223,"gauge44"],[0,268,"gauge44"],[0,313,"gauge44"],[0,358,"gauge44"],[1,42,"gauge44"],[1,87,"gauge44"],[1,132,"gauge44"],[1,177,"gauge44"],[1,222,"gauge44"],[1,267,"gauge44"],[1,312,"gauge44"],[1,357,"gauge44"],[2,41,"gauge44"],[2,86,"gauge44"],[2,131,"gauge44"],[2,176,"gauge44"],[2,221,"gauge44"],[2,266,"gauge44"],[2,311,"gauge44"],[2,356,"gauge44"],[3,40,"gauge44"],[3,85,"gauge44"],[3,130,"gauge44"],[3,175,"gauge44"],[3,220,"gauge44"],[3,265,"gauge44"],[3,310,"gauge44"],[3,355,"gauge44"],[4,39,"gauge44"],[4,84,"gauge44"],[4,129,"gauge44"],[4,174,"gauge44"],[4,219,"gauge44"],[4,264,"gauge44"],[4,309,"gauge44"],[4,354,"gauge44"],[5,38,"gauge44"],[5,83,"gauge44"],[5,128,"gauge44"],[5,173,"gauge44"],[5,218,"gauge44"],[5,263,"gauge44"],[5,308,"gauge44"],[5,353,"gauge44"],[0,44,"gauge44"],[0,89,"gauge44"],[0,134,"gauge44"],[0,179,"gauge44"],[0,224,"gauge44"],[0,269,"gauge44"],[0,314,"gauge44"],[0,359,"gauge44"],[6,37,"gauge44"],[6,82,"gauge44"],[6,127,"gauge44"],[6,172,"gauge44"],[6,217,"gauge44"],[6,262,"gauge44"],[6,307,"gauge44"],[6,352,"gauge44"],[1,43,"gauge44"],[1,88,"gauge44"],[1,133,"gauge44"],[1,178,"gauge44"],[1,223,"gauge44"],[1,268,"gauge44"],[1,313,"gauge44"],[1,358,"gauge44"],[2,42,"gauge44"],[2,87,"gauge44"],[2,132,"gauge44"],[2,177,"gauge44"],[2,222,"gauge44"],[2,267,"gauge44"],[2,312,"gauge44"],[2,357,"gauge44"],[3,41,"gauge44"],[3,86,"gauge44"],[3,131,"gauge44"],[3,176,"gauge44"],[3,221,"gauge44"],[3,266,"gauge44"],[3,311,"gauge44"],[3,356,"gauge44"],[4,40,"gauge44"],[4,85,"gauge44"],[4,130,"gauge44"],[4,175,"gauge44"],[4,220,"gauge44"],[4,265,"gauge44"],[4,310,"gauge44"],[4,355,"gauge44"],[5,39,"gauge44"],[5,84,"gauge44"],[5,129,"gauge44"],[5,174,"gauge44"],[5,219,"gauge44"],[5,264,"gauge44"],[5,309,"gauge44"],[5,354,"gauge44"],[6,38,"gauge44"],[6,83,"gauge44"],[6,128,"gauge44"],[6,173,"gauge44"],[6,218,"gauge44"],[6,263,"gauge44"],[6,308,"gauge44"],[6,353,"gauge44"],[1,44,"gauge44"],[1,89,"gauge44"],[1,134,"gauge44"],[1,179,"gauge44"],[1,224,"gauge44"],[1,269,"gauge44"],[1,314,"gauge44"],[1,359,"gauge44"],[7,37,"gauge44"],[7,82,"gauge44"],[7,127,"gauge44"],[7,172,"gauge44"],[7,217,"gauge44"],[7,262,"gauge44"],[7,307,"gauge44"],[7,352,"gauge44"],[2,43,"gauge44"],[2,88,"gauge44"],[2,133,"gauge44"],[2,178,"gauge44"],[2,223,"gauge44"],[2,268,"gauge44"],[2,313,"gauge44"],[2,358,"gauge44"],[3,42,"gauge44"],[3,87,"gauge44"],[3,132,"gauge44"],[3,177,"gauge44"],[3,222,"gauge44"],[3,267,"gauge44"],[3,312,"gauge44"],[3,357,"gauge44"],[4,41,"gauge44"],[4,86,"gauge44"],[4,131,"gauge44"],[4,176,"gauge44"],[4,221,"gauge44"],[4,266,"gauge44"],[4,311,"gauge44"],[4,356,"gauge44"],[5,40,"gauge44"],[5,85,"gauge44"],[5,130,"gauge44"],[5,175,"gauge44"],[5,220,"gauge44"],[5,265,"gauge44"],[5,310,"gauge44"],[5,355,"gauge44"],[6,39,"gauge44"],[6,84,"gauge44"],[6,129,"gauge44"],[6,174,"gauge44"],[6,219,"gauge44"],[6,264,"gauge44"],[6,309,"gauge44"],[6,354,"gauge44"],[7,38,"gauge44"],[7,83,"gauge44"],[7,128,"gauge44"],[7,173,"gauge44"],[7,218,"gauge44"],[7,263,"gauge44"],[7,308,"gauge44"],[7,353,"gauge44"],[2,44,"gauge44"],[2,89,"gauge44"],[2,134,"gauge44"],[2,179,"gauge44"],[2,224,"gauge44"],[2,269,"gauge44"],[2,314,"gauge44"],[2,359,"gauge44"],[8,37,"gauge44"],[8,82,"gauge44"],[8,127,"gauge44"],[8,172,"gauge44"],[8,217,"gauge44"],[8,262,"gauge44"],[8,307,"gauge44"],[8,352,"gauge44"],[3,43,"gauge44"],[3,88,"gauge44"],[3,133,"gauge44"],[3,178,"gauge44"],[3,223,"gauge44"],[3,268,"gauge44"],[3,313,"gauge44"],[3,358,"gauge44"],[4,42,"gauge44"],[4,87,"gauge44"],[4,132,"gauge44"],[4,177,"gauge44"],[4,222,"gauge44"],[4,267,"gauge44"],[4,312,"gauge44"],[4,357,"gauge44"],[5,41,"gauge44"],[5,86,"gauge44"],[5,131,"gauge44"],[5,176,"gauge44"],[5,221,"gauge44"],[5,266,"gauge44"],[5,311,"gauge44"],[5,356,"gauge44"],[6,40,"gauge44"],[6,85,"gauge44"],[6,130,"gauge44"],[6,175,"gauge44"],[6,220,"gauge44"],[6,265,"gauge44"],[6,310,"gauge44"],[6,355,"gauge44"],[7,39,"gauge44"],[7,84,"gauge44"],[7,129,"gauge44"],[7,174,"gauge44"],[7,219,"gauge44"],[7,264,"gauge44"],[7,309,"gauge44"],[7,354,"gauge44"],[8,38,"gauge44"],[8,83,"gauge44"],[8,128,"gauge44"],[8,173,"gauge44"],[8,218,"gauge44"],[8,263,"gauge44"],[8,308,"gauge44"],[8,353,"gauge44"],[3,44,"gauge44"],[3,89,"gauge44"],[3,134,"gauge44"],[3,179,"gauge44"],[3,224,"gauge44"],[3,269,"gauge44"],[3,314,"gauge44"],[3,359,"gauge44"],[4,43,"gauge44"],[4,88,"gauge44"],[4,133,"gauge44"],[4,178,"gauge44"],[4,223,"gauge44"],[4,268,"gauge44"],[4,313,"gauge44"],[4,358,"gauge44"],[5,42,"gauge44"],[5,87,"gauge44"],[5,132,"gauge44"],[5,177,"gauge44"],[5,222,"gauge44"],[5,267,"gauge44"],[5,312,"gauge44"],[5,357,"gauge44"],[6,41,"gauge44"],[6,86,"gauge44"],[6,131,"gauge44"],[6,176,"gauge44"],[6,221,"gauge44"],[6,266,"gauge44"],[6,311,"gauge44"],[6,356,"gauge44"],[7,40,"gauge44"],[7,85,"gauge44"],[7,130,"gauge44"],[7,175,"gauge44"],[7,220,"gauge44"],[7,265,"gauge44"],[7,310,"gauge44"],[7,355,"gauge44"],[8,39,"gauge44"],[8,84,"gauge44"],[8,129,"gauge44"],[8,174,"gauge44"],[8,219,"gauge44"],[8,264,"gauge44"],[8,309,"gauge44"],[8,354,"gauge44"],[4,44,"gauge44"],[4,89,"gauge44"],[4,134,"gauge44"],[4,179,"gauge44"],[4,224,"gauge44"],[4,269,"gauge44"],[4,314,"gauge44"],[4,359,"gauge44"],[5,43,"gauge44"],[5,88,"gauge44"],[5,133,"gauge44"],[5,178,"gauge44"],[5,223,"gauge44"],[5,268,"gauge44"],[5,313,"gauge44"],[5,358,"gauge44"],[6,42,"gauge44"],[6,87,"gauge44"],[6,132,"gauge44"],[6,177,"gauge44"],[6,222,"gauge44"],[6,267,"gauge44"],[6,312,"gauge44"],[6,357,"gauge44"],[7,41,"gauge44"],[7,86,"gauge44"],[7,131,"gauge44"],[7,176,"gauge44"],[7,221,"gauge44"],[7,266,"gauge44"],[7,311,"gauge44"],[7,356,"gauge44"],[8,40,"gauge44"],[8,85,"gauge44"],[8,130,"gauge44"],[8,175,"gauge44"],[8,220,"gauge44"],[8,265,"gauge44"],[8,310,"gauge44"],[8,355,"gauge44"],[5,44,"gauge44"],[5,89,"gauge44"],[5,134,"gauge44"],[5,179,"gauge44"],[5,224,"gauge44"],[5,269,"gauge44"],[5,314,"gauge44"],[5,359,"gauge44"],[6,43,"gauge44"],[6,88,"gauge44"],[6,133,"gauge44"],[6,178,"gauge44"],[6,223,"gauge44"],[6,268,"gauge44"],[6,313,"gauge44"],[6,358,"gauge44"],[7,42,"gauge44"],[7,87,"gauge44"],[7,132,"gauge44"],[7,177,"gauge44"],[7,222,"gauge44"],[7,267,"gauge44"],[7,312,"gauge44"],[7,357,"gauge44"],[8,41,"gauge44"],[8,86,"gauge44"],[8,131,"gauge44"],[8,176,"gauge44"],[8,221,"gauge44"],[8,266,"gauge44"],[8,311,"gauge44"],[8,356,"gauge44"],[6,44,"gauge44"],[6,89,"gauge44"],[6,134,"gauge44"],[6,179,"gauge44"],[6,224,"gauge44"],[6,269,"gauge44"],[6,314,"gauge44"],[6,359,"gauge44"],[7,43,"gauge44"],[7,88,"gauge44"],[7,133,"gauge44"],[7,178,"gauge44"],[7,223,"gauge44"],[7,268,"gauge44"],[7,313,"gauge44"],[7,358,"gauge44"],[8,42,"gauge44"],[8,87,"gauge44"],[8,132,"gauge44"],[8,177,"gauge44"],[8,222,"gauge44"],[8,267,"gauge44"],[8,312,"gauge44"],[8,357,"gauge44"],[7,44,"gauge44"],[7,89,"gauge44"],[7,134,"gauge44"],[7,179,"gauge44"],[7,224,"gauge44"],[7,269,"gauge44"],[7,314,"gauge44"],[7,359,"gauge44"],[8,43,"gauge44"],[8,88,"gauge44"],[8,133,"gauge44"],[8,178,"gauge44"],[8,223,"gauge44"],[8,268,"gauge44"],[8,313,"gauge44"],[8,358,"gauge44"],[8,44,"gauge44"],[8,89,"gauge44"],[8,134,"gauge44"],[8,179,"gauge44"],[8,224,"gauge44"],[8,269,"gauge44"],[8,314,"gauge44"],[8,359,"gauge44"]] diff --git a/research/staged544-mixed-idle-rebind/inputs/FILL.json.gz b/research/staged544-mixed-idle-rebind/inputs/FILL.json.gz new file mode 100644 index 0000000000..5e67f9bd27 Binary files /dev/null and b/research/staged544-mixed-idle-rebind/inputs/FILL.json.gz differ diff --git a/research/staged544-mixed-idle-rebind/inputs/FOUR-base.json.gz b/research/staged544-mixed-idle-rebind/inputs/FOUR-base.json.gz new file mode 100644 index 0000000000..65957e5ca3 Binary files /dev/null and b/research/staged544-mixed-idle-rebind/inputs/FOUR-base.json.gz differ diff --git a/research/staged544-mixed-idle-rebind/inputs/FOUR-extra.json.gz b/research/staged544-mixed-idle-rebind/inputs/FOUR-extra.json.gz new file mode 100644 index 0000000000..1f3239c30e Binary files /dev/null and b/research/staged544-mixed-idle-rebind/inputs/FOUR-extra.json.gz differ diff --git a/research/staged544-mixed-idle-rebind/inputs/MIXED-DISPATCH.json b/research/staged544-mixed-idle-rebind/inputs/MIXED-DISPATCH.json new file mode 100644 index 0000000000..9fbaa36ec2 --- /dev/null +++ b/research/staged544-mixed-idle-rebind/inputs/MIXED-DISPATCH.json @@ -0,0 +1 @@ +[[0, 0, "extra-four"], [0, 45, "extra"], [0, 90, "extra"], [0, 135, "extra-four"], [0, 180, "extra"], [0, 225, "extra"], [0, 270, "extra-four"], [0, 315, "extra"], [0, 1, "extra"], [0, 46, "extra-four"], [0, 91, "extra"], [0, 136, "extra"], [0, 181, "extra-four"], [0, 226, "extra"], [0, 271, "extra"], [0, 316, "extra-four"], [0, 2, "extra"], [0, 47, "extra"], [0, 92, "extra-four"], [0, 137, "extra"], [0, 182, "extra"], [0, 227, "extra-four"], [0, 272, "extra"], [0, 317, "extra"], [0, 3, "extra-four"], [0, 48, "extra"], [0, 93, "extra"], [0, 138, "extra-four"], [0, 183, "extra"], [0, 228, "extra"], [0, 273, "extra-four"], [0, 318, "extra"], [0, 4, "extra"], [0, 49, "extra-four"], [0, 94, "extra"], [0, 139, "extra"], [0, 184, "extra-four"], [0, 229, "extra"], [0, 274, "extra"], [0, 319, "extra-four"], [1, 0, "extra"], [1, 45, "extra"], [1, 90, "extra-four"], [1, 135, "extra"], [1, 180, "extra"], [1, 225, "extra-four"], [1, 270, "extra"], [1, 315, "extra"], [0, 5, "extra-four"], [0, 50, "extra"], [0, 95, "extra"], [0, 140, "extra-four"], [0, 185, "extra"], [0, 230, "extra"], [0, 275, "extra-four"], [0, 320, "extra"], [1, 1, "extra"], [1, 46, "extra-four"], [1, 91, "extra"], [1, 136, "extra"], [1, 181, "extra-four"], [1, 226, "extra"], [1, 271, "extra-four"], [1, 316, "extra"], [0, 6, "extra"], [0, 51, "extra"], [0, 96, "extra"], [0, 141, "extra-four"], [0, 186, "extra"], [0, 231, "extra-four"], [0, 276, "extra"], [0, 321, "extra"], [1, 2, "extra-four"], [1, 47, "extra"], [1, 92, "extra"], [1, 137, "extra-four"], [1, 182, "extra"], [1, 227, "extra"], [1, 272, "extra"], [1, 317, "extra"], [0, 7, "extra"], [0, 52, "extra"], [0, 97, "extra-four"], [0, 142, "extra"], [0, 187, "extra-four"], [0, 232, "extra"], [0, 277, "extra-four"], [0, 322, "extra"], [1, 3, "extra-four"], [1, 48, "extra"], [1, 93, "extra"], [1, 138, "extra"], [1, 183, "extra-four"], [1, 228, "extra"], [1, 273, "extra-four"], [1, 318, "extra"], [0, 8, "extra"], [0, 53, "extra"], [0, 98, "extra"], [0, 143, "extra-four"], [0, 188, "extra"], [0, 233, "extra-four"], [0, 278, "extra"], [0, 323, "extra-four"], [1, 4, "extra"], [1, 49, "extra-four"], [1, 94, "extra"], [1, 139, "extra-four"], [1, 184, "extra"], [1, 229, "extra"], [1, 274, "extra-four"], [1, 319, "extra"], [0, 9, "extra"], [0, 54, "extra"], [0, 99, "extra-four"], [0, 144, "extra"], [0, 189, "extra-four"], [0, 234, "extra"], [0, 279, "extra-four"], [0, 324, "extra"], [2, 0, "extra"], [2, 45, "extra"], [2, 90, "extra"], [2, 135, "extra-four"], [2, 180, "extra-four"], [2, 225, "extra"], [2, 270, "extra"], [2, 315, "extra-four"], [1, 5, "extra-four"], [1, 50, "extra"], [1, 95, "extra"], [1, 140, "extra-four"], [1, 185, "extra"], [1, 230, "extra-four"], [1, 275, "extra"], [1, 320, "extra"], [0, 10, "extra"], [0, 55, "extra-four"], [0, 100, "extra"], [0, 145, "extra-four"], [0, 190, "extra"], [0, 235, "extra"], [0, 280, "extra"], [0, 325, "extra"], [2, 1, "extra-four"], [2, 46, "extra"], [2, 91, "extra-four"], [2, 136, "extra"], [2, 181, "extra"], [2, 226, "extra"], [2, 271, "extra"], [2, 316, "extra-four"], [1, 6, "extra"], [1, 51, "extra"], [1, 96, "extra-four"], [1, 141, "extra"], [1, 186, "extra-four"], [1, 231, "extra"], [1, 276, "extra-four"], [1, 321, "extra"], [0, 11, "extra"], [0, 56, "extra-four"], [0, 101, "extra"], [0, 146, "extra-four"], [0, 191, "extra"], [0, 236, "extra"], [0, 281, "extra"], [0, 326, "extra"], [2, 2, "extra-four"], [2, 47, "extra"], [2, 92, "extra-four"], [2, 137, "extra"], [2, 182, "extra"], [2, 227, "extra"], [2, 272, "extra"], [2, 317, "extra-four"], [1, 7, "extra"], [1, 52, "extra"], [1, 97, "extra"], [1, 142, "extra-four"], [1, 187, "extra"], [1, 232, "extra-four"], [1, 277, "extra"], [1, 322, "extra"], [0, 12, "extra"], [0, 57, "extra-four"], [0, 102, "extra"], [0, 147, "extra-four"], [0, 192, "extra"], [0, 237, "extra"], [0, 282, "extra"], [0, 327, "extra"], [2, 3, "extra-four"], [2, 48, "extra"], [2, 93, "extra-four"], [2, 138, "extra"], [2, 183, "extra"], [2, 228, "extra"], [2, 273, "extra"], [2, 318, "extra-four"], [1, 8, "extra-four"], [1, 53, "extra"], [1, 98, "extra-four"], [1, 143, "extra"], [1, 188, "extra"], [1, 233, "extra-four"], [1, 278, "extra"], [1, 323, "extra-four"], [0, 13, "extra"], [0, 58, "extra-four"], [0, 103, "extra"], [0, 148, "extra-four"], [0, 193, "extra"], [0, 238, "extra"], [0, 283, "extra"], [0, 328, "extra"], [2, 4, "extra-four"], [2, 49, "extra"], [2, 94, "extra-four"], [2, 139, "extra"], [2, 184, "extra"], [2, 229, "extra"], [2, 274, "extra"], [2, 319, "extra-four"], [1, 9, "extra"], [1, 54, "extra"], [1, 99, "extra-four"], [1, 144, "extra"], [1, 189, "extra"], [1, 234, "extra"], [1, 279, "extra-four"], [1, 324, "extra"], [3, 0, "extra"], [3, 45, "extra-four"], [3, 90, "extra"], [3, 135, "extra-four"], [3, 180, "extra"], [3, 225, "extra"], [3, 270, "extra-four"], [3, 315, "extra"], [0, 14, "extra-four"], [0, 59, "extra"], [0, 104, "extra-four"], [0, 149, "extra"], [0, 194, "extra"], [0, 239, "extra"], [0, 284, "extra-four"], [0, 329, "extra"], [2, 5, "extra-four"], [2, 50, "extra"], [2, 95, "extra"], [2, 140, "extra"], [2, 185, "extra"], [2, 230, "extra-four"], [2, 275, "extra"], [2, 320, "extra-four"], [1, 10, "extra-four"], [1, 55, "extra"], [1, 100, "extra"], [1, 145, "extra"], [1, 190, "extra"], [1, 235, "extra-four"], [1, 280, "extra"], [1, 325, "extra"], [3, 1, "extra"], [3, 46, "extra"], [3, 91, "extra"], [3, 136, "extra"], [3, 181, "extra-four"], [3, 226, "extra"], [3, 271, "extra-four"], [3, 316, "extra"], [0, 15, "extra-four"], [0, 60, "extra"], [0, 105, "extra"], [0, 150, "extra-four"], [0, 195, "extra"], [0, 240, "extra-four"], [0, 285, "extra"], [0, 330, "extra-four"], [2, 6, "extra"], [2, 51, "extra"], [2, 96, "extra"], [2, 141, "extra"], [2, 186, "extra-four"], [2, 231, "extra"], [2, 276, "extra-four"], [2, 321, "extra"], [1, 11, "extra"], [1, 56, "extra"], [1, 101, "extra-four"], [1, 146, "extra"], [1, 191, "extra-four"], [1, 236, "extra"], [1, 281, "extra"], [1, 326, "extra-four"], [3, 2, "extra"], [3, 47, "extra"], [3, 92, "extra"], [3, 137, "extra-four"], [3, 182, "extra"], [3, 227, "extra-four"], [3, 272, "extra"], [3, 317, "extra-four"], [0, 16, "extra"], [0, 61, "extra"], [0, 106, "extra"], [0, 151, "extra"], [0, 196, "extra-four"], [0, 241, "extra"], [0, 286, "extra-four"], [0, 331, "extra"], [2, 7, "extra"], [2, 52, "extra"], [2, 97, "extra"], [2, 142, "extra-four"], [2, 187, "extra"], [2, 232, "extra-four"], [2, 277, "extra"], [2, 322, "extra-four"], [1, 12, "extra"], [1, 57, "extra-four"], [1, 102, "extra"], [1, 147, "extra"], [1, 192, "extra-four"], [1, 237, "extra"], [1, 282, "extra"], [1, 327, "extra"], [3, 3, "extra"], [3, 48, "extra"], [3, 93, "extra"], [3, 138, "extra"], [3, 183, "extra-four"], [3, 228, "extra"], [3, 273, "extra-four"], [3, 318, "extra"], [0, 17, "extra"], [0, 62, "extra"], [0, 107, "extra"], [0, 152, "extra-four"], [0, 197, "extra"], [0, 242, "extra-four"], [0, 287, "extra"], [0, 332, "extra-four"], [2, 8, "extra"], [2, 53, "extra"], [2, 98, "extra"], [2, 143, "extra"], [2, 188, "extra-four"], [2, 233, "extra"], [2, 278, "extra-four"], [2, 323, "extra"], [1, 13, "extra-four"], [1, 58, "extra"], [1, 103, "extra-four"], [1, 148, "extra"], [1, 193, "extra"], [1, 238, "extra-four"], [1, 283, "extra"], [1, 328, "extra-four"], [3, 4, "extra-four"], [3, 49, "extra"], [3, 94, "extra-four"], [3, 139, "extra"], [3, 184, "extra-four"], [3, 229, "extra"], [3, 274, "extra"], [3, 319, "extra"], [0, 18, "extra"], [0, 63, "extra-four"], [0, 108, "extra"], [0, 153, "extra-four"], [0, 198, "extra"], [0, 243, "extra"], [0, 288, "extra"], [0, 333, "extra"], [2, 9, "extra-four"], [2, 54, "extra"], [2, 99, "extra-four"], [2, 144, "extra"], [2, 189, "extra-four"], [2, 234, "extra"], [2, 279, "extra"], [2, 324, "extra-four"], [4, 0, "extra"], [4, 45, "extra-four"], [4, 90, "extra"], [4, 135, "extra-four"], [4, 180, "extra"], [4, 225, "extra"], [4, 270, "extra"], [4, 315, "extra"], [1, 14, "extra"], [1, 59, "extra"], [1, 104, "extra"], [1, 149, "extra"], [1, 194, "extra-four"], [1, 239, "extra"], [1, 284, "extra"], [1, 329, "extra"], [3, 5, "extra-four"], [3, 50, "extra"], [3, 95, "extra-four"], [3, 140, "extra"], [3, 185, "extra-four"], [3, 230, "extra"], [3, 275, "extra"], [3, 320, "extra-four"], [0, 19, "extra"], [0, 64, "extra-four"], [0, 109, "extra"], [0, 154, "extra-four"], [0, 199, "extra"], [0, 244, "extra"], [0, 289, "extra"], [0, 334, "extra"], [2, 10, "extra-four"], [2, 55, "extra"], [2, 100, "extra-four"], [2, 145, "extra"], [2, 190, "extra"], [2, 235, "extra"], [2, 280, "extra"], [2, 325, "extra-four"], [4, 1, "extra"], [4, 46, "extra-four"], [4, 91, "extra"], [4, 136, "extra-four"], [4, 181, "extra"], [4, 226, "extra"], [4, 271, "extra"], [4, 316, "extra"], [1, 15, "extra"], [1, 60, "extra-four"], [1, 105, "extra"], [1, 150, "extra-four"], [1, 195, "extra"], [1, 240, "extra"], [1, 285, "extra-four"], [1, 330, "extra"], [3, 6, "extra-four"], [3, 51, "extra"], [3, 96, "extra-four"], [3, 141, "extra"], [3, 186, "extra"], [3, 231, "extra"], [3, 276, "extra"], [3, 321, "extra-four"], [0, 20, "extra"], [0, 65, "extra-four"], [0, 110, "extra"], [0, 155, "extra-four"], [0, 200, "extra"], [0, 245, "extra"], [0, 290, "extra"], [0, 335, "extra"], [2, 11, "extra-four"], [2, 56, "extra"], [2, 101, "extra-four"], [2, 146, "extra"], [2, 191, "extra-four"], [2, 236, "extra"], [2, 281, "extra-four"], [2, 326, "extra"], [4, 2, "extra-four"], [4, 47, "extra"], [4, 92, "extra"], [4, 137, "extra"], [4, 182, "extra"], [4, 227, "extra-four"], [4, 272, "extra"], [4, 317, "extra-four"], [1, 16, "extra"], [1, 61, "extra"], [1, 106, "extra-four"], [1, 151, "extra"], [1, 196, "extra-four"], [1, 241, "extra"], [1, 286, "extra"], [1, 331, "extra-four"], [3, 7, "extra"], [3, 52, "extra"], [3, 97, "extra"], [3, 142, "extra"], [3, 187, "extra-four"], [3, 232, "extra"], [3, 277, "extra-four"], [3, 322, "extra"], [0, 21, "extra-four"], [0, 66, "extra"], [0, 111, "extra"], [0, 156, "extra"], [0, 201, "extra"], [0, 246, "extra-four"], [0, 291, "extra"], [0, 336, "extra-four"], [2, 12, "extra"], [2, 57, "extra"], [2, 102, "extra"], [2, 147, "extra"], [2, 192, "extra-four"], [2, 237, "extra"], [2, 282, "extra-four"], [2, 327, "extra"], [4, 3, "extra-four"], [4, 48, "extra"], [4, 93, "extra"], [4, 138, "extra-four"], [4, 183, "extra"], [4, 228, "extra-four"], [4, 273, "extra"], [4, 318, "extra-four"], [1, 17, "extra"], [1, 62, "extra-four"], [1, 107, "extra"], [1, 152, "extra"], [1, 197, "extra-four"], [1, 242, "extra"], [1, 287, "extra-four"], [1, 332, "extra"], [3, 8, "extra"], [3, 53, "extra"], [3, 98, "extra"], [3, 143, "extra"], [3, 188, "extra-four"], [3, 233, "extra"], [3, 278, "extra-four"], [3, 323, "extra"], [0, 22, "extra-four"], [0, 67, "extra"], [0, 112, "extra"], [0, 157, "extra-four"], [0, 202, "extra"], [0, 247, "extra-four"], [0, 292, "extra"], [0, 337, "extra-four"], [2, 13, "extra"], [2, 58, "extra"], [2, 103, "extra"], [2, 148, "extra"], [2, 193, "extra-four"], [2, 238, "extra"], [2, 283, "extra-four"], [2, 328, "extra"], [4, 4, "extra"], [4, 49, "extra"], [4, 94, "extra"], [4, 139, "extra-four"], [4, 184, "extra"], [4, 229, "extra-four"], [4, 274, "extra"], [4, 319, "extra-four"], [1, 18, "extra"], [1, 63, "extra"], [1, 108, "extra"], [1, 153, "extra-four"], [1, 198, "extra"], [1, 243, "extra"], [1, 288, "extra"], [1, 333, "extra"], [3, 9, "extra"], [3, 54, "extra"], [3, 99, "extra"], [3, 144, "extra"], [3, 189, "extra-four"], [3, 234, "extra-four"], [3, 279, "extra"], [3, 324, "extra"], [0, 23, "extra-four"], [0, 68, "extra"], [0, 113, "extra-four"], [0, 158, "extra"], [0, 203, "extra-four"], [0, 248, "extra"], [0, 293, "extra"], [0, 338, "extra"], [5, 0, "extra"], [5, 45, "extra-four"], [5, 90, "extra"], [5, 135, "extra-four"], [5, 180, "extra"], [5, 225, "extra"], [5, 270, "extra"], [5, 315, "extra"], [2, 14, "extra-four"], [2, 59, "extra"], [2, 104, "extra-four"], [2, 149, "extra"], [2, 194, "extra-four"], [2, 239, "extra"], [2, 284, "extra"], [2, 329, "extra"], [4, 5, "extra"], [4, 50, "extra-four"], [4, 95, "extra"], [4, 140, "extra-four"], [4, 185, "extra"], [4, 230, "extra"], [4, 275, "extra"], [4, 320, "extra"], [1, 19, "extra-four"], [1, 64, "extra"], [1, 109, "extra"], [1, 154, "extra"], [1, 199, "extra-four"], [1, 244, "extra"], [1, 289, "extra"], [1, 334, "extra"], [3, 10, "extra-four"], [3, 55, "extra"], [3, 100, "extra-four"], [3, 145, "extra"], [3, 190, "extra-four"], [3, 235, "extra"], [3, 280, "extra"], [3, 325, "extra"], [0, 24, "extra"], [0, 69, "extra-four"], [0, 114, "extra"], [0, 159, "extra-four"], [0, 204, "extra"], [0, 249, "extra"], [0, 294, "extra"], [0, 339, "extra"], [5, 1, "extra-four"], [5, 46, "extra"], [5, 91, "extra-four"], [5, 136, "extra"], [5, 181, "extra-four"], [5, 226, "extra"], [5, 271, "extra"], [5, 316, "extra-four"], [2, 15, "extra"], [2, 60, "extra-four"], [2, 105, "extra"], [2, 150, "extra-four"], [2, 195, "extra"], [2, 240, "extra"], [2, 285, "extra"], [2, 330, "extra"], [4, 6, "extra-four"], [4, 51, "extra"], [4, 96, "extra-four"], [4, 141, "extra"], [4, 186, "extra-four"], [4, 231, "extra"], [4, 276, "extra"], [4, 321, "extra-four"], [1, 20, "extra"], [1, 65, "extra-four"], [1, 110, "extra"], [1, 155, "extra-four"], [1, 200, "extra"], [1, 245, "extra"], [1, 290, "extra-four"], [1, 335, "extra"], [3, 11, "extra"], [3, 56, "extra-four"], [3, 101, "extra"], [3, 146, "extra-four"], [3, 191, "extra"], [3, 236, "extra"], [3, 281, "extra"], [3, 326, "extra-four"], [0, 25, "extra"], [0, 70, "extra-four"], [0, 115, "extra"], [0, 160, "extra"], [0, 205, "extra-four"], [0, 250, "extra"], [0, 295, "extra-four"], [0, 340, "extra"], [5, 2, "extra-four"], [5, 47, "extra"], [5, 92, "extra"], [5, 137, "extra"], [5, 182, "extra"], [5, 227, "extra-four"], [5, 272, "extra"], [5, 317, "extra-four"], [2, 16, "extra"], [2, 61, "extra-four"], [2, 106, "extra"], [2, 151, "extra"], [2, 196, "extra-four"], [2, 241, "extra"], [2, 286, "extra-four"], [2, 331, "extra"], [4, 7, "extra-four"], [4, 52, "extra"], [4, 97, "extra"], [4, 142, "extra"], [4, 187, "extra"], [4, 232, "extra-four"], [4, 277, "extra"], [4, 322, "extra-four"], [1, 21, "extra-four"], [1, 66, "extra"], [1, 111, "extra"], [1, 156, "extra-four"], [1, 201, "extra"], [1, 246, "extra-four"], [1, 291, "extra"], [1, 336, "extra"], [3, 12, "extra"], [3, 57, "extra"], [3, 102, "extra"], [3, 147, "extra"], [3, 192, "extra-four"], [3, 237, "extra"], [3, 282, "extra-four"], [3, 327, "extra"], [0, 26, "extra-four"], [0, 71, "extra"], [0, 116, "extra"], [0, 161, "extra"], [0, 206, "extra"], [0, 251, "extra-four"], [0, 296, "extra"], [0, 341, "extra-four"], [5, 3, "extra"], [5, 48, "extra"], [5, 93, "extra"], [5, 138, "extra"], [5, 183, "extra-four"], [5, 228, "extra"], [5, 273, "extra-four"], [5, 318, "extra"], [2, 17, "extra-four"], [2, 62, "extra"], [2, 107, "extra"], [2, 152, "extra"], [2, 197, "extra"], [2, 242, "extra-four"], [2, 287, "extra"], [2, 332, "extra-four"], [4, 8, "extra"], [4, 53, "extra"], [4, 98, "extra"], [4, 143, "extra"], [4, 188, "extra-four"], [4, 233, "extra"], [4, 278, "extra-four"], [4, 323, "extra"], [1, 22, "extra"], [1, 67, "extra"], [1, 112, "extra-four"], [1, 157, "extra"], [1, 202, "extra-four"], [1, 247, "extra"], [1, 292, "extra-four"], [1, 337, "extra"], [3, 13, "extra-four"], [3, 58, "extra"], [3, 103, "extra"], [3, 148, "extra-four"], [3, 193, "extra"], [3, 238, "extra-four"], [3, 283, "extra"], [3, 328, "extra-four"], [0, 27, "extra"], [0, 72, "extra"], [0, 117, "extra"], [0, 162, "extra-four"], [0, 207, "extra"], [0, 252, "extra-four"], [0, 297, "extra"], [0, 342, "extra"], [5, 4, "extra"], [5, 49, "extra"], [5, 94, "extra-four"], [5, 139, "extra"], [5, 184, "extra-four"], [5, 229, "extra"], [5, 274, "extra"], [5, 319, "extra"], [2, 18, "extra"], [2, 63, "extra-four"], [2, 108, "extra"], [2, 153, "extra-four"], [2, 198, "extra"], [2, 243, "extra"], [2, 288, "extra-four"], [2, 333, "extra"], [4, 9, "extra"], [4, 54, "extra-four"], [4, 99, "extra"], [4, 144, "extra"], [4, 189, "extra-four"], [4, 234, "extra"], [4, 279, "extra"], [4, 324, "extra-four"], [1, 23, "extra"], [1, 68, "extra"], [1, 113, "extra-four"], [1, 158, "extra"], [1, 203, "extra"], [1, 248, "extra-four"], [1, 293, "extra"], [1, 338, "extra"], [6, 0, "extra"], [6, 45, "extra-four"], [6, 90, "extra"], [6, 135, "extra-four"], [6, 180, "extra"], [6, 225, "extra"], [6, 270, "extra"], [6, 315, "extra"], [3, 14, "extra-four"], [3, 59, "extra"], [3, 104, "extra-four"], [3, 149, "extra"], [3, 194, "extra-four"], [3, 239, "extra"], [3, 284, "extra"], [3, 329, "extra-four"], [0, 28, "extra"], [0, 73, "extra"], [0, 118, "extra-four"], [0, 163, "extra"], [0, 208, "extra"], [0, 253, "extra-four"], [0, 298, "extra"], [0, 343, "extra"], [5, 5, "extra-four"], [5, 50, "extra"], [5, 95, "extra"], [5, 140, "extra-four"], [5, 185, "extra"], [5, 230, "extra"], [5, 275, "extra-four"], [5, 320, "extra"], [2, 19, "extra"], [2, 64, "extra-four"], [2, 109, "extra"], [2, 154, "extra"], [2, 199, "extra-four"], [2, 244, "extra"], [2, 289, "extra"], [2, 334, "extra-four"], [4, 10, "extra"], [4, 55, "extra"], [4, 100, "extra-four"], [4, 145, "extra"], [4, 190, "extra"], [4, 235, "extra-four"], [4, 280, "extra"], [4, 325, "extra"], [1, 24, "extra-four"], [1, 69, "extra"], [1, 114, "extra"], [1, 159, "extra-four"], [1, 204, "extra"], [1, 249, "extra"], [1, 294, "extra-four"], [1, 339, "extra"], [6, 1, "extra"], [6, 46, "extra-four"], [6, 91, "extra"], [6, 136, "extra"], [6, 181, "extra-four"], [6, 226, "extra"], [6, 271, "extra"], [6, 316, "extra-four"], [3, 15, "extra"], [3, 60, "extra-four"], [3, 105, "extra"], [3, 150, "extra"], [3, 195, "extra-four"], [3, 240, "extra"], [3, 285, "extra"], [3, 330, "extra-four"], [0, 29, "extra"], [0, 74, "extra"], [0, 119, "extra-four"], [0, 164, "extra"], [0, 209, "extra"], [0, 254, "extra-four"], [0, 299, "extra"], [0, 344, "extra"], [5, 6, "extra-four"], [5, 51, "extra"], [5, 96, "extra"], [5, 141, "extra-four"], [5, 186, "extra"], [5, 231, "extra"], [5, 276, "extra-four"], [5, 321, "extra"], [2, 20, "extra"], [2, 65, "extra-four"], [2, 110, "extra"], [2, 155, "extra"], [2, 200, "extra-four"], [2, 245, "extra"], [2, 290, "extra"], [2, 335, "extra-four"], [4, 11, "extra"], [4, 56, "extra"], [4, 101, "extra-four"], [4, 146, "extra"], [4, 191, "extra"], [4, 236, "extra-four"], [4, 281, "extra"], [4, 326, "extra"], [1, 25, "extra-four"], [1, 70, "extra"], [1, 115, "extra"], [1, 160, "extra-four"], [1, 205, "extra"], [1, 250, "extra"], [1, 295, "extra-four"], [1, 340, "extra"], [6, 2, "extra"], [6, 47, "extra-four"], [6, 92, "extra"], [6, 137, "extra"], [6, 182, "extra-four"], [6, 227, "extra"], [6, 272, "extra"], [6, 317, "extra-four"], [3, 16, "extra"], [3, 61, "extra"], [3, 106, "extra-four"], [3, 151, "extra"], [3, 196, "extra"], [3, 241, "extra-four"], [3, 286, "extra"], [3, 331, "extra"], [0, 30, "extra-four"], [0, 75, "extra"], [0, 120, "extra"], [0, 165, "extra-four"], [0, 210, "extra"], [0, 255, "extra"], [0, 300, "extra-four"], [0, 345, "extra"], [5, 7, "extra"], [5, 52, "extra-four"], [5, 97, "extra"], [5, 142, "extra"], [5, 187, "extra-four"], [5, 232, "extra"], [5, 277, "extra"], [5, 322, "extra-four"], [2, 21, "extra"], [2, 66, "extra"], [2, 111, "extra-four"], [2, 156, "extra"], [2, 201, "extra"], [2, 246, "extra-four"], [2, 291, "extra"], [2, 336, "extra"], [4, 12, "extra-four"], [4, 57, "extra"], [4, 102, "extra"], [4, 147, "extra-four"], [4, 192, "extra"], [4, 237, "extra"], [4, 282, "extra-four"], [4, 327, "extra"], [1, 26, "extra"], [1, 71, "extra-four"], [1, 116, "extra"], [1, 161, "extra"], [1, 206, "extra-four"], [1, 251, "extra"], [1, 296, "extra"], [1, 341, "extra-four"], [6, 3, "extra"], [6, 48, "extra"], [6, 93, "extra-four"], [6, 138, "extra"], [6, 183, "extra-four"], [6, 228, "extra"], [6, 273, "extra"], [6, 318, "extra-four"], [3, 17, "extra"], [3, 62, "extra"], [3, 107, "extra-four"], [3, 152, "extra"], [3, 197, "extra"], [3, 242, "extra-four"], [3, 287, "extra"], [3, 332, "extra"], [0, 31, "extra-four"], [0, 76, "extra"], [0, 121, "extra"], [0, 166, "extra-four"], [0, 211, "extra"], [0, 256, "extra"], [0, 301, "extra-four"], [0, 346, "extra"], [5, 8, "extra"], [5, 53, "extra-four"], [5, 98, "extra"], [5, 143, "extra"], [5, 188, "extra-four"], [5, 233, "extra"], [5, 278, "extra"], [5, 323, "extra-four"], [2, 22, "extra"], [2, 67, "extra"], [2, 112, "extra-four"], [2, 157, "extra"], [2, 202, "extra"], [2, 247, "extra-four"], [2, 292, "extra"], [2, 337, "extra"], [4, 13, "extra-four"], [4, 58, "extra"], [4, 103, "extra"], [4, 148, "extra-four"], [4, 193, "extra"], [4, 238, "extra"], [4, 283, "extra-four"], [4, 328, "extra"], [1, 27, "extra"], [1, 72, "extra-four"], [1, 117, "extra"], [1, 162, "extra"], [1, 207, "extra-four"], [1, 252, "extra"], [1, 297, "extra"], [1, 342, "extra-four"], [6, 4, "extra"], [6, 49, "extra"], [6, 94, "extra-four"], [6, 139, "extra"], [6, 184, "extra"], [6, 229, "extra-four"], [6, 274, "extra"], [6, 319, "extra"], [3, 18, "extra-four"], [3, 63, "extra"], [3, 108, "extra"], [3, 153, "extra-four"], [3, 198, "extra"], [3, 243, "extra"], [3, 288, "extra-four"], [3, 333, "extra"], [0, 32, "extra"], [0, 77, "extra-four"], [0, 122, "extra"], [0, 167, "extra"], [0, 212, "extra-four"], [0, 257, "extra"], [0, 302, "extra"], [0, 347, "extra-four"], [5, 9, "extra"], [5, 54, "extra"], [5, 99, "extra-four"], [5, 144, "extra"], [5, 189, "extra"], [5, 234, "extra-four"], [5, 279, "extra"], [5, 324, "extra"], [2, 23, "extra-four"], [2, 68, "extra"], [2, 113, "extra"], [2, 158, "extra-four"], [2, 203, "extra"], [2, 248, "extra"], [2, 293, "extra-four"], [2, 338, "extra"], [7, 0, "extra"], [7, 45, "extra-four"], [7, 90, "extra"], [7, 135, "extra"], [7, 180, "extra-four"], [7, 225, "extra"], [7, 270, "extra"], [7, 315, "extra-four"], [4, 14, "extra"], [4, 59, "extra"], [4, 104, "extra-four"], [4, 149, "extra"], [4, 194, "extra"], [4, 239, "extra-four"], [4, 284, "extra"], [4, 329, "extra"], [1, 28, "extra-four"], [1, 73, "extra"], [1, 118, "extra-four"], [1, 163, "extra"], [1, 208, "extra"], [1, 253, "extra-four"], [1, 298, "extra"], [1, 343, "extra"], [6, 5, "extra-four"], [6, 50, "extra"], [6, 95, "extra"], [6, 140, "extra-four"], [6, 185, "extra"], [6, 230, "extra"], [6, 275, "extra-four"], [6, 320, "extra"], [3, 19, "extra"], [3, 64, "extra-four"], [3, 109, "extra"], [3, 154, "extra"], [3, 199, "extra-four"], [3, 244, "extra"], [3, 289, "extra"], [3, 334, "extra-four"], [0, 33, "extra"], [0, 78, "extra"], [0, 123, "extra-four"], [0, 168, "extra"], [0, 213, "extra"], [0, 258, "extra-four"], [0, 303, "extra"], [0, 348, "extra"], [5, 10, "extra-four"], [5, 55, "extra"], [5, 100, "extra"], [5, 145, "extra-four"], [5, 190, "extra"], [5, 235, "extra"], [5, 280, "extra-four"], [5, 325, "extra"], [2, 24, "extra"], [2, 69, "extra-four"], [2, 114, "extra"], [2, 159, "extra"], [2, 204, "extra-four"], [2, 249, "extra"], [2, 294, "extra"], [2, 339, "extra-four"], [7, 1, "extra"], [7, 46, "extra"], [7, 91, "extra-four"], [7, 136, "extra"], [7, 181, "extra"], [7, 226, "extra-four"], [7, 271, "extra"], [7, 316, "extra"], [4, 15, "extra-four"], [4, 60, "extra"], [4, 105, "extra"], [4, 150, "extra-four"], [4, 195, "extra"], [4, 240, "extra"], [4, 285, "extra-four"], [4, 330, "extra"], [1, 29, "extra"], [1, 74, "extra-four"], [1, 119, "extra"], [1, 164, "extra"], [1, 209, "extra-four"], [1, 254, "extra"], [1, 299, "extra"], [1, 344, "extra-four"], [6, 6, "extra"], [6, 51, "extra"], [6, 96, "extra-four"], [6, 141, "extra"], [6, 186, "extra"], [6, 231, "extra-four"], [6, 276, "extra"], [6, 321, "extra"], [3, 20, "extra-four"], [3, 65, "extra"], [3, 110, "extra"], [3, 155, "extra-four"], [3, 200, "extra"], [3, 245, "extra"], [3, 290, "extra-four"], [3, 335, "extra"], [0, 34, "extra"], [0, 79, "extra-four"], [0, 124, "extra"], [0, 169, "extra"], [0, 214, "extra-four"], [0, 259, "extra"], [0, 304, "extra"], [0, 349, "extra-four"], [5, 11, "extra"], [5, 56, "extra"], [5, 101, "extra-four"], [5, 146, "extra"], [5, 191, "extra"], [5, 236, "extra-four"], [5, 281, "extra"], [5, 326, "extra"], [2, 25, "extra-four"], [2, 70, "extra"], [2, 115, "extra"], [2, 160, "extra-four"], [2, 205, "extra"], [2, 250, "extra-four"], [2, 295, "extra"], [2, 340, "extra"], [7, 2, "extra-four"], [7, 47, "extra"], [7, 92, "extra"], [7, 137, "extra-four"], [7, 182, "extra"], [7, 227, "extra"], [7, 272, "extra-four"], [7, 317, "extra"], [4, 16, "extra"], [4, 61, "extra-four"], [4, 106, "extra"], [4, 151, "extra"], [4, 196, "extra-four"], [4, 241, "extra"], [4, 286, "extra"], [4, 331, "extra-four"], [1, 30, "extra"], [1, 75, "extra"], [1, 120, "extra-four"], [1, 165, "extra"], [1, 210, "extra"], [1, 255, "extra-four"], [1, 300, "extra"], [1, 345, "extra"], [6, 7, "extra-four"], [6, 52, "extra"], [6, 97, "extra"], [6, 142, "extra-four"], [6, 187, "extra"], [6, 232, "extra"], [6, 277, "extra-four"], [6, 322, "extra"], [3, 21, "extra"], [3, 66, "extra-four"], [3, 111, "extra"], [3, 156, "extra"], [3, 201, "extra-four"], [3, 246, "extra"], [3, 291, "extra"], [3, 336, "extra-four"], [0, 35, "extra"], [0, 80, "extra"], [0, 125, "extra-four"], [0, 170, "extra"], [0, 215, "extra"], [0, 260, "extra-four"], [0, 305, "extra"], [0, 350, "extra"], [5, 12, "extra-four"], [5, 57, "extra"], [5, 102, "extra"], [5, 147, "extra-four"], [5, 192, "extra"], [5, 237, "extra"], [5, 282, "extra-four"], [5, 327, "extra"], [2, 26, "extra"], [2, 71, "extra-four"], [2, 116, "extra"], [2, 161, "extra"], [2, 206, "extra-four"], [2, 251, "extra"], [2, 296, "extra"], [2, 341, "extra-four"], [7, 3, "extra"], [7, 48, "extra"], [7, 93, "extra-four"], [7, 138, "extra"], [7, 183, "extra"], [7, 228, "extra-four"], [7, 273, "extra"], [7, 318, "extra"], [4, 17, "extra-four"], [4, 62, "extra"], [4, 107, "extra"], [4, 152, "extra-four"], [4, 197, "extra"], [4, 242, "extra"], [4, 287, "extra-four"], [4, 332, "extra"], [1, 31, "extra"], [1, 76, "extra-four"], [1, 121, "extra"], [1, 166, "extra"], [1, 211, "extra-four"], [1, 256, "extra"], [1, 301, "extra"], [1, 346, "extra-four"], [6, 8, "extra"], [6, 53, "extra"], [6, 98, "extra-four"], [6, 143, "extra"], [6, 188, "extra"], [6, 233, "extra-four"], [6, 278, "extra"], [6, 323, "extra"], [3, 22, "extra-four"], [3, 67, "extra"], [3, 112, "extra"], [3, 157, "extra-four"], [3, 202, "extra"], [3, 247, "extra"], [3, 292, "extra-four"], [3, 337, "extra"], [0, 36, "extra-four"], [0, 81, "extra"], [0, 126, "extra"], [0, 171, "extra-four"], [0, 216, "extra"], [0, 261, "extra"], [0, 306, "extra-four"], [0, 351, "extra"], [5, 13, "extra"], [5, 58, "extra-four"], [5, 103, "extra"], [5, 148, "extra"], [5, 193, "extra-four"], [5, 238, "extra"], [5, 283, "extra"], [5, 328, "extra-four"], [2, 27, "extra"], [2, 72, "extra"], [2, 117, "extra-four"], [2, 162, "extra"], [2, 207, "extra"], [2, 252, "extra-four"], [2, 297, "extra"], [2, 342, "extra"], [7, 4, "extra-four"], [7, 49, "extra"], [7, 94, "extra"], [7, 139, "extra-four"], [7, 184, "extra"], [7, 229, "extra"], [7, 274, "extra-four"], [7, 319, "extra"], [4, 18, "extra"], [4, 63, "extra-four"], [4, 108, "extra"], [4, 153, "extra"], [4, 198, "extra-four"], [4, 243, "extra"], [4, 288, "extra"], [4, 333, "extra-four"], [1, 32, "extra"], [1, 77, "extra"], [1, 122, "extra-four"], [1, 167, "extra"], [1, 212, "extra"], [1, 257, "extra-four"], [1, 302, "extra"], [1, 347, "extra"], [6, 9, "extra-four"], [6, 54, "extra"], [6, 99, "extra"], [6, 144, "extra-four"], [6, 189, "extra"], [6, 234, "extra"], [6, 279, "extra-four"], [6, 324, "extra"], [3, 23, "extra"], [3, 68, "extra-four"], [3, 113, "extra"], [3, 158, "extra"], [3, 203, "extra-four"], [3, 248, "extra"], [3, 293, "extra"], [3, 338, "extra-four"], [8, 0, "extra"], [8, 45, "extra"], [8, 90, "extra-four"], [8, 135, "extra"], [8, 180, "extra"], [8, 225, "extra-four"], [8, 270, "extra"], [8, 315, "extra"], [5, 14, "extra-four"], [5, 59, "extra"], [5, 104, "extra"], [5, 149, "extra-four"], [5, 194, "extra"], [5, 239, "extra"], [5, 284, "extra-four"], [5, 329, "extra"], [2, 28, "extra"], [2, 73, "extra-four"], [2, 118, "extra"], [2, 163, "extra"], [2, 208, "extra-four"], [2, 253, "extra"], [2, 298, "extra"], [2, 343, "extra-four"], [7, 5, "extra"], [7, 50, "extra"], [7, 95, "extra-four"], [7, 140, "extra"], [7, 185, "extra"], [7, 230, "extra-four"], [7, 275, "extra"], [7, 320, "extra"], [4, 19, "extra-four"], [4, 64, "extra"], [4, 109, "extra"], [4, 154, "extra-four"], [4, 199, "extra"], [4, 244, "extra"], [4, 289, "extra-four"], [4, 334, "extra"], [1, 33, "extra"], [1, 78, "extra-four"], [1, 123, "extra"], [1, 168, "extra"], [1, 213, "extra-four"], [1, 258, "extra"], [1, 303, "extra-four"], [1, 348, "extra"], [6, 10, "extra"], [6, 55, "extra-four"], [6, 100, "extra"], [6, 145, "extra"], [6, 190, "extra-four"], [6, 235, "extra"], [6, 280, "extra"], [6, 325, "extra-four"], [3, 24, "extra"], [3, 69, "extra"], [3, 114, "extra-four"], [3, 159, "extra"], [3, 204, "extra"], [3, 249, "extra-four"], [3, 294, "extra"], [3, 339, "extra"], [8, 1, "extra-four"], [8, 46, "extra"], [8, 91, "extra"], [8, 136, "extra-four"], [8, 181, "extra"], [8, 226, "extra"], [8, 271, "extra-four"], [8, 316, "extra"], [5, 15, "extra"], [5, 60, "extra-four"], [5, 105, "extra"], [5, 150, "extra"], [5, 195, "extra-four"], [5, 240, "extra"], [5, 285, "extra"], [5, 330, "extra-four"], [2, 29, "extra"], [2, 74, "extra"], [2, 119, "extra-four"], [2, 164, "extra"], [2, 209, "extra"], [2, 254, "extra-four"], [2, 299, "extra"], [2, 344, "extra"], [7, 6, "extra-four"], [7, 51, "extra"], [7, 96, "extra"], [7, 141, "extra-four"], [7, 186, "extra"], [7, 231, "extra"], [7, 276, "extra-four"], [7, 321, "extra"], [4, 20, "extra"], [4, 65, "extra-four"], [4, 110, "extra"], [4, 155, "extra"], [4, 200, "extra-four"], [4, 245, "extra"], [4, 290, "extra"], [4, 335, "extra-four"], [1, 34, "extra"], [1, 79, "extra"], [1, 124, "extra-four"], [1, 169, "extra"], [1, 214, "extra"], [1, 259, "extra-four"], [1, 304, "extra"], [1, 349, "extra"], [6, 11, "extra-four"], [6, 56, "extra"], [6, 101, "extra"], [6, 146, "extra-four"], [6, 191, "extra"], [6, 236, "extra"], [6, 281, "extra-four"], [6, 326, "extra"], [3, 25, "extra"], [3, 70, "extra-four"], [3, 115, "extra"], [3, 160, "extra"], [3, 205, "extra-four"], [3, 250, "extra"], [3, 295, "extra"], [3, 340, "extra-four"], [8, 2, "extra"], [8, 47, "extra"], [8, 92, "extra-four"], [8, 137, "extra"], [8, 182, "extra"], [8, 227, "extra-four"], [8, 272, "extra"], [8, 317, "extra"], [5, 16, "extra-four"], [5, 61, "extra"], [5, 106, "extra"], [5, 151, "extra-four"], [5, 196, "extra"], [5, 241, "extra"], [5, 286, "extra-four"], [5, 331, "extra"], [2, 30, "extra"], [2, 75, "extra-four"], [2, 120, "extra"], [2, 165, "extra"], [2, 210, "extra-four"], [2, 255, "extra"], [2, 300, "extra"], [2, 345, "extra-four"], [7, 7, "extra"], [7, 52, "extra-four"], [7, 97, "extra"], [7, 142, "extra"], [7, 187, "extra-four"], [7, 232, "extra"], [7, 277, "extra"], [7, 322, "extra-four"], [4, 21, "extra"], [4, 66, "extra"], [4, 111, "extra-four"], [4, 156, "extra"], [4, 201, "extra"], [4, 246, "extra-four"], [4, 291, "extra"], [4, 336, "extra"], [1, 35, "extra-four"], [1, 80, "extra"], [1, 125, "extra"], [1, 170, "extra-four"], [1, 215, "extra"], [1, 260, "extra"], [1, 305, "extra-four"], [1, 350, "extra"], [6, 12, "extra"], [6, 57, "extra-four"], [6, 102, "extra"], [6, 147, "extra"], [6, 192, "extra-four"], [6, 237, "extra"], [6, 282, "extra"], [6, 327, "extra-four"], [3, 26, "extra"], [3, 71, "extra"], [3, 116, "extra-four"], [3, 161, "extra"], [3, 206, "extra"], [3, 251, "extra-four"], [3, 296, "extra"], [3, 341, "extra"], [8, 3, "extra-four"], [8, 48, "extra"], [8, 93, "extra"], [8, 138, "extra-four"], [8, 183, "extra"], [8, 228, "extra"], [8, 273, "extra-four"], [8, 318, "extra"], [5, 17, "extra"], [5, 62, "extra-four"], [5, 107, "extra"], [5, 152, "extra"], [5, 197, "extra-four"], [5, 242, "extra"], [5, 287, "extra"], [5, 332, "extra-four"], [2, 31, "extra"], [2, 76, "extra"], [2, 121, "extra-four"], [2, 166, "extra"], [2, 211, "extra"], [2, 256, "extra-four"], [2, 301, "extra"], [2, 346, "extra"], [7, 8, "extra-four"], [7, 53, "extra"], [7, 98, "extra"], [7, 143, "extra-four"], [7, 188, "extra"], [7, 233, "extra"], [7, 278, "extra-four"], [7, 323, "extra"], [4, 22, "extra"], [4, 67, "extra-four"], [4, 112, "extra"], [4, 157, "extra"], [4, 202, "extra-four"], [4, 247, "extra"], [4, 292, "extra"], [4, 337, "extra-four"], [1, 36, "extra"], [1, 81, "extra"], [1, 126, "extra-four"], [1, 171, "extra"], [1, 216, "extra"], [1, 261, "extra-four"], [1, 306, "extra"], [1, 351, "extra"], [6, 13, "extra-four"], [6, 58, "extra"], [6, 103, "extra"], [6, 148, "extra-four"], [6, 193, "extra"], [6, 238, "extra"], [6, 283, "extra-four"], [6, 328, "extra"], [3, 27, "extra"], [3, 72, "extra-four"], [3, 117, "extra"], [3, 162, "extra"], [3, 207, "extra-four"], [3, 252, "extra"], [3, 297, "extra"], [3, 342, "extra-four"], [8, 4, "extra"], [8, 49, "extra"], [8, 94, "extra-four"], [8, 139, "extra"], [8, 184, "extra-four"], [8, 229, "extra"], [8, 274, "extra"], [8, 319, "extra-four"], [5, 18, "extra"], [5, 63, "extra"], [5, 108, "extra-four"], [5, 153, "extra"], [5, 198, "extra"], [5, 243, "extra-four"], [5, 288, "extra"], [5, 333, "extra"], [2, 32, "extra-four"], [2, 77, "extra"], [2, 122, "extra"], [2, 167, "extra-four"], [2, 212, "extra"], [2, 257, "extra"], [2, 302, "extra-four"], [2, 347, "extra"], [7, 9, "extra"], [7, 54, "extra-four"], [7, 99, "extra"], [7, 144, "extra"], [7, 189, "extra-four"], [7, 234, "extra"], [7, 279, "extra"], [7, 324, "extra-four"], [4, 23, "extra"], [4, 68, "extra"], [4, 113, "extra-four"], [4, 158, "extra"], [4, 203, "extra"], [4, 248, "extra-four"], [4, 293, "extra"], [4, 338, "extra"], [6, 14, "extra-four"], [6, 59, "extra"], [6, 104, "extra"], [6, 149, "extra-four"], [6, 194, "extra"], [6, 239, "extra"], [6, 284, "extra-four"], [6, 329, "extra"], [3, 28, "gauge44"], [3, 73, "gauge44-four"], [3, 118, "gauge44"], [3, 163, "gauge44"], [3, 208, "gauge44-four"], [3, 253, "gauge44"], [3, 298, "gauge44"], [3, 343, "gauge44-four"], [8, 5, "gauge44"], [8, 50, "gauge44"], [8, 95, "gauge44-four"], [8, 140, "gauge44"], [8, 185, "gauge44"], [8, 230, "gauge44-four"], [8, 275, "gauge44"], [8, 320, "gauge44"], [5, 19, "gauge44-four"], [5, 64, "gauge44"], [5, 109, "gauge44"], [5, 154, "gauge44-four"], [5, 199, "gauge44"], [5, 244, "gauge44"], [5, 289, "gauge44-four"], [5, 334, "gauge44"], [2, 33, "gauge44"], [2, 78, "gauge44-four"], [2, 123, "gauge44"], [2, 168, "gauge44"], [2, 213, "gauge44-four"], [2, 258, "gauge44"], [2, 303, "gauge44"], [2, 348, "gauge44-four"], [7, 10, "gauge44"], [7, 55, "gauge44"], [7, 100, "gauge44-four"], [7, 145, "gauge44"], [7, 190, "gauge44"], [7, 235, "gauge44-four"], [7, 280, "gauge44"], [7, 325, "gauge44"], [4, 24, "gauge44-four"], [4, 69, "gauge44"], [4, 114, "gauge44"], [4, 159, "gauge44-four"], [4, 204, "gauge44"], [4, 249, "gauge44"], [4, 294, "gauge44-four"], [4, 339, "gauge44"], [6, 15, "gauge44"], [6, 60, "gauge44-four"], [6, 105, "gauge44"], [6, 150, "gauge44"], [6, 195, "gauge44-four"], [6, 240, "gauge44"], [6, 285, "gauge44"], [6, 330, "gauge44-four"], [3, 29, "gauge44"], [3, 74, "gauge44"], [3, 119, "gauge44-four"], [3, 164, "gauge44"], [3, 209, "gauge44"], [3, 254, "gauge44-four"], [3, 299, "gauge44"], [3, 344, "gauge44"], [8, 6, "gauge44-four"], [8, 51, "gauge44"], [8, 96, "gauge44-four"], [8, 141, "gauge44"], [8, 186, "gauge44"], [8, 231, "gauge44-four"], [8, 276, "gauge44"], [8, 321, "gauge44"], [5, 20, "gauge44-four"], [5, 65, "gauge44"], [5, 110, "gauge44"], [5, 155, "gauge44-four"], [5, 200, "gauge44"], [5, 245, "gauge44"], [5, 290, "gauge44-four"], [5, 335, "gauge44"], [2, 34, "gauge44"], [2, 79, "gauge44-four"], [2, 124, "gauge44"], [2, 169, "gauge44"], [2, 214, "gauge44-four"], [2, 259, "gauge44"], [2, 304, "gauge44"], [2, 349, "gauge44-four"], [7, 11, "gauge44"], [7, 56, "gauge44"], [7, 101, "gauge44-four"], [7, 146, "gauge44"], [7, 191, "gauge44"], [7, 236, "gauge44-four"], [7, 281, "gauge44"], [7, 326, "gauge44"], [4, 25, "gauge44-four"], [4, 70, "gauge44"], [4, 115, "gauge44"], [4, 160, "gauge44-four"], [4, 205, "gauge44"], [4, 250, "gauge44"], [4, 295, "gauge44-four"], [4, 340, "gauge44"], [6, 16, "gauge44"], [6, 61, "gauge44-four"], [6, 106, "gauge44"], [6, 151, "gauge44"], [6, 196, "gauge44-four"], [6, 241, "gauge44"], [6, 286, "gauge44"], [6, 331, "gauge44-four"], [3, 30, "gauge44"], [3, 75, "gauge44"], [3, 120, "gauge44-four"], [3, 165, "gauge44"], [3, 210, "gauge44"], [3, 255, "gauge44-four"], [3, 300, "gauge44"], [3, 345, "gauge44"], [8, 7, "gauge44-four"], [8, 52, "gauge44"], [8, 97, "gauge44"], [8, 142, "gauge44-four"], [8, 187, "gauge44"], [8, 232, "gauge44"], [8, 277, "gauge44-four"], [8, 322, "gauge44"], [5, 21, "gauge44"], [5, 66, "gauge44-four"], [5, 111, "gauge44"], [5, 156, "gauge44"], [5, 201, "gauge44-four"], [5, 246, "gauge44"], [5, 291, "gauge44"], [5, 336, "gauge44-four"], [2, 35, "gauge44"], [2, 80, "gauge44"], [2, 125, "gauge44-four"], [2, 170, "gauge44"], [2, 215, "gauge44"], [2, 260, "gauge44-four"], [2, 305, "gauge44"], [2, 350, "gauge44"], [7, 12, "gauge44-four"], [7, 57, "gauge44"], [7, 102, "gauge44"], [7, 147, "gauge44-four"], [7, 192, "gauge44"], [7, 237, "gauge44"], [7, 282, "gauge44-four"], [7, 327, "gauge44"], [4, 26, "gauge44"], [4, 71, "gauge44-four"], [4, 116, "gauge44"], [4, 161, "gauge44"], [4, 206, "gauge44-four"], [4, 251, "gauge44"], [4, 296, "gauge44"], [4, 341, "gauge44-four"], [6, 17, "gauge44"], [6, 62, "gauge44"], [6, 107, "gauge44-four"], [6, 152, "gauge44"], [6, 197, "gauge44"], [6, 242, "gauge44-four"], [6, 287, "gauge44"], [6, 332, "gauge44"], [3, 31, "gauge44-four"], [3, 76, "gauge44"], [3, 121, "gauge44"], [3, 166, "gauge44-four"], [3, 211, "gauge44"], [3, 256, "gauge44-four"], [3, 301, "gauge44"], [3, 346, "gauge44"], [8, 8, "gauge44-four"], [8, 53, "gauge44"], [8, 98, "gauge44"], [8, 143, "gauge44-four"], [8, 188, "gauge44"], [8, 233, "gauge44"], [8, 278, "gauge44-four"], [8, 323, "gauge44"], [5, 22, "gauge44"], [5, 67, "gauge44-four"], [5, 112, "gauge44"], [5, 157, "gauge44"], [5, 202, "gauge44-four"], [5, 247, "gauge44"], [5, 292, "gauge44"], [5, 337, "gauge44-four"], [2, 36, "gauge44"], [2, 81, "gauge44"], [2, 126, "gauge44-four"], [2, 171, "gauge44"], [2, 216, "gauge44"], [2, 261, "gauge44-four"], [2, 306, "gauge44"], [2, 351, "gauge44"], [7, 13, "gauge44-four"], [7, 58, "gauge44"], [7, 103, "gauge44"], [7, 148, "gauge44-four"], [7, 193, "gauge44"], [7, 238, "gauge44"], [7, 283, "gauge44-four"], [7, 328, "gauge44"], [4, 27, "gauge44"], [4, 72, "gauge44-four"], [4, 117, "gauge44"], [4, 162, "gauge44"], [4, 207, "gauge44-four"], [4, 252, "gauge44"], [4, 297, "gauge44"], [4, 342, "gauge44-four"], [6, 18, "gauge44"], [6, 63, "gauge44"], [6, 108, "gauge44-four"], [6, 153, "gauge44"], [6, 198, "gauge44"], [6, 243, "gauge44-four"], [6, 288, "gauge44"], [6, 333, "gauge44"], [3, 32, "gauge44-four"], [3, 77, "gauge44"], [3, 122, "gauge44"], [3, 167, "gauge44-four"], [3, 212, "gauge44"], [3, 257, "gauge44"], [3, 302, "gauge44-four"], [3, 347, "gauge44"], [8, 9, "gauge44"], [8, 54, "gauge44-four"], [8, 99, "gauge44"], [8, 144, "gauge44"], [8, 189, "gauge44-four"], [8, 234, "gauge44"], [8, 279, "gauge44"], [8, 324, "gauge44-four"], [5, 23, "gauge44"], [5, 68, "gauge44"], [5, 113, "gauge44-four"], [5, 158, "gauge44"], [5, 203, "gauge44"], [5, 248, "gauge44-four"], [5, 293, "gauge44"], [5, 338, "gauge44"], [7, 14, "gauge44-four"], [7, 59, "gauge44"], [7, 104, "gauge44"], [7, 149, "gauge44-four"], [7, 194, "gauge44"], [7, 239, "gauge44"], [7, 284, "gauge44-four"], [7, 329, "gauge44"], [4, 28, "gauge44"], [4, 73, "gauge44-four"], [4, 118, "gauge44"], [4, 163, "gauge44"], [4, 208, "gauge44-four"], [4, 253, "gauge44"], [4, 298, "gauge44"], [4, 343, "gauge44-four"], [6, 19, "gauge44"], [6, 64, "gauge44"], [6, 109, "gauge44-four"], [6, 154, "gauge44"], [6, 199, "gauge44"], [6, 244, "gauge44-four"], [6, 289, "gauge44"], [6, 334, "gauge44"], [3, 33, "gauge44-four"], [3, 78, "gauge44"], [3, 123, "gauge44"], [3, 168, "gauge44-four"], [3, 213, "gauge44"], [3, 258, "gauge44"], [3, 303, "gauge44-four"], [3, 348, "gauge44"], [8, 10, "gauge44-four"], [8, 55, "gauge44"], [8, 100, "gauge44"], [8, 145, "gauge44-four"], [8, 190, "gauge44"], [8, 235, "gauge44"], [8, 280, "gauge44-four"], [8, 325, "gauge44"], [5, 24, "gauge44"], [5, 69, "gauge44-four"], [5, 114, "gauge44"], [5, 159, "gauge44"], [5, 204, "gauge44-four"], [5, 249, "gauge44"], [5, 294, "gauge44"], [5, 339, "gauge44-four"], [7, 15, "gauge44"], [7, 60, "gauge44"], [7, 105, "gauge44-four"], [7, 150, "gauge44"], [7, 195, "gauge44"], [7, 240, "gauge44-four"], [7, 285, "gauge44"], [7, 330, "gauge44"], [4, 29, "gauge44-four"], [4, 74, "gauge44"], [4, 119, "gauge44"], [4, 164, "gauge44-four"], [4, 209, "gauge44"], [4, 254, "gauge44"], [4, 299, "gauge44-four"], [4, 344, "gauge44"], [6, 20, "gauge44"], [6, 65, "gauge44-four"], [6, 110, "gauge44"], [6, 155, "gauge44"], [6, 200, "gauge44-four"], [6, 245, "gauge44"], [6, 290, "gauge44"], [6, 335, "gauge44-four"], [3, 34, "gauge44"], [3, 79, "gauge44"], [3, 124, "gauge44-four"], [3, 169, "gauge44"], [3, 214, "gauge44"], [3, 259, "gauge44-four"], [3, 304, "gauge44"], [3, 349, "gauge44"], [8, 11, "gauge44-four"], [8, 56, "gauge44"], [8, 101, "gauge44"], [8, 146, "gauge44-four"], [8, 191, "gauge44"], [8, 236, "gauge44"], [8, 281, "gauge44-four"], [8, 326, "gauge44"], [5, 25, "gauge44"], [5, 70, "gauge44-four"], [5, 115, "gauge44"], [5, 160, "gauge44"], [5, 205, "gauge44-four"], [5, 250, "gauge44"], [5, 295, "gauge44"], [5, 340, "gauge44-four"], [7, 16, "gauge44"], [7, 61, "gauge44"], [7, 106, "gauge44-four"], [7, 151, "gauge44"], [7, 196, "gauge44"], [7, 241, "gauge44-four"], [7, 286, "gauge44"], [7, 331, "gauge44"], [4, 30, "gauge44-four"], [4, 75, "gauge44"], [4, 120, "gauge44"], [4, 165, "gauge44-four"], [4, 210, "gauge44"], [4, 255, "gauge44"], [4, 300, "gauge44-four"], [4, 345, "gauge44"], [6, 21, "gauge44"], [6, 66, "gauge44-four"], [6, 111, "gauge44"], [6, 156, "gauge44"], [6, 201, "gauge44-four"], [6, 246, "gauge44"], [6, 291, "gauge44"], [6, 336, "gauge44-four"], [3, 35, "gauge44"], [3, 80, "gauge44"], [3, 125, "gauge44-four"], [3, 170, "gauge44"], [3, 215, "gauge44"], [3, 260, "gauge44-four"], [3, 305, "gauge44"], [3, 350, "gauge44"], [8, 12, "gauge44-four"], [8, 57, "gauge44"], [8, 102, "gauge44"], [8, 147, "gauge44-four"], [8, 192, "gauge44"], [8, 237, "gauge44"], [8, 282, "gauge44-four"], [8, 327, "gauge44"], [5, 26, "gauge44"], [5, 71, "gauge44-four"], [5, 116, "gauge44"], [5, 161, "gauge44"], [5, 206, "gauge44-four"], [5, 251, "gauge44"], [5, 296, "gauge44-four"], [5, 341, "gauge44"], [7, 17, "gauge44"], [7, 62, "gauge44-four"], [7, 107, "gauge44"], [7, 152, "gauge44"], [7, 197, "gauge44-four"], [7, 242, "gauge44"], [7, 287, "gauge44"], [7, 332, "gauge44-four"], [4, 31, "gauge44"], [4, 76, "gauge44"], [4, 121, "gauge44-four"], [4, 166, "gauge44"], [4, 211, "gauge44"], [4, 256, "gauge44-four"], [4, 301, "gauge44"], [4, 346, "gauge44"], [6, 22, "gauge44-four"], [6, 67, "gauge44"], [6, 112, "gauge44"], [6, 157, "gauge44-four"], [6, 202, "gauge44"], [6, 247, "gauge44"], [6, 292, "gauge44-four"], [6, 337, "gauge44"], [3, 36, "gauge44"], [3, 81, "gauge44-four"], [3, 126, "gauge44"], [3, 171, "gauge44"], [3, 216, "gauge44-four"], [3, 261, "gauge44"], [3, 306, "gauge44"], [3, 351, "gauge44-four"], [8, 13, "gauge44"], [8, 58, "gauge44"], [8, 103, "gauge44-four"], [8, 148, "gauge44"], [8, 193, "gauge44"], [8, 238, "gauge44-four"], [8, 283, "gauge44"], [8, 328, "gauge44"], [5, 27, "gauge44-four"], [5, 72, "gauge44"], [5, 117, "gauge44"], [5, 162, "gauge44-four"], [5, 207, "gauge44"], [5, 252, "gauge44"], [5, 297, "gauge44-four"], [5, 342, "gauge44"], [7, 18, "gauge44"], [7, 63, "gauge44-four"], [7, 108, "gauge44"], [7, 153, "gauge44"], [7, 198, "gauge44-four"], [7, 243, "gauge44"], [7, 288, "gauge44"], [7, 333, "gauge44-four"], [4, 32, "gauge44"], [4, 77, "gauge44"], [4, 122, "gauge44-four"], [4, 167, "gauge44"], [4, 212, "gauge44"], [4, 257, "gauge44-four"], [4, 302, "gauge44"], [4, 347, "gauge44"], [6, 23, "gauge44-four"], [6, 68, "gauge44"], [6, 113, "gauge44"], [6, 158, "gauge44-four"], [6, 203, "gauge44"], [6, 248, "gauge44"], [6, 293, "gauge44-four"], [6, 338, "gauge44"], [8, 14, "gauge44"], [8, 59, "gauge44-four"], [8, 104, "gauge44"], [8, 149, "gauge44"], [8, 194, "gauge44-four"], [8, 239, "gauge44"], [8, 284, "gauge44"], [8, 329, "gauge44-four"], [5, 28, "gauge44"], [5, 73, "gauge44"], [5, 118, "gauge44-four"], [5, 163, "gauge44"], [5, 208, "gauge44"], [5, 253, "gauge44-four"], [5, 298, "gauge44"], [5, 343, "gauge44"], [7, 19, "gauge44-four"], [7, 64, "gauge44"], [7, 109, "gauge44"], [7, 154, "gauge44-four"], [7, 199, "gauge44"], [7, 244, "gauge44"], [7, 289, "gauge44-four"], [7, 334, "gauge44"], [4, 33, "gauge44"], [4, 78, "gauge44-four"], [4, 123, "gauge44"], [4, 168, "gauge44"], [4, 213, "gauge44-four"], [4, 258, "gauge44"], [4, 303, "gauge44"], [4, 348, "gauge44-four"], [6, 24, "gauge44"], [6, 69, "gauge44-four"], [6, 114, "gauge44"], [6, 159, "gauge44"], [6, 204, "gauge44-four"], [6, 249, "gauge44"], [6, 294, "gauge44"], [6, 339, "gauge44-four"], [8, 15, "gauge44"], [8, 60, "gauge44"], [8, 105, "gauge44-four"], [8, 150, "gauge44"], [8, 195, "gauge44"], [8, 240, "gauge44-four"], [8, 285, "gauge44"], [8, 330, "gauge44"], [5, 29, "gauge44-four"], [5, 74, "gauge44"], [5, 119, "gauge44"], [5, 164, "gauge44-four"], [5, 209, "gauge44"], [5, 254, "gauge44"], [5, 299, "gauge44-four"], [5, 344, "gauge44"], [7, 20, "gauge44"], [7, 65, "gauge44-four"], [7, 110, "gauge44"], [7, 155, "gauge44"], [7, 200, "gauge44-four"], [7, 245, "gauge44"], [7, 290, "gauge44"], [7, 335, "gauge44-four"], [4, 34, "gauge44"], [4, 79, "gauge44"], [4, 124, "gauge44-four"], [4, 169, "gauge44"], [4, 214, "gauge44"], [4, 259, "gauge44-four"], [4, 304, "gauge44"], [4, 349, "gauge44"], [6, 25, "gauge44-four"], [6, 70, "gauge44"], [6, 115, "gauge44"], [6, 160, "gauge44-four"], [6, 205, "gauge44"], [6, 250, "gauge44"], [6, 295, "gauge44-four"], [6, 340, "gauge44"], [8, 16, "gauge44"], [8, 61, "gauge44-four"], [8, 106, "gauge44"], [8, 151, "gauge44"], [8, 196, "gauge44-four"], [8, 241, "gauge44"], [8, 286, "gauge44"], [8, 331, "gauge44-four"], [5, 30, "gauge44"], [5, 75, "gauge44"], [5, 120, "gauge44-four"], [5, 165, "gauge44"], [5, 210, "gauge44"], [5, 255, "gauge44-four"], [5, 300, "gauge44"], [5, 345, "gauge44"], [7, 21, "gauge44-four"], [7, 66, "gauge44"], [7, 111, "gauge44"], [7, 156, "gauge44-four"], [7, 201, "gauge44"], [7, 246, "gauge44"], [7, 291, "gauge44-four"], [7, 336, "gauge44"], [4, 35, "gauge44"], [4, 80, "gauge44-four"], [4, 125, "gauge44"], [4, 170, "gauge44"], [4, 215, "gauge44-four"], [4, 260, "gauge44"], [4, 305, "gauge44"], [4, 350, "gauge44-four"], [6, 26, "gauge44"], [6, 71, "gauge44"], [6, 116, "gauge44-four"], [6, 161, "gauge44"], [6, 206, "gauge44"], [6, 251, "gauge44-four"], [6, 296, "gauge44"], [6, 341, "gauge44"], [8, 17, "gauge44-four"], [8, 62, "gauge44"], [8, 107, "gauge44"], [8, 152, "gauge44-four"], [8, 197, "gauge44"], [8, 242, "gauge44"], [8, 287, "gauge44-four"], [8, 332, "gauge44"], [5, 31, "gauge44"], [5, 76, "gauge44-four"], [5, 121, "gauge44"], [5, 166, "gauge44"], [5, 211, "gauge44-four"], [5, 256, "gauge44"], [5, 301, "gauge44"], [5, 346, "gauge44-four"], [7, 22, "gauge44"], [7, 67, "gauge44"], [7, 112, "gauge44-four"], [7, 157, "gauge44"], [7, 202, "gauge44-four"], [7, 247, "gauge44"], [7, 292, "gauge44"], [7, 337, "gauge44-four"], [4, 36, "gauge44"], [4, 81, "gauge44"], [4, 126, "gauge44-four"], [4, 171, "gauge44"], [4, 216, "gauge44"], [4, 261, "gauge44-four"], [4, 306, "gauge44"], [4, 351, "gauge44"], [6, 27, "gauge44-four"], [6, 72, "gauge44"], [6, 117, "gauge44"], [6, 162, "gauge44-four"], [6, 207, "gauge44"], [6, 252, "gauge44"], [6, 297, "gauge44-four"], [6, 342, "gauge44"], [8, 18, "gauge44"], [8, 63, "gauge44-four"], [8, 108, "gauge44"], [8, 153, "gauge44"], [8, 198, "gauge44-four"], [8, 243, "gauge44"], [8, 288, "gauge44"], [8, 333, "gauge44-four"], [5, 32, "gauge44"], [5, 77, "gauge44"], [5, 122, "gauge44-four"], [5, 167, "gauge44"], [5, 212, "gauge44"], [5, 257, "gauge44-four"], [5, 302, "gauge44"], [5, 347, "gauge44"], [7, 23, "gauge44-four"], [7, 68, "gauge44"], [7, 113, "gauge44"], [7, 158, "gauge44-four"], [7, 203, "gauge44"], [7, 248, "gauge44"], [7, 293, "gauge44-four"], [7, 338, "gauge44"], [6, 28, "gauge44"], [6, 73, "gauge44-four"], [6, 118, "gauge44"], [6, 163, "gauge44"], [6, 208, "gauge44-four"], [6, 253, "gauge44"], [6, 298, "gauge44"], [6, 343, "gauge44-four"], [8, 19, "gauge44"], [8, 64, "gauge44"], [8, 109, "gauge44-four"], [8, 154, "gauge44"], [8, 199, "gauge44"], [8, 244, "gauge44-four"], [8, 289, "gauge44"], [8, 334, "gauge44"], [5, 33, "gauge44-four"], [5, 78, "gauge44"], [5, 123, "gauge44"], [5, 168, "gauge44-four"], [5, 213, "gauge44"], [5, 258, "gauge44"], [5, 303, "gauge44-four"], [5, 348, "gauge44"], [7, 24, "gauge44"], [7, 69, "gauge44-four"], [7, 114, "gauge44"], [7, 159, "gauge44"], [7, 204, "gauge44-four"], [7, 249, "gauge44"], [7, 294, "gauge44"], [7, 339, "gauge44-four"], [6, 29, "gauge44"], [6, 74, "gauge44"], [6, 119, "gauge44-four"], [6, 164, "gauge44"], [6, 209, "gauge44"], [6, 254, "gauge44-four"], [6, 299, "gauge44"], [6, 344, "gauge44"], [8, 20, "gauge44-four"], [8, 65, "gauge44"], [8, 110, "gauge44"], [8, 155, "gauge44-four"], [8, 200, "gauge44"], [8, 245, "gauge44"], [8, 290, "gauge44-four"], [8, 335, "gauge44"], [5, 34, "gauge44"], [5, 79, "gauge44-four"], [5, 124, "gauge44"], [5, 169, "gauge44"], [5, 214, "gauge44-four"], [5, 259, "gauge44"], [5, 304, "gauge44"], [5, 349, "gauge44-four"], [7, 25, "gauge44"], [7, 70, "gauge44"], [7, 115, "gauge44-four"], [7, 160, "gauge44"], [7, 205, "gauge44"], [7, 250, "gauge44-four"], [7, 295, "gauge44"], [7, 340, "gauge44"], [6, 30, "gauge44-four"], [6, 75, "gauge44"], [6, 120, "gauge44-four"], [6, 165, "gauge44"], [6, 210, "gauge44"], [6, 255, "gauge44-four"], [6, 300, "gauge44"], [6, 345, "gauge44"], [8, 21, "gauge44-four"], [8, 66, "gauge44"], [8, 111, "gauge44"], [8, 156, "gauge44-four"], [8, 201, "gauge44"], [8, 246, "gauge44"], [8, 291, "gauge44-four"], [8, 336, "gauge44"], [5, 35, "gauge44"], [5, 80, "gauge44-four"], [5, 125, "gauge44"], [5, 170, "gauge44"], [5, 215, "gauge44-four"], [5, 260, "gauge44"], [5, 305, "gauge44"], [5, 350, "gauge44-four"], [7, 26, "gauge44"], [7, 71, "gauge44"], [7, 116, "gauge44-four"], [7, 161, "gauge44"], [7, 206, "gauge44"], [7, 251, "gauge44-four"], [7, 296, "gauge44"], [7, 341, "gauge44"], [6, 31, "gauge44-four"], [6, 76, "gauge44"], [6, 121, "gauge44"], [6, 166, "gauge44-four"], [6, 211, "gauge44"], [6, 256, "gauge44"], [6, 301, "gauge44-four"], [6, 346, "gauge44"], [8, 22, "gauge44"], [8, 67, "gauge44-four"], [8, 112, "gauge44"], [8, 157, "gauge44"], [8, 202, "gauge44-four"], [8, 247, "gauge44"], [8, 292, "gauge44"], [8, 337, "gauge44-four"], [5, 36, "gauge44"], [5, 81, "gauge44"], [5, 126, "gauge44-four"], [5, 171, "gauge44"], [5, 216, "gauge44"], [5, 261, "gauge44-four"], [5, 306, "gauge44"], [5, 351, "gauge44"], [7, 27, "gauge44-four"], [7, 72, "gauge44"], [7, 117, "gauge44"], [7, 162, "gauge44-four"], [7, 207, "gauge44"], [7, 252, "gauge44"], [7, 297, "gauge44-four"], [7, 342, "gauge44"], [6, 32, "gauge44"], [6, 77, "gauge44-four"], [6, 122, "gauge44"], [6, 167, "gauge44"], [6, 212, "gauge44-four"], [6, 257, "gauge44"], [6, 302, "gauge44"], [6, 347, "gauge44-four"], [8, 23, "gauge44"], [8, 68, "gauge44"], [8, 113, "gauge44-four"], [8, 158, "gauge44"], [8, 203, "gauge44"], [8, 248, "gauge44-four"], [8, 293, "gauge44"], [8, 338, "gauge44"], [7, 28, "gauge44-four"], [7, 73, "gauge44"], [7, 118, "gauge44"], [7, 163, "gauge44-four"], [7, 208, "gauge44"], [7, 253, "gauge44"], [7, 298, "gauge44-four"], [7, 343, "gauge44"], [6, 33, "gauge44"], [6, 78, "gauge44-four"], [6, 123, "gauge44"], [6, 168, "gauge44"], [6, 213, "gauge44-four"], [6, 258, "gauge44"], [6, 303, "gauge44"], [6, 348, "gauge44-four"], [8, 24, "gauge44"], [8, 69, "gauge44"], [8, 114, "gauge44-four"], [8, 159, "gauge44"], [8, 204, "gauge44"], [8, 249, "gauge44-four"], [8, 294, "gauge44"], [8, 339, "gauge44"], [7, 29, "gauge44-four"], [7, 74, "gauge44"], [7, 119, "gauge44"], [7, 164, "gauge44-four"], [7, 209, "gauge44"], [7, 254, "gauge44-four"], [7, 299, "gauge44"], [7, 344, "gauge44"], [6, 34, "gauge44-four"], [6, 79, "gauge44"], [6, 124, "gauge44"], [6, 169, "gauge44-four"], [6, 214, "gauge44"], [6, 259, "gauge44"], [6, 304, "gauge44-four"], [6, 349, "gauge44"], [8, 25, "gauge44"], [8, 70, "gauge44-four"], [8, 115, "gauge44"], [8, 160, "gauge44"], [8, 205, "gauge44-four"], [8, 250, "gauge44"], [8, 295, "gauge44"], [8, 340, "gauge44-four"], [7, 30, "gauge44"], [7, 75, "gauge44"], [7, 120, "gauge44-four"], [7, 165, "gauge44"], [7, 210, "gauge44"], [7, 255, "gauge44-four"], [7, 300, "gauge44"], [7, 345, "gauge44"], [6, 35, "gauge44-four"], [6, 80, "gauge44"], [6, 125, "gauge44"], [6, 170, "gauge44-four"], [6, 215, "gauge44"], [6, 260, "gauge44"], [6, 305, "gauge44-four"], [6, 350, "gauge44"], [8, 26, "gauge44"], [8, 71, "gauge44-four"], [8, 116, "gauge44"], [8, 161, "gauge44"], [8, 206, "gauge44-four"], [8, 251, "gauge44"], [8, 296, "gauge44"], [8, 341, "gauge44-four"], [7, 31, "gauge44"], [7, 76, "gauge44"], [7, 121, "gauge44-four"], [7, 166, "gauge44"], [7, 211, "gauge44"], [7, 256, "gauge44-four"], [7, 301, "gauge44"], [7, 346, "gauge44"], [6, 36, "gauge44-four"], [6, 81, "gauge44"], [6, 126, "gauge44"], [6, 171, "gauge44-four"], [6, 216, "gauge44"], [6, 261, "gauge44"], [6, 306, "gauge44-four"], [6, 351, "gauge44"], [8, 27, "gauge44"], [8, 72, "gauge44-four"], [8, 117, "gauge44"], [8, 162, "gauge44"], [8, 207, "gauge44-four"], [8, 252, "gauge44"], [8, 297, "gauge44"], [8, 342, "gauge44-four"], [7, 32, "gauge44"], [7, 77, "gauge44"], [7, 122, "gauge44-four"], [7, 167, "gauge44"], [7, 212, "gauge44"], [7, 257, "gauge44-four"], [7, 302, "gauge44"], [7, 347, "gauge44"], [8, 28, "gauge44-four"], [8, 73, "gauge44"], [8, 118, "gauge44"], [8, 163, "gauge44-four"], [8, 208, "gauge44"], [8, 253, "gauge44"], [8, 298, "gauge44-four"], [8, 343, "gauge44"], [7, 33, "gauge44"], [7, 78, "gauge44-four"], [7, 123, "gauge44"], [7, 168, "gauge44"], [7, 213, "gauge44-four"], [7, 258, "gauge44"], [7, 303, "gauge44"], [7, 348, "gauge44-four"], [8, 29, "gauge44"], [8, 74, "gauge44"], [8, 119, "gauge44-four"], [8, 164, "gauge44"], [8, 209, "gauge44"], [8, 254, "gauge44-four"], [8, 299, "gauge44"], [8, 344, "gauge44"], [7, 34, "gauge44-four"], [7, 79, "gauge44"], [7, 124, "gauge44"], [7, 169, "gauge44-four"], [7, 214, "gauge44"], [7, 259, "gauge44"], [7, 304, "gauge44-four"], [7, 349, "gauge44"], [8, 30, "gauge44-four"], [8, 75, "gauge44"], [8, 120, "gauge44"], [8, 165, "gauge44-four"], [8, 210, "gauge44"], [8, 255, "gauge44"], [8, 300, "gauge44-four"], [8, 345, "gauge44"], [7, 35, "gauge44"], [7, 80, "gauge44-four"], [7, 125, "gauge44"], [7, 170, "gauge44"], [7, 215, "gauge44-four"], [7, 260, "gauge44"], [7, 305, "gauge44"], [7, 350, "gauge44-four"], [8, 31, "gauge44"], [8, 76, "gauge44"], [8, 121, "gauge44-four"], [8, 166, "gauge44"], [8, 211, "gauge44"], [8, 256, "gauge44-four"], [8, 301, "gauge44"], [8, 346, "gauge44"], [7, 36, "gauge44-four"], [7, 81, "gauge44"], [7, 126, "gauge44"], [7, 171, "gauge44-four"], [7, 216, "gauge44"], [7, 261, "gauge44"], [7, 306, "gauge44-four"], [7, 351, "gauge44"], [8, 32, "gauge44"], [8, 77, "gauge44-four"], [8, 122, "gauge44"], [8, 167, "gauge44"], [8, 212, "gauge44-four"], [8, 257, "gauge44"], [8, 302, "gauge44"], [8, 347, "gauge44-four"], [8, 33, "gauge44"], [8, 78, "gauge44"], [8, 123, "gauge44-four"], [8, 168, "gauge44"], [8, 213, "gauge44"], [8, 258, "gauge44-four"], [8, 303, "gauge44"], [8, 348, "gauge44"], [8, 34, "gauge44-four"], [8, 79, "gauge44"], [8, 124, "gauge44"], [8, 169, "gauge44-four"], [8, 214, "gauge44"], [8, 259, "gauge44"], [8, 304, "gauge44-four"], [8, 349, "gauge44"], [8, 35, "gauge44"], [8, 80, "gauge44-four"], [8, 125, "gauge44"], [8, 170, "gauge44"], [8, 215, "gauge44-four"], [8, 260, "gauge44"], [8, 305, "gauge44"], [8, 350, "gauge44-four"], [0, 37, "extra"], [0, 82, "extra"], [0, 127, "extra-four"], [0, 172, "extra"], [0, 217, "extra"], [0, 262, "extra-four"], [0, 307, "extra"], [0, 352, "extra"], [8, 36, "gauge44-four"], [8, 81, "gauge44"], [8, 126, "gauge44"], [8, 171, "gauge44-four"], [8, 216, "gauge44"], [8, 261, "gauge44"], [8, 306, "gauge44-four"], [8, 351, "gauge44"], [0, 38, "gauge44"], [0, 83, "gauge44-four"], [0, 128, "gauge44"], [0, 173, "gauge44"], [0, 218, "gauge44-four"], [0, 263, "gauge44"], [0, 308, "gauge44"], [0, 353, "gauge44-four"], [1, 37, "gauge44"], [1, 82, "gauge44"], [1, 127, "gauge44-four"], [1, 172, "gauge44"], [1, 217, "gauge44"], [1, 262, "gauge44-four"], [1, 307, "gauge44"], [1, 352, "gauge44"], [0, 39, "gauge44-four"], [0, 84, "gauge44"], [0, 129, "gauge44"], [0, 174, "gauge44-four"], [0, 219, "gauge44"], [0, 264, "gauge44"], [0, 309, "gauge44-four"], [0, 354, "gauge44"], [1, 38, "gauge44"], [1, 83, "gauge44-four"], [1, 128, "gauge44"], [1, 173, "gauge44"], [1, 218, "gauge44-four"], [1, 263, "gauge44"], [1, 308, "gauge44-four"], [1, 353, "gauge44"], [2, 37, "gauge44"], [2, 82, "gauge44-four"], [2, 127, "gauge44"], [2, 172, "gauge44"], [2, 217, "gauge44-four"], [2, 262, "gauge44"], [2, 307, "gauge44"], [2, 352, "gauge44-four"], [0, 40, "gauge44"], [0, 85, "gauge44"], [0, 130, "gauge44-four"], [0, 175, "gauge44"], [0, 220, "gauge44"], [0, 265, "gauge44-four"], [0, 310, "gauge44"], [0, 355, "gauge44"], [3, 37, "gauge44-four"], [3, 82, "gauge44"], [3, 127, "gauge44"], [3, 172, "gauge44-four"], [3, 217, "gauge44"], [3, 262, "gauge44"], [3, 307, "gauge44-four"], [3, 352, "gauge44"], [1, 39, "gauge44"], [1, 84, "gauge44-four"], [1, 129, "gauge44"], [1, 174, "gauge44"], [1, 219, "gauge44-four"], [1, 264, "gauge44"], [1, 309, "gauge44"], [1, 354, "gauge44-four"], [2, 38, "gauge44"], [2, 83, "gauge44"], [2, 128, "gauge44-four"], [2, 173, "gauge44"], [2, 218, "gauge44"], [2, 263, "gauge44-four"], [2, 308, "gauge44"], [2, 353, "gauge44"], [0, 41, "gauge44-four"], [0, 86, "gauge44"], [0, 131, "gauge44"], [0, 176, "gauge44-four"], [0, 221, "gauge44"], [0, 266, "gauge44"], [0, 311, "gauge44-four"], [0, 356, "gauge44"], [2, 39, "gauge44"], [2, 84, "gauge44-four"], [2, 129, "gauge44"], [2, 174, "gauge44"], [2, 219, "gauge44-four"], [2, 264, "gauge44"], [2, 309, "gauge44"], [2, 354, "gauge44-four"], [1, 40, "gauge44"], [1, 85, "gauge44"], [1, 130, "gauge44-four"], [1, 175, "gauge44"], [1, 220, "gauge44"], [1, 265, "gauge44-four"], [1, 310, "gauge44"], [1, 355, "gauge44"], [3, 38, "gauge44-four"], [3, 83, "gauge44"], [3, 128, "gauge44"], [3, 173, "gauge44-four"], [3, 218, "gauge44"], [3, 263, "gauge44"], [3, 308, "gauge44-four"], [3, 353, "gauge44"], [4, 37, "gauge44"], [4, 82, "gauge44-four"], [4, 127, "gauge44"], [4, 172, "gauge44"], [4, 217, "gauge44-four"], [4, 262, "gauge44"], [4, 307, "gauge44"], [4, 352, "gauge44-four"], [0, 42, "gauge44"], [0, 87, "gauge44"], [0, 132, "gauge44-four"], [0, 177, "gauge44"], [0, 222, "gauge44"], [0, 267, "gauge44-four"], [0, 312, "gauge44"], [0, 357, "gauge44"], [1, 41, "gauge44-four"], [1, 86, "gauge44"], [1, 131, "gauge44"], [1, 176, "gauge44-four"], [1, 221, "gauge44"], [1, 266, "gauge44"], [1, 311, "gauge44-four"], [1, 356, "gauge44"], [2, 40, "gauge44"], [2, 85, "gauge44-four"], [2, 130, "gauge44"], [2, 175, "gauge44"], [2, 220, "gauge44-four"], [2, 265, "gauge44"], [2, 310, "gauge44"], [2, 355, "gauge44-four"], [3, 39, "gauge44"], [3, 84, "gauge44-four"], [3, 129, "gauge44"], [3, 174, "gauge44"], [3, 219, "gauge44-four"], [3, 264, "gauge44"], [3, 309, "gauge44"], [3, 354, "gauge44-four"], [4, 38, "gauge44"], [4, 83, "gauge44"], [4, 128, "gauge44-four"], [4, 173, "gauge44"], [4, 218, "gauge44"], [4, 263, "gauge44-four"], [4, 308, "gauge44"], [4, 353, "gauge44"], [5, 37, "gauge44-four"], [5, 82, "gauge44"], [5, 127, "gauge44"], [5, 172, "gauge44-four"], [5, 217, "gauge44"], [5, 262, "gauge44"], [5, 307, "gauge44-four"], [5, 352, "gauge44"], [0, 43, "gauge44"], [0, 88, "gauge44-four"], [0, 133, "gauge44"], [0, 178, "gauge44"], [0, 223, "gauge44-four"], [0, 268, "gauge44"], [0, 313, "gauge44"], [0, 358, "gauge44-four"], [1, 42, "gauge44"], [1, 87, "gauge44"], [1, 132, "gauge44-four"], [1, 177, "gauge44"], [1, 222, "gauge44"], [1, 267, "gauge44-four"], [1, 312, "gauge44"], [1, 357, "gauge44"], [2, 41, "gauge44-four"], [2, 86, "gauge44"], [2, 131, "gauge44"], [2, 176, "gauge44-four"], [2, 221, "gauge44"], [2, 266, "gauge44"], [2, 311, "gauge44-four"], [2, 356, "gauge44"], [3, 40, "gauge44"], [3, 85, "gauge44-four"], [3, 130, "gauge44"], [3, 175, "gauge44"], [3, 220, "gauge44-four"], [3, 265, "gauge44"], [3, 310, "gauge44"], [3, 355, "gauge44-four"], [4, 39, "gauge44"], [4, 84, "gauge44"], [4, 129, "gauge44-four"], [4, 174, "gauge44"], [4, 219, "gauge44"], [4, 264, "gauge44-four"], [4, 309, "gauge44"], [4, 354, "gauge44"], [5, 38, "gauge44-four"], [5, 83, "gauge44"], [5, 128, "gauge44"], [5, 173, "gauge44-four"], [5, 218, "gauge44"], [5, 263, "gauge44"], [5, 308, "gauge44-four"], [5, 353, "gauge44"], [0, 44, "gauge44"], [0, 89, "gauge44-four"], [0, 134, "gauge44"], [0, 179, "gauge44"], [0, 224, "gauge44-four"], [0, 269, "gauge44"], [0, 314, "gauge44"], [0, 359, "gauge44-four"], [6, 37, "gauge44"], [6, 82, "gauge44"], [6, 127, "gauge44-four"], [6, 172, "gauge44"], [6, 217, "gauge44"], [6, 262, "gauge44-four"], [6, 307, "gauge44"], [6, 352, "gauge44"], [1, 43, "gauge44-four"], [1, 88, "gauge44"], [1, 133, "gauge44"], [1, 178, "gauge44-four"], [1, 223, "gauge44"], [1, 268, "gauge44"], [1, 313, "gauge44-four"], [1, 358, "gauge44"], [2, 42, "gauge44"], [2, 87, "gauge44-four"], [2, 132, "gauge44"], [2, 177, "gauge44"], [2, 222, "gauge44-four"], [2, 267, "gauge44"], [2, 312, "gauge44"], [2, 357, "gauge44-four"], [3, 41, "gauge44"], [3, 86, "gauge44"], [3, 131, "gauge44-four"], [3, 176, "gauge44"], [3, 221, "gauge44-four"], [3, 266, "gauge44"], [3, 311, "gauge44"], [3, 356, "gauge44-four"], [4, 40, "gauge44"], [4, 85, "gauge44"], [4, 130, "gauge44-four"], [4, 175, "gauge44"], [4, 220, "gauge44"], [4, 265, "gauge44-four"], [4, 310, "gauge44"], [4, 355, "gauge44"], [5, 39, "gauge44-four"], [5, 84, "gauge44"], [5, 129, "gauge44"], [5, 174, "gauge44-four"], [5, 219, "gauge44"], [5, 264, "gauge44"], [5, 309, "gauge44-four"], [5, 354, "gauge44"], [6, 38, "gauge44"], [6, 83, "gauge44-four"], [6, 128, "gauge44"], [6, 173, "gauge44"], [6, 218, "gauge44-four"], [6, 263, "gauge44"], [6, 308, "gauge44"], [6, 353, "gauge44-four"], [1, 44, "gauge44"], [1, 89, "gauge44"], [1, 134, "gauge44-four"], [1, 179, "gauge44"], [1, 224, "gauge44"], [1, 269, "gauge44-four"], [1, 314, "gauge44"], [1, 359, "gauge44"], [7, 37, "gauge44-four"], [7, 82, "gauge44"], [7, 127, "gauge44"], [7, 172, "gauge44-four"], [7, 217, "gauge44"], [7, 262, "gauge44"], [7, 307, "gauge44-four"], [7, 352, "gauge44"], [2, 43, "gauge44"], [2, 88, "gauge44-four"], [2, 133, "gauge44"], [2, 178, "gauge44"], [2, 223, "gauge44-four"], [2, 268, "gauge44"], [2, 313, "gauge44"], [2, 358, "gauge44-four"], [3, 42, "gauge44"], [3, 87, "gauge44"], [3, 132, "gauge44-four"], [3, 177, "gauge44"], [3, 222, "gauge44"], [3, 267, "gauge44-four"], [3, 312, "gauge44"], [3, 357, "gauge44"], [4, 41, "gauge44-four"], [4, 86, "gauge44"], [4, 131, "gauge44"], [4, 176, "gauge44-four"], [4, 221, "gauge44"], [4, 266, "gauge44"], [4, 311, "gauge44-four"], [4, 356, "gauge44"], [5, 40, "gauge44"], [5, 85, "gauge44-four"], [5, 130, "gauge44"], [5, 175, "gauge44"], [5, 220, "gauge44-four"], [5, 265, "gauge44"], [5, 310, "gauge44"], [5, 355, "gauge44-four"], [6, 39, "gauge44"], [6, 84, "gauge44"], [6, 129, "gauge44-four"], [6, 174, "gauge44"], [6, 219, "gauge44"], [6, 264, "gauge44-four"], [6, 309, "gauge44"], [6, 354, "gauge44"], [7, 38, "gauge44-four"], [7, 83, "gauge44"], [7, 128, "gauge44"], [7, 173, "gauge44-four"], [7, 218, "gauge44"], [7, 263, "gauge44"], [7, 308, "gauge44-four"], [7, 353, "gauge44"], [2, 44, "gauge44"], [2, 89, "gauge44-four"], [2, 134, "gauge44"], [2, 179, "gauge44"], [2, 224, "gauge44-four"], [2, 269, "gauge44"], [2, 314, "gauge44"], [2, 359, "gauge44-four"], [8, 37, "gauge44"], [8, 82, "gauge44"], [8, 127, "gauge44-four"], [8, 172, "gauge44"], [8, 217, "gauge44"], [8, 262, "gauge44-four"], [8, 307, "gauge44"], [8, 352, "gauge44"], [3, 43, "gauge44-four"], [3, 88, "gauge44"], [3, 133, "gauge44-four"], [3, 178, "gauge44"], [3, 223, "gauge44"], [3, 268, "gauge44-four"], [3, 313, "gauge44"], [3, 358, "gauge44"], [4, 42, "gauge44-four"], [4, 87, "gauge44"], [4, 132, "gauge44"], [4, 177, "gauge44-four"], [4, 222, "gauge44"], [4, 267, "gauge44"], [4, 312, "gauge44-four"], [4, 357, "gauge44"], [5, 41, "gauge44"], [5, 86, "gauge44-four"], [5, 131, "gauge44"], [5, 176, "gauge44"], [5, 221, "gauge44-four"], [5, 266, "gauge44"], [5, 311, "gauge44"], [5, 356, "gauge44-four"], [6, 40, "gauge44"], [6, 85, "gauge44"], [6, 130, "gauge44-four"], [6, 175, "gauge44"], [6, 220, "gauge44"], [6, 265, "gauge44-four"], [6, 310, "gauge44"], [6, 355, "gauge44"], [7, 39, "gauge44-four"], [7, 84, "gauge44"], [7, 129, "gauge44"], [7, 174, "gauge44-four"], [7, 219, "gauge44"], [7, 264, "gauge44"], [7, 309, "gauge44-four"], [7, 354, "gauge44"], [8, 38, "gauge44"], [8, 83, "gauge44-four"], [8, 128, "gauge44"], [8, 173, "gauge44"], [8, 218, "gauge44-four"], [8, 263, "gauge44"], [8, 308, "gauge44"], [8, 353, "gauge44-four"], [3, 44, "gauge44"], [3, 89, "gauge44"], [3, 134, "gauge44-four"], [3, 179, "gauge44"], [3, 224, "gauge44"], [3, 269, "gauge44-four"], [3, 314, "gauge44"], [3, 359, "gauge44"], [4, 43, "gauge44-four"], [4, 88, "gauge44"], [4, 133, "gauge44"], [4, 178, "gauge44-four"], [4, 223, "gauge44"], [4, 268, "gauge44"], [4, 313, "gauge44-four"], [4, 358, "gauge44"], [5, 42, "gauge44"], [5, 87, "gauge44-four"], [5, 132, "gauge44"], [5, 177, "gauge44"], [5, 222, "gauge44-four"], [5, 267, "gauge44"], [5, 312, "gauge44"], [5, 357, "gauge44-four"], [6, 41, "gauge44"], [6, 86, "gauge44"], [6, 131, "gauge44-four"], [6, 176, "gauge44"], [6, 221, "gauge44"], [6, 266, "gauge44-four"], [6, 311, "gauge44"], [6, 356, "gauge44"], [7, 40, "gauge44-four"], [7, 85, "gauge44"], [7, 130, "gauge44"], [7, 175, "gauge44-four"], [7, 220, "gauge44"], [7, 265, "gauge44"], [7, 310, "gauge44-four"], [7, 355, "gauge44"], [8, 39, "gauge44"], [8, 84, "gauge44-four"], [8, 129, "gauge44"], [8, 174, "gauge44"], [8, 219, "gauge44-four"], [8, 264, "gauge44"], [8, 309, "gauge44"], [8, 354, "gauge44-four"], [4, 44, "gauge44"], [4, 89, "gauge44"], [4, 134, "gauge44-four"], [4, 179, "gauge44"], [4, 224, "gauge44"], [4, 269, "gauge44-four"], [4, 314, "gauge44"], [4, 359, "gauge44"], [5, 43, "gauge44-four"], [5, 88, "gauge44"], [5, 133, "gauge44"], [5, 178, "gauge44-four"], [5, 223, "gauge44"], [5, 268, "gauge44-four"], [5, 313, "gauge44"], [5, 358, "gauge44"], [6, 42, "gauge44-four"], [6, 87, "gauge44"], [6, 132, "gauge44"], [6, 177, "gauge44-four"], [6, 222, "gauge44"], [6, 267, "gauge44"], [6, 312, "gauge44-four"], [6, 357, "gauge44"], [7, 41, "gauge44"], [7, 86, "gauge44-four"], [7, 131, "gauge44"], [7, 176, "gauge44"], [7, 221, "gauge44-four"], [7, 266, "gauge44"], [7, 311, "gauge44"], [7, 356, "gauge44-four"], [8, 40, "gauge44"], [8, 85, "gauge44"], [8, 130, "gauge44-four"], [8, 175, "gauge44"], [8, 220, "gauge44"], [8, 265, "gauge44-four"], [8, 310, "gauge44"], [8, 355, "gauge44"], [5, 44, "gauge44-four"], [5, 89, "gauge44"], [5, 134, "gauge44"], [5, 179, "gauge44-four"], [5, 224, "gauge44"], [5, 269, "gauge44"], [5, 314, "gauge44-four"], [5, 359, "gauge44"], [6, 43, "gauge44"], [6, 88, "gauge44-four"], [6, 133, "gauge44"], [6, 178, "gauge44"], [6, 223, "gauge44-four"], [6, 268, "gauge44"], [6, 313, "gauge44"], [6, 358, "gauge44-four"], [7, 42, "gauge44"], [7, 87, "gauge44"], [7, 132, "gauge44-four"], [7, 177, "gauge44"], [7, 222, "gauge44"], [7, 267, "gauge44-four"], [7, 312, "gauge44"], [7, 357, "gauge44"], [8, 41, "gauge44-four"], [8, 86, "gauge44"], [8, 131, "gauge44"], [8, 176, "gauge44-four"], [8, 221, "gauge44"], [8, 266, "gauge44"], [8, 311, "gauge44-four"], [8, 356, "gauge44"], [6, 44, "gauge44"], [6, 89, "gauge44-four"], [6, 134, "gauge44"], [6, 179, "gauge44"], [6, 224, "gauge44-four"], [6, 269, "gauge44"], [6, 314, "gauge44"], [6, 359, "gauge44-four"], [7, 43, "gauge44"], [7, 88, "gauge44"], [7, 133, "gauge44-four"], [7, 178, "gauge44"], [7, 223, "gauge44"], [7, 268, "gauge44-four"], [7, 313, "gauge44"], [7, 358, "gauge44"], [8, 42, "gauge44-four"], [8, 87, "gauge44"], [8, 132, "gauge44"], [8, 177, "gauge44-four"], [8, 222, "gauge44"], [8, 267, "gauge44"], [8, 312, "gauge44-four"], [8, 357, "gauge44"], [7, 44, "gauge44"], [7, 89, "gauge44-four"], [7, 134, "gauge44"], [7, 179, "gauge44"], [7, 224, "gauge44-four"], [7, 269, "gauge44"], [7, 314, "gauge44"], [7, 359, "gauge44-four"], [8, 43, "gauge44"], [8, 88, "gauge44"], [8, 133, "gauge44-four"], [8, 178, "gauge44"], [8, 223, "gauge44"], [8, 268, "gauge44-four"], [8, 313, "gauge44"], [8, 358, "gauge44"], [8, 44, "gauge44-four"], [8, 89, "gauge44"], [8, 134, "gauge44"], [8, 179, "gauge44-four"], [8, 224, "gauge44"], [8, 269, "gauge44"], [8, 314, "gauge44-four"], [8, 359, "gauge44"]] diff --git a/research/staged544-mixed-idle-rebind/inputs/NATIVE-base.json.gz b/research/staged544-mixed-idle-rebind/inputs/NATIVE-base.json.gz new file mode 100644 index 0000000000..3424e3b0fb Binary files /dev/null and b/research/staged544-mixed-idle-rebind/inputs/NATIVE-base.json.gz differ diff --git a/research/staged544-mixed-idle-rebind/inputs/NATIVE-extra.json.gz b/research/staged544-mixed-idle-rebind/inputs/NATIVE-extra.json.gz new file mode 100644 index 0000000000..6c1e9149b2 Binary files /dev/null and b/research/staged544-mixed-idle-rebind/inputs/NATIVE-extra.json.gz differ diff --git a/research/staged544-mixed-idle-rebind/inputs/ORDER.json b/research/staged544-mixed-idle-rebind/inputs/ORDER.json new file mode 100644 index 0000000000..58d4b4c341 --- /dev/null +++ b/research/staged544-mixed-idle-rebind/inputs/ORDER.json @@ -0,0 +1 @@ +[[0, 0], [0, 45], [0, 90], [0, 135], [0, 180], [0, 225], [0, 270], [0, 315], [0, 1], [0, 46], [0, 91], [0, 136], [0, 181], [0, 226], [0, 271], [0, 316], [0, 2], [0, 47], [0, 92], [0, 137], [0, 182], [0, 227], [0, 272], [0, 317], [0, 3], [0, 48], [0, 93], [0, 138], [0, 183], [0, 228], [0, 273], [0, 318], [0, 4], [0, 49], [0, 94], [0, 139], [0, 184], [0, 229], [0, 274], [0, 319], [1, 0], [1, 45], [1, 90], [1, 135], [1, 180], [1, 225], [1, 270], [1, 315], [0, 5], [0, 50], [0, 95], [0, 140], [0, 185], [0, 230], [0, 275], [0, 320], [1, 1], [1, 46], [1, 91], [1, 136], [1, 181], [1, 226], [0, 6], [1, 271], [0, 51], [0, 96], [0, 141], [1, 316], [0, 186], [0, 231], [0, 276], [0, 321], [1, 2], [0, 7], [0, 52], [0, 97], [1, 47], [0, 142], [0, 187], [0, 232], [1, 92], [0, 277], [0, 322], [0, 8], [1, 137], [0, 53], [0, 98], [0, 143], [1, 182], [0, 188], [0, 233], [0, 278], [1, 227], [0, 323], [0, 9], [0, 54], [0, 99], [1, 272], [0, 144], [0, 189], [0, 234], [1, 317], [0, 279], [0, 324], [2, 0], [1, 3], [2, 45], [2, 90], [2, 135], [1, 48], [2, 180], [2, 225], [2, 270], [2, 315], [1, 93], [0, 10], [0, 55], [0, 100], [1, 138], [0, 145], [0, 190], [0, 235], [1, 183], [0, 280], [0, 325], [2, 1], [1, 228], [2, 46], [2, 91], [2, 136], [2, 181], [1, 273], [2, 226], [2, 271], [2, 316], [1, 318], [0, 11], [0, 56], [0, 101], [1, 4], [0, 146], [0, 191], [0, 236], [1, 49], [0, 281], [0, 326], [2, 2], [1, 94], [2, 47], [2, 92], [2, 137], [2, 182], [1, 139], [2, 227], [2, 272], [2, 317], [1, 184], [0, 12], [0, 57], [0, 102], [1, 229], [0, 147], [0, 192], [0, 237], [1, 274], [0, 282], [0, 327], [2, 3], [2, 48], [1, 319], [2, 93], [2, 138], [2, 183], [1, 5], [2, 228], [2, 273], [2, 318], [1, 50], [0, 13], [0, 58], [0, 103], [1, 95], [0, 148], [0, 193], [0, 238], [1, 140], [0, 283], [0, 328], [2, 4], [2, 49], [1, 185], [2, 94], [2, 139], [2, 184], [1, 230], [2, 229], [2, 274], [2, 319], [1, 275], [3, 0], [3, 45], [3, 90], [1, 320], [3, 135], [3, 180], [3, 225], [3, 270], [1, 6], [3, 315], [0, 14], [0, 59], [1, 51], [0, 104], [0, 149], [0, 194], [1, 96], [0, 239], [0, 284], [0, 329], [1, 141], [2, 5], [2, 50], [2, 95], [1, 186], [2, 140], [2, 185], [2, 230], [2, 275], [1, 231], [2, 320], [3, 1], [3, 46], [1, 276], [3, 91], [3, 136], [3, 181], [1, 321], [3, 226], [3, 271], [3, 316], [1, 7], [0, 15], [0, 60], [0, 105], [0, 150], [1, 52], [0, 195], [0, 240], [0, 285], [1, 97], [0, 330], [2, 6], [2, 51], [1, 142], [2, 96], [2, 141], [2, 186], [1, 187], [2, 231], [2, 276], [2, 321], [3, 2], [1, 232], [3, 47], [3, 92], [3, 137], [1, 277], [3, 182], [3, 227], [3, 272], [1, 322], [3, 317], [0, 16], [0, 61], [1, 8], [0, 106], [0, 151], [0, 196], [1, 53], [0, 241], [0, 286], [0, 331], [2, 7], [1, 98], [2, 52], [2, 97], [2, 142], [1, 143], [2, 187], [2, 232], [2, 277], [1, 188], [2, 322], [3, 3], [3, 48], [1, 233], [3, 93], [3, 138], [3, 183], [3, 228], [1, 278], [3, 273], [3, 318], [0, 17], [1, 323], [0, 62], [0, 107], [0, 152], [1, 9], [0, 197], [0, 242], [0, 287], [1, 54], [0, 332], [2, 8], [2, 53], [1, 99], [2, 98], [2, 143], [2, 188], [2, 233], [1, 144], [2, 278], [2, 323], [3, 4], [1, 189], [3, 49], [3, 94], [3, 139], [1, 234], [3, 184], [3, 229], [3, 274], [1, 279], [3, 319], [0, 18], [0, 63], [0, 108], [1, 324], [0, 153], [0, 198], [0, 243], [1, 10], [0, 288], [0, 333], [2, 9], [1, 55], [2, 54], [2, 99], [2, 144], [1, 100], [2, 189], [2, 234], [2, 279], [2, 324], [1, 145], [4, 0], [4, 45], [4, 90], [1, 190], [4, 135], [4, 180], [4, 225], [1, 235], [4, 270], [4, 315], [3, 5], [1, 280], [3, 50], [3, 95], [3, 140], [1, 325], [3, 185], [3, 230], [3, 275], [3, 320], [1, 11], [0, 19], [0, 64], [0, 109], [1, 56], [0, 154], [0, 199], [0, 244], [1, 101], [0, 289], [0, 334], [2, 10], [1, 146], [2, 55], [2, 100], [2, 145], [2, 190], [1, 191], [2, 235], [2, 280], [2, 325], [1, 236], [4, 1], [4, 46], [4, 91], [1, 281], [4, 136], [4, 181], [4, 226], [1, 326], [4, 271], [4, 316], [3, 6], [1, 12], [3, 51], [3, 96], [3, 141], [3, 186], [1, 57], [3, 231], [3, 276], [3, 321], [1, 102], [0, 20], [0, 65], [0, 110], [1, 147], [0, 155], [0, 200], [0, 245], [1, 192], [0, 290], [0, 335], [2, 11], [2, 56], [1, 237], [2, 101], [2, 146], [2, 191], [1, 282], [2, 236], [2, 281], [2, 326], [1, 327], [4, 2], [4, 47], [4, 92], [1, 13], [4, 137], [4, 182], [4, 227], [1, 58], [4, 272], [4, 317], [3, 7], [3, 52], [1, 103], [3, 97], [3, 142], [3, 187], [1, 148], [3, 232], [3, 277], [3, 322], [1, 193], [0, 21], [0, 66], [0, 111], [1, 238], [0, 156], [0, 201], [0, 246], [0, 291], [1, 283], [0, 336], [2, 12], [2, 57], [1, 328], [2, 102], [2, 147], [2, 192], [1, 14], [2, 237], [2, 282], [2, 327], [1, 59], [4, 3], [4, 48], [4, 93], [4, 138], [1, 104], [4, 183], [4, 228], [4, 273], [1, 149], [4, 318], [3, 8], [3, 53], [1, 194], [3, 98], [3, 143], [3, 188], [1, 239], [3, 233], [3, 278], [3, 323], [1, 284], [0, 22], [0, 67], [0, 112], [0, 157], [1, 329], [0, 202], [0, 247], [0, 292], [1, 15], [0, 337], [2, 13], [2, 58], [1, 60], [2, 103], [2, 148], [2, 193], [1, 105], [2, 238], [2, 283], [2, 328], [4, 4], [1, 150], [4, 49], [4, 94], [4, 139], [1, 195], [4, 184], [4, 229], [4, 274], [1, 240], [4, 319], [3, 9], [3, 54], [1, 285], [3, 99], [3, 144], [3, 189], [1, 330], [3, 234], [3, 279], [3, 324], [0, 23], [1, 16], [0, 68], [0, 113], [0, 158], [1, 61], [0, 203], [0, 248], [0, 293], [1, 106], [0, 338], [5, 0], [5, 45], [1, 151], [5, 90], [5, 135], [5, 180], [5, 225], [1, 196], [5, 270], [5, 315], [2, 14], [1, 241], [2, 59], [2, 104], [2, 149], [1, 286], [2, 194], [2, 239], [2, 284], [1, 331], [2, 329], [4, 5], [4, 50], [4, 95], [1, 17], [4, 140], [4, 185], [4, 230], [1, 62], [4, 275], [4, 320], [3, 10], [1, 107], [3, 55], [3, 100], [3, 145], [1, 152], [3, 190], [3, 235], [3, 280], [1, 197], [3, 325], [0, 24], [0, 69], [0, 114], [1, 242], [0, 159], [0, 204], [0, 249], [1, 287], [0, 294], [0, 339], [5, 1], [1, 332], [5, 46], [5, 91], [5, 136], [1, 18], [5, 181], [5, 226], [5, 271], [5, 316], [1, 63], [2, 15], [2, 60], [2, 105], [1, 108], [2, 150], [2, 195], [2, 240], [1, 153], [2, 285], [2, 330], [4, 6], [1, 198], [4, 51], [4, 96], [4, 141], [1, 243], [4, 186], [4, 231], [4, 276], [4, 321], [1, 288], [3, 11], [3, 56], [3, 101], [1, 333], [3, 146], [3, 191], [3, 236], [1, 19], [3, 281], [3, 326], [0, 25], [1, 64], [0, 70], [0, 115], [0, 160], [0, 205], [1, 109], [0, 250], [0, 295], [0, 340], [1, 154], [5, 2], [5, 47], [5, 92], [1, 199], [5, 137], [5, 182], [5, 227], [1, 244], [5, 272], [5, 317], [2, 16], [1, 289], [2, 61], [2, 106], [2, 151], [2, 196], [1, 334], [2, 241], [2, 286], [2, 331], [1, 20], [4, 7], [4, 52], [4, 97], [1, 65], [4, 142], [4, 187], [4, 232], [1, 110], [4, 277], [4, 322], [3, 12], [3, 57], [1, 155], [3, 102], [3, 147], [3, 192], [1, 200], [3, 237], [3, 282], [3, 327], [1, 245], [0, 26], [0, 71], [0, 116], [1, 290], [0, 161], [0, 206], [0, 251], [0, 296], [1, 335], [0, 341], [5, 3], [5, 48], [1, 21], [5, 93], [5, 138], [5, 183], [1, 66], [5, 228], [5, 273], [5, 318], [1, 111], [2, 17], [2, 62], [2, 107], [1, 156], [2, 152], [2, 197], [2, 242], [2, 287], [1, 201], [2, 332], [4, 8], [4, 53], [1, 246], [4, 98], [4, 143], [4, 188], [1, 291], [4, 233], [4, 278], [4, 323], [1, 336], [3, 13], [3, 58], [3, 103], [3, 148], [1, 22], [3, 193], [3, 238], [3, 283], [1, 67], [3, 328], [0, 27], [0, 72], [1, 112], [0, 117], [0, 162], [0, 207], [1, 157], [0, 252], [0, 297], [0, 342], [1, 202], [5, 4], [5, 49], [5, 94], [5, 139], [1, 247], [5, 184], [5, 229], [5, 274], [1, 292], [5, 319], [2, 18], [2, 63], [1, 337], [2, 108], [2, 153], [2, 198], [2, 243], [2, 288], [2, 333], [4, 9], [4, 54], [4, 99], [4, 144], [4, 189], [4, 234], [4, 279], [4, 324], [1, 23], [1, 68], [1, 113], [1, 158], [6, 0], [6, 45], [1, 203], [6, 90], [6, 135], [6, 180], [6, 225], [1, 248], [6, 270], [6, 315], [3, 14], [1, 293], [3, 59], [3, 104], [3, 149], [1, 338], [3, 194], [3, 239], [3, 284], [3, 329], [0, 28], [0, 73], [0, 118], [0, 163], [0, 208], [0, 253], [0, 298], [0, 343], [5, 5], [5, 50], [5, 95], [5, 140], [5, 185], [5, 230], [5, 275], [5, 320], [2, 19], [2, 64], [2, 109], [2, 154], [2, 199], [2, 244], [2, 289], [2, 334], [4, 10], [4, 55], [4, 100], [4, 145], [4, 190], [4, 235], [4, 280], [4, 325], [1, 24], [1, 69], [1, 114], [1, 159], [1, 204], [1, 249], [1, 294], [1, 339], [6, 1], [6, 46], [6, 91], [6, 136], [6, 181], [6, 226], [6, 271], [6, 316], [3, 15], [3, 60], [3, 105], [3, 150], [3, 195], [3, 240], [3, 285], [3, 330], [0, 29], [0, 74], [0, 119], [0, 164], [0, 209], [0, 254], [0, 299], [0, 344], [5, 6], [5, 51], [5, 96], [5, 141], [5, 186], [5, 231], [5, 276], [5, 321], [2, 20], [2, 65], [2, 110], [2, 155], [2, 200], [2, 245], [2, 290], [2, 335], [4, 11], [4, 56], [4, 101], [4, 146], [4, 191], [4, 236], [4, 281], [4, 326], [1, 25], [1, 70], [1, 115], [1, 160], [1, 205], [1, 250], [1, 295], [1, 340], [6, 2], [6, 47], [6, 92], [6, 137], [6, 182], [6, 227], [6, 272], [6, 317], [3, 16], [3, 61], [3, 106], [3, 151], [3, 196], [3, 241], [3, 286], [3, 331], [0, 30], [0, 75], [0, 120], [0, 165], [0, 210], [0, 255], [0, 300], [0, 345], [5, 7], [5, 52], [5, 97], [5, 142], [5, 187], [5, 232], [5, 277], [5, 322], [2, 21], [2, 66], [2, 111], [2, 156], [2, 201], [2, 246], [2, 291], [2, 336], [4, 12], [4, 57], [4, 102], [4, 147], [4, 192], [4, 237], [4, 282], [4, 327], [1, 26], [1, 71], [1, 116], [1, 161], [1, 206], [1, 251], [1, 296], [1, 341], [6, 3], [6, 48], [6, 93], [6, 138], [6, 183], [6, 228], [6, 273], [6, 318], [3, 17], [3, 62], [3, 107], [3, 152], [3, 197], [3, 242], [3, 287], [3, 332], [0, 31], [0, 76], [0, 121], [0, 166], [0, 211], [0, 256], [0, 301], [0, 346], [5, 8], [5, 53], [5, 98], [5, 143], [5, 188], [5, 233], [5, 278], [5, 323], [2, 22], [2, 67], [2, 112], [2, 157], [2, 202], [2, 247], [2, 292], [2, 337], [4, 13], [4, 58], [4, 103], [4, 148], [4, 193], [4, 238], [4, 283], [4, 328], [1, 27], [1, 72], [1, 117], [1, 162], [1, 207], [1, 252], [1, 297], [1, 342], [6, 4], [6, 49], [6, 94], [6, 139], [6, 184], [6, 229], [6, 274], [6, 319], [3, 18], [3, 63], [3, 108], [3, 153], [3, 198], [3, 243], [3, 288], [3, 333], [0, 32], [0, 77], [0, 122], [0, 167], [0, 212], [0, 257], [0, 302], [0, 347], [5, 9], [5, 54], [5, 99], [5, 144], [5, 189], [5, 234], [5, 279], [5, 324], [2, 23], [2, 68], [2, 113], [2, 158], [2, 203], [2, 248], [2, 293], [2, 338], [7, 0], [7, 45], [7, 90], [7, 135], [7, 180], [7, 225], [7, 270], [7, 315], [4, 14], [4, 59], [4, 104], [4, 149], [4, 194], [4, 239], [4, 284], [4, 329], [1, 28], [1, 73], [1, 118], [1, 163], [1, 208], [1, 253], [1, 298], [1, 343], [6, 5], [6, 50], [6, 95], [6, 140], [6, 185], [6, 230], [6, 275], [6, 320], [3, 19], [3, 64], [3, 109], [3, 154], [3, 199], [3, 244], [3, 289], [3, 334], [0, 33], [0, 78], [0, 123], [0, 168], [0, 213], [0, 258], [0, 303], [0, 348], [5, 10], [5, 55], [5, 100], [5, 145], [5, 190], [5, 235], [5, 280], [5, 325], [2, 24], [2, 69], [2, 114], [2, 159], [2, 204], [2, 249], [2, 294], [2, 339], [7, 1], [7, 46], [7, 91], [7, 136], [7, 181], [7, 226], [7, 271], [7, 316], [4, 15], [4, 60], [4, 105], [4, 150], [4, 195], [4, 240], [4, 285], [4, 330], [1, 29], [1, 74], [1, 119], [1, 164], [1, 209], [1, 254], [1, 299], [1, 344], [6, 6], [6, 51], [6, 96], [6, 141], [6, 186], [6, 231], [6, 276], [6, 321], [3, 20], [3, 65], [3, 110], [3, 155], [3, 200], [3, 245], [3, 290], [3, 335], [0, 34], [0, 79], [0, 124], [0, 169], [0, 214], [0, 259], [0, 304], [0, 349], [5, 11], [5, 56], [5, 101], [5, 146], [5, 191], [5, 236], [5, 281], [5, 326], [2, 25], [2, 70], [2, 115], [2, 160], [2, 205], [2, 250], [2, 295], [2, 340], [7, 2], [7, 47], [7, 92], [7, 137], [7, 182], [7, 227], [7, 272], [7, 317], [4, 16], [4, 61], [4, 106], [4, 151], [4, 196], [4, 241], [4, 286], [4, 331], [1, 30], [1, 75], [1, 120], [1, 165], [1, 210], [1, 255], [1, 300], [1, 345], [6, 7], [6, 52], [6, 97], [6, 142], [6, 187], [6, 232], [6, 277], [6, 322], [3, 21], [3, 66], [3, 111], [3, 156], [3, 201], [3, 246], [3, 291], [3, 336], [0, 35], [0, 80], [0, 125], [0, 170], [0, 215], [0, 260], [0, 305], [0, 350], [5, 12], [5, 57], [5, 102], [5, 147], [5, 192], [5, 237], [5, 282], [5, 327], [2, 26], [2, 71], [2, 116], [2, 161], [2, 206], [2, 251], [2, 296], [2, 341], [7, 3], [7, 48], [7, 93], [7, 138], [7, 183], [7, 228], [7, 273], [7, 318], [4, 17], [4, 62], [4, 107], [4, 152], [4, 197], [4, 242], [4, 287], [4, 332], [1, 31], [1, 76], [1, 121], [1, 166], [1, 211], [1, 256], [1, 301], [1, 346], [6, 8], [6, 53], [6, 98], [6, 143], [6, 188], [6, 233], [6, 278], [6, 323], [3, 22], [3, 67], [3, 112], [3, 157], [3, 202], [3, 247], [3, 292], [3, 337], [0, 36], [0, 81], [0, 126], [0, 171], [0, 216], [0, 261], [0, 306], [0, 351], [5, 13], [5, 58], [5, 103], [5, 148], [5, 193], [5, 238], [5, 283], [5, 328], [2, 27], [2, 72], [2, 117], [2, 162], [2, 207], [2, 252], [2, 297], [2, 342], [7, 4], [7, 49], [7, 94], [7, 139], [7, 184], [7, 229], [7, 274], [7, 319], [4, 18], [4, 63], [4, 108], [4, 153], [4, 198], [4, 243], [4, 288], [4, 333], [1, 32], [1, 77], [1, 122], [1, 167], [1, 212], [1, 257], [1, 302], [1, 347], [6, 9], [6, 54], [6, 99], [6, 144], [6, 189], [6, 234], [6, 279], [6, 324], [3, 23], [3, 68], [3, 113], [3, 158], [3, 203], [3, 248], [3, 293], [3, 338], [8, 0], [8, 45], [8, 90], [8, 135], [8, 180], [8, 225], [8, 270], [8, 315], [5, 14], [5, 59], [5, 104], [5, 149], [5, 194], [5, 239], [5, 284], [5, 329], [2, 28], [2, 73], [2, 118], [2, 163], [2, 208], [2, 253], [2, 298], [2, 343], [7, 5], [7, 50], [7, 95], [7, 140], [7, 185], [7, 230], [7, 275], [7, 320], [4, 19], [4, 64], [4, 109], [4, 154], [4, 199], [4, 244], [4, 289], [4, 334], [1, 33], [1, 78], [1, 123], [1, 168], [1, 213], [1, 258], [1, 303], [1, 348], [6, 10], [6, 55], [6, 100], [6, 145], [6, 190], [6, 235], [6, 280], [6, 325], [3, 24], [3, 69], [3, 114], [3, 159], [3, 204], [3, 249], [3, 294], [3, 339], [8, 1], [8, 46], [8, 91], [8, 136], [8, 181], [8, 226], [8, 271], [8, 316], [5, 15], [5, 60], [5, 105], [5, 150], [5, 195], [5, 240], [5, 285], [5, 330], [2, 29], [2, 74], [2, 119], [2, 164], [2, 209], [2, 254], [2, 299], [2, 344], [7, 6], [7, 51], [7, 96], [7, 141], [7, 186], [7, 231], [7, 276], [7, 321], [4, 20], [4, 65], [4, 110], [4, 155], [4, 200], [4, 245], [4, 290], [4, 335], [1, 34], [1, 79], [1, 124], [1, 169], [1, 214], [1, 259], [1, 304], [1, 349], [6, 11], [6, 56], [6, 101], [6, 146], [6, 191], [6, 236], [6, 281], [6, 326], [3, 25], [3, 70], [3, 115], [3, 160], [3, 205], [3, 250], [3, 295], [3, 340], [8, 2], [8, 47], [8, 92], [8, 137], [8, 182], [8, 227], [8, 272], [8, 317], [5, 16], [5, 61], [5, 106], [5, 151], [5, 196], [5, 241], [5, 286], [5, 331], [2, 30], [2, 75], [2, 120], [2, 165], [2, 210], [2, 255], [2, 300], [2, 345], [7, 7], [7, 52], [7, 97], [7, 142], [7, 187], [7, 232], [7, 277], [7, 322], [4, 21], [4, 66], [4, 111], [4, 156], [4, 201], [4, 246], [4, 291], [4, 336], [1, 35], [1, 80], [1, 125], [1, 170], [1, 215], [1, 260], [1, 305], [1, 350], [6, 12], [6, 57], [6, 102], [6, 147], [6, 192], [6, 237], [6, 282], [6, 327], [3, 26], [3, 71], [3, 116], [3, 161], [3, 206], [3, 251], [3, 296], [3, 341], [8, 3], [8, 48], [8, 93], [8, 138], [8, 183], [8, 228], [8, 273], [8, 318], [5, 17], [5, 62], [5, 107], [5, 152], [5, 197], [5, 242], [5, 287], [5, 332], [2, 31], [2, 76], [2, 121], [2, 166], [2, 211], [2, 256], [2, 301], [2, 346], [7, 8], [7, 53], [7, 98], [7, 143], [7, 188], [7, 233], [7, 278], [7, 323], [4, 22], [4, 67], [4, 112], [4, 157], [4, 202], [4, 247], [4, 292], [4, 337], [1, 36], [1, 81], [1, 126], [1, 171], [1, 216], [1, 261], [1, 306], [1, 351], [6, 13], [6, 58], [6, 103], [6, 148], [6, 193], [6, 238], [6, 283], [6, 328], [3, 27], [3, 72], [3, 117], [3, 162], [3, 207], [3, 252], [3, 297], [3, 342], [8, 4], [8, 49], [8, 94], [8, 139], [8, 184], [8, 229], [8, 274], [8, 319], [5, 18], [5, 63], [5, 108], [5, 153], [5, 198], [5, 243], [5, 288], [5, 333], [2, 32], [2, 77], [2, 122], [2, 167], [2, 212], [2, 257], [2, 302], [2, 347], [7, 9], [7, 54], [7, 99], [7, 144], [7, 189], [7, 234], [7, 279], [7, 324], [4, 23], [4, 68], [4, 113], [4, 158], [4, 203], [4, 248], [4, 293], [4, 338], [6, 14], [6, 59], [6, 104], [6, 149], [6, 194], [6, 239], [6, 284], [6, 329], [3, 28], [3, 73], [3, 118], [3, 163], [3, 208], [3, 253], [3, 298], [3, 343], [8, 5], [8, 50], [8, 95], [8, 140], [8, 185], [8, 230], [8, 275], [8, 320], [5, 19], [5, 64], [5, 109], [5, 154], [5, 199], [5, 244], [5, 289], [5, 334], [2, 33], [2, 78], [2, 123], [2, 168], [2, 213], [2, 258], [2, 303], [2, 348], [7, 10], [7, 55], [7, 100], [7, 145], [7, 190], [7, 235], [7, 280], [7, 325], [4, 24], [4, 69], [4, 114], [4, 159], [4, 204], [4, 249], [4, 294], [4, 339], [6, 15], [6, 60], [6, 105], [6, 150], [6, 195], [6, 240], [6, 285], [6, 330], [3, 29], [3, 74], [3, 119], [3, 164], [3, 209], [3, 254], [3, 299], [3, 344], [8, 6], [8, 51], [8, 96], [8, 141], [8, 186], [8, 231], [8, 276], [8, 321], [5, 20], [5, 65], [5, 110], [5, 155], [5, 200], [5, 245], [5, 290], [5, 335], [2, 34], [2, 79], [2, 124], [2, 169], [2, 214], [2, 259], [2, 304], [2, 349], [7, 11], [7, 56], [7, 101], [7, 146], [7, 191], [7, 236], [7, 281], [7, 326], [4, 25], [4, 70], [4, 115], [4, 160], [4, 205], [4, 250], [4, 295], [4, 340], [6, 16], [6, 61], [6, 106], [6, 151], [6, 196], [6, 241], [6, 286], [6, 331], [3, 30], [3, 75], [3, 120], [3, 165], [3, 210], [3, 255], [3, 300], [3, 345], [8, 7], [8, 52], [8, 97], [8, 142], [8, 187], [8, 232], [8, 277], [8, 322], [5, 21], [5, 66], [5, 111], [5, 156], [5, 201], [5, 246], [5, 291], [5, 336], [2, 35], [2, 80], [2, 125], [2, 170], [2, 215], [2, 260], [2, 305], [2, 350], [7, 12], [7, 57], [7, 102], [7, 147], [7, 192], [7, 237], [7, 282], [7, 327], [4, 26], [4, 71], [4, 116], [4, 161], [4, 206], [4, 251], [4, 296], [4, 341], [6, 17], [6, 62], [6, 107], [6, 152], [6, 197], [6, 242], [6, 287], [6, 332], [3, 31], [3, 76], [3, 121], [3, 166], [3, 211], [3, 256], [3, 301], [3, 346], [8, 8], [8, 53], [8, 98], [8, 143], [8, 188], [8, 233], [8, 278], [8, 323], [5, 22], [5, 67], [5, 112], [5, 157], [5, 202], [5, 247], [5, 292], [5, 337], [2, 36], [2, 81], [2, 126], [2, 171], [2, 216], [2, 261], [2, 306], [2, 351], [7, 13], [7, 58], [7, 103], [7, 148], [7, 193], [7, 238], [7, 283], [7, 328], [4, 27], [4, 72], [4, 117], [4, 162], [4, 207], [4, 252], [4, 297], [4, 342], [6, 18], [6, 63], [6, 108], [6, 153], [6, 198], [6, 243], [6, 288], [6, 333], [3, 32], [3, 77], [3, 122], [3, 167], [3, 212], [3, 257], [3, 302], [3, 347], [8, 9], [8, 54], [8, 99], [8, 144], [8, 189], [8, 234], [8, 279], [8, 324], [5, 23], [5, 68], [5, 113], [5, 158], [5, 203], [5, 248], [5, 293], [5, 338], [7, 14], [7, 59], [7, 104], [7, 149], [7, 194], [7, 239], [7, 284], [7, 329], [4, 28], [4, 73], [4, 118], [4, 163], [4, 208], [4, 253], [4, 298], [4, 343], [6, 19], [6, 64], [6, 109], [6, 154], [6, 199], [6, 244], [6, 289], [6, 334], [3, 33], [3, 78], [3, 123], [3, 168], [3, 213], [3, 258], [3, 303], [3, 348], [8, 10], [8, 55], [8, 100], [8, 145], [8, 190], [8, 235], [8, 280], [8, 325], [5, 24], [5, 69], [5, 114], [5, 159], [5, 204], [5, 249], [5, 294], [5, 339], [7, 15], [7, 60], [7, 105], [7, 150], [7, 195], [7, 240], [7, 285], [7, 330], [4, 29], [4, 74], [4, 119], [4, 164], [4, 209], [4, 254], [4, 299], [4, 344], [6, 20], [6, 65], [6, 110], [6, 155], [6, 200], [6, 245], [6, 290], [6, 335], [3, 34], [3, 79], [3, 124], [3, 169], [3, 214], [3, 259], [3, 304], [3, 349], [8, 11], [8, 56], [8, 101], [8, 146], [8, 191], [8, 236], [8, 281], [8, 326], [5, 25], [5, 70], [5, 115], [5, 160], [5, 205], [5, 250], [5, 295], [5, 340], [7, 16], [7, 61], [7, 106], [7, 151], [7, 196], [7, 241], [7, 286], [7, 331], [4, 30], [4, 75], [4, 120], [4, 165], [4, 210], [4, 255], [4, 300], [4, 345], [6, 21], [6, 66], [6, 111], [6, 156], [6, 201], [6, 246], [6, 291], [6, 336], [3, 35], [3, 80], [3, 125], [3, 170], [3, 215], [3, 260], [3, 305], [3, 350], [8, 12], [8, 57], [8, 102], [8, 147], [8, 192], [8, 237], [8, 282], [8, 327], [5, 26], [5, 71], [5, 116], [5, 161], [5, 206], [5, 251], [5, 296], [5, 341], [7, 17], [7, 62], [7, 107], [7, 152], [7, 197], [7, 242], [7, 287], [7, 332], [4, 31], [4, 76], [4, 121], [4, 166], [4, 211], [4, 256], [4, 301], [4, 346], [6, 22], [6, 67], [6, 112], [6, 157], [6, 202], [6, 247], [6, 292], [6, 337], [3, 36], [3, 81], [3, 126], [3, 171], [3, 216], [3, 261], [3, 306], [3, 351], [8, 13], [8, 58], [8, 103], [8, 148], [8, 193], [8, 238], [8, 283], [8, 328], [5, 27], [5, 72], [5, 117], [5, 162], [5, 207], [5, 252], [5, 297], [5, 342], [7, 18], [7, 63], [7, 108], [7, 153], [7, 198], [7, 243], [7, 288], [7, 333], [4, 32], [4, 77], [4, 122], [4, 167], [4, 212], [4, 257], [4, 302], [4, 347], [6, 23], [6, 68], [6, 113], [6, 158], [6, 203], [6, 248], [6, 293], [6, 338], [8, 14], [8, 59], [8, 104], [8, 149], [8, 194], [8, 239], [8, 284], [8, 329], [5, 28], [5, 73], [5, 118], [5, 163], [5, 208], [5, 253], [5, 298], [5, 343], [7, 19], [7, 64], [7, 109], [7, 154], [7, 199], [7, 244], [7, 289], [7, 334], [4, 33], [4, 78], [4, 123], [4, 168], [4, 213], [4, 258], [4, 303], [4, 348], [6, 24], [6, 69], [6, 114], [6, 159], [6, 204], [6, 249], [6, 294], [6, 339], [8, 15], [8, 60], [8, 105], [8, 150], [8, 195], [8, 240], [8, 285], [8, 330], [5, 29], [5, 74], [5, 119], [5, 164], [5, 209], [5, 254], [5, 299], [5, 344], [7, 20], [7, 65], [7, 110], [7, 155], [7, 200], [7, 245], [7, 290], [7, 335], [4, 34], [4, 79], [4, 124], [4, 169], [4, 214], [4, 259], [4, 304], [4, 349], [6, 25], [6, 70], [6, 115], [6, 160], [6, 205], [6, 250], [6, 295], [6, 340], [8, 16], [8, 61], [8, 106], [8, 151], [8, 196], [8, 241], [8, 286], [8, 331], [5, 30], [5, 75], [5, 120], [5, 165], [5, 210], [5, 255], [5, 300], [5, 345], [7, 21], [7, 66], [7, 111], [7, 156], [7, 201], [7, 246], [7, 291], [7, 336], [4, 35], [4, 80], [4, 125], [4, 170], [4, 215], [4, 260], [4, 305], [4, 350], [6, 26], [6, 71], [6, 116], [6, 161], [6, 206], [6, 251], [6, 296], [6, 341], [8, 17], [8, 62], [8, 107], [8, 152], [8, 197], [8, 242], [8, 287], [8, 332], [5, 31], [5, 76], [5, 121], [5, 166], [5, 211], [5, 256], [5, 301], [5, 346], [7, 22], [7, 67], [7, 112], [7, 157], [7, 202], [7, 247], [7, 292], [7, 337], [4, 36], [4, 81], [4, 126], [4, 171], [4, 216], [4, 261], [4, 306], [4, 351], [6, 27], [6, 72], [6, 117], [6, 162], [6, 207], [6, 252], [6, 297], [6, 342], [8, 18], [8, 63], [8, 108], [8, 153], [8, 198], [8, 243], [8, 288], [8, 333], [5, 32], [5, 77], [5, 122], [5, 167], [5, 212], [5, 257], [5, 302], [5, 347], [7, 23], [7, 68], [7, 113], [7, 158], [7, 203], [7, 248], [7, 293], [7, 338], [6, 28], [6, 73], [6, 118], [6, 163], [6, 208], [6, 253], [6, 298], [6, 343], [8, 19], [8, 64], [8, 109], [8, 154], [8, 199], [8, 244], [8, 289], [8, 334], [5, 33], [5, 78], [5, 123], [5, 168], [5, 213], [5, 258], [5, 303], [5, 348], [7, 24], [7, 69], [7, 114], [7, 159], [7, 204], [7, 249], [7, 294], [7, 339], [6, 29], [6, 74], [6, 119], [6, 164], [6, 209], [6, 254], [6, 299], [6, 344], [8, 20], [8, 65], [8, 110], [8, 155], [8, 200], [8, 245], [8, 290], [8, 335], [5, 34], [5, 79], [5, 124], [5, 169], [5, 214], [5, 259], [5, 304], [5, 349], [7, 25], [7, 70], [7, 115], [7, 160], [7, 205], [7, 250], [7, 295], [7, 340], [6, 30], [6, 75], [6, 120], [6, 165], [6, 210], [6, 255], [6, 300], [6, 345], [8, 21], [8, 66], [8, 111], [8, 156], [8, 201], [8, 246], [8, 291], [8, 336], [5, 35], [5, 80], [5, 125], [5, 170], [5, 215], [5, 260], [5, 305], [5, 350], [7, 26], [7, 71], [7, 116], [7, 161], [7, 206], [7, 251], [7, 296], [7, 341], [6, 31], [6, 76], [6, 121], [6, 166], [6, 211], [6, 256], [6, 301], [6, 346], [8, 22], [8, 67], [8, 112], [8, 157], [8, 202], [8, 247], [8, 292], [8, 337], [5, 36], [5, 81], [5, 126], [5, 171], [5, 216], [5, 261], [5, 306], [5, 351], [7, 27], [7, 72], [7, 117], [7, 162], [7, 207], [7, 252], [7, 297], [7, 342], [6, 32], [6, 77], [6, 122], [6, 167], [6, 212], [6, 257], [6, 302], [6, 347], [8, 23], [8, 68], [8, 113], [8, 158], [8, 203], [8, 248], [8, 293], [8, 338], [7, 28], [7, 73], [7, 118], [7, 163], [7, 208], [7, 253], [7, 298], [7, 343], [6, 33], [6, 78], [6, 123], [6, 168], [6, 213], [6, 258], [6, 303], [6, 348], [8, 24], [8, 69], [8, 114], [8, 159], [8, 204], [8, 249], [8, 294], [8, 339], [7, 29], [7, 74], [7, 119], [7, 164], [7, 209], [7, 254], [7, 299], [7, 344], [6, 34], [6, 79], [6, 124], [6, 169], [6, 214], [6, 259], [6, 304], [6, 349], [8, 25], [8, 70], [8, 115], [8, 160], [8, 205], [8, 250], [8, 295], [8, 340], [7, 30], [7, 75], [7, 120], [7, 165], [7, 210], [7, 255], [7, 300], [7, 345], [6, 35], [6, 80], [6, 125], [6, 170], [6, 215], [6, 260], [6, 305], [6, 350], [8, 26], [8, 71], [8, 116], [8, 161], [8, 206], [8, 251], [8, 296], [8, 341], [7, 31], [7, 76], [7, 121], [7, 166], [7, 211], [7, 256], [7, 301], [7, 346], [6, 36], [6, 81], [6, 126], [6, 171], [6, 216], [6, 261], [6, 306], [6, 351], [8, 27], [8, 72], [8, 117], [8, 162], [8, 207], [8, 252], [8, 297], [8, 342], [7, 32], [7, 77], [7, 122], [7, 167], [7, 212], [7, 257], [7, 302], [7, 347], [8, 28], [8, 73], [8, 118], [8, 163], [8, 208], [8, 253], [8, 298], [8, 343], [7, 33], [7, 78], [7, 123], [7, 168], [7, 213], [7, 258], [7, 303], [7, 348], [8, 29], [8, 74], [8, 119], [8, 164], [8, 209], [8, 254], [8, 299], [8, 344], [7, 34], [7, 79], [7, 124], [7, 169], [7, 214], [7, 259], [7, 304], [7, 349], [8, 30], [8, 75], [8, 120], [8, 165], [8, 210], [8, 255], [8, 300], [8, 345], [7, 35], [7, 80], [7, 125], [7, 170], [7, 215], [7, 260], [7, 305], [7, 350], [8, 31], [8, 76], [8, 121], [8, 166], [8, 211], [8, 256], [8, 301], [8, 346], [7, 36], [7, 81], [7, 126], [7, 171], [7, 216], [7, 261], [7, 306], [7, 351], [8, 32], [8, 77], [8, 122], [8, 167], [8, 212], [8, 257], [8, 302], [8, 347], [8, 33], [8, 78], [8, 123], [8, 168], [8, 213], [8, 258], [8, 303], [8, 348], [8, 34], [8, 79], [8, 124], [8, 169], [8, 214], [8, 259], [8, 304], [8, 349], [8, 35], [8, 80], [8, 125], [8, 170], [8, 215], [8, 260], [8, 305], [8, 350], [0, 37], [0, 82], [0, 127], [0, 172], [0, 217], [0, 262], [0, 307], [0, 352], [8, 36], [8, 81], [8, 126], [8, 171], [8, 216], [8, 261], [8, 306], [8, 351], [0, 38], [0, 83], [0, 128], [0, 173], [0, 218], [0, 263], [0, 308], [0, 353], [1, 37], [1, 82], [1, 127], [1, 172], [1, 217], [1, 262], [1, 307], [1, 352], [0, 39], [0, 84], [0, 129], [0, 174], [0, 219], [0, 264], [0, 309], [0, 354], [1, 38], [1, 83], [1, 128], [1, 173], [1, 218], [1, 263], [1, 308], [1, 353], [2, 37], [2, 82], [2, 127], [2, 172], [2, 217], [2, 262], [2, 307], [2, 352], [0, 40], [0, 85], [0, 130], [0, 175], [0, 220], [0, 265], [0, 310], [0, 355], [3, 37], [3, 82], [3, 127], [3, 172], [3, 217], [3, 262], [3, 307], [3, 352], [1, 39], [1, 84], [1, 129], [1, 174], [1, 219], [1, 264], [1, 309], [1, 354], [2, 38], [2, 83], [2, 128], [2, 173], [2, 218], [2, 263], [2, 308], [2, 353], [0, 41], [0, 86], [0, 131], [0, 176], [0, 221], [0, 266], [0, 311], [0, 356], [2, 39], [2, 84], [2, 129], [2, 174], [2, 219], [2, 264], [2, 309], [2, 354], [1, 40], [1, 85], [1, 130], [1, 175], [1, 220], [1, 265], [1, 310], [1, 355], [3, 38], [3, 83], [3, 128], [3, 173], [3, 218], [3, 263], [3, 308], [3, 353], [4, 37], [4, 82], [4, 127], [4, 172], [4, 217], [4, 262], [4, 307], [4, 352], [0, 42], [0, 87], [0, 132], [0, 177], [0, 222], [0, 267], [0, 312], [0, 357], [1, 41], [1, 86], [1, 131], [1, 176], [1, 221], [1, 266], [1, 311], [1, 356], [2, 40], [2, 85], [2, 130], [2, 175], [2, 220], [2, 265], [2, 310], [2, 355], [3, 39], [3, 84], [3, 129], [3, 174], [3, 219], [3, 264], [3, 309], [3, 354], [4, 38], [4, 83], [4, 128], [4, 173], [4, 218], [4, 263], [4, 308], [4, 353], [5, 37], [5, 82], [5, 127], [5, 172], [5, 217], [5, 262], [5, 307], [5, 352], [0, 43], [0, 88], [0, 133], [0, 178], [0, 223], [0, 268], [0, 313], [0, 358], [1, 42], [1, 87], [1, 132], [1, 177], [1, 222], [1, 267], [1, 312], [1, 357], [2, 41], [2, 86], [2, 131], [2, 176], [2, 221], [2, 266], [2, 311], [2, 356], [3, 40], [3, 85], [3, 130], [3, 175], [3, 220], [3, 265], [3, 310], [3, 355], [4, 39], [4, 84], [4, 129], [4, 174], [4, 219], [4, 264], [4, 309], [4, 354], [5, 38], [5, 83], [5, 128], [5, 173], [5, 218], [5, 263], [5, 308], [5, 353], [0, 44], [0, 89], [0, 134], [0, 179], [0, 224], [0, 269], [0, 314], [0, 359], [6, 37], [6, 82], [6, 127], [6, 172], [6, 217], [6, 262], [6, 307], [6, 352], [1, 43], [1, 88], [1, 133], [1, 178], [1, 223], [1, 268], [1, 313], [1, 358], [2, 42], [2, 87], [2, 132], [2, 177], [2, 222], [2, 267], [2, 312], [2, 357], [3, 41], [3, 86], [3, 131], [3, 176], [3, 221], [3, 266], [3, 311], [3, 356], [4, 40], [4, 85], [4, 130], [4, 175], [4, 220], [4, 265], [4, 310], [4, 355], [5, 39], [5, 84], [5, 129], [5, 174], [5, 219], [5, 264], [5, 309], [5, 354], [6, 38], [6, 83], [6, 128], [6, 173], [6, 218], [6, 263], [6, 308], [6, 353], [1, 44], [1, 89], [1, 134], [1, 179], [1, 224], [1, 269], [1, 314], [1, 359], [7, 37], [7, 82], [7, 127], [7, 172], [7, 217], [7, 262], [7, 307], [7, 352], [2, 43], [2, 88], [2, 133], [2, 178], [2, 223], [2, 268], [2, 313], [2, 358], [3, 42], [3, 87], [3, 132], [3, 177], [3, 222], [3, 267], [3, 312], [3, 357], [4, 41], [4, 86], [4, 131], [4, 176], [4, 221], [4, 266], [4, 311], [4, 356], [5, 40], [5, 85], [5, 130], [5, 175], [5, 220], [5, 265], [5, 310], [5, 355], [6, 39], [6, 84], [6, 129], [6, 174], [6, 219], [6, 264], [6, 309], [6, 354], [7, 38], [7, 83], [7, 128], [7, 173], [7, 218], [7, 263], [7, 308], [7, 353], [2, 44], [2, 89], [2, 134], [2, 179], [2, 224], [2, 269], [2, 314], [2, 359], [8, 37], [8, 82], [8, 127], [8, 172], [8, 217], [8, 262], [8, 307], [8, 352], [3, 43], [3, 88], [3, 133], [3, 178], [3, 223], [3, 268], [3, 313], [3, 358], [4, 42], [4, 87], [4, 132], [4, 177], [4, 222], [4, 267], [4, 312], [4, 357], [5, 41], [5, 86], [5, 131], [5, 176], [5, 221], [5, 266], [5, 311], [5, 356], [6, 40], [6, 85], [6, 130], [6, 175], [6, 220], [6, 265], [6, 310], [6, 355], [7, 39], [7, 84], [7, 129], [7, 174], [7, 219], [7, 264], [7, 309], [7, 354], [8, 38], [8, 83], [8, 128], [8, 173], [8, 218], [8, 263], [8, 308], [8, 353], [3, 44], [3, 89], [3, 134], [3, 179], [3, 224], [3, 269], [3, 314], [3, 359], [4, 43], [4, 88], [4, 133], [4, 178], [4, 223], [4, 268], [4, 313], [4, 358], [5, 42], [5, 87], [5, 132], [5, 177], [5, 222], [5, 267], [5, 312], [5, 357], [6, 41], [6, 86], [6, 131], [6, 176], [6, 221], [6, 266], [6, 311], [6, 356], [7, 40], [7, 85], [7, 130], [7, 175], [7, 220], [7, 265], [7, 310], [7, 355], [8, 39], [8, 84], [8, 129], [8, 174], [8, 219], [8, 264], [8, 309], [8, 354], [4, 44], [4, 89], [4, 134], [4, 179], [4, 224], [4, 269], [4, 314], [4, 359], [5, 43], [5, 88], [5, 133], [5, 178], [5, 223], [5, 268], [5, 313], [5, 358], [6, 42], [6, 87], [6, 132], [6, 177], [6, 222], [6, 267], [6, 312], [6, 357], [7, 41], [7, 86], [7, 131], [7, 176], [7, 221], [7, 266], [7, 311], [7, 356], [8, 40], [8, 85], [8, 130], [8, 175], [8, 220], [8, 265], [8, 310], [8, 355], [5, 44], [5, 89], [5, 134], [5, 179], [5, 224], [5, 269], [5, 314], [5, 359], [6, 43], [6, 88], [6, 133], [6, 178], [6, 223], [6, 268], [6, 313], [6, 358], [7, 42], [7, 87], [7, 132], [7, 177], [7, 222], [7, 267], [7, 312], [7, 357], [8, 41], [8, 86], [8, 131], [8, 176], [8, 221], [8, 266], [8, 311], [8, 356], [6, 44], [6, 89], [6, 134], [6, 179], [6, 224], [6, 269], [6, 314], [6, 359], [7, 43], [7, 88], [7, 133], [7, 178], [7, 223], [7, 268], [7, 313], [7, 358], [8, 42], [8, 87], [8, 132], [8, 177], [8, 222], [8, 267], [8, 312], [8, 357], [7, 44], [7, 89], [7, 134], [7, 179], [7, 224], [7, 269], [7, 314], [7, 359], [8, 43], [8, 88], [8, 133], [8, 178], [8, 223], [8, 268], [8, 313], [8, 358], [8, 44], [8, 89], [8, 134], [8, 179], [8, 224], [8, 269], [8, 314], [8, 359]] \ No newline at end of file diff --git a/research/staged544-mixed-idle-rebind/inputs/PLAN.json.gz b/research/staged544-mixed-idle-rebind/inputs/PLAN.json.gz new file mode 100644 index 0000000000..7a1db55a4d Binary files /dev/null and b/research/staged544-mixed-idle-rebind/inputs/PLAN.json.gz differ diff --git a/research/staged544-mixed-idle-rebind/inputs/PR4085-PROFILE.json b/research/staged544-mixed-idle-rebind/inputs/PR4085-PROFILE.json new file mode 100644 index 0000000000..8f342d307e --- /dev/null +++ b/research/staged544-mixed-idle-rebind/inputs/PR4085-PROFILE.json @@ -0,0 +1,9 @@ +{ + "1": 8057880, + "2": 2310120, + "3": 748602, + "4": 330480, + "5": 66690, + "8": 25920, + "48": 138438 +} diff --git a/research/staged544-mixed-idle-rebind/inputs/TEMPLATE.json.gz b/research/staged544-mixed-idle-rebind/inputs/TEMPLATE.json.gz new file mode 100644 index 0000000000..114808c32b Binary files /dev/null and b/research/staged544-mixed-idle-rebind/inputs/TEMPLATE.json.gz differ diff --git a/research/staged544-mixed-idle-rebind/inputs/THREE-base.json.gz b/research/staged544-mixed-idle-rebind/inputs/THREE-base.json.gz new file mode 100644 index 0000000000..137793e275 Binary files /dev/null and b/research/staged544-mixed-idle-rebind/inputs/THREE-base.json.gz differ diff --git a/research/staged544-mixed-idle-rebind/inputs/THREE-extra.json.gz b/research/staged544-mixed-idle-rebind/inputs/THREE-extra.json.gz new file mode 100644 index 0000000000..7cce921b20 Binary files /dev/null and b/research/staged544-mixed-idle-rebind/inputs/THREE-extra.json.gz differ diff --git a/research/staged544-mixed-idle-rebind/vendor/rebind.py b/research/staged544-mixed-idle-rebind/vendor/rebind.py new file mode 100644 index 0000000000..a0453d3e95 --- /dev/null +++ b/research/staged544-mixed-idle-rebind/vendor/rebind.py @@ -0,0 +1,59 @@ +"""rebind.py: rebind PR1319's T74 data (PLAN/SPEC) to new native provider directories with UNCHANGED interfaces (ports, +centres, widths), for discovery -> unpin -> freeze -> strict replay. Updates only provider-derived fields: +provider_registry..{actual_paid_profile, artifact_semantic_sha256, artifact_sha256, orientation_program_sha256}, +provider_calls[*].local_program_sha256, PLAN.profile (recomputed from the dispatch and the new local paid profiles plus the +unchanged idle remainder), and SPEC.data.plan_sha256 / SPEC.expected.global_profile. +usage: rebind.py PR1319_PKG_DIR GAUGE44_LOCAL EXTRA_LOCAL OUT_DATA_DIR (also writes PROFILE.json with the new global profile)""" +import collections, gzip, hashlib, json, shutil, sys +from pathlib import Path +pkg, loc_g, loc_e, out = map(Path, sys.argv[1:5]); sys.path.insert(0, str(pkg / 'code')) +from generated_identity import artifact_identities +def rd(p): return json.loads(gzip.decompress(p.read_bytes()) if p.suffix == '.gz' else p.read_bytes()) +def sha(p): return hashlib.sha256(p.read_bytes()).hexdigest() +out.mkdir(parents=True, exist_ok=False) +for n in ['PLAN.json', 'PROFILE.json', 'OWNERS.json.gz', 'DISPATCH.json', 'CONSTRUCTION.json', 'GLOBAL-TEMPLATE.json.gz']: shutil.copy2(pkg / n, out / n) +plan = rd(pkg / 'PLAN.json'); spec = rd(pkg / 'new/SPEC.json'); old_profile = dict(plan['profile']) # SPEC base = the frozen outer-refinement new/SPEC.json (rebound fields only are rewritten) +locs = {'gauge44': loc_g, 'extra': loc_e}; counts = collections.Counter(c['provider'] for c in plan['provider_calls']); changes = {} +for pid, d in locs.items(): + desc = plan['provider_registry'][pid]; word = rd(d / 'CANONICAL-WORD.json.gz'); checks = rd(d / 'LOCAL-CHECKS.json') + assert word['ports'] == desc['ports'] and word['centers'] == desc['centers'], pid + widths = [len(word['frames'][word['final'][r]]) - len(word['frames'][word['start'][r]]) for r in range(2 * 112, 2 * 112 + word['R'])] + if widths != desc['widths']: # width-changing rebind (borrowed words): helper count/widths come from the native word + assert len(widths) == word['R'], pid + desc['widths'] = widths + for c in plan['per_call_widths']: + if plan['provider_calls'][c['time']]['provider'] == pid: c['widths'] = widths + new = dict(actual_paid_profile={str(k): v for k, v in sorted({int(k): v for k, v in checks['forward']['paid_profile'].items()}.items())}, + artifact_semantic_sha256=artifact_identities(d), + artifact_sha256={name: sha(d / name) for name in desc['artifact_sha256']}, + orientation_program_sha256={o: checks[o]['sha256'] for o in ('backward', 'forward')}) + changes[pid] = {k: (desc.get(k), v) for k, v in new.items() if desc.get(k) != v} + desc.update(new) + for c in plan['provider_calls']: + if c['provider'] == pid: c['local_program_sha256'] = checks[c['orientation']]['sha256'] +prof = collections.Counter() +for pid, n in counts.items(): + for r, v in plan['provider_registry'][pid]['actual_paid_profile'].items(): prof[int(r)] += n * v +idle = {int(r): v for r, v in rd(pkg / 'CONSTRUCTION.json')['idle'].items()} # exact idle ranks of the shipped owner fill +for r, v in idle.items(): prof[r] += v +new_profile = {str(k): v for k, v in sorted(prof.items())} +# sanity: the recomputation reproduces the OLD profile from the OLD local profiles +oldp = collections.Counter() +for pid, n in counts.items(): + for r, v in rd(pkg / 'PLAN.json')['provider_registry'][pid]['actual_paid_profile'].items(): oldp[int(r)] += n * v +for r, v in idle.items(): oldp[r] += v +assert {str(k): v for k, v in oldp.items()} == {k: v for k, v in old_profile.items()}, 'profile recomputation rule mismatch' +plan['profile'] = new_profile +(out / 'PROFILE.json').write_text(json.dumps(new_profile, separators=(',', ':')) + '\n') +(out / 'PLAN.json').write_text(json.dumps(plan, indent=2) + '\n') +spec['data']['plan_sha256'] = sha(out / 'PLAN.json'); spec['data']['owners_sha256'] = sha(pkg / 'OWNERS.json.gz'); spec['expected']['global_profile'] = new_profile +roles = rd(pkg / 'OWNERS.json.gz'); R = len(next(iter(plan['provider_registry'].values()))['widths']) +spec['expected'].update(idle_remainder_profile={str(k): v for k, v in sorted(idle.items())}, idle_remainders=sum(idle.values()), hosted_residuals=len(roles), + cross_replica_helper_roles=sum(z['replica'] != z['owner_replica'] for z in roles), physical=spec['expected']['live'] + 8 + R + 2) +for pid, desc in plan['provider_registry'].items(): spec['providers'].setdefault(pid, {})['inventory'] = {str(k): v for k, v in sorted(collections.Counter(desc['widths']).items())} +piv = {x['pivot'] for x in rd(pkg / spec['pivot_swap']['recipe'])['swaps']} # same expectation as code/witness.py spot_widths() +assert all(desc['widths'][h] == (9 if 2 * 112 + h in piv else 8) for desc in plan['provider_registry'].values() for h in spec['width_spot_helpers']), 'spot helper width pins' +(out / 'SPEC.json').write_text(json.dumps(spec, indent=2) + '\n') +json.dump(dict(provider_counts=counts, old_profile=old_profile, new_profile=new_profile, changed_fields={p: sorted(c) for p, c in changes.items()}, + new_paid={p: plan['provider_registry'][p]['actual_paid_profile'] for p in locs}), open(out / 'REBIND.json', 'w'), indent=1, sort_keys=True) +print('provider counts', dict(counts), '| new profile', new_profile, '| changed', {p: sorted(c) for p, c in changes.items()}) diff --git a/research/staged544-mixed-idle-rebind/verify.py b/research/staged544-mixed-idle-rebind/verify.py new file mode 100644 index 0000000000..579fa83101 --- /dev/null +++ b/research/staged544-mixed-idle-rebind/verify.py @@ -0,0 +1,429 @@ +#!/usr/bin/env python3 +"""Independent idle scan of PR #4088's mixed fourth-entry fill. + +The ordinary admission rebind keeps one width vector per orientation and adds +the shipped idle remainder unchanged. This verifier scans the literal rows +itself, then shows that rule cannot carry the scanned invoice. + +Prepared by unpaidmoon with substantial Cursor Grok assistance. Apache-2.0. +The alternating log/exp enclosure is reimplemented here; no PR #4088 module +is imported. +""" +from collections import Counter +from fractions import Fraction as Q +from functools import lru_cache +from pathlib import Path +import gzip +import hashlib +import json +import math + +HERE = Path(__file__).resolve().parent +SHA256 = { + "inputs/DISPATCH.json": "5d6fa711d704a1b498e5fe066ea821c4fa0217463702e82a7ce5be9da4023e8a", + "inputs/FILL.json.gz": "45f5bce58f2251b784b0ab89ca4657e0920515209810cfabd7e32d9a126e2db1", + "inputs/FOUR-base.json.gz": "aecaddba48fdff6353a6511c3623346b05aa607e30103fb016604a2b1025ce95", + "inputs/FOUR-extra.json.gz": "615093190aa5479034bb8acdd8925d7a910e082b84dec7df84b459b62421235a", + "inputs/MIXED-DISPATCH.json": "7f3b4a82e556300e5cfa5f873a5b1975f5d1a10b494316289f6662941b8e39f2", + "inputs/NATIVE-base.json.gz": "bfe0cc0badac6c6d18461ceea0b299162c0f280c05f81b63f11fcc06cf9180e6", + "inputs/NATIVE-extra.json.gz": "c5eec94a64cecfd6b83de05619628ad4868e889d62a55b49973f09705cc60448", + "inputs/ORDER.json": "743e74b538432e2b2045e754b0de9c18f36fc5039fdb8eb542177a898ec78e44", + "inputs/PLAN.json.gz": "d566cfb87b71639d4138e1f89b543e2dd6a7772070226a2a14c799a6835bf21e", + "inputs/PR4085-PROFILE.json": "610cd49ed71e684481182ee3c7e5d1686f6a376ef8c6e74e3c3615bbb842d841", + "inputs/TEMPLATE.json.gz": "21297b20f1f2dc76eb9dd8124416068c3cb096bab9df17fa4da19bc68dfe082e", + "inputs/THREE-base.json.gz": "df31495cff95a1e512da398f52841c6b5ade29067869b3d68b89d756a5641112", + "inputs/THREE-extra.json.gz": "9a28f7ef91938c0866e408eb06e03eb5f8e727a00b44eb936ddd5ed48704bd4c", + "vendor/rebind.py": "faf283eb4edd2e6a1ccb40b3cb3ba30ae54338eaf5ea0a10d84d11d7939502af", +} +CLAIMED_PROFILE = {1: 8060060, 2: 2310120, 3: 751813, 4: 327210, 5: 66425, 8: 25920, 48: 138492} +CLAIMED_IDLE = {3: 22783, 5: 1625, 48: 138492} +PREDECESSOR_PROFILE = {1: 8057880, 2: 2310120, 3: 748602, 4: 330480, 5: 66690, 8: 25920, 48: 138438} +PREDECESSOR_IDLE = {3: 22842, 5: 1890, 48: 138438} +IDLE_DELTA = {3: -59, 5: -265, 48: 54} +LOCAL_THREE = {1: 2487, 2: 713, 3: 224, 4: 102, 5: 20, 8: 8} +LOCAL_FOUR = {1: 2489, 2: 713, 3: 227, 4: 99, 5: 20, 8: 8} +WIDTH_THREE = {5: 28, 6: 18, 7: 56, 8: 93, 9: 213} +WIDTH_FOUR = {5: 28, 6: 18, 7: 57, 8: 92, 9: 213} +CLAIMED_LOWER = Q("0.001730979115670792472760") +CLAIMED_UPPER = Q("0.001730979115670792472761") +PREDECESSOR_LOWER = Q("0.001730970419199163702738") +PREDECESSOR_UPPER = Q("0.001730970419199163702739") +PARENT_RANK = 73 +REPLICAS = 360 +LIVE_FAMILIES = 896 +FULL = [1 << j for j in range(9)] + + +def need(ok, why): + if not ok: + raise ValueError(why) + + +def sha256(path): + return hashlib.sha256(path.read_bytes()).hexdigest() + + +def read_json(path): + raw = path.read_bytes() + if path.suffix == ".gz": + raw = gzip.decompress(raw) + return json.loads(raw) + + +def f2_rank(vectors): + pivots = {} + for value in vectors: + need(type(value) is int and 0 <= value < 512, "frame vector") + while value: + bit = value.bit_length() - 1 + if bit in pivots: + value ^= pivots[bit] + else: + pivots[bit] = value + break + return len(pivots) + + +def helper_widths(word, origin): + widths = [] + for register in origin: + final = word["helper_final"].get(str(register), FULL) + start = word["start_extra"].get(str(register), []) + widths.append(f2_rank(final) - f2_rank(start)) + return widths + + +def windows_for(order, template, plan): + clock = {tuple(call): time for time, call in enumerate(order)} + need(len(order) == 9 * REPLICAS, "call count") + need(set(clock) == {(stage, replica) for stage in range(9) for replica in range(REPLICAS)}, "complete order") + need(all(clock[stage, replica] < clock[stage + 1, replica] for replica in range(REPLICAS) for stage in range(8)), + "stage order") + ranks = {} + for child in template["idle_children"]: + previous = ranks.get(child["child"]) + need(previous in (None, child["rank"]), "stable child rank") + ranks[child["child"]] = child["rank"] + pair_of_stage = {row["stage"]: row["pair"] for row in template["recipe"] if row["kind"] == "local"} + family = {child: 2 * plan["pairs"][str(child)] + plan["sides"][str(child)] for child in ranks} + windows = {} + for replica in range(REPLICAS): + touched = {} + tick = None + for event in template["execution_schedule"]: + kind = event["kind"] + if kind == "local_cover_sweep": + tick = clock[event["stage"], replica] + touched[pair_of_stage[event["stage"]]] = tick + elif kind == "bridge": + touched[event["src"]] = tick + touched[event["dst"]] = tick + elif kind == "idle_cover_sweep": + for child in event["child_indices"]: + if child in ranks: + need((replica, child) not in windows, "duplicate owner child") + windows[replica, child] = (ranks[child], touched.get(event["pair"], -1), tick) + else: + need(kind in ("bank_padding_cover_sweep", "translate_every_live_family", + "terminal_Y_translations", "terminal"), "schedule kind") + shared = {} + for (replica, child), (_, low, high) in windows.items(): + shared.setdefault((replica, family[child]), []).append((low, high)) + for intervals in shared.values(): + for index, (left_low, left_high) in enumerate(intervals): + for right_low, right_high in intervals[index + 1:]: + need(max(left_low, right_low) >= min(left_high, right_high), "same-family windows overlap") + return clock, windows, family + + +def walk(rows, order, provider, windows, family, widths): + need(len(rows) == 3240 * 408, "role coverage") + used = {} + for index, row in enumerate(rows): + need(len(row) == 6 and all(type(value) is int for value in row), "integer row") + time, helper, replica, child, port, offset = row + need(time == index // 408 and helper == index % 408, "row identity") + if helper == 0: + families = set() + need((replica, child) in windows and 0 <= port < 112, "owner bin") + capacity, low, high = windows[replica, child] + need(low < time <= high, "chronology") + family_key = (replica, family[child], port) + need(family_key not in families, "same-call family") + families.add(family_key) + bin_key = (replica, child, port) + prefix = used.get(bin_key, 0) + need(offset == prefix, "compact offset") + width = widths[provider[tuple(order[time])]][helper] + need(prefix + width <= capacity, "capacity") + used[bin_key] = prefix + width + idle = Counter() + for (replica, child), (capacity, _low, _high) in windows.items(): + for port in range(112): + leftover = capacity - used.get((replica, child, port), 0) + if leftover: + idle[leftover] += 1 + return used, dict(sorted(idle.items())) + + +def assemble(order, provider, local, idle): + profile = Counter(idle) + for call in order: + profile.update(local[provider[tuple(call)]]) + return dict(sorted(profile.items())) + + +def outward(low, high, digits): + scale = 10 ** digits + lower = (low.numerator * scale) // low.denominator + upper = -((-high.numerator * scale) // high.denominator) + return Q(lower, scale), Q(upper, scale) + + +@lru_cache(None) +def log_bounds(rank): + need(type(rank) is int and 1 <= rank <= PARENT_RANK, "rank") + + def series(value): + z = (value - 1) / (value + 1) + terms = 120 + partial = 2 * sum((z ** (2 * j + 1) / Q(2 * j + 1) for j in range(terms)), Q()) + tail = 2 * z ** (2 * terms + 1) / (Q(2 * terms + 1) * (1 - z * z)) + return partial, partial + tail + + exponent = rank.bit_length() - 1 + low_unit, high_unit = series(Q(rank, 1 << exponent)) + low_two, high_two = series(Q(2)) + return outward(low_unit + exponent * low_two, high_unit + exponent * high_two, 80) + + +def exp_minus_bounds(low, high): + need(0 <= low <= high < 1, "exponent range") + + def partial(value, degree): + return sum(((-value) ** j / Q(math.factorial(j)) for j in range(degree + 1)), Q()) + + return partial(high, 25), partial(low, 24) + + +def moment_bounds(profile, exponent): + need(0 < exponent < Q(1, 100), "moment exponent") + low = high = Q() + for rank, count in profile.items(): + need(type(count) is int, "integer count") + log_low, log_high = log_bounds(rank) + factor_low, factor_high = exp_minus_bounds(exponent * log_low, exponent * log_high) + power_low, power_high = rank * factor_low, rank * factor_high + low += count * (power_low if count >= 0 else power_high) + high += count * (power_high if count >= 0 else power_low) + return outward(low, high, 60) + + +def signed(profile): + total = dict(profile) + total[PARENT_RANK] = total.get(PARENT_RANK, 0) - LIVE_FAMILIES * REPLICAS + return total + + +def certify(profile, lower, upper): + low_moment = moment_bounds(signed(profile), lower) + high_moment = moment_bounds(signed(profile), upper) + need(low_moment[1] < 0 < high_moment[0], "moment signs") + return low_moment, high_moment + + +def root_bracket(profile, low, high, steps): + for _ in range(steps): + mid = (low + high) / 2 + moment_low, moment_high = moment_bounds(signed(profile), mid) + if moment_high < 0: + low = mid + elif moment_low > 0: + high = mid + else: + raise ValueError("moment enclosure too wide to isolate the frozen-idle root") + return low, high + + +def reject(label, function, controls): + try: + function() + except ValueError: + controls.append(label) + return + raise ValueError("mutation was accepted: " + label) + + +def main(): + for relative, digest in SHA256.items(): + need(sha256(HERE / relative) == digest, "pinned bytes " + relative) + rebind = (HERE / "vendor/rebind.py").read_text(encoding="utf-8") + need("locs = {'gauge44': loc_g, 'extra': loc_e}" in rebind, "two-provider rebind") + need("unchanged idle remainder" in rebind, "rebind docstring") + need("CONSTRUCTION.json')['idle']" in rebind, "shipped idle source") + need("c['widths'] = widths" in rebind, "uniform width stamp") + need("n * v" in rebind, "one local profile times the call count") + + order = read_json(HERE / "inputs/ORDER.json") + template = read_json(HERE / "inputs/TEMPLATE.json.gz") + plan = read_json(HERE / "inputs/PLAN.json.gz") + clock, windows, family = windows_for(order, template, plan) + need(len(windows) == 18 * REPLICAS, "owner windows") + old_dispatch = read_json(HERE / "inputs/DISPATCH.json") + published = read_json(HERE / "inputs/MIXED-DISPATCH.json") + mixed = [[stage, replica, provider + ("-four" if (109 * clock[stage, replica]) % 324 < 109 else "")] + for stage, replica, provider in old_dispatch] + need(mixed == published, "published mixed dispatch") + provider = {(stage, replica): tag for stage, replica, tag in mixed} + counts = Counter(provider.values()) + need(counts == Counter({"extra": 1110, "gauge44": 1040, "extra-four": 562, "gauge44-four": 528}), + "provider counts") + need(sum(1 for tag in provider.values() if tag.endswith("-four")) == 1090, "fourth-call count") + need(all(sum(1 for time in range(start, start + 324) if (109 * time) % 324 < 109) == 109 + for start in range(0, 3240, 324)), "ten exact periods") + + origin = read_json(HERE / "inputs/NATIVE-base.json.gz")["helper_origin"] + need(origin == read_json(HERE / "inputs/NATIVE-extra.json.gz")["helper_origin"], "helper order") + need(origin[367] == 601, "helper 601 index") + local = {} + widths = {} + for kind, suffix, expected_local, expected_widths in ( + ("THREE", "", LOCAL_THREE, WIDTH_THREE), + ("FOUR", "-four", LOCAL_FOUR, WIDTH_FOUR)): + for tag, pid in (("base", "gauge44"), ("extra", "extra")): + word = read_json(HERE / f"inputs/{kind}-{tag}.json.gz") + removed = set(word["removed"]) + need(origin == sorted(set(range(224, 704)) - removed), "native helper domain") + vector = helper_widths(word, origin) + histogram = dict(sorted(Counter(vector).items())) + report = {int(rank): count for rank, count in word["report"]["local_profile"].items()} + need(histogram == expected_widths, "width inventory") + need(report == expected_local, "declared local profile") + need(sum(rank * count for rank, count in report.items()) == (5157 if kind == "THREE" else 5156), + "local rank mass") + local[pid + suffix] = report + widths[pid + suffix] = vector + need(widths["gauge44"] == widths["extra"], "three-entry widths agree") + need(widths["gauge44-four"] == widths["extra-four"], "four-entry widths agree") + differences = [index for index, (left, right) in enumerate(zip(widths["gauge44"], widths["gauge44-four"])) + if left != right] + need(differences == [367] and widths["gauge44"][367] == 8 and widths["gauge44-four"][367] == 7, + "only helper 601 narrows") + + fill = read_json(HERE / "inputs/FILL.json.gz") + need(fill["dispatch_overrides"] == [], "no hidden dispatch overrides") + _used, idle = walk(fill["rows"], order, provider, windows, family, widths) + profile = assemble(order, provider, local, idle) + need(idle == CLAIMED_IDLE, "scanned idle") + need(profile == CLAIMED_PROFILE, "scanned profile") + need(sum(rank * count for rank, count in profile.items()) == 65088 * REPLICAS, "paid rank mass") + predecessor = {int(rank): count for rank, count in read_json(HERE / "inputs/PR4085-PROFILE.json").items()} + need(predecessor == PREDECESSOR_PROFILE, "predecessor profile pin") + derived_idle = Counter() + for rank, count in predecessor.items(): + derived_idle[rank] += count + for rank, count in LOCAL_THREE.items(): + derived_idle[rank] -= 3240 * count + need(dict(sorted((rank, count) for rank, count in derived_idle.items() if count)) == PREDECESSOR_IDLE, + "predecessor idle") + need({rank: CLAIMED_IDLE.get(rank, 0) - PREDECESSOR_IDLE.get(rank, 0) for rank in IDLE_DELTA} == IDLE_DELTA, + "idle delta") + need(sum(rank * count for rank, count in IDLE_DELTA.items()) == 1090, "idle rank-mass increase") + need(1090 * (sum(rank * count for rank, count in LOCAL_FOUR.items()) + - sum(rank * count for rank, count in LOCAL_THREE.items())) == -1090, + "local rank-mass decrease") + + orientation_counts = Counter() + rank_one_extra = Counter() + width_split = Counter() + for call, tag in provider.items(): + base = tag.removesuffix("-four") + orientation_counts[base] += 1 + if tag.endswith("-four"): + rank_one_extra[base] += 2 + width_split[base, widths[tag][367]] += 1 + need(orientation_counts == Counter({"gauge44": 1568, "extra": 1672}), "orientation calls") + need(rank_one_extra["gauge44"] % orientation_counts["gauge44"] != 0, "gauge44 rank-1 indivisible") + need(rank_one_extra["extra"] % orientation_counts["extra"] != 0, "extra rank-1 indivisible") + need(width_split == Counter({("extra", 8): 1110, ("gauge44", 8): 1040, + ("extra", 7): 562, ("gauge44", 7): 528}), + "width split inside each orientation") + + local_sum = Counter() + for call in order: + local_sum.update(local[provider[tuple(call)]]) + frozen = Counter(local_sum) + frozen.update(PREDECESSOR_IDLE) + frozen_profile = dict(sorted(frozen.items())) + need(frozen_profile != profile, "frozen idle misses the scan") + gap = {rank: frozen_profile.get(rank, 0) - profile.get(rank, 0) + for rank in set(frozen_profile) | set(profile)} + need({rank: count for rank, count in gap.items() if count} == {3: 59, 5: 265, 48: -54}, + "frozen-idle gap is the negative idle delta") + need(sum(rank * count for rank, count in profile.items()) + - sum(rank * count for rank, count in frozen_profile.items()) == 1090, + "frozen invoice drops 1090 rank units") + + true_low, true_high = certify(profile, CLAIMED_LOWER, CLAIMED_UPPER) + certify(predecessor, PREDECESSOR_LOWER, PREDECESSOR_UPPER) + endpoint = CLAIMED_LOWER - Q(1, 10 ** 46) - Q(1, 10 ** 70) + need(moment_bounds(signed(profile), endpoint)[1] < 0, "padded endpoint") + need(endpoint - PREDECESSOR_UPPER > Q(869, 10 ** 11), "gain over the two-provider endpoint") + frozen_low, frozen_high = root_bracket(frozen_profile, Q("0.001747"), Q("0.001748"), 24) + need(frozen_low - CLAIMED_UPPER > Q(162, 10 ** 7), "frozen-idle root overstates the scan") + need(frozen_high < Q("0.00174723"), "frozen-idle root upper") + + controls = [] + + def wrong_threshold(): + other = [[stage, replica, tag + ("-four" if (108 * clock[stage, replica]) % 324 < 108 else "")] + for stage, replica, tag in old_dispatch] + need(other == published, "wrong selector matched the published dispatch") + + def stamp_three_entry_width(): + altered = dict(provider) + altered[tuple(order[0])] = altered[tuple(order[0])].removesuffix("-four") + need(provider[tuple(order[0])].endswith("-four"), "control call is fourth-entry") + walk(fill["rows"], order, altered, windows, family, widths) + + def frozen_at_claimed_bracket(): + certify(frozen_profile, CLAIMED_LOWER, CLAIMED_UPPER) + + def extra_rank_one(): + bad = dict(profile) + bad[1] += 1 + certify(bad, CLAIMED_LOWER, CLAIMED_UPPER) + + def predecessor_at_claimed_bracket(): + certify(predecessor, CLAIMED_LOWER, CLAIMED_UPPER) + + reject("threshold-108-dispatch", wrong_threshold, controls) + reject("three-entry-width-on-fourth-call", stamp_three_entry_width, controls) + reject("frozen-idle-at-claimed-bracket", frozen_at_claimed_bracket, controls) + reject("one-extra-rank-one", extra_rank_one, controls) + reject("predecessor-profile-at-claimed-bracket", predecessor_at_claimed_bracket, controls) + need(controls == ["threshold-108-dispatch", "three-entry-width-on-fourth-call", + "frozen-idle-at-claimed-bracket", "one-extra-rank-one", + "predecessor-profile-at-claimed-bracket"], "control list") + + print(json.dumps({ + "status": "PASS_MIXED_FOURTH_IDLE_REBIND_OBSTRUCTION", + "scanned_profile": profile, + "scanned_idle": idle, + "idle_delta_from_predecessor": IDLE_DELTA, + "helper_601_index": 367, + "width_change": [8, 7], + "claimed_root_bracket": [str(CLAIMED_LOWER), str(CLAIMED_UPPER)], + "claimed_moment_signs": [str(true_low[1]), str(true_high[0])], + "conditional_endpoint": str(endpoint), + "frozen_idle_profile": frozen_profile, + "frozen_idle_root_bracket": [str(frozen_low), str(frozen_high)], + "frozen_idle_overstatement_above": str(frozen_low - CLAIMED_UPPER), + "rejected_controls": controls, + "selected_frontier_unchanged": True, + "ordinary_release_rerun": False, + }, sort_keys=True)) + + +if __name__ == "__main__": + main()