From ef1f7b1f9cb582767e448dc047b2359ded28076f Mon Sep 17 00:00:00 2001 From: Pierre Date: Sat, 17 Oct 2026 16:59:42 -0700 Subject: [PATCH] Improve conditional kappa with reordered T16 augmenting chain --- .../t16-reordered-augmenting-chain/PROOF.md | 15 + .../t16-reordered-augmenting-chain/README.md | 19 + .../REPAIRS.json | 9741 +++++++++++++++++ .../RESULT.json | 53 + .../SOURCE-EXPORT.json | 22 + .../SOURCES.json | 276 + .../t16-reordered-augmenting-chain/TASK.json | 88 + .../VALIDATION.json | 34 + .../VERIFY.json | 84 + .../t16-reordered-augmenting-chain/lift16.py | 108 + .../predecessor.patch.json | 6962 ++++++++++++ .../predecessor/PROOF.md | 27 + .../predecessor/README.md | 75 + .../predecessor/RESULT.json | 55 + .../predecessor/SOURCE-EXPORT.json | 20 + .../predecessor/predecessor.patch.json | 6846 ++++++++++++ .../predecessor/verify.py | 366 + .../t16-reordered-augmenting-chain/replay.py | 181 + .../test_verify.py | 176 + .../t16-reordered-augmenting-chain/verify.py | 458 + 20 files changed, 25606 insertions(+) create mode 100644 research/t16-reordered-augmenting-chain/PROOF.md create mode 100644 research/t16-reordered-augmenting-chain/README.md create mode 100644 research/t16-reordered-augmenting-chain/REPAIRS.json create mode 100644 research/t16-reordered-augmenting-chain/RESULT.json create mode 100644 research/t16-reordered-augmenting-chain/SOURCE-EXPORT.json create mode 100644 research/t16-reordered-augmenting-chain/SOURCES.json create mode 100644 research/t16-reordered-augmenting-chain/TASK.json create mode 100644 research/t16-reordered-augmenting-chain/VALIDATION.json create mode 100644 research/t16-reordered-augmenting-chain/VERIFY.json create mode 100644 research/t16-reordered-augmenting-chain/lift16.py create mode 100644 research/t16-reordered-augmenting-chain/predecessor.patch.json create mode 100644 research/t16-reordered-augmenting-chain/predecessor/PROOF.md create mode 100644 research/t16-reordered-augmenting-chain/predecessor/README.md create mode 100644 research/t16-reordered-augmenting-chain/predecessor/RESULT.json create mode 100644 research/t16-reordered-augmenting-chain/predecessor/SOURCE-EXPORT.json create mode 100644 research/t16-reordered-augmenting-chain/predecessor/predecessor.patch.json create mode 100644 research/t16-reordered-augmenting-chain/predecessor/verify.py create mode 100644 research/t16-reordered-augmenting-chain/replay.py create mode 100644 research/t16-reordered-augmenting-chain/test_verify.py create mode 100644 research/t16-reordered-augmenting-chain/verify.py diff --git a/research/t16-reordered-augmenting-chain/PROOF.md b/research/t16-reordered-augmenting-chain/PROOF.md new file mode 100644 index 0000000000..ec899d4830 --- /dev/null +++ b/research/t16-reordered-augmenting-chain/PROOF.md @@ -0,0 +1,15 @@ +# Scoped construction and admission argument + +The exact pending predecessor is PR3375 at `62fd8039cc40749cea6238e7807db9a63b4d6765`. Its retained source, source-bound owner delta and canonical reconstructed payload are authenticated before new construction. Predecessor attribution and conditional proof obligations carry forward. + +A call is identified by `(stage, replica)`. A permissible order contains each of the 144 calls exactly once, preserves stages 0 through 8 within each replica, and interleaves each first-bank call with its second-bank copy. The new order is obtained by swapping adjacent paired blocks at indices 22, 16 and 11. The associated neutral owner repairs are explicit data. Each repaired map independently satisfies capacity, contiguous slices, whole-helper ownership, strict event windows and per-call family uniqueness. Each neutral step has exactly the predecessor paid profile. + +The two-bank parent template is unchanged. Preserving each replica's stage order preserves its literal source-event projection, including bridges. The extended lift reconstructs `actual_windows` from the resulting event schedule and verifies every assigned helper against those windows. Provider timestamps are derived from call identities. The schedule hash and owner hashes are regenerated. Owner rows are serialized by invocation time and helper index at the documented steps so that emitter and independent auditor agree on the sigma stream. The selected call order in SPEC is bound to the same plan. + +The following ten-role augmenting chain concentrates two rank-3 residuals into rank 6. Two subsequent exchanges concentrate rank 6 and rank 7 into ranks 1 and 12, then ranks 12 and 7 into ranks 3 and 16. All roles retain their widths and call identities. The total idle-profile difference is `H1 - H3 - 2 H7 + H16`, with zero rank-mass difference. Exact pricing, rather than a floating objective or majorization screen, establishes the stated gain. + +The complete eleven-stage admission rebuilds the parent, binds suppliers, lifts the explicit order, emits the controller, independently audits its phases/owners/charts, derives the physical invoice and assembles both supplier bounds. It retains the 69 admission, 12 bit-supplier, 15 controller and six independent T16 rejection controls. Additional lift controls reject missing/duplicate calls, reversed replica chronology, broken bank pairing, incorrect role times and assignments outside windows. + +The actual chart count changes to 10,017. This does not change the charged finite stock. Comparison of complete typed invoices allows only three source-binding hashes and the permutation of the same complete call records; all other fields, including costs, remain equal. Source bindings are checked against generated files. The independent audit also checks prefix and row reserves directly. + +This establishes a finite source-bound packing improvement within the inherited conditional framework. It does not discharge all-size compilation or upstream analytic assumptions, certify global packing optimality, or change the repository's selected frontier. The unchanged word/coverage model retains its predecessor fixed-word ceiling. diff --git a/research/t16-reordered-augmenting-chain/README.md b/research/t16-reordered-augmenting-chain/README.md new file mode 100644 index 0000000000..1b980cb16a --- /dev/null +++ b/research/t16-reordered-augmenting-chain/README.md @@ -0,0 +1,19 @@ +# Conditional κ through a reordered T16 augmenting chain + +This package composes three neutral paired-call reorderings, a ten-helper augmenting chain and two residual consolidations with the exact owner map in [PR3375](https://github.com/CrocSwap/integer-mult-bounds/pull/3375), commit `62fd8039cc40749cea6238e7807db9a63b4d6765`. + +The exact conditional value is **κ = 0.001673636244951726**, an increase of **0.000000007563044413** over PR3375. The conservative supplier gives **0.001673636242098946**. The complex supplier remains binding. These are packing improvements within the inherited conditional framework, not a complete multiplication theorem or a packing optimum. + +The new paired call order unlocks windows unavailable on the predecessor chronology. After three neutral owner repairs, a ten-role chain changes the idle profile by `-2 H3 + H6`; two further exchanges change it by `H1 - H6 - H7 + H12` and `H3 - H7 - H12 + H16`. The aggregate is `H1 - H3 - 2 H7 + H16`. The final profile is `{1:349710, 2:60192, 3:62326, 4:20448, 5:11808, 8:1152, 16:3, 48:4880}`. Rank mass remains 1,041,408, deficit 5,120, with 69,120 whole-helper roles in 144 complete invocations. + +`REPAIRS.json` records the explicit steps and row-order conventions. The verifier reconstructs the predecessor from retained, authenticated source evidence and reconstructs every new map. No optimizer runs during verification. The private search tools and solver dependencies are not part of this package. + +The admission wrapper extends the attributed T16 lift to accept an explicit complete, causal, paired call order. It checks every replica's stage order and derives windows, provider times and the literal schedule digest. The downstream controller, physical invoice, both supplier checks, 47 outer margins and independent T16 audit are retained. The final map uses 10,017 actual charts; the finite invoice still charges the same stock, 512 prefix bits and physical row coefficient 16,469. Invoice comparison permits the actual call permutation and source-binding hashes only; all complete call records and cost fields must agree. + +Run `python3 scripts/research_package.py --package research/t16-reordered-augmenting-chain`. See `VALIDATION.json` for the exact executed checks and export replay. `PROOF.md` explains the schedule extension and scope. + +Credit: the direct-sum T16 controller and independent audit originate with Hao Yan (@FanPUYen), PR858; the retained strict admission follows Philippe Van Velzen's PR1087 and the PR3308 lineage. The predecessor incorporates the contributions credited in retained PR3375/3366/3359 sources, including Nick Petalas's PR3338 and the preceding explicit owner cycles. Source authorship and Apache-2.0 attribution are preserved. Pierre (hexapode) prepared this contribution with substantial OpenAI Codex assistance; no independent human review is claimed. + +## Open next questions + +Can the three empty rank-16 bins support a further legal concentration? Begin with the exact final map and price both suppliers after an explicitly audited whole-helper exchange. Window geometry and per-call family uniqueness remain constraints. Additional causal schedule changes are another candidate domain; their owner map, event projection and complete invoice must be rechecked. diff --git a/research/t16-reordered-augmenting-chain/REPAIRS.json b/research/t16-reordered-augmenting-chain/REPAIRS.json new file mode 100644 index 0000000000..e1b2253ccc --- /dev/null +++ b/research/t16-reordered-augmenting-chain/REPAIRS.json @@ -0,0 +1,9741 @@ +{ + "steps": [ + { + "label": "order22", + "block": 22, + "sort_after": false, + "moves": { + "16407": [ + 4, + 3, + 111 + ], + "16423": [ + 4, + 3, + 110 + ], + "16568": [ + 4, + 3, + 109 + ], + "16569": [ + 4, + 3, + 108 + ], + "16570": [ + 4, + 3, + 107 + ], + "16571": [ + 4, + 3, + 104 + ], + "16572": [ + 4, + 3, + 103 + ], + "16573": [ + 4, + 3, + 59 + ], + "16582": [ + 4, + 3, + 58 + ], + "16583": [ + 4, + 3, + 57 + ], + "16584": [ + 4, + 3, + 56 + ], + "16585": [ + 4, + 3, + 55 + ], + "16592": [ + 4, + 3, + 54 + ], + "16593": [ + 4, + 3, + 53 + ], + "16594": [ + 4, + 3, + 52 + ], + "16596": [ + 12, + 3, + 111 + ], + "16597": [ + 4, + 3, + 51 + ], + "16602": [ + 4, + 3, + 50 + ], + "16606": [ + 4, + 3, + 49 + ], + "16608": [ + 4, + 3, + 48 + ], + "16609": [ + 4, + 3, + 47 + ], + "16614": [ + 4, + 3, + 46 + ], + "16616": [ + 4, + 3, + 45 + ], + "16617": [ + 4, + 3, + 44 + ], + "16618": [ + 4, + 3, + 43 + ], + "16619": [ + 12, + 3, + 110 + ], + "16620": [ + 12, + 3, + 109 + ], + "16621": [ + 12, + 3, + 108 + ], + "16622": [ + 12, + 3, + 107 + ], + "16623": [ + 4, + 3, + 42 + ], + "16624": [ + 4, + 3, + 41 + ], + "16887": [ + 4, + 3, + 40 + ], + "16903": [ + 4, + 3, + 39 + ], + "17048": [ + 4, + 3, + 38 + ], + "17062": [ + 4, + 3, + 37 + ], + "17063": [ + 4, + 3, + 36 + ], + "17064": [ + 4, + 3, + 35 + ], + "17065": [ + 4, + 3, + 34 + ], + "17072": [ + 4, + 3, + 33 + ], + "17073": [ + 4, + 3, + 32 + ], + "17074": [ + 4, + 3, + 31 + ], + "17076": [ + 4, + 3, + 30 + ], + "17077": [ + 4, + 3, + 29 + ], + "17082": [ + 4, + 3, + 28 + ], + "17086": [ + 4, + 3, + 27 + ], + "17088": [ + 4, + 3, + 26 + ], + "17089": [ + 4, + 3, + 25 + ], + "17094": [ + 4, + 3, + 24 + ], + "17096": [ + 4, + 3, + 23 + ], + "17097": [ + 4, + 3, + 22 + ], + "17098": [ + 4, + 3, + 21 + ], + "17099": [ + 4, + 3, + 20 + ], + "17100": [ + 4, + 3, + 19 + ], + "17101": [ + 4, + 3, + 18 + ], + "17102": [ + 4, + 3, + 17 + ], + "17103": [ + 4, + 3, + 16 + ], + "17104": [ + 4, + 3, + 15 + ], + "17367": [ + 4, + 3, + 14 + ], + "17383": [ + 4, + 3, + 13 + ], + "17528": [ + 4, + 3, + 12 + ], + "17529": [ + 4, + 3, + 11 + ], + "17530": [ + 4, + 3, + 10 + ], + "17531": [ + 4, + 3, + 9 + ], + "17532": [ + 4, + 3, + 8 + ], + "17545": [ + 4, + 3, + 7 + ], + "17552": [ + 4, + 3, + 6 + ], + "17553": [ + 4, + 3, + 5 + ], + "17554": [ + 4, + 3, + 4 + ], + "17556": [ + 4, + 3, + 3 + ], + "17557": [ + 4, + 3, + 2 + ], + "17562": [ + 4, + 3, + 1 + ], + "17566": [ + 4, + 3, + 0 + ], + "17568": [ + 4, + 1, + 111 + ], + "17569": [ + 4, + 1, + 110 + ], + "17574": [ + 4, + 1, + 109 + ], + "17576": [ + 4, + 1, + 108 + ], + "17577": [ + 4, + 1, + 107 + ], + "17578": [ + 4, + 1, + 106 + ], + "17579": [ + 4, + 1, + 105 + ], + "17580": [ + 4, + 1, + 104 + ], + "17581": [ + 4, + 1, + 103 + ], + "17582": [ + 4, + 1, + 102 + ], + "17583": [ + 4, + 1, + 101 + ], + "17584": [ + 4, + 1, + 100 + ], + "17585": [ + 4, + 1, + 99 + ], + "17590": [ + 4, + 1, + 77 + ], + "17591": [ + 4, + 1, + 76 + ], + "17592": [ + 4, + 1, + 75 + ], + "17847": [ + 4, + 1, + 74 + ], + "17863": [ + 4, + 1, + 73 + ], + "18008": [ + 4, + 1, + 72 + ], + "18009": [ + 4, + 1, + 71 + ], + "18010": [ + 4, + 1, + 70 + ], + "18011": [ + 4, + 1, + 69 + ], + "18012": [ + 4, + 1, + 68 + ], + "18013": [ + 4, + 1, + 67 + ], + "18022": [ + 4, + 1, + 66 + ], + "18023": [ + 4, + 1, + 65 + ], + "18024": [ + 4, + 1, + 64 + ], + "18025": [ + 4, + 1, + 63 + ], + "18032": [ + 4, + 1, + 62 + ], + "18033": [ + 4, + 1, + 61 + ], + "18034": [ + 4, + 1, + 60 + ], + "18036": [ + 4, + 1, + 59 + ], + "18037": [ + 4, + 1, + 58 + ], + "18042": [ + 4, + 1, + 57 + ], + "18046": [ + 4, + 1, + 56 + ], + "18048": [ + 4, + 1, + 55 + ], + "18049": [ + 4, + 1, + 54 + ], + "18054": [ + 4, + 1, + 53 + ], + "18056": [ + 4, + 1, + 52 + ], + "18057": [ + 4, + 1, + 51 + ], + "18058": [ + 4, + 1, + 50 + ], + "18059": [ + 4, + 1, + 49 + ], + "18060": [ + 4, + 1, + 48 + ], + "18061": [ + 4, + 1, + 47 + ], + "18062": [ + 4, + 1, + 46 + ], + "18063": [ + 12, + 3, + 104 + ], + "18064": [ + 12, + 3, + 103 + ], + "18065": [ + 12, + 3, + 59 + ], + "18070": [ + 12, + 3, + 58 + ], + "18071": [ + 12, + 3, + 57 + ], + "18072": [ + 12, + 3, + 56 + ], + "18327": [ + 4, + 1, + 45 + ], + "18807": [ + 12, + 3, + 55 + ], + "18823": [ + 12, + 3, + 54 + ], + "18968": [ + 12, + 3, + 53 + ], + "18969": [ + 12, + 3, + 52 + ], + "18970": [ + 12, + 3, + 51 + ], + "18971": [ + 12, + 3, + 50 + ], + "18972": [ + 12, + 3, + 49 + ], + "18973": [ + 12, + 3, + 48 + ], + "18982": [ + 12, + 3, + 47 + ], + "18983": [ + 12, + 3, + 46 + ], + "18984": [ + 12, + 3, + 45 + ], + "18985": [ + 12, + 3, + 44 + ], + "18992": [ + 12, + 3, + 43 + ], + "18993": [ + 12, + 3, + 42 + ], + "18994": [ + 12, + 3, + 41 + ], + "18996": [ + 12, + 3, + 40 + ], + "18997": [ + 12, + 3, + 39 + ], + "19002": [ + 12, + 3, + 38 + ], + "19006": [ + 12, + 3, + 37 + ], + "19008": [ + 12, + 3, + 36 + ], + "19009": [ + 12, + 3, + 35 + ], + "19014": [ + 12, + 3, + 34 + ], + "19016": [ + 12, + 3, + 33 + ], + "19017": [ + 12, + 3, + 32 + ], + "19018": [ + 12, + 3, + 31 + ], + "19019": [ + 12, + 3, + 30 + ], + "19020": [ + 12, + 3, + 29 + ], + "19021": [ + 12, + 3, + 28 + ], + "19022": [ + 12, + 3, + 27 + ], + "19023": [ + 12, + 3, + 26 + ], + "19024": [ + 12, + 3, + 25 + ], + "19025": [ + 12, + 3, + 24 + ], + "19030": [ + 12, + 3, + 23 + ], + "19031": [ + 12, + 3, + 22 + ], + "19032": [ + 12, + 3, + 21 + ], + "19033": [ + 12, + 3, + 20 + ], + "19034": [ + 12, + 3, + 19 + ], + "19035": [ + 12, + 3, + 18 + ], + "19036": [ + 12, + 3, + 17 + ], + "19037": [ + 12, + 3, + 16 + ], + "19287": [ + 12, + 3, + 15 + ], + "19303": [ + 12, + 3, + 14 + ], + "19448": [ + 12, + 3, + 13 + ], + "19449": [ + 12, + 3, + 12 + ], + "19450": [ + 12, + 3, + 11 + ], + "19451": [ + 12, + 3, + 10 + ], + "19452": [ + 12, + 3, + 9 + ], + "19453": [ + 12, + 3, + 8 + ], + "19462": [ + 12, + 3, + 7 + ], + "19463": [ + 12, + 3, + 6 + ], + "19464": [ + 12, + 3, + 5 + ], + "19465": [ + 12, + 3, + 4 + ], + "19472": [ + 12, + 3, + 3 + ], + "19473": [ + 12, + 3, + 2 + ], + "19474": [ + 12, + 3, + 1 + ], + "19476": [ + 12, + 3, + 0 + ], + "19477": [ + 12, + 1, + 111 + ], + "19482": [ + 12, + 1, + 110 + ], + "19486": [ + 12, + 1, + 109 + ], + "19488": [ + 12, + 1, + 108 + ], + "19489": [ + 12, + 1, + 107 + ], + "19494": [ + 12, + 1, + 106 + ], + "19496": [ + 12, + 1, + 105 + ], + "19497": [ + 12, + 1, + 104 + ], + "19498": [ + 12, + 1, + 103 + ], + "19499": [ + 12, + 1, + 102 + ], + "19500": [ + 12, + 1, + 101 + ], + "19501": [ + 12, + 1, + 100 + ], + "19502": [ + 12, + 1, + 99 + ], + "19503": [ + 12, + 1, + 77 + ], + "19504": [ + 12, + 1, + 76 + ], + "19505": [ + 12, + 1, + 75 + ], + "19510": [ + 12, + 1, + 74 + ], + "19511": [ + 12, + 1, + 73 + ], + "19512": [ + 12, + 1, + 72 + ], + "19513": [ + 12, + 1, + 71 + ], + "19514": [ + 12, + 1, + 70 + ], + "19515": [ + 12, + 1, + 69 + ], + "19516": [ + 12, + 1, + 68 + ], + "19517": [ + 12, + 1, + 67 + ], + "19520": [ + 12, + 1, + 66 + ], + "19521": [ + 12, + 1, + 65 + ], + "19526": [ + 12, + 1, + 64 + ], + "19527": [ + 12, + 1, + 63 + ], + "19528": [ + 12, + 1, + 62 + ], + "19529": [ + 12, + 1, + 61 + ], + "19535": [ + 12, + 1, + 60 + ], + "19537": [ + 12, + 1, + 59 + ], + "19538": [ + 12, + 1, + 58 + ], + "19539": [ + 12, + 1, + 57 + ], + "19540": [ + 12, + 1, + 56 + ], + "19541": [ + 12, + 1, + 55 + ], + "19545": [ + 12, + 1, + 54 + ], + "19547": [ + 12, + 1, + 53 + ], + "19548": [ + 12, + 1, + 52 + ], + "19549": [ + 12, + 1, + 51 + ], + "19550": [ + 12, + 1, + 50 + ], + "19551": [ + 12, + 1, + 49 + ], + "19596": [ + 12, + 1, + 48 + ], + "19600": [ + 12, + 1, + 47 + ], + "19650": [ + 12, + 1, + 46 + ], + "19652": [ + 12, + 1, + 45 + ], + "21383": [ + 6, + 8, + 33 + ], + "21384": [ + 6, + 8, + 32 + ], + "21385": [ + 6, + 8, + 31 + ], + "21392": [ + 6, + 8, + 30 + ], + "21393": [ + 6, + 8, + 29 + ], + "21394": [ + 6, + 8, + 28 + ], + "21396": [ + 6, + 8, + 27 + ], + "21397": [ + 6, + 8, + 26 + ], + "21402": [ + 5, + 8, + 0 + ], + "21406": [ + 4, + 10, + 95 + ], + "21408": [ + 4, + 10, + 87 + ], + "21409": [ + 4, + 10, + 76 + ], + "21414": [ + 4, + 10, + 72 + ], + "21416": [ + 4, + 10, + 71 + ], + "21417": [ + 4, + 10, + 69 + ], + "21418": [ + 4, + 10, + 56 + ], + "21419": [ + 4, + 10, + 53 + ], + "21420": [ + 4, + 10, + 50 + ], + "21421": [ + 4, + 10, + 49 + ], + "21422": [ + 11, + 8, + 61 + ], + "21423": [ + 11, + 8, + 55 + ], + "21424": [ + 11, + 8, + 54 + ], + "21425": [ + 11, + 8, + 53 + ], + "21430": [ + 11, + 8, + 23 + ], + "21431": [ + 5, + 0, + 49 + ], + "21432": [ + 5, + 0, + 0 + ], + "21433": [ + 6, + 10, + 33 + ], + "21434": [ + 6, + 10, + 32 + ], + "21435": [ + 6, + 10, + 31 + ], + "21436": [ + 13, + 0, + 0 + ], + "21437": [ + 14, + 0, + 1 + ], + "21440": [ + 14, + 0, + 0 + ], + "21441": [ + 6, + 0, + 9 + ], + "21446": [ + 6, + 0, + 8 + ], + "21447": [ + 5, + 0, + 19 + ], + "21448": [ + 5, + 0, + 18 + ], + "21449": [ + 5, + 0, + 17 + ], + "21455": [ + 5, + 0, + 16 + ], + "21457": [ + 5, + 0, + 15 + ], + "21458": [ + 5, + 0, + 14 + ], + "21459": [ + 5, + 0, + 13 + ], + "21460": [ + 5, + 0, + 12 + ], + "21461": [ + 5, + 0, + 11 + ], + "21465": [ + 5, + 0, + 10 + ], + "21467": [ + 5, + 0, + 9 + ], + "21468": [ + 5, + 0, + 8 + ], + "21469": [ + 5, + 0, + 7 + ], + "21470": [ + 5, + 0, + 6 + ], + "21471": [ + 5, + 0, + 5 + ], + "21472": [ + 5, + 0, + 4 + ], + "21473": [ + 5, + 0, + 3 + ], + "21474": [ + 5, + 0, + 2 + ], + "21475": [ + 12, + 8, + 31 + ], + "21476": [ + 12, + 8, + 30 + ], + "21477": [ + 12, + 8, + 29 + ], + "21478": [ + 12, + 8, + 28 + ], + "21479": [ + 12, + 8, + 27 + ], + "21488": [ + 12, + 8, + 26 + ], + "21489": [ + 12, + 8, + 25 + ], + "21490": [ + 13, + 0, + 1 + ], + "21492": [ + 13, + 0, + 2 + ], + "21496": [ + 13, + 0, + 3 + ], + "21497": [ + 13, + 0, + 4 + ], + "21498": [ + 7, + 0, + 43 + ], + "21500": [ + 7, + 0, + 42 + ], + "21504": [ + 13, + 0, + 5 + ], + "21505": [ + 13, + 0, + 8 + ], + "21506": [ + 7, + 0, + 39 + ], + "21508": [ + 13, + 0, + 10 + ], + "21512": [ + 7, + 0, + 37 + ], + "21513": [ + 7, + 0, + 36 + ], + "21514": [ + 13, + 0, + 11 + ], + "21516": [ + 13, + 0, + 12 + ], + "21520": [ + 13, + 0, + 14 + ], + "21521": [ + 13, + 0, + 19 + ], + "21522": [ + 13, + 0, + 20 + ], + "21524": [ + 13, + 0, + 21 + ], + "21528": [ + 13, + 0, + 25 + ], + "21529": [ + 13, + 0, + 30 + ], + "21530": [ + 13, + 0, + 31 + ], + "21532": [ + 13, + 0, + 32 + ], + "21536": [ + 7, + 0, + 25 + ], + "21537": [ + 7, + 0, + 24 + ], + "21538": [ + 15, + 0, + 45 + ], + "21540": [ + 15, + 0, + 44 + ], + "21544": [ + 13, + 0, + 6 + ], + "21545": [ + 13, + 0, + 7 + ], + "21546": [ + 15, + 0, + 41 + ], + "21548": [ + 15, + 0, + 40 + ], + "21552": [ + 13, + 0, + 9 + ], + "21553": [ + 13, + 0, + 13 + ], + "21554": [ + 13, + 0, + 15 + ], + "21556": [ + 15, + 0, + 36 + ], + "21560": [ + 15, + 0, + 35 + ], + "21561": [ + 13, + 0, + 16 + ], + "21562": [ + 13, + 0, + 17 + ], + "21564": [ + 15, + 0, + 32 + ], + "21568": [ + 15, + 0, + 31 + ], + "21569": [ + 13, + 0, + 18 + ], + "21570": [ + 15, + 0, + 29 + ], + "21572": [ + 15, + 0, + 28 + ], + "21576": [ + 15, + 0, + 27 + ], + "21577": [ + 13, + 0, + 22 + ], + "21578": [ + 13, + 0, + 23 + ], + "21580": [ + 15, + 0, + 24 + ], + "21584": [ + 13, + 0, + 24 + ], + "21585": [ + 13, + 0, + 26 + ], + "21586": [ + 13, + 0, + 27 + ], + "21588": [ + 13, + 0, + 28 + ], + "21592": [ + 13, + 0, + 29 + ], + "21593": [ + 13, + 0, + 33 + ], + "21594": [ + 13, + 0, + 40 + ], + "21596": [ + 6, + 10, + 63 + ], + "21649": [ + 5, + 3, + 5 + ], + "21651": [ + 5, + 3, + 4 + ], + "21653": [ + 5, + 3, + 3 + ], + "21658": [ + 5, + 3, + 2 + ], + "21687": [ + 5, + 3, + 1 + ], + "21703": [ + 5, + 3, + 0 + ], + "21848": [ + 5, + 1, + 111 + ], + "21849": [ + 5, + 1, + 110 + ], + "21850": [ + 5, + 1, + 109 + ], + "21851": [ + 5, + 1, + 108 + ], + "21852": [ + 5, + 1, + 107 + ], + "21853": [ + 5, + 1, + 106 + ], + "21862": [ + 5, + 1, + 105 + ], + "21863": [ + 4, + 10, + 58 + ], + "21864": [ + 3, + 8, + 53 + ], + "21865": [ + 3, + 8, + 52 + ], + "21872": [ + 3, + 8, + 51 + ], + "21873": [ + 3, + 8, + 50 + ], + "21874": [ + 13, + 0, + 5 + ], + "21876": [ + 13, + 0, + 4 + ], + "21877": [ + 13, + 0, + 3 + ], + "21882": [ + 13, + 0, + 2 + ], + "21886": [ + 13, + 0, + 1 + ], + "21888": [ + 13, + 0, + 0 + ], + "21889": [ + 14, + 8, + 63 + ], + "21894": [ + 14, + 8, + 62 + ], + "21896": [ + 14, + 8, + 61 + ], + "21897": [ + 14, + 8, + 60 + ], + "21898": [ + 14, + 8, + 59 + ], + "21899": [ + 14, + 8, + 58 + ], + "21900": [ + 14, + 8, + 57 + ], + "21901": [ + 14, + 8, + 56 + ], + "21902": [ + 14, + 8, + 55 + ], + "21903": [ + 14, + 8, + 54 + ], + "21904": [ + 14, + 8, + 53 + ], + "21905": [ + 14, + 8, + 52 + ], + "21910": [ + 14, + 8, + 51 + ], + "21911": [ + 14, + 8, + 50 + ], + "21912": [ + 14, + 8, + 49 + ], + "21913": [ + 14, + 8, + 48 + ], + "21914": [ + 14, + 8, + 47 + ], + "21915": [ + 14, + 8, + 46 + ], + "21916": [ + 14, + 8, + 45 + ], + "21917": [ + 14, + 8, + 44 + ], + "21920": [ + 14, + 8, + 43 + ], + "21921": [ + 14, + 8, + 42 + ], + "21926": [ + 14, + 8, + 41 + ], + "21927": [ + 14, + 8, + 40 + ], + "21928": [ + 14, + 8, + 39 + ], + "21929": [ + 14, + 8, + 38 + ], + "21935": [ + 14, + 8, + 37 + ], + "21937": [ + 14, + 8, + 36 + ], + "21938": [ + 14, + 8, + 35 + ], + "21939": [ + 14, + 8, + 34 + ], + "21940": [ + 13, + 0, + 15 + ], + "21941": [ + 13, + 0, + 14 + ], + "21945": [ + 13, + 0, + 13 + ], + "21947": [ + 13, + 0, + 12 + ], + "21948": [ + 13, + 0, + 11 + ], + "21949": [ + 13, + 0, + 10 + ], + "21950": [ + 13, + 0, + 9 + ], + "21951": [ + 13, + 0, + 8 + ], + "21952": [ + 13, + 0, + 7 + ], + "21953": [ + 13, + 0, + 6 + ], + "21954": [ + 11, + 8, + 1 + ], + "21955": [ + 11, + 8, + 0 + ], + "21956": [ + 3, + 8, + 49 + ], + "21957": [ + 3, + 8, + 48 + ], + "21958": [ + 3, + 8, + 47 + ], + "21959": [ + 3, + 8, + 36 + ], + "21968": [ + 3, + 8, + 35 + ], + "21969": [ + 3, + 8, + 34 + ], + "21970": [ + 3, + 8, + 33 + ], + "21972": [ + 3, + 8, + 32 + ], + "21976": [ + 3, + 8, + 31 + ], + "21977": [ + 3, + 8, + 30 + ], + "21978": [ + 3, + 8, + 29 + ], + "21980": [ + 3, + 8, + 28 + ], + "21984": [ + 3, + 8, + 27 + ], + "21985": [ + 3, + 8, + 26 + ], + "21986": [ + 3, + 8, + 25 + ], + "21988": [ + 3, + 8, + 24 + ], + "21992": [ + 3, + 8, + 23 + ], + "21993": [ + 3, + 8, + 22 + ], + "21994": [ + 1, + 10, + 32 + ], + "21996": [ + 10, + 8, + 53 + ], + "22000": [ + 10, + 8, + 52 + ], + "22001": [ + 10, + 8, + 51 + ], + "22002": [ + 10, + 8, + 50 + ], + "22004": [ + 10, + 8, + 49 + ], + "22008": [ + 10, + 8, + 48 + ], + "22009": [ + 10, + 8, + 47 + ], + "22010": [ + 10, + 8, + 46 + ], + "22012": [ + 10, + 8, + 45 + ], + "22016": [ + 10, + 8, + 44 + ], + "22017": [ + 10, + 8, + 43 + ], + "22018": [ + 10, + 8, + 42 + ], + "22020": [ + 10, + 8, + 41 + ], + "22024": [ + 10, + 8, + 40 + ], + "22025": [ + 10, + 8, + 39 + ], + "22026": [ + 1, + 8, + 111 + ], + "22028": [ + 1, + 8, + 110 + ], + "22032": [ + 1, + 8, + 109 + ], + "22033": [ + 1, + 8, + 108 + ], + "22034": [ + 1, + 8, + 107 + ], + "22036": [ + 1, + 8, + 106 + ], + "22040": [ + 1, + 8, + 105 + ], + "22041": [ + 1, + 8, + 104 + ], + "22042": [ + 1, + 8, + 103 + ], + "22044": [ + 1, + 8, + 102 + ], + "22048": [ + 1, + 8, + 101 + ], + "22049": [ + 1, + 8, + 100 + ], + "22050": [ + 1, + 8, + 99 + ], + "22052": [ + 1, + 8, + 98 + ], + "22056": [ + 1, + 8, + 97 + ], + "22057": [ + 1, + 8, + 96 + ], + "22058": [ + 1, + 8, + 95 + ], + "22060": [ + 1, + 8, + 94 + ], + "22064": [ + 1, + 8, + 93 + ], + "22065": [ + 1, + 8, + 92 + ], + "22066": [ + 1, + 8, + 91 + ], + "22068": [ + 1, + 8, + 90 + ], + "22072": [ + 6, + 2, + 111 + ], + "22073": [ + 6, + 0, + 1 + ], + "22074": [ + 2, + 5, + 13 + ], + "22076": [ + 2, + 5, + 12 + ], + "22415": [ + 7, + 0, + 60 + ], + "22417": [ + 7, + 0, + 59 + ], + "22418": [ + 7, + 0, + 58 + ], + "22419": [ + 13, + 2, + 111 + ], + "22420": [ + 13, + 2, + 110 + ], + "22421": [ + 13, + 2, + 109 + ], + "22425": [ + 13, + 2, + 108 + ], + "22427": [ + 13, + 2, + 107 + ], + "22428": [ + 13, + 2, + 106 + ], + "22429": [ + 5, + 10, + 107 + ], + "22430": [ + 4, + 10, + 91 + ], + "22431": [ + 4, + 10, + 90 + ], + "22432": [ + 4, + 10, + 86 + ], + "22433": [ + 4, + 10, + 84 + ], + "22434": [ + 4, + 10, + 83 + ], + "22435": [ + 4, + 10, + 82 + ], + "22436": [ + 4, + 10, + 81 + ], + "22437": [ + 4, + 10, + 80 + ], + "22438": [ + 4, + 10, + 79 + ], + "22439": [ + 4, + 10, + 78 + ], + "22448": [ + 4, + 10, + 74 + ], + "22449": [ + 4, + 10, + 68 + ], + "22450": [ + 4, + 10, + 67 + ], + "22452": [ + 4, + 10, + 55 + ], + "22456": [ + 4, + 10, + 54 + ], + "22457": [ + 4, + 10, + 52 + ], + "22458": [ + 4, + 10, + 51 + ], + "22460": [ + 3, + 8, + 20 + ], + "22464": [ + 2, + 8, + 92 + ], + "22465": [ + 2, + 8, + 91 + ], + "22466": [ + 2, + 8, + 90 + ], + "22468": [ + 2, + 8, + 89 + ], + "22472": [ + 2, + 8, + 88 + ], + "22473": [ + 2, + 8, + 87 + ], + "22474": [ + 2, + 8, + 86 + ], + "22476": [ + 2, + 8, + 85 + ], + "22480": [ + 2, + 8, + 84 + ], + "22481": [ + 2, + 8, + 83 + ], + "22482": [ + 2, + 8, + 82 + ], + "22484": [ + 2, + 8, + 81 + ], + "22488": [ + 2, + 8, + 80 + ], + "22489": [ + 15, + 0, + 42 + ], + "22490": [ + 15, + 0, + 43 + ], + "22492": [ + 0, + 11, + 68 + ], + "22496": [ + 0, + 11, + 67 + ], + "22497": [ + 0, + 11, + 66 + ], + "22498": [ + 0, + 11, + 65 + ], + "22500": [ + 0, + 11, + 64 + ], + "22504": [ + 0, + 11, + 63 + ], + "22505": [ + 0, + 11, + 62 + ], + "22506": [ + 0, + 11, + 61 + ], + "22507": [ + 10, + 13, + 109 + ], + "22508": [ + 0, + 11, + 60 + ], + "22509": [ + 10, + 12, + 12 + ], + "22510": [ + 10, + 12, + 10 + ], + "22511": [ + 10, + 12, + 1 + ], + "22512": [ + 0, + 11, + 59 + ], + "22513": [ + 0, + 11, + 58 + ], + "22514": [ + 0, + 11, + 57 + ], + "22516": [ + 0, + 11, + 56 + ], + "22520": [ + 0, + 11, + 55 + ], + "23322": [ + 5, + 1, + 104 + ], + "23326": [ + 5, + 1, + 103 + ], + "23328": [ + 5, + 1, + 102 + ], + "23329": [ + 5, + 1, + 101 + ], + "23334": [ + 5, + 1, + 100 + ], + "23336": [ + 5, + 1, + 99 + ], + "23337": [ + 5, + 1, + 98 + ], + "23338": [ + 5, + 1, + 97 + ], + "23339": [ + 5, + 1, + 96 + ], + "23340": [ + 5, + 1, + 95 + ], + "23341": [ + 5, + 1, + 94 + ], + "23342": [ + 5, + 1, + 93 + ], + "23343": [ + 5, + 1, + 92 + ], + "23344": [ + 5, + 1, + 91 + ], + "23345": [ + 5, + 1, + 90 + ], + "23350": [ + 5, + 1, + 89 + ], + "23351": [ + 5, + 1, + 88 + ], + "23352": [ + 5, + 1, + 87 + ], + "23353": [ + 5, + 1, + 86 + ], + "23356": [ + 5, + 1, + 85 + ], + "23357": [ + 5, + 1, + 84 + ], + "23360": [ + 5, + 1, + 83 + ], + "23361": [ + 5, + 1, + 82 + ], + "23366": [ + 5, + 1, + 81 + ], + "23367": [ + 5, + 1, + 80 + ], + "23368": [ + 5, + 1, + 79 + ], + "23369": [ + 5, + 1, + 78 + ], + "23375": [ + 5, + 1, + 77 + ], + "23377": [ + 5, + 1, + 76 + ], + "23378": [ + 5, + 1, + 75 + ], + "23379": [ + 5, + 1, + 74 + ], + "23380": [ + 5, + 1, + 73 + ], + "23381": [ + 5, + 1, + 72 + ], + "23385": [ + 5, + 1, + 71 + ], + "23387": [ + 5, + 1, + 70 + ], + "23388": [ + 5, + 1, + 69 + ], + "23389": [ + 5, + 1, + 68 + ], + "23390": [ + 5, + 1, + 67 + ], + "23391": [ + 5, + 1, + 66 + ], + "23392": [ + 5, + 1, + 65 + ], + "23393": [ + 5, + 1, + 64 + ], + "23394": [ + 5, + 1, + 63 + ], + "23395": [ + 5, + 1, + 62 + ], + "23396": [ + 5, + 1, + 61 + ], + "23397": [ + 5, + 1, + 60 + ], + "23398": [ + 5, + 1, + 59 + ], + "23399": [ + 5, + 1, + 58 + ], + "23408": [ + 5, + 1, + 57 + ] + }, + "canonical_sha256": "a8a176909fbc34207da98efa97958c98cc1aecdd99ba40fb59a0368930498c36", + "idle_delta": {} + }, + { + "label": "order16", + "block": 16, + "sort_after": true, + "moves": { + "11607": [ + 3, + 3, + 41 + ], + "11623": [ + 3, + 3, + 40 + ], + "11768": [ + 3, + 3, + 39 + ], + "11769": [ + 3, + 3, + 38 + ], + "11770": [ + 3, + 3, + 37 + ], + "11771": [ + 3, + 3, + 36 + ], + "11772": [ + 3, + 3, + 35 + ], + "11773": [ + 3, + 3, + 34 + ], + "11782": [ + 3, + 3, + 33 + ], + "11783": [ + 3, + 3, + 32 + ], + "11784": [ + 3, + 3, + 31 + ], + "11785": [ + 3, + 3, + 30 + ], + "11792": [ + 3, + 3, + 29 + ], + "11793": [ + 3, + 3, + 28 + ], + "11794": [ + 3, + 3, + 27 + ], + "11796": [ + 3, + 3, + 26 + ], + "11797": [ + 3, + 3, + 25 + ], + "11802": [ + 3, + 3, + 24 + ], + "11806": [ + 3, + 3, + 23 + ], + "11808": [ + 3, + 3, + 22 + ], + "11809": [ + 3, + 3, + 21 + ], + "11814": [ + 3, + 3, + 20 + ], + "11816": [ + 3, + 3, + 19 + ], + "11817": [ + 3, + 3, + 18 + ], + "11818": [ + 3, + 3, + 17 + ], + "11819": [ + 3, + 3, + 16 + ], + "11820": [ + 3, + 3, + 15 + ], + "11821": [ + 3, + 3, + 14 + ], + "11822": [ + 3, + 3, + 13 + ], + "11823": [ + 3, + 3, + 12 + ], + "11824": [ + 3, + 3, + 11 + ], + "11825": [ + 3, + 3, + 10 + ], + "11830": [ + 3, + 3, + 9 + ], + "11831": [ + 3, + 3, + 8 + ], + "11832": [ + 3, + 3, + 7 + ], + "11833": [ + 3, + 3, + 6 + ], + "11834": [ + 3, + 3, + 5 + ], + "11835": [ + 3, + 3, + 4 + ], + "11836": [ + 3, + 3, + 3 + ], + "11837": [ + 3, + 3, + 2 + ], + "11840": [ + 3, + 3, + 1 + ], + "11841": [ + 3, + 3, + 0 + ], + "11846": [ + 3, + 1, + 111 + ], + "11847": [ + 3, + 1, + 110 + ], + "11848": [ + 3, + 1, + 109 + ], + "11849": [ + 3, + 1, + 108 + ], + "11855": [ + 3, + 1, + 107 + ], + "11857": [ + 3, + 1, + 106 + ], + "11858": [ + 3, + 1, + 105 + ], + "11859": [ + 3, + 1, + 104 + ], + "11860": [ + 3, + 1, + 103 + ], + "12087": [ + 3, + 1, + 102 + ], + "12273": [ + 3, + 1, + 101 + ], + "12274": [ + 3, + 1, + 100 + ], + "12276": [ + 3, + 1, + 99 + ], + "12277": [ + 3, + 1, + 98 + ], + "12282": [ + 3, + 1, + 97 + ], + "12286": [ + 3, + 1, + 96 + ], + "12288": [ + 3, + 1, + 95 + ], + "12289": [ + 3, + 1, + 94 + ], + "12294": [ + 3, + 1, + 93 + ], + "12296": [ + 3, + 1, + 92 + ], + "12297": [ + 3, + 1, + 91 + ], + "12298": [ + 3, + 1, + 90 + ], + "12299": [ + 3, + 1, + 89 + ], + "12300": [ + 3, + 1, + 88 + ], + "12301": [ + 3, + 1, + 87 + ], + "12302": [ + 3, + 1, + 86 + ], + "12303": [ + 3, + 1, + 85 + ], + "12304": [ + 3, + 1, + 84 + ], + "12305": [ + 3, + 1, + 83 + ], + "12310": [ + 3, + 1, + 82 + ], + "12311": [ + 3, + 1, + 81 + ], + "12312": [ + 3, + 1, + 80 + ], + "12313": [ + 3, + 1, + 79 + ], + "12314": [ + 3, + 1, + 78 + ], + "12315": [ + 3, + 1, + 77 + ], + "12316": [ + 3, + 1, + 76 + ], + "12317": [ + 3, + 1, + 75 + ], + "12320": [ + 3, + 1, + 74 + ], + "12321": [ + 3, + 1, + 73 + ], + "12326": [ + 3, + 1, + 72 + ], + "12327": [ + 3, + 1, + 71 + ], + "12328": [ + 3, + 1, + 70 + ], + "12329": [ + 3, + 1, + 69 + ], + "12335": [ + 3, + 1, + 68 + ], + "12337": [ + 3, + 1, + 67 + ], + "12338": [ + 3, + 1, + 66 + ], + "12339": [ + 3, + 1, + 65 + ], + "12340": [ + 3, + 1, + 64 + ], + "12567": [ + 3, + 1, + 63 + ], + "12583": [ + 3, + 1, + 62 + ], + "13047": [ + 3, + 1, + 61 + ], + "13063": [ + 3, + 1, + 60 + ], + "13543": [ + 3, + 1, + 59 + ], + "13688": [ + 3, + 1, + 58 + ], + "13689": [ + 3, + 1, + 57 + ], + "13690": [ + 3, + 1, + 56 + ], + "13691": [ + 3, + 1, + 55 + ], + "13692": [ + 3, + 1, + 54 + ], + "13693": [ + 3, + 1, + 53 + ], + "13702": [ + 3, + 1, + 52 + ], + "13703": [ + 3, + 1, + 51 + ], + "13704": [ + 3, + 1, + 50 + ], + "13705": [ + 3, + 1, + 49 + ], + "13712": [ + 3, + 1, + 48 + ], + "13713": [ + 3, + 1, + 47 + ], + "13714": [ + 3, + 1, + 46 + ], + "13716": [ + 3, + 1, + 45 + ], + "13717": [ + 3, + 1, + 44 + ], + "13722": [ + 3, + 1, + 43 + ], + "13726": [ + 3, + 1, + 42 + ], + "13728": [ + 3, + 1, + 41 + ], + "13729": [ + 3, + 1, + 40 + ], + "13734": [ + 3, + 1, + 39 + ], + "13736": [ + 3, + 1, + 38 + ], + "13737": [ + 3, + 1, + 37 + ], + "13738": [ + 3, + 1, + 36 + ], + "13739": [ + 3, + 1, + 35 + ], + "13740": [ + 3, + 1, + 34 + ], + "13741": [ + 11, + 3, + 41 + ], + "13742": [ + 3, + 1, + 33 + ], + "13743": [ + 3, + 1, + 32 + ], + "13744": [ + 11, + 3, + 40 + ], + "13745": [ + 11, + 3, + 39 + ], + "13750": [ + 11, + 3, + 38 + ], + "13751": [ + 11, + 3, + 37 + ], + "13795": [ + 11, + 3, + 36 + ], + "13825": [ + 11, + 3, + 35 + ], + "13826": [ + 11, + 3, + 34 + ], + "13828": [ + 11, + 3, + 33 + ], + "13832": [ + 11, + 3, + 32 + ], + "13833": [ + 11, + 3, + 31 + ], + "13834": [ + 11, + 3, + 30 + ], + "13836": [ + 11, + 3, + 29 + ], + "13840": [ + 11, + 3, + 28 + ], + "13841": [ + 11, + 3, + 27 + ], + "13842": [ + 11, + 3, + 26 + ], + "13844": [ + 11, + 3, + 25 + ], + "13848": [ + 11, + 3, + 24 + ], + "13849": [ + 11, + 3, + 23 + ], + "13850": [ + 11, + 3, + 22 + ], + "13852": [ + 11, + 3, + 21 + ], + "13856": [ + 11, + 3, + 20 + ], + "13857": [ + 11, + 3, + 19 + ], + "13858": [ + 11, + 3, + 18 + ], + "13860": [ + 11, + 3, + 17 + ], + "13864": [ + 11, + 3, + 16 + ], + "13865": [ + 11, + 3, + 15 + ], + "13866": [ + 11, + 3, + 14 + ], + "14182": [ + 11, + 3, + 13 + ], + "14184": [ + 11, + 3, + 12 + ], + "14185": [ + 11, + 3, + 11 + ], + "14192": [ + 11, + 3, + 10 + ], + "14193": [ + 11, + 3, + 9 + ], + "14194": [ + 11, + 3, + 8 + ], + "14196": [ + 11, + 3, + 7 + ], + "14197": [ + 11, + 3, + 6 + ], + "14202": [ + 11, + 3, + 5 + ], + "14206": [ + 11, + 3, + 4 + ], + "14208": [ + 11, + 3, + 3 + ], + "14209": [ + 11, + 3, + 2 + ], + "14214": [ + 11, + 3, + 1 + ], + "14216": [ + 11, + 3, + 0 + ], + "14217": [ + 11, + 1, + 111 + ], + "14218": [ + 11, + 1, + 110 + ], + "14219": [ + 11, + 1, + 109 + ], + "14220": [ + 11, + 1, + 108 + ], + "14221": [ + 11, + 1, + 107 + ], + "14222": [ + 11, + 1, + 106 + ], + "14223": [ + 11, + 1, + 105 + ], + "14224": [ + 11, + 1, + 104 + ], + "14225": [ + 11, + 1, + 103 + ], + "14230": [ + 11, + 1, + 102 + ], + "14231": [ + 11, + 1, + 101 + ], + "14232": [ + 11, + 1, + 100 + ], + "14233": [ + 11, + 1, + 99 + ], + "14234": [ + 11, + 1, + 98 + ], + "14235": [ + 11, + 1, + 97 + ], + "14236": [ + 11, + 1, + 96 + ], + "14237": [ + 11, + 1, + 95 + ], + "14240": [ + 11, + 1, + 94 + ], + "14241": [ + 11, + 1, + 93 + ], + "14246": [ + 11, + 1, + 92 + ], + "14247": [ + 11, + 1, + 91 + ], + "14248": [ + 11, + 1, + 90 + ], + "14249": [ + 11, + 1, + 89 + ], + "14255": [ + 11, + 1, + 88 + ], + "14257": [ + 11, + 1, + 87 + ], + "14258": [ + 11, + 1, + 86 + ], + "14259": [ + 11, + 1, + 85 + ], + "14260": [ + 11, + 1, + 84 + ], + "14261": [ + 11, + 1, + 83 + ], + "14265": [ + 11, + 1, + 82 + ], + "14267": [ + 11, + 1, + 81 + ], + "14268": [ + 11, + 1, + 80 + ], + "14269": [ + 11, + 1, + 79 + ], + "14270": [ + 11, + 1, + 78 + ], + "14271": [ + 11, + 1, + 77 + ], + "14272": [ + 11, + 1, + 76 + ], + "14273": [ + 11, + 1, + 75 + ], + "14274": [ + 11, + 1, + 74 + ], + "14275": [ + 11, + 1, + 73 + ], + "14276": [ + 11, + 1, + 72 + ], + "14277": [ + 11, + 1, + 71 + ], + "14278": [ + 11, + 1, + 70 + ], + "14279": [ + 11, + 1, + 69 + ], + "14288": [ + 11, + 1, + 68 + ], + "14289": [ + 11, + 1, + 67 + ], + "14662": [ + 11, + 1, + 66 + ], + "14663": [ + 11, + 1, + 65 + ], + "14664": [ + 11, + 1, + 64 + ], + "14665": [ + 11, + 1, + 63 + ], + "14672": [ + 11, + 1, + 62 + ], + "14673": [ + 11, + 1, + 61 + ], + "14674": [ + 11, + 1, + 60 + ], + "14676": [ + 11, + 1, + 59 + ], + "14677": [ + 11, + 1, + 58 + ], + "14682": [ + 11, + 1, + 57 + ], + "14686": [ + 11, + 1, + 56 + ], + "14688": [ + 11, + 1, + 55 + ], + "14689": [ + 11, + 1, + 54 + ], + "14694": [ + 11, + 1, + 53 + ], + "14696": [ + 11, + 1, + 52 + ], + "14697": [ + 11, + 1, + 51 + ], + "14698": [ + 11, + 1, + 50 + ], + "14699": [ + 11, + 1, + 49 + ], + "14700": [ + 11, + 1, + 48 + ], + "14701": [ + 11, + 1, + 47 + ], + "14702": [ + 11, + 1, + 46 + ], + "14703": [ + 11, + 1, + 45 + ], + "14704": [ + 11, + 1, + 44 + ], + "14705": [ + 11, + 1, + 43 + ], + "14710": [ + 11, + 1, + 42 + ], + "14711": [ + 11, + 1, + 41 + ], + "14712": [ + 11, + 1, + 40 + ], + "14713": [ + 11, + 1, + 39 + ], + "14714": [ + 11, + 1, + 38 + ], + "14715": [ + 11, + 1, + 37 + ], + "14716": [ + 11, + 1, + 36 + ], + "14717": [ + 11, + 1, + 35 + ], + "14720": [ + 11, + 1, + 34 + ], + "14721": [ + 11, + 1, + 33 + ], + "14726": [ + 11, + 1, + 32 + ], + "15447": [ + 9, + 8, + 89 + ], + "15463": [ + 9, + 8, + 88 + ], + "15608": [ + 9, + 8, + 87 + ], + "15609": [ + 9, + 8, + 86 + ], + "15610": [ + 9, + 8, + 85 + ], + "15611": [ + 9, + 8, + 84 + ], + "15612": [ + 9, + 8, + 83 + ], + "15613": [ + 9, + 8, + 82 + ], + "15622": [ + 9, + 8, + 81 + ], + "15623": [ + 9, + 8, + 80 + ], + "15624": [ + 9, + 8, + 79 + ], + "15625": [ + 9, + 8, + 78 + ], + "15632": [ + 9, + 8, + 77 + ], + "15633": [ + 1, + 8, + 89 + ], + "15634": [ + 1, + 8, + 88 + ], + "15636": [ + 14, + 0, + 110 + ], + "15637": [ + 1, + 8, + 86 + ], + "15642": [ + 0, + 8, + 109 + ], + "15646": [ + 0, + 8, + 108 + ], + "15648": [ + 4, + 0, + 69 + ], + "15649": [ + 4, + 0, + 68 + ], + "15654": [ + 4, + 0, + 67 + ], + "15656": [ + 4, + 0, + 66 + ], + "15657": [ + 4, + 0, + 65 + ], + "15658": [ + 4, + 0, + 26 + ], + "15659": [ + 4, + 0, + 25 + ], + "15660": [ + 4, + 0, + 24 + ], + "15661": [ + 4, + 0, + 23 + ], + "15662": [ + 4, + 0, + 22 + ], + "15663": [ + 4, + 0, + 21 + ], + "15664": [ + 4, + 0, + 20 + ], + "15665": [ + 4, + 0, + 19 + ], + "15670": [ + 4, + 0, + 18 + ], + "15671": [ + 4, + 0, + 17 + ], + "15672": [ + 4, + 0, + 16 + ], + "15673": [ + 4, + 0, + 15 + ], + "15674": [ + 4, + 0, + 14 + ], + "15675": [ + 4, + 0, + 13 + ], + "15676": [ + 4, + 0, + 12 + ], + "15677": [ + 4, + 0, + 11 + ], + "15680": [ + 4, + 0, + 10 + ], + "15681": [ + 4, + 0, + 9 + ], + "15686": [ + 4, + 0, + 8 + ], + "15687": [ + 4, + 0, + 7 + ], + "15688": [ + 4, + 0, + 6 + ], + "15689": [ + 4, + 0, + 5 + ], + "15695": [ + 4, + 0, + 4 + ], + "15697": [ + 4, + 0, + 3 + ], + "15698": [ + 4, + 0, + 2 + ], + "15699": [ + 4, + 0, + 1 + ], + "15700": [ + 4, + 0, + 63 + ], + "15701": [ + 4, + 0, + 51 + ], + "15705": [ + 13, + 2, + 105 + ], + "15707": [ + 13, + 2, + 104 + ], + "15708": [ + 13, + 0, + 39 + ], + "15709": [ + 13, + 0, + 38 + ], + "15710": [ + 13, + 0, + 37 + ], + "15711": [ + 13, + 0, + 36 + ], + "15712": [ + 13, + 0, + 35 + ], + "15713": [ + 13, + 0, + 34 + ], + "15714": [ + 12, + 0, + 60 + ], + "15715": [ + 12, + 0, + 59 + ], + "15716": [ + 12, + 0, + 58 + ], + "15717": [ + 12, + 0, + 57 + ], + "15718": [ + 12, + 0, + 56 + ], + "15719": [ + 12, + 0, + 55 + ], + "15728": [ + 12, + 0, + 54 + ], + "15729": [ + 12, + 0, + 53 + ], + "15730": [ + 12, + 0, + 52 + ], + "15732": [ + 12, + 0, + 51 + ], + "15736": [ + 12, + 0, + 50 + ], + "15737": [ + 12, + 0, + 49 + ], + "15738": [ + 12, + 0, + 48 + ], + "15740": [ + 12, + 0, + 47 + ], + "15744": [ + 12, + 0, + 46 + ], + "15745": [ + 12, + 0, + 45 + ], + "15746": [ + 12, + 0, + 6 + ], + "15748": [ + 12, + 0, + 43 + ], + "15752": [ + 12, + 0, + 42 + ], + "15753": [ + 12, + 0, + 41 + ], + "15754": [ + 12, + 0, + 40 + ], + "15756": [ + 12, + 0, + 39 + ], + "15760": [ + 12, + 0, + 38 + ], + "15761": [ + 12, + 0, + 37 + ], + "15762": [ + 12, + 0, + 36 + ], + "15764": [ + 12, + 0, + 35 + ], + "15768": [ + 12, + 0, + 34 + ], + "15769": [ + 12, + 0, + 33 + ], + "15770": [ + 12, + 0, + 32 + ], + "15772": [ + 12, + 0, + 31 + ], + "15776": [ + 4, + 0, + 28 + ], + "15777": [ + 4, + 0, + 27 + ], + "15778": [ + 12, + 0, + 62 + ], + "15780": [ + 12, + 0, + 61 + ], + "15784": [ + 12, + 0, + 17 + ], + "15785": [ + 12, + 0, + 19 + ], + "15786": [ + 12, + 0, + 20 + ], + "15788": [ + 12, + 0, + 22 + ], + "15792": [ + 0, + 8, + 110 + ], + "15793": [ + 12, + 0, + 77 + ], + "15794": [ + 12, + 0, + 76 + ], + "15796": [ + 12, + 0, + 75 + ], + "15800": [ + 12, + 0, + 74 + ], + "15801": [ + 12, + 0, + 73 + ], + "15802": [ + 12, + 0, + 72 + ], + "15804": [ + 12, + 0, + 71 + ], + "15808": [ + 12, + 0, + 70 + ], + "15809": [ + 12, + 0, + 69 + ], + "15810": [ + 12, + 0, + 68 + ], + "15812": [ + 12, + 0, + 67 + ], + "15816": [ + 12, + 0, + 66 + ], + "15817": [ + 12, + 0, + 65 + ], + "15818": [ + 12, + 0, + 64 + ], + "15820": [ + 12, + 0, + 63 + ], + "15824": [ + 12, + 0, + 12 + ], + "15825": [ + 12, + 0, + 11 + ], + "15826": [ + 12, + 0, + 10 + ], + "15828": [ + 12, + 0, + 9 + ], + "15832": [ + 12, + 0, + 8 + ], + "15833": [ + 12, + 0, + 7 + ], + "15834": [ + 12, + 0, + 5 + ], + "15836": [ + 12, + 0, + 4 + ], + "15889": [ + 4, + 3, + 102 + ], + "15927": [ + 12, + 0, + 6 + ], + "15943": [ + 12, + 0, + 3 + ], + "16088": [ + 12, + 0, + 2 + ], + "16089": [ + 12, + 0, + 1 + ], + "16090": [ + 12, + 0, + 0 + ], + "16091": [ + 12, + 0, + 24 + ], + "16092": [ + 12, + 0, + 25 + ], + "16093": [ + 1, + 5, + 84 + ], + "16102": [ + 1, + 5, + 80 + ], + "16103": [ + 1, + 5, + 77 + ], + "16104": [ + 1, + 5, + 76 + ], + "16105": [ + 1, + 5, + 40 + ], + "16112": [ + 12, + 0, + 26 + ], + "16113": [ + 1, + 5, + 38 + ], + "16114": [ + 1, + 5, + 37 + ], + "16116": [ + 1, + 5, + 34 + ], + "16117": [ + 1, + 5, + 31 + ], + "16122": [ + 1, + 5, + 30 + ], + "16126": [ + 1, + 5, + 29 + ], + "16128": [ + 1, + 5, + 27 + ], + "16129": [ + 1, + 5, + 26 + ], + "16134": [ + 12, + 0, + 28 + ], + "16136": [ + 1, + 5, + 9 + ], + "16137": [ + 12, + 0, + 29 + ], + "16138": [ + 1, + 5, + 6 + ], + "16139": [ + 1, + 5, + 5 + ], + "16140": [ + 1, + 5, + 3 + ], + "16141": [ + 1, + 5, + 2 + ], + "16142": [ + 12, + 0, + 22 + ], + "16143": [ + 12, + 0, + 20 + ], + "16144": [ + 12, + 0, + 19 + ], + "16145": [ + 12, + 0, + 4 + ], + "16150": [ + 12, + 0, + 17 + ], + "16151": [ + 12, + 0, + 5 + ], + "16152": [ + 12, + 0, + 8 + ], + "16153": [ + 12, + 0, + 9 + ], + "16154": [ + 12, + 0, + 10 + ], + "16155": [ + 9, + 7, + 12 + ], + "16156": [ + 9, + 7, + 11 + ], + "16157": [ + 9, + 7, + 10 + ], + "16160": [ + 9, + 7, + 9 + ], + "16161": [ + 9, + 7, + 8 + ], + "16166": [ + 9, + 7, + 7 + ], + "16167": [ + 9, + 7, + 6 + ], + "16168": [ + 9, + 7, + 5 + ], + "16169": [ + 9, + 7, + 4 + ], + "16175": [ + 9, + 7, + 3 + ], + "16177": [ + 9, + 7, + 2 + ], + "16178": [ + 9, + 7, + 1 + ], + "16179": [ + 9, + 7, + 0 + ], + "16180": [ + 9, + 5, + 100 + ], + "16181": [ + 9, + 5, + 99 + ], + "16185": [ + 9, + 5, + 98 + ], + "16187": [ + 9, + 5, + 97 + ], + "16188": [ + 9, + 5, + 96 + ], + "16189": [ + 9, + 5, + 95 + ], + "16190": [ + 9, + 5, + 94 + ], + "16191": [ + 9, + 5, + 93 + ], + "16192": [ + 9, + 5, + 92 + ], + "16193": [ + 9, + 5, + 91 + ], + "16194": [ + 9, + 5, + 90 + ], + "16195": [ + 9, + 5, + 89 + ], + "16196": [ + 9, + 5, + 88 + ], + "16197": [ + 9, + 5, + 87 + ], + "16198": [ + 9, + 5, + 86 + ], + "16199": [ + 9, + 5, + 85 + ], + "16208": [ + 9, + 5, + 84 + ], + "16209": [ + 9, + 5, + 80 + ], + "16210": [ + 9, + 5, + 77 + ], + "16212": [ + 9, + 5, + 76 + ], + "16216": [ + 9, + 5, + 40 + ], + "16217": [ + 9, + 5, + 39 + ], + "16218": [ + 9, + 5, + 38 + ], + "16220": [ + 9, + 5, + 37 + ], + "16224": [ + 9, + 5, + 34 + ], + "16225": [ + 9, + 5, + 31 + ], + "16226": [ + 9, + 5, + 30 + ], + "16228": [ + 9, + 5, + 29 + ], + "16232": [ + 9, + 5, + 27 + ], + "16233": [ + 9, + 5, + 26 + ], + "16234": [ + 9, + 5, + 11 + ], + "16236": [ + 9, + 5, + 9 + ], + "16240": [ + 9, + 5, + 7 + ], + "16241": [ + 9, + 5, + 6 + ], + "16242": [ + 9, + 5, + 5 + ], + "16244": [ + 9, + 5, + 3 + ], + "16248": [ + 9, + 5, + 2 + ], + "16249": [ + 1, + 7, + 66 + ], + "16250": [ + 1, + 7, + 65 + ], + "16252": [ + 1, + 7, + 64 + ], + "16256": [ + 1, + 7, + 63 + ], + "16257": [ + 1, + 7, + 62 + ], + "16258": [ + 1, + 7, + 61 + ], + "16260": [ + 1, + 7, + 60 + ], + "16264": [ + 1, + 7, + 59 + ], + "16265": [ + 1, + 7, + 58 + ], + "16266": [ + 1, + 7, + 57 + ], + "16268": [ + 1, + 7, + 56 + ], + "16272": [ + 1, + 7, + 55 + ], + "16273": [ + 1, + 7, + 54 + ], + "16274": [ + 1, + 7, + 53 + ], + "16276": [ + 1, + 7, + 52 + ], + "16280": [ + 1, + 7, + 51 + ], + "16281": [ + 1, + 7, + 50 + ], + "16282": [ + 1, + 7, + 49 + ], + "16284": [ + 1, + 7, + 48 + ], + "16288": [ + 1, + 7, + 47 + ], + "16289": [ + 1, + 7, + 46 + ], + "16290": [ + 1, + 7, + 45 + ], + "16292": [ + 1, + 7, + 44 + ], + "16296": [ + 1, + 7, + 43 + ], + "16297": [ + 1, + 7, + 42 + ], + "16298": [ + 1, + 7, + 41 + ], + "16300": [ + 1, + 7, + 40 + ], + "16304": [ + 1, + 7, + 39 + ], + "16305": [ + 1, + 7, + 38 + ], + "16306": [ + 1, + 7, + 37 + ], + "16308": [ + 1, + 7, + 36 + ], + "16312": [ + 1, + 7, + 35 + ], + "16313": [ + 1, + 7, + 34 + ], + "16314": [ + 1, + 7, + 33 + ], + "16316": [ + 1, + 7, + 32 + ], + "16407": [ + 1, + 5, + 7 + ], + "16423": [ + 1, + 5, + 11 + ], + "16568": [ + 1, + 5, + 39 + ], + "16569": [ + 1, + 5, + 85 + ], + "16570": [ + 1, + 7, + 104 + ], + "16571": [ + 1, + 7, + 103 + ], + "16572": [ + 1, + 7, + 102 + ], + "16573": [ + 1, + 7, + 101 + ], + "16582": [ + 1, + 7, + 100 + ], + "16583": [ + 1, + 7, + 99 + ], + "16584": [ + 1, + 7, + 98 + ], + "16585": [ + 1, + 7, + 97 + ], + "16592": [ + 1, + 7, + 96 + ], + "16593": [ + 1, + 7, + 95 + ], + "16594": [ + 1, + 7, + 94 + ], + "16596": [ + 1, + 7, + 93 + ], + "16597": [ + 1, + 7, + 92 + ], + "16602": [ + 1, + 7, + 91 + ], + "16606": [ + 1, + 7, + 90 + ], + "16608": [ + 1, + 7, + 89 + ], + "16609": [ + 1, + 7, + 88 + ], + "16614": [ + 1, + 7, + 87 + ], + "16616": [ + 1, + 7, + 86 + ], + "16617": [ + 1, + 7, + 85 + ], + "16618": [ + 1, + 7, + 84 + ], + "16619": [ + 1, + 7, + 83 + ], + "16620": [ + 1, + 7, + 82 + ], + "16621": [ + 1, + 7, + 81 + ], + "16622": [ + 1, + 7, + 80 + ], + "16623": [ + 1, + 7, + 79 + ], + "16624": [ + 1, + 7, + 78 + ], + "16625": [ + 1, + 7, + 77 + ], + "16630": [ + 1, + 7, + 76 + ], + "16631": [ + 1, + 7, + 75 + ], + "16632": [ + 1, + 7, + 74 + ], + "16633": [ + 1, + 7, + 73 + ], + "16634": [ + 1, + 7, + 72 + ], + "16635": [ + 1, + 7, + 71 + ], + "16636": [ + 1, + 7, + 70 + ], + "16637": [ + 1, + 7, + 69 + ], + "16640": [ + 1, + 7, + 68 + ], + "16641": [ + 1, + 7, + 67 + ], + "16646": [ + 9, + 7, + 104 + ], + "16647": [ + 9, + 7, + 103 + ], + "16648": [ + 9, + 7, + 102 + ], + "16649": [ + 9, + 7, + 101 + ], + "16655": [ + 9, + 7, + 100 + ], + "16657": [ + 9, + 7, + 99 + ], + "16658": [ + 9, + 7, + 98 + ], + "16659": [ + 9, + 7, + 97 + ], + "16660": [ + 9, + 7, + 96 + ], + "16661": [ + 9, + 7, + 95 + ], + "16751": [ + 0, + 13, + 61 + ], + "16887": [ + 9, + 7, + 94 + ], + "16903": [ + 9, + 7, + 93 + ], + "17048": [ + 9, + 7, + 92 + ], + "17062": [ + 9, + 7, + 91 + ], + "17063": [ + 9, + 7, + 90 + ], + "17064": [ + 9, + 7, + 89 + ], + "17065": [ + 9, + 7, + 88 + ], + "17072": [ + 9, + 7, + 87 + ], + "17073": [ + 9, + 7, + 86 + ], + "17074": [ + 9, + 7, + 85 + ], + "17076": [ + 9, + 7, + 84 + ], + "17077": [ + 9, + 7, + 83 + ], + "17082": [ + 9, + 7, + 82 + ], + "17086": [ + 9, + 7, + 81 + ], + "17088": [ + 9, + 7, + 80 + ], + "17089": [ + 9, + 7, + 79 + ], + "17094": [ + 9, + 7, + 78 + ], + "17096": [ + 9, + 7, + 77 + ], + "17097": [ + 9, + 7, + 76 + ], + "17098": [ + 9, + 7, + 75 + ], + "17099": [ + 9, + 7, + 74 + ], + "17100": [ + 9, + 7, + 73 + ], + "17101": [ + 9, + 7, + 72 + ], + "17102": [ + 9, + 7, + 71 + ], + "17103": [ + 9, + 7, + 70 + ], + "17104": [ + 9, + 7, + 69 + ], + "17105": [ + 9, + 7, + 68 + ], + "17110": [ + 9, + 7, + 67 + ], + "17111": [ + 6, + 10, + 62 + ], + "17112": [ + 6, + 10, + 61 + ], + "17113": [ + 6, + 10, + 60 + ], + "17114": [ + 6, + 10, + 59 + ], + "17115": [ + 6, + 10, + 58 + ], + "17116": [ + 6, + 10, + 57 + ], + "17117": [ + 6, + 10, + 56 + ], + "17120": [ + 6, + 10, + 55 + ], + "17121": [ + 6, + 10, + 54 + ], + "17126": [ + 6, + 10, + 53 + ], + "17127": [ + 6, + 10, + 52 + ], + "17128": [ + 6, + 10, + 51 + ], + "17129": [ + 6, + 10, + 50 + ], + "17135": [ + 6, + 10, + 49 + ], + "17137": [ + 6, + 10, + 48 + ], + "17138": [ + 6, + 10, + 47 + ], + "17139": [ + 6, + 10, + 46 + ], + "17140": [ + 6, + 10, + 45 + ], + "17141": [ + 6, + 10, + 44 + ], + "17231": [ + 10, + 6, + 104 + ], + "17361": [ + 12, + 3, + 102 + ], + "17533": [ + 4, + 3, + 111 + ], + "17542": [ + 4, + 3, + 110 + ], + "17543": [ + 4, + 3, + 109 + ], + "17544": [ + 4, + 3, + 108 + ], + "17682": [ + 4, + 3, + 107 + ], + "17684": [ + 4, + 3, + 104 + ], + "17688": [ + 4, + 3, + 103 + ], + "17689": [ + 4, + 3, + 59 + ], + "17690": [ + 4, + 3, + 58 + ], + "17692": [ + 4, + 3, + 57 + ], + "17696": [ + 4, + 3, + 56 + ], + "17697": [ + 4, + 3, + 55 + ], + "17698": [ + 4, + 3, + 54 + ], + "17700": [ + 4, + 3, + 53 + ], + "17704": [ + 4, + 3, + 52 + ], + "17705": [ + 12, + 3, + 111 + ], + "17706": [ + 4, + 3, + 51 + ], + "17708": [ + 4, + 3, + 50 + ], + "17712": [ + 4, + 3, + 49 + ], + "17713": [ + 4, + 3, + 48 + ], + "17714": [ + 4, + 3, + 47 + ], + "17716": [ + 4, + 3, + 46 + ], + "17720": [ + 4, + 3, + 45 + ], + "17721": [ + 4, + 3, + 44 + ], + "17722": [ + 4, + 3, + 43 + ], + "17724": [ + 12, + 3, + 110 + ], + "17728": [ + 12, + 3, + 109 + ], + "17729": [ + 12, + 3, + 108 + ], + "17730": [ + 12, + 3, + 107 + ], + "17732": [ + 4, + 3, + 42 + ], + "17736": [ + 4, + 3, + 41 + ], + "17737": [ + 4, + 1, + 98 + ], + "17738": [ + 4, + 1, + 97 + ], + "17740": [ + 4, + 1, + 96 + ], + "17744": [ + 4, + 1, + 95 + ], + "17745": [ + 4, + 1, + 94 + ], + "17746": [ + 4, + 1, + 93 + ], + "17748": [ + 4, + 1, + 92 + ], + "17752": [ + 4, + 1, + 91 + ], + "17753": [ + 4, + 1, + 90 + ], + "17754": [ + 4, + 1, + 89 + ], + "17756": [ + 4, + 1, + 88 + ], + "18162": [ + 4, + 1, + 87 + ], + "18164": [ + 4, + 1, + 86 + ], + "18168": [ + 4, + 1, + 85 + ], + "18169": [ + 4, + 1, + 84 + ], + "18170": [ + 4, + 1, + 83 + ], + "18172": [ + 4, + 1, + 82 + ], + "18176": [ + 4, + 1, + 81 + ], + "18177": [ + 4, + 1, + 80 + ], + "18178": [ + 4, + 1, + 79 + ], + "18180": [ + 4, + 1, + 78 + ], + "18184": [ + 4, + 3, + 40 + ], + "18185": [ + 4, + 3, + 39 + ], + "18186": [ + 4, + 3, + 38 + ], + "18188": [ + 4, + 3, + 37 + ], + "18192": [ + 4, + 3, + 36 + ], + "18193": [ + 4, + 3, + 35 + ], + "18194": [ + 4, + 3, + 34 + ], + "18196": [ + 4, + 3, + 33 + ], + "18200": [ + 4, + 3, + 32 + ], + "18201": [ + 4, + 3, + 31 + ], + "18202": [ + 4, + 3, + 30 + ], + "18204": [ + 4, + 3, + 29 + ], + "18208": [ + 4, + 3, + 28 + ], + "18209": [ + 4, + 3, + 27 + ], + "18210": [ + 4, + 3, + 26 + ], + "18212": [ + 4, + 3, + 25 + ], + "18216": [ + 4, + 3, + 24 + ], + "18217": [ + 4, + 3, + 23 + ], + "18218": [ + 4, + 3, + 22 + ], + "18220": [ + 4, + 3, + 21 + ], + "18224": [ + 4, + 3, + 20 + ], + "18225": [ + 4, + 3, + 19 + ], + "18226": [ + 4, + 3, + 18 + ], + "18228": [ + 4, + 3, + 17 + ], + "18232": [ + 4, + 3, + 16 + ], + "18233": [ + 4, + 3, + 15 + ], + "18234": [ + 12, + 1, + 98 + ], + "18236": [ + 12, + 1, + 97 + ], + "18343": [ + 12, + 1, + 96 + ], + "18488": [ + 12, + 1, + 95 + ], + "18489": [ + 12, + 1, + 94 + ], + "18490": [ + 12, + 1, + 93 + ], + "18491": [ + 12, + 1, + 92 + ], + "18492": [ + 12, + 1, + 91 + ], + "18493": [ + 12, + 1, + 90 + ], + "18502": [ + 12, + 1, + 89 + ], + "18503": [ + 12, + 1, + 88 + ], + "18504": [ + 12, + 1, + 87 + ], + "18505": [ + 12, + 1, + 86 + ], + "18512": [ + 12, + 1, + 85 + ], + "18513": [ + 12, + 1, + 84 + ], + "18514": [ + 12, + 1, + 83 + ], + "18516": [ + 12, + 1, + 82 + ], + "18517": [ + 12, + 1, + 81 + ], + "18522": [ + 12, + 1, + 80 + ], + "18526": [ + 12, + 1, + 79 + ], + "18528": [ + 12, + 1, + 78 + ] + }, + "canonical_sha256": "04a2de9c5a1a362bd1f3499791e3f9d8526ecd8f6e590385a99b7579972df84e", + "idle_delta": {} + }, + { + "label": "order11", + "block": 11, + "sort_after": true, + "moves": { + "10556": [ + 10, + 1, + 87 + ], + "10663": [ + 11, + 0, + 30 + ], + "10808": [ + 11, + 0, + 29 + ], + "10809": [ + 11, + 0, + 28 + ], + "10810": [ + 11, + 0, + 27 + ], + "10811": [ + 11, + 0, + 26 + ], + "10812": [ + 11, + 0, + 25 + ], + "10813": [ + 11, + 0, + 24 + ], + "10822": [ + 11, + 0, + 23 + ], + "10823": [ + 11, + 0, + 22 + ], + "10824": [ + 11, + 0, + 21 + ], + "10825": [ + 11, + 0, + 20 + ], + "10832": [ + 11, + 0, + 19 + ], + "10833": [ + 11, + 0, + 18 + ], + "10834": [ + 11, + 0, + 17 + ], + "10836": [ + 11, + 0, + 16 + ], + "10837": [ + 11, + 0, + 15 + ], + "10842": [ + 11, + 0, + 14 + ], + "10846": [ + 11, + 0, + 13 + ], + "10848": [ + 11, + 0, + 12 + ], + "10849": [ + 11, + 0, + 11 + ], + "10854": [ + 11, + 0, + 10 + ], + "10856": [ + 11, + 0, + 9 + ], + "10857": [ + 11, + 0, + 8 + ], + "10858": [ + 11, + 0, + 7 + ], + "10859": [ + 11, + 0, + 6 + ], + "10860": [ + 11, + 0, + 5 + ], + "10861": [ + 11, + 0, + 4 + ], + "10862": [ + 11, + 0, + 3 + ], + "10863": [ + 11, + 0, + 2 + ], + "10864": [ + 11, + 0, + 1 + ], + "10865": [ + 11, + 0, + 0 + ], + "10870": [ + 3, + 0, + 73 + ], + "10871": [ + 3, + 0, + 72 + ], + "10872": [ + 3, + 0, + 71 + ], + "10873": [ + 3, + 0, + 70 + ], + "10874": [ + 3, + 0, + 69 + ], + "10875": [ + 3, + 0, + 68 + ], + "10876": [ + 3, + 0, + 67 + ], + "10877": [ + 3, + 0, + 66 + ], + "10880": [ + 3, + 0, + 65 + ], + "10881": [ + 3, + 0, + 64 + ], + "10886": [ + 3, + 0, + 63 + ], + "10887": [ + 3, + 0, + 62 + ], + "10888": [ + 3, + 0, + 61 + ], + "10889": [ + 3, + 0, + 60 + ], + "10895": [ + 3, + 0, + 59 + ], + "10897": [ + 3, + 0, + 58 + ], + "10898": [ + 11, + 2, + 11 + ], + "10899": [ + 3, + 0, + 56 + ], + "10900": [ + 3, + 0, + 55 + ], + "10901": [ + 3, + 0, + 54 + ], + "10905": [ + 3, + 0, + 33 + ], + "10907": [ + 3, + 0, + 32 + ], + "10908": [ + 3, + 0, + 31 + ], + "10909": [ + 3, + 0, + 30 + ], + "10910": [ + 3, + 0, + 29 + ], + "10911": [ + 3, + 0, + 28 + ], + "10912": [ + 3, + 0, + 27 + ], + "10913": [ + 3, + 0, + 26 + ], + "10914": [ + 3, + 0, + 25 + ], + "10915": [ + 3, + 0, + 24 + ], + "10916": [ + 3, + 0, + 23 + ], + "10917": [ + 3, + 0, + 22 + ], + "10918": [ + 3, + 0, + 21 + ], + "10919": [ + 3, + 0, + 20 + ], + "10928": [ + 3, + 0, + 19 + ], + "10929": [ + 3, + 0, + 18 + ], + "10930": [ + 3, + 0, + 17 + ], + "10932": [ + 3, + 0, + 16 + ], + "10936": [ + 3, + 0, + 15 + ], + "10937": [ + 3, + 0, + 14 + ], + "10938": [ + 3, + 0, + 13 + ], + "10940": [ + 3, + 0, + 12 + ], + "10944": [ + 3, + 0, + 11 + ], + "10945": [ + 3, + 0, + 10 + ], + "10946": [ + 3, + 0, + 9 + ], + "10948": [ + 3, + 0, + 8 + ], + "10952": [ + 3, + 0, + 7 + ], + "10953": [ + 3, + 0, + 6 + ], + "10954": [ + 3, + 0, + 5 + ], + "10956": [ + 3, + 0, + 40 + ], + "10960": [ + 3, + 0, + 39 + ], + "10961": [ + 3, + 0, + 38 + ], + "10962": [ + 3, + 0, + 37 + ], + "10964": [ + 3, + 0, + 36 + ], + "10968": [ + 3, + 0, + 35 + ], + "10969": [ + 3, + 0, + 34 + ], + "10970": [ + 11, + 0, + 37 + ], + "10972": [ + 11, + 0, + 36 + ], + "10976": [ + 11, + 0, + 35 + ], + "10977": [ + 11, + 0, + 34 + ], + "10978": [ + 11, + 0, + 33 + ], + "10980": [ + 11, + 0, + 32 + ], + "10984": [ + 11, + 0, + 31 + ], + "10985": [ + 3, + 0, + 43 + ], + "10986": [ + 3, + 0, + 42 + ], + "10988": [ + 3, + 0, + 41 + ], + "10992": [ + 3, + 2, + 35 + ], + "10993": [ + 11, + 0, + 62 + ], + "10994": [ + 11, + 0, + 68 + ], + "10996": [ + 11, + 0, + 69 + ], + "11000": [ + 11, + 0, + 73 + ], + "11001": [ + 11, + 0, + 76 + ], + "11002": [ + 11, + 0, + 93 + ], + "11004": [ + 11, + 0, + 100 + ], + "11008": [ + 11, + 2, + 0 + ], + "11009": [ + 11, + 2, + 13 + ], + "11010": [ + 11, + 2, + 15 + ], + "11012": [ + 11, + 2, + 16 + ], + "11016": [ + 11, + 2, + 19 + ], + "11017": [ + 11, + 2, + 21 + ], + "11018": [ + 11, + 2, + 22 + ], + "11020": [ + 11, + 2, + 23 + ], + "11024": [ + 11, + 2, + 24 + ], + "11025": [ + 11, + 2, + 25 + ], + "11026": [ + 11, + 2, + 26 + ], + "11028": [ + 11, + 2, + 27 + ], + "11032": [ + 11, + 2, + 28 + ], + "11033": [ + 11, + 2, + 29 + ], + "11034": [ + 11, + 2, + 84 + ], + "11036": [ + 11, + 2, + 87 + ], + "11127": [ + 3, + 3, + 41 + ], + "11143": [ + 11, + 2, + 90 + ], + "11288": [ + 3, + 3, + 40 + ], + "11289": [ + 11, + 2, + 102 + ], + "11290": [ + 4, + 0, + 39 + ], + "11291": [ + 4, + 0, + 38 + ], + "11292": [ + 4, + 0, + 37 + ], + "11293": [ + 4, + 0, + 36 + ], + "11302": [ + 4, + 0, + 35 + ], + "11303": [ + 4, + 0, + 34 + ], + "11304": [ + 4, + 0, + 33 + ], + "11305": [ + 4, + 0, + 32 + ], + "11312": [ + 4, + 0, + 31 + ], + "11313": [ + 4, + 0, + 30 + ], + "11314": [ + 4, + 0, + 29 + ], + "11316": [ + 4, + 0, + 28 + ], + "11317": [ + 4, + 0, + 27 + ], + "11322": [ + 4, + 0, + 26 + ], + "11326": [ + 4, + 0, + 25 + ], + "11328": [ + 4, + 0, + 24 + ], + "11329": [ + 4, + 0, + 23 + ], + "11334": [ + 4, + 0, + 22 + ], + "11336": [ + 4, + 0, + 21 + ], + "11337": [ + 4, + 0, + 20 + ], + "11338": [ + 4, + 0, + 19 + ], + "11339": [ + 4, + 0, + 18 + ], + "11340": [ + 4, + 0, + 17 + ], + "11341": [ + 3, + 3, + 39 + ], + "11342": [ + 4, + 0, + 16 + ], + "11343": [ + 4, + 0, + 15 + ], + "11344": [ + 4, + 0, + 14 + ], + "11345": [ + 4, + 0, + 13 + ], + "11350": [ + 4, + 0, + 12 + ], + "11351": [ + 4, + 0, + 11 + ], + "11352": [ + 4, + 0, + 10 + ], + "11353": [ + 4, + 0, + 9 + ], + "11354": [ + 4, + 0, + 8 + ], + "11355": [ + 4, + 0, + 7 + ], + "11356": [ + 4, + 0, + 6 + ], + "11357": [ + 4, + 0, + 5 + ], + "11360": [ + 4, + 0, + 4 + ], + "11361": [ + 4, + 0, + 3 + ], + "11366": [ + 11, + 0, + 61 + ], + "11367": [ + 11, + 0, + 62 + ], + "11368": [ + 11, + 0, + 69 + ], + "11369": [ + 11, + 0, + 73 + ], + "11375": [ + 11, + 0, + 76 + ], + "11377": [ + 11, + 0, + 93 + ], + "11378": [ + 11, + 0, + 94 + ], + "11379": [ + 11, + 2, + 0 + ], + "11380": [ + 11, + 2, + 13 + ], + "11381": [ + 11, + 2, + 18 + ], + "11385": [ + 11, + 2, + 19 + ], + "11387": [ + 11, + 2, + 21 + ], + "11388": [ + 11, + 2, + 22 + ], + "11389": [ + 11, + 2, + 24 + ], + "11390": [ + 11, + 2, + 25 + ], + "11391": [ + 11, + 2, + 26 + ], + "11392": [ + 11, + 2, + 27 + ], + "11393": [ + 11, + 2, + 28 + ], + "11394": [ + 11, + 2, + 29 + ], + "11395": [ + 11, + 2, + 87 + ], + "11396": [ + 11, + 2, + 91 + ], + "11397": [ + 11, + 2, + 103 + ], + "11398": [ + 3, + 3, + 38 + ], + "11399": [ + 11, + 2, + 105 + ], + "11408": [ + 11, + 0, + 43 + ], + "11409": [ + 11, + 0, + 42 + ], + "11410": [ + 11, + 0, + 41 + ], + "11412": [ + 11, + 0, + 40 + ], + "11416": [ + 11, + 0, + 39 + ], + "11417": [ + 11, + 0, + 38 + ], + "11418": [ + 11, + 0, + 37 + ], + "11420": [ + 11, + 0, + 36 + ], + "11424": [ + 11, + 0, + 35 + ], + "11425": [ + 11, + 0, + 34 + ], + "11426": [ + 11, + 0, + 33 + ], + "11428": [ + 11, + 0, + 32 + ], + "11432": [ + 11, + 0, + 31 + ], + "11433": [ + 11, + 0, + 30 + ], + "11434": [ + 11, + 0, + 29 + ], + "11436": [ + 11, + 0, + 28 + ], + "11440": [ + 11, + 0, + 27 + ], + "11441": [ + 11, + 0, + 26 + ], + "11442": [ + 11, + 0, + 25 + ], + "11444": [ + 11, + 0, + 24 + ], + "11448": [ + 11, + 0, + 23 + ], + "11449": [ + 11, + 0, + 22 + ], + "11450": [ + 11, + 0, + 21 + ], + "11452": [ + 11, + 0, + 20 + ], + "11456": [ + 11, + 0, + 19 + ], + "11457": [ + 11, + 0, + 18 + ], + "11458": [ + 11, + 0, + 17 + ], + "11460": [ + 11, + 0, + 16 + ], + "11464": [ + 11, + 0, + 15 + ], + "11465": [ + 11, + 0, + 14 + ], + "11466": [ + 11, + 0, + 13 + ], + "11468": [ + 11, + 0, + 12 + ], + "11472": [ + 11, + 0, + 11 + ], + "11473": [ + 11, + 0, + 10 + ], + "11474": [ + 11, + 0, + 9 + ], + "11476": [ + 11, + 0, + 8 + ], + "11480": [ + 11, + 0, + 7 + ], + "11481": [ + 11, + 0, + 6 + ], + "11482": [ + 11, + 0, + 5 + ], + "11484": [ + 11, + 0, + 4 + ], + "11488": [ + 11, + 0, + 3 + ], + "11489": [ + 11, + 0, + 2 + ], + "11490": [ + 11, + 0, + 1 + ], + "11492": [ + 11, + 0, + 0 + ], + "11496": [ + 11, + 2, + 12 + ], + "11497": [ + 11, + 0, + 84 + ], + "11498": [ + 0, + 5, + 70 + ], + "11500": [ + 0, + 5, + 69 + ], + "11504": [ + 0, + 5, + 68 + ], + "11505": [ + 0, + 5, + 67 + ], + "11506": [ + 3, + 3, + 37 + ], + "11508": [ + 0, + 5, + 66 + ], + "11512": [ + 0, + 5, + 65 + ], + "11513": [ + 0, + 5, + 64 + ], + "11514": [ + 0, + 5, + 63 + ], + "11516": [ + 0, + 5, + 62 + ], + "11607": [ + 11, + 0, + 44 + ], + "11623": [ + 11, + 0, + 74 + ], + "11768": [ + 11, + 2, + 15 + ], + "11769": [ + 11, + 2, + 99 + ], + "11770": [ + 11, + 2, + 107 + ], + "11771": [ + 0, + 7, + 78 + ], + "11772": [ + 0, + 7, + 77 + ], + "11773": [ + 0, + 7, + 76 + ], + "11782": [ + 0, + 7, + 75 + ], + "11783": [ + 0, + 7, + 74 + ], + "11784": [ + 0, + 7, + 73 + ], + "11785": [ + 0, + 7, + 72 + ], + "11792": [ + 0, + 7, + 71 + ], + "11793": [ + 0, + 7, + 70 + ], + "11794": [ + 0, + 7, + 69 + ], + "11796": [ + 0, + 7, + 68 + ], + "11797": [ + 0, + 7, + 67 + ], + "11802": [ + 0, + 7, + 66 + ], + "11806": [ + 0, + 7, + 65 + ], + "11808": [ + 0, + 7, + 64 + ], + "11809": [ + 0, + 7, + 63 + ], + "11814": [ + 0, + 7, + 62 + ], + "11816": [ + 0, + 7, + 61 + ], + "11817": [ + 0, + 7, + 60 + ], + "11818": [ + 0, + 7, + 59 + ], + "11819": [ + 0, + 7, + 58 + ], + "11820": [ + 0, + 7, + 57 + ], + "11821": [ + 0, + 7, + 56 + ], + "11822": [ + 0, + 7, + 55 + ], + "11823": [ + 0, + 7, + 54 + ], + "11824": [ + 0, + 7, + 53 + ], + "11825": [ + 0, + 7, + 52 + ], + "11830": [ + 0, + 7, + 51 + ], + "11831": [ + 0, + 7, + 50 + ], + "11832": [ + 0, + 7, + 49 + ], + "11833": [ + 0, + 7, + 48 + ], + "11834": [ + 0, + 7, + 47 + ], + "11835": [ + 0, + 7, + 46 + ], + "11836": [ + 0, + 7, + 45 + ], + "11837": [ + 0, + 7, + 44 + ], + "11840": [ + 0, + 7, + 43 + ], + "11841": [ + 0, + 7, + 42 + ], + "11846": [ + 0, + 7, + 41 + ], + "11847": [ + 0, + 7, + 40 + ], + "11848": [ + 0, + 7, + 39 + ], + "11849": [ + 0, + 7, + 38 + ], + "11855": [ + 0, + 7, + 37 + ], + "11857": [ + 0, + 7, + 36 + ], + "11858": [ + 0, + 7, + 35 + ], + "11859": [ + 0, + 7, + 34 + ], + "11860": [ + 0, + 7, + 33 + ], + "11861": [ + 10, + 1, + 86 + ], + "11865": [ + 10, + 1, + 85 + ], + "11867": [ + 10, + 1, + 84 + ], + "11868": [ + 10, + 1, + 83 + ], + "11869": [ + 10, + 1, + 81 + ], + "11870": [ + 10, + 1, + 80 + ], + "11871": [ + 10, + 1, + 79 + ], + "11872": [ + 10, + 1, + 78 + ], + "11873": [ + 10, + 1, + 77 + ], + "12087": [ + 0, + 7, + 32 + ], + "12273": [ + 0, + 7, + 31 + ], + "12274": [ + 0, + 7, + 30 + ], + "12276": [ + 0, + 7, + 29 + ], + "12277": [ + 0, + 7, + 28 + ], + "12282": [ + 0, + 7, + 27 + ], + "12286": [ + 0, + 7, + 26 + ], + "12288": [ + 0, + 7, + 25 + ], + "12289": [ + 0, + 7, + 24 + ], + "12294": [ + 0, + 7, + 23 + ], + "12296": [ + 0, + 7, + 22 + ], + "12297": [ + 0, + 7, + 21 + ], + "12298": [ + 0, + 7, + 20 + ], + "12299": [ + 0, + 7, + 19 + ], + "12300": [ + 0, + 7, + 18 + ], + "12301": [ + 0, + 7, + 17 + ], + "12302": [ + 0, + 7, + 16 + ], + "12303": [ + 0, + 7, + 15 + ], + "12304": [ + 0, + 7, + 14 + ], + "12305": [ + 0, + 7, + 13 + ], + "12310": [ + 0, + 7, + 12 + ], + "12311": [ + 0, + 7, + 11 + ], + "12312": [ + 0, + 7, + 10 + ], + "12313": [ + 0, + 7, + 9 + ], + "12314": [ + 0, + 7, + 8 + ], + "12315": [ + 0, + 7, + 7 + ], + "12316": [ + 0, + 7, + 6 + ], + "12317": [ + 0, + 7, + 5 + ], + "12320": [ + 0, + 7, + 4 + ], + "12321": [ + 0, + 7, + 3 + ], + "12326": [ + 0, + 7, + 2 + ], + "12327": [ + 0, + 7, + 1 + ], + "12328": [ + 0, + 7, + 0 + ], + "12329": [ + 0, + 5, + 111 + ], + "12335": [ + 0, + 5, + 110 + ], + "12337": [ + 0, + 5, + 109 + ], + "12338": [ + 0, + 5, + 108 + ], + "12339": [ + 0, + 5, + 107 + ], + "12340": [ + 0, + 5, + 106 + ], + "12728": [ + 3, + 3, + 36 + ], + "12729": [ + 3, + 3, + 35 + ], + "12730": [ + 3, + 3, + 34 + ], + "12731": [ + 3, + 3, + 33 + ], + "12732": [ + 3, + 3, + 32 + ], + "12733": [ + 3, + 3, + 31 + ], + "12742": [ + 3, + 3, + 30 + ], + "12743": [ + 3, + 3, + 29 + ], + "12744": [ + 3, + 3, + 28 + ], + "12745": [ + 3, + 3, + 27 + ], + "12752": [ + 3, + 3, + 26 + ], + "12753": [ + 3, + 3, + 25 + ], + "12754": [ + 3, + 3, + 24 + ], + "12756": [ + 3, + 3, + 23 + ], + "12757": [ + 3, + 3, + 22 + ], + "12762": [ + 3, + 3, + 21 + ], + "12766": [ + 3, + 3, + 20 + ], + "12768": [ + 3, + 3, + 19 + ], + "12769": [ + 3, + 3, + 18 + ], + "12774": [ + 3, + 3, + 17 + ], + "12776": [ + 3, + 3, + 16 + ], + "12777": [ + 3, + 3, + 15 + ], + "12778": [ + 3, + 3, + 14 + ], + "12779": [ + 3, + 3, + 13 + ], + "12780": [ + 3, + 3, + 12 + ], + "12781": [ + 3, + 3, + 11 + ], + "12782": [ + 3, + 3, + 10 + ], + "12783": [ + 3, + 3, + 9 + ], + "12784": [ + 3, + 3, + 8 + ], + "12785": [ + 3, + 3, + 7 + ], + "12790": [ + 3, + 3, + 6 + ], + "12791": [ + 3, + 3, + 5 + ], + "12792": [ + 3, + 3, + 4 + ], + "12793": [ + 3, + 3, + 3 + ], + "12794": [ + 3, + 3, + 2 + ], + "12795": [ + 3, + 3, + 1 + ], + "12796": [ + 3, + 3, + 0 + ], + "12797": [ + 3, + 1, + 111 + ], + "12800": [ + 3, + 1, + 110 + ], + "12801": [ + 3, + 1, + 109 + ], + "12806": [ + 3, + 1, + 108 + ], + "12807": [ + 3, + 1, + 107 + ], + "12808": [ + 3, + 1, + 106 + ], + "12809": [ + 3, + 1, + 105 + ], + "12815": [ + 3, + 1, + 104 + ], + "12817": [ + 3, + 1, + 103 + ], + "12818": [ + 3, + 1, + 102 + ], + "12819": [ + 3, + 1, + 101 + ], + "12820": [ + 3, + 1, + 100 + ], + "12821": [ + 3, + 1, + 99 + ], + "12825": [ + 3, + 1, + 98 + ], + "12827": [ + 3, + 1, + 97 + ], + "12828": [ + 3, + 1, + 96 + ], + "12829": [ + 3, + 1, + 95 + ], + "12830": [ + 3, + 1, + 94 + ], + "12831": [ + 3, + 1, + 93 + ], + "12832": [ + 3, + 1, + 92 + ], + "12833": [ + 3, + 1, + 91 + ], + "12834": [ + 3, + 1, + 90 + ], + "12835": [ + 3, + 1, + 89 + ], + "12836": [ + 3, + 1, + 88 + ], + "12837": [ + 3, + 1, + 87 + ], + "12838": [ + 3, + 1, + 86 + ], + "12839": [ + 3, + 1, + 85 + ], + "12848": [ + 3, + 1, + 84 + ], + "12849": [ + 3, + 1, + 83 + ], + "12850": [ + 3, + 1, + 82 + ], + "12852": [ + 3, + 1, + 81 + ], + "12856": [ + 3, + 1, + 80 + ], + "12857": [ + 3, + 1, + 79 + ], + "12858": [ + 3, + 1, + 78 + ], + "12860": [ + 3, + 1, + 77 + ], + "12864": [ + 3, + 1, + 76 + ], + "12865": [ + 3, + 1, + 75 + ], + "12866": [ + 3, + 1, + 74 + ], + "12868": [ + 3, + 1, + 73 + ], + "12872": [ + 3, + 1, + 72 + ], + "12873": [ + 3, + 1, + 71 + ], + "12874": [ + 3, + 1, + 70 + ], + "12876": [ + 3, + 1, + 69 + ], + "12880": [ + 3, + 1, + 68 + ], + "12881": [ + 3, + 1, + 67 + ], + "12882": [ + 3, + 1, + 66 + ], + "12884": [ + 3, + 1, + 65 + ], + "12888": [ + 3, + 1, + 64 + ], + "7303": [ + 2, + 3, + 85 + ], + "7448": [ + 2, + 3, + 84 + ], + "7449": [ + 2, + 3, + 83 + ], + "7450": [ + 2, + 3, + 82 + ], + "7451": [ + 2, + 3, + 81 + ], + "7452": [ + 2, + 3, + 80 + ], + "7453": [ + 2, + 3, + 79 + ], + "7462": [ + 2, + 3, + 78 + ], + "7463": [ + 2, + 3, + 77 + ], + "7464": [ + 2, + 3, + 76 + ], + "7465": [ + 2, + 3, + 75 + ], + "7472": [ + 2, + 3, + 74 + ], + "7473": [ + 2, + 3, + 73 + ], + "7474": [ + 2, + 3, + 72 + ], + "7476": [ + 2, + 3, + 71 + ], + "7477": [ + 2, + 3, + 70 + ], + "7482": [ + 2, + 3, + 69 + ], + "7486": [ + 2, + 3, + 68 + ], + "7488": [ + 2, + 3, + 67 + ], + "7489": [ + 2, + 3, + 66 + ], + "7494": [ + 2, + 3, + 65 + ], + "7496": [ + 2, + 3, + 64 + ], + "7497": [ + 2, + 3, + 63 + ], + "7498": [ + 2, + 3, + 62 + ], + "7499": [ + 2, + 3, + 61 + ], + "7500": [ + 2, + 3, + 60 + ], + "7501": [ + 2, + 3, + 59 + ], + "7502": [ + 2, + 3, + 58 + ], + "7503": [ + 2, + 3, + 57 + ], + "7504": [ + 2, + 3, + 56 + ], + "7505": [ + 2, + 3, + 55 + ], + "7511": [ + 2, + 3, + 54 + ], + "7512": [ + 2, + 3, + 53 + ], + "7513": [ + 2, + 3, + 52 + ], + "7514": [ + 2, + 3, + 51 + ], + "7515": [ + 2, + 3, + 50 + ], + "7516": [ + 2, + 3, + 49 + ], + "7517": [ + 2, + 3, + 48 + ], + "7520": [ + 2, + 3, + 47 + ], + "7521": [ + 2, + 3, + 46 + ], + "7526": [ + 2, + 3, + 45 + ], + "7527": [ + 2, + 3, + 44 + ], + "7528": [ + 2, + 3, + 43 + ], + "7529": [ + 2, + 3, + 42 + ], + "7535": [ + 2, + 3, + 41 + ], + "7537": [ + 2, + 3, + 40 + ], + "7538": [ + 2, + 3, + 39 + ], + "7539": [ + 2, + 3, + 38 + ], + "7540": [ + 2, + 3, + 37 + ], + "7541": [ + 2, + 3, + 36 + ], + "7545": [ + 2, + 3, + 35 + ], + "7547": [ + 2, + 3, + 34 + ], + "7548": [ + 2, + 3, + 33 + ], + "7549": [ + 2, + 3, + 32 + ], + "7550": [ + 2, + 3, + 31 + ], + "7551": [ + 2, + 3, + 30 + ], + "7552": [ + 2, + 3, + 29 + ], + "7553": [ + 2, + 3, + 28 + ], + "7554": [ + 2, + 3, + 27 + ], + "7555": [ + 2, + 3, + 26 + ], + "7556": [ + 2, + 3, + 25 + ], + "7557": [ + 2, + 3, + 24 + ], + "7558": [ + 2, + 3, + 23 + ], + "7559": [ + 2, + 3, + 22 + ], + "7568": [ + 2, + 3, + 21 + ], + "7569": [ + 2, + 3, + 20 + ], + "7570": [ + 2, + 3, + 19 + ], + "7572": [ + 2, + 3, + 18 + ], + "7576": [ + 2, + 3, + 17 + ], + "7577": [ + 2, + 3, + 16 + ], + "7578": [ + 2, + 3, + 15 + ], + "7580": [ + 2, + 3, + 14 + ], + "7584": [ + 2, + 3, + 13 + ], + "7585": [ + 2, + 3, + 12 + ], + "7586": [ + 2, + 3, + 11 + ], + "7588": [ + 2, + 3, + 10 + ], + "7592": [ + 2, + 3, + 9 + ], + "7593": [ + 2, + 3, + 8 + ], + "7594": [ + 2, + 3, + 7 + ], + "7596": [ + 2, + 3, + 6 + ], + "7945": [ + 2, + 3, + 5 + ], + "7952": [ + 2, + 3, + 4 + ], + "7953": [ + 2, + 3, + 3 + ], + "7954": [ + 2, + 3, + 2 + ], + "7956": [ + 2, + 3, + 1 + ], + "7957": [ + 2, + 3, + 0 + ], + "7962": [ + 2, + 1, + 111 + ], + "8422": [ + 2, + 1, + 110 + ], + "8423": [ + 2, + 1, + 109 + ], + "8424": [ + 2, + 1, + 108 + ], + "8425": [ + 2, + 1, + 107 + ], + "8432": [ + 2, + 1, + 106 + ], + "8433": [ + 2, + 1, + 105 + ], + "8434": [ + 2, + 1, + 104 + ], + "8436": [ + 2, + 1, + 103 + ], + "8437": [ + 2, + 1, + 102 + ], + "8442": [ + 2, + 1, + 101 + ], + "8727": [ + 2, + 1, + 100 + ], + "8888": [ + 2, + 1, + 99 + ], + "8889": [ + 2, + 1, + 98 + ], + "8890": [ + 2, + 1, + 97 + ], + "8891": [ + 2, + 1, + 96 + ], + "8892": [ + 2, + 1, + 95 + ], + "8893": [ + 2, + 1, + 94 + ], + "8902": [ + 2, + 1, + 93 + ], + "8903": [ + 2, + 1, + 92 + ], + "8904": [ + 2, + 1, + 91 + ], + "8905": [ + 2, + 1, + 90 + ], + "8912": [ + 2, + 1, + 89 + ], + "8913": [ + 2, + 1, + 88 + ], + "8914": [ + 2, + 1, + 87 + ], + "8916": [ + 2, + 1, + 86 + ], + "8917": [ + 2, + 1, + 85 + ], + "8922": [ + 2, + 1, + 84 + ], + "8926": [ + 2, + 1, + 83 + ], + "8928": [ + 2, + 1, + 82 + ], + "8929": [ + 2, + 1, + 81 + ], + "8934": [ + 2, + 1, + 80 + ], + "8936": [ + 2, + 1, + 79 + ], + "8937": [ + 2, + 1, + 78 + ], + "8938": [ + 2, + 1, + 77 + ], + "8939": [ + 10, + 3, + 85 + ], + "8942": [ + 10, + 3, + 83 + ], + "8944": [ + 10, + 3, + 82 + ], + "8945": [ + 10, + 3, + 81 + ], + "8950": [ + 10, + 3, + 80 + ], + "8951": [ + 10, + 3, + 79 + ], + "8952": [ + 10, + 3, + 78 + ], + "8953": [ + 10, + 3, + 77 + ], + "8954": [ + 10, + 3, + 76 + ], + "8955": [ + 10, + 3, + 75 + ], + "8956": [ + 10, + 3, + 74 + ], + "8957": [ + 10, + 3, + 73 + ], + "8960": [ + 10, + 3, + 72 + ], + "8961": [ + 10, + 3, + 71 + ], + "8966": [ + 10, + 3, + 70 + ], + "8967": [ + 10, + 3, + 69 + ], + "8968": [ + 10, + 3, + 68 + ], + "8969": [ + 10, + 3, + 67 + ], + "8975": [ + 10, + 3, + 66 + ], + "8977": [ + 10, + 3, + 65 + ], + "8978": [ + 10, + 3, + 64 + ], + "8979": [ + 10, + 3, + 63 + ], + "8980": [ + 10, + 3, + 62 + ], + "8981": [ + 10, + 3, + 61 + ], + "8985": [ + 10, + 3, + 60 + ], + "8987": [ + 10, + 3, + 58 + ], + "8988": [ + 10, + 3, + 57 + ], + "8989": [ + 10, + 3, + 56 + ], + "8990": [ + 10, + 3, + 55 + ], + "8991": [ + 10, + 3, + 54 + ], + "8992": [ + 10, + 3, + 53 + ], + "8993": [ + 10, + 3, + 52 + ], + "8994": [ + 10, + 3, + 51 + ], + "8995": [ + 10, + 3, + 50 + ], + "8996": [ + 10, + 3, + 49 + ], + "8997": [ + 10, + 3, + 48 + ], + "8998": [ + 10, + 3, + 47 + ], + "8999": [ + 10, + 3, + 46 + ], + "9008": [ + 10, + 3, + 45 + ], + "9392": [ + 10, + 3, + 44 + ], + "9393": [ + 10, + 3, + 43 + ], + "9396": [ + 10, + 3, + 42 + ], + "9397": [ + 10, + 3, + 41 + ], + "9402": [ + 10, + 3, + 40 + ], + "9406": [ + 10, + 3, + 39 + ], + "9408": [ + 10, + 3, + 38 + ], + "9416": [ + 10, + 3, + 37 + ], + "9417": [ + 10, + 3, + 36 + ], + "9420": [ + 10, + 3, + 35 + ], + "9421": [ + 10, + 3, + 34 + ], + "9423": [ + 10, + 3, + 33 + ], + "9424": [ + 10, + 3, + 32 + ], + "9425": [ + 10, + 3, + 31 + ], + "9430": [ + 10, + 3, + 30 + ], + "9431": [ + 10, + 3, + 29 + ], + "9432": [ + 10, + 3, + 28 + ], + "9433": [ + 10, + 3, + 27 + ], + "9434": [ + 10, + 3, + 26 + ], + "9437": [ + 10, + 3, + 25 + ], + "9441": [ + 10, + 3, + 24 + ], + "9447": [ + 10, + 3, + 23 + ], + "9448": [ + 10, + 3, + 21 + ], + "9457": [ + 10, + 3, + 20 + ], + "9458": [ + 10, + 3, + 19 + ], + "9459": [ + 10, + 3, + 18 + ], + "9460": [ + 10, + 3, + 17 + ], + "9461": [ + 10, + 3, + 16 + ], + "9465": [ + 10, + 3, + 15 + ], + "9467": [ + 10, + 3, + 14 + ], + "9468": [ + 10, + 3, + 13 + ], + "9469": [ + 10, + 3, + 12 + ], + "9470": [ + 10, + 3, + 11 + ], + "9471": [ + 10, + 3, + 10 + ], + "9472": [ + 10, + 3, + 9 + ], + "9473": [ + 10, + 3, + 8 + ], + "9474": [ + 10, + 3, + 7 + ], + "9475": [ + 10, + 3, + 6 + ], + "9476": [ + 10, + 3, + 5 + ], + "9477": [ + 10, + 3, + 4 + ], + "9478": [ + 10, + 3, + 3 + ], + "9479": [ + 10, + 3, + 2 + ], + "9488": [ + 10, + 3, + 1 + ], + "9489": [ + 10, + 3, + 0 + ], + "9490": [ + 10, + 1, + 111 + ], + "9492": [ + 10, + 1, + 110 + ], + "9496": [ + 10, + 1, + 109 + ], + "9497": [ + 10, + 1, + 108 + ], + "9498": [ + 10, + 1, + 107 + ], + "9500": [ + 10, + 1, + 106 + ], + "9504": [ + 10, + 1, + 105 + ], + "9505": [ + 10, + 1, + 104 + ], + "9506": [ + 10, + 1, + 103 + ], + "9508": [ + 10, + 1, + 102 + ], + "9512": [ + 10, + 1, + 101 + ], + "9513": [ + 10, + 1, + 100 + ], + "9514": [ + 10, + 1, + 99 + ], + "9516": [ + 10, + 1, + 98 + ], + "9520": [ + 10, + 1, + 97 + ], + "9521": [ + 10, + 1, + 96 + ], + "9522": [ + 10, + 1, + 95 + ], + "9524": [ + 10, + 1, + 94 + ], + "9528": [ + 10, + 1, + 93 + ], + "9529": [ + 10, + 1, + 92 + ], + "9530": [ + 10, + 1, + 91 + ], + "9532": [ + 10, + 1, + 90 + ], + "9536": [ + 10, + 1, + 89 + ], + "9927": [ + 10, + 1, + 88 + ] + }, + "canonical_sha256": "1ff897d1238c5b97650a311a33f309ade2c516e43989bf961a4a41507f677575", + "idle_delta": {} + }, + { + "label": "chain", + "block": null, + "sort_after": true, + "moves": { + "10784": [ + 11, + 0, + 91 + ], + "15584": [ + 4, + 0, + 0 + ], + "21344": [ + 5, + 0, + 96 + ], + "23266": [ + 6, + 2, + 105 + ], + "29506": [ + 7, + 0, + 69 + ], + "2979": [ + 14, + 4, + 14 + ], + "34784": [ + 8, + 16, + 63 + ], + "43909": [ + 9, + 17, + 76 + ], + "5085": [ + 2, + 2, + 30 + ], + "7484": [ + 10, + 2, + 28 + ] + }, + "canonical_sha256": "64e024e901deec6fc0ab2c291e94dfbf64e529c060ba2e56cb69234094f31029", + "idle_delta": { + "3": -2, + "6": 1 + } + }, + { + "label": "swap6-7", + "block": null, + "sort_after": true, + "moves": { + "1170": [ + 14, + 4, + 14 + ], + "2979": [ + 1, + 0, + 3 + ] + }, + "canonical_sha256": "8087d6f0c96cbdd949671b801739e90439a853136a3753f098e7f386a82b9ddb", + "idle_delta": { + "1": 1, + "6": -1, + "7": -1, + "12": 1 + } + }, + { + "label": "relocate12", + "block": null, + "sort_after": true, + "moves": { + "2979": [ + 9, + 2, + 102 + ], + "533": [ + 0, + 0, + 70 + ] + }, + "canonical_sha256": "ba7bbdca8759367326d00ae98cbe278199dd3be5386df412d5f32c2b807e48e3", + "idle_delta": { + "3": 1, + "7": -1, + "12": -1, + "16": 1 + } + } + ] +} diff --git a/research/t16-reordered-augmenting-chain/RESULT.json b/research/t16-reordered-augmenting-chain/RESULT.json new file mode 100644 index 0000000000..a962209311 --- /dev/null +++ b/research/t16-reordered-augmenting-chain/RESULT.json @@ -0,0 +1,53 @@ +{ + "status": "PASS_T16_REORDERED_AUGMENTING_CHAIN", + "paired_block_swaps": [ + 22, + 16, + 11 + ], + "owner_canonical_sha256": "ba7bbdca8759367326d00ae98cbe278199dd3be5386df412d5f32c2b807e48e3", + "profile": { + "1": 349710, + "2": 60192, + "3": 62326, + "4": 20448, + "5": 11808, + "8": 1152, + "16": 3, + "48": 4880 + }, + "idle": { + "1": 2382, + "3": 118, + "16": 3, + "48": 4880 + }, + "kappa": "836818122475863/500000000000000000", + "complex_lower": "1676441999043885561283/1000000000000000000000000", + "bit_lower": "1733427039589844234749/1000000000000000000000000", + "conservative": { + "endpoint": "167644199618153311541/100000000000000000000000", + "endpoint_decimal": "0.001676441996181533115410", + "kappa": "836818121049473/500000000000000000", + "kappa_decimal": "0.001673636242098946" + }, + "gain_vs_pr3375": "7563044413/1000000000000000000", + "gain_vs_selected": "122005984351/125000000000000000", + "roles": 69120, + "rank_mass": 1041408, + "deficit": 5120, + "actual_charts": 10017, + "owner_controls": 11, + "strict_controls": { + "admission": 69, + "bit_supplier": 12, + "independent_t16": 6, + "controller_mutations": 15 + }, + "complete_invoice_unchanged": true, + "prefix_bits": 397, + "row_coefficient": 16469, + "packing_kappa_cap": "1690054109089/1001690054109089", + "fraction_of_kappa_cap": "838232390382313474329371418807/845027054544500000000000000000", + "scope": "Conditional selected-word finite composition; all inherited selected assumptions remain." +} diff --git a/research/t16-reordered-augmenting-chain/SOURCE-EXPORT.json b/research/t16-reordered-augmenting-chain/SOURCE-EXPORT.json new file mode 100644 index 0000000000..1040eac24c --- /dev/null +++ b/research/t16-reordered-augmenting-chain/SOURCE-EXPORT.json @@ -0,0 +1,22 @@ +{ + "source_pr": 3375, + "source_commit": "62fd8039cc40749cea6238e7807db9a63b4d6765", + "source_path": "research/t16-post-unlock-cycle/verify.py", + "source_git_blob": "994196fd5d0599d8794ec4269409cc9cabb8a94f", + "source_sha256": "df9707f4a66748097b452f0538ed1d763a1158e1b6c005f2638fad0246a12c2f", + "predecessor_canonical_sha256": "402dc5357441bc8fb4d36fbb5595dcad64d117f24d58cc25ce4b25d9239f70b8", + "patch_rows": 240, + "retained_files": { + "predecessor/PROOF.md": "23b2007f2d4f1d140151ac45d1c56e67c1baeb1b99594955b581daf6d47854c2", + "predecessor/README.md": "72dcfec555ce9ae048bb06687e9aed0a68a4d4ef3450c089171761f125ed7071", + "predecessor/RESULT.json": "d55484fa2098337d4fe700ba9ec167239634e2fde7992ae0de2d7f62af852551", + "predecessor/SOURCE-EXPORT.json": "54a7b7fc229d7413b82beff628b8cd745553679c3f0f0c840194da691eefdfb8", + "predecessor/predecessor.patch.json": "eb74c3db039cca850e3263823a63b90e328e70331b75368519afcbb6f81c93cc", + "predecessor/verify.py": "df9707f4a66748097b452f0538ed1d763a1158e1b6c005f2638fad0246a12c2f", + "predecessor.patch.json": "82d449f03e4fba08642cf160ab3ef1550ff85496cfd1cfc93b1b73174562152c", + "replay.py": "ea1d595a5fae8cce867127a18202fe34638f060427f2ac459c87be5f3d7832f1", + "lift16.py": "690ffb874240a45e393e15c7e10052ce33b73ad07105b50eb246583bc372a2b0", + "REPAIRS.json": "82df3183bca37b15720f1fbe356219d1e7d1390ff313e828658141d83df5e17f" + }, + "replay_source": "PR3375 retained source and full owner map authenticated against its canonical payload. Current replay and explicit causal paired-order lift are separately retained; full native admission is rerun." +} diff --git a/research/t16-reordered-augmenting-chain/SOURCES.json b/research/t16-reordered-augmenting-chain/SOURCES.json new file mode 100644 index 0000000000..a4530e1cc3 --- /dev/null +++ b/research/t16-reordered-augmenting-chain/SOURCES.json @@ -0,0 +1,276 @@ +{ + "schema_version": 1, + "base_commit": "6f100d4bb5083f8c35d96fd95a539811c62f245c", + "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" + }, + { + "path": "research/community-frontier1094-audit/ASSEMBLY.json", + "usage": "input", + "git_blob": "5fd676df060f3b450782fdf5ff5f6beb63a5eeb0", + "sha256": "1122cb3a575f8c788345fc1bf4c108ac7c3250fb81a5988671f5eb04b3ab3045" + }, + { + "path": "research/community-frontier1094-audit/selected-replay.tar.gz", + "usage": "input", + "git_blob": "c24daf067f9c543421d89ca2eeaa4eb78a57fb6f", + "sha256": "f1da80610bf33c58527f18ad63b4350d0b864e1d4486141ee17ac9bed4d529d6" + }, + { + "path": "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/CANONICAL-WORD.json.gz", + "usage": "input", + "git_blob": "a2e5a1ffd454a353bd2d2100bc26259ff5b57af7", + "sha256": "66d3c3c70983224650643a0a05a21ac6c6959f84d0f4528650601016f5a76844" + }, + { + "path": "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/CLIFFORD-RECIPES.json", + "usage": "input", + "git_blob": "526192f5056e4d7abd7c6ecd26d73319bc25d08e", + "sha256": "534ace870cabe515987e00f50f71550030965006ea18978e0924590ac6944345" + }, + { + "path": "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/CLIFFORD-REVIEW.json", + "usage": "input", + "git_blob": "d6670b5c1555eff7695811e60f75d1285af16ad2", + "sha256": "ee9b86428278392d2c933f76d60e51f5af90d4ab67e4d3937ed2fa416e7755ab" + }, + { + "path": "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/INDEPENDENT-LOCAL-REPLAY.json", + "usage": "input", + "git_blob": "c2e057a3ab4e18ad9711bcd24071780918f81c40", + "sha256": "ad3f2b941127688f98ce6872d00f110644f1c2b156f8adad1b6700e838ed0e26" + }, + { + "path": "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/INDEPENDENT-REPLAY.json", + "usage": "input", + "git_blob": "c2e057a3ab4e18ad9711bcd24071780918f81c40", + "sha256": "ad3f2b941127688f98ce6872d00f110644f1c2b156f8adad1b6700e838ed0e26" + }, + { + "path": "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/INTEGRATION.json", + "usage": "input", + "git_blob": "ba436009d75f548e6345b7e32a21e343263bc5d4", + "sha256": "5c14538134dfffbc58fa4b4d2f26b270ec5f56d17d4bf23752c82964f45171db" + }, + { + "path": "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/LOCAL-CHECKS.json", + "usage": "input", + "git_blob": "2b019f86cd37f3112ee051241f93b7ab3ec6261c", + "sha256": "79177449e404403964ce1b2f4a9a8bd49e1916daba3123d7fd7f5cfd1f1ac0ea" + }, + { + "path": "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/LOCAL-PROGRAMS.json.gz", + "usage": "input", + "git_blob": "3b2aa5db6747008c9f9c06a572cdc21e14eb8d27", + "sha256": "99a18eede965accf65943e490b8d2b2ffb9f1c9bc6babdb825413a80cbea2cde" + }, + { + "path": "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/RESIDUAL-ADAPTERS.json", + "usage": "input", + "git_blob": "2a81814dca80e70ae99a2f9ca403de07573c36bd", + "sha256": "baafef737acc16dafbe1150896feb16744f3d669fa123bb2bff19ecc4e71b275" + }, + { + "path": "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/SCALAR-FRAME-AUDIT.json", + "usage": "input", + "git_blob": "089f202be813ab0221f52b8ac7072d478c3f7497", + "sha256": "73b3601a6239502475a272ea0c46945fd42034486aaf43e66a212eb4f012ca44" + }, + { + "path": "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/WRAPPER-CHECKS.json", + "usage": "input", + "git_blob": "5efe2efe55e1ef33eb3da11642034ad6085c21c1", + "sha256": "9a09146e686c4f535b04fdef3753fe01dad8f5e8881a69408a91394acb5b48f5" + }, + { + "path": "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/work/complex-nine-native/DATA-PHASES.json", + "usage": "input", + "git_blob": "d9a4f84211182ca200c081ea061d724c8a2cfb70", + "sha256": "c5916ff312678f12aba403847643fbbc29f643acec60bdf836fa56cd3e8251fa" + }, + { + "path": "research/community-k492-audit/pr622/replay/baseline558/complex-global/controller-input/split-centres/CANONICAL-WORD.json.gz", + "usage": "input", + "git_blob": "3b0a475178f4e4ad107e3595992c872e47e83c63", + "sha256": "de2be0f4b6d24ace368fd5b834b7a00f9625d0a1824c4ff969f2db5f115db667" + }, + { + "path": "research/complex-k492-owner-repair/vendor/multicold/code/run_portable.py", + "usage": "input", + "git_blob": "2fed13f432df4d76ce72185dd79fac63d96aee96", + "sha256": "322d29d43dbee8130cde15d4bf05396698b5e3dfe3735813899db91cc0ba7955" + }, + { + "path": "research/complex-k492-owner-repair/vendor/multicold/engines/base_two_moment.py", + "usage": "input", + "git_blob": "14a90fa0e788217856f070382c9e61bd7c603c61", + "sha256": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098" + }, + { + "path": "research/complex-k492-owner-repair/vendor/multicold/engines/moment.py", + "usage": "input", + "git_blob": "7d697cb45203fe72d97037403d6da41f71f3b7fd", + "sha256": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482" + }, + { + "path": "research/complex-k492-owner-repair/vendor/multicold/engines/outer.py", + "usage": "input", + "git_blob": "43007488ad2c43187c77cc6798beff8b1cd76ad2", + "sha256": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c" + }, + { + "path": "research/complex-k492-owner-repair/vendor/multicold/inputs/PR543-EXPECTED.json", + "usage": "input", + "git_blob": "b61d859826246e0c3dabbe096e57ad7015eadfd5", + "sha256": "06eccee9f6b77e140833df83407e7996dc948c17d49b0779ab171fbe463fd28d" + }, + { + "path": "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/code/prepare_supplier_base.py", + "usage": "input", + "git_blob": "650fc9fd77fd61930ab3a352cd8d0fb5b7f0f03b", + "sha256": "f5eae94aca965d0008bc07cff8245ccb7509042ccad457d3bcb7d51c1e9409f0" + }, + { + "path": "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/evidence/audit/PREFIX-AND-INVOICE.json", + "usage": "input", + "git_blob": "a16bf40bccc81278a443e0d5f09b44495035de81", + "sha256": "ce1bfa49be88ae67a404f606a11db2232b7e1f2610d4418058e39749d86d8478" + }, + { + "path": "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor535/inputs/ROUND20-PARENT-TEMPLATE.json.gz", + "usage": "input", + "git_blob": "3e28a9b59f8fde608e59ebd5fbdbc22ca54558d4", + "sha256": "025448abdf2012d327e50a009084e1501690d05e650300d2982836aa0350ae00" + }, + { + "path": "research/complex-local-word-ceiling/ceiling.py", + "usage": "input", + "git_blob": "6c0f54527d879396f689523bfde19928a9b6157c", + "sha256": "86a1432870b3b21d8454106ec9162fddc0471472d9214c590a1420f2426cedfc" + }, + { + "path": "research/complex-t16-rare-pattern-exchanges/data/OWNERS.json.gz", + "usage": "input", + "git_blob": "d3ba33d7e703a3229d9fb8a360f69d2f318bbb70", + "sha256": "87902c528dfab7d503dcf8a784260e3ab6fb7424c418a1820f7261f25be7b6bc" + }, + { + "path": "research/complex-t16-rare-pattern-exchanges/data/PLAN.json", + "usage": "input", + "git_blob": "f1bec76e8e9b7a1f09c1e05cb6cce973b6e59f1b", + "sha256": "7bd786ba8e66408f02aa9ef446eaf20c1bfe981ea2e4dd1e5a929f0aa7767bc0" + }, + { + "path": "research/complex-t16-rare-pattern-exchanges/data/SPEC.json", + "usage": "input", + "git_blob": "af013ccc2975d9d575d116f8a463cc947f220c8d", + "sha256": "8cb51f25a5da4a29d3783853025b73ff1f452429d4fdb30c599e598bcab0e71d" + }, + { + "path": "research/complex-t16-rare-pattern-exchanges/upstream1087.tar.gz", + "usage": "input", + "git_blob": "2970ef79b0441e937449bed30f68f2e0558186ba", + "sha256": "d4acf04daef85d4514f80ec5fcd2492d0c60e5d6c49fa71b3e6523f8db2dea86" + }, + { + "path": "research/complex-t16-two-stage-cycles/LOCAL-PINS.json", + "usage": "input", + "git_blob": "e0f4d3152145ff103105c6e0ff0df9771e4de545", + "sha256": "c9e7ad3818f2a841ea0d224089ca2f975caff2d04cc12b55f072fca88df53140" + }, + { + "path": "research/complex-t16-two-stage-cycles/ceiling_bound.py", + "usage": "input", + "git_blob": "dafb8c087c1ed45e6851e03bb8bc8f4a527e4597", + "sha256": "b8e22ba9ae03677b814de8d145f5a86eee21bc0d1d89642cbb41f9dabd15791b" + }, + { + "path": "research/complex-t16-two-stage-cycles/check.py", + "usage": "input", + "git_blob": "4651e0f89f2c6fe0a59161b15a88bb3e2ee65ce6", + "sha256": "a7f7b3274109879ca10c7eda275bc247aae09bff1eb0a56151ae698c35bf4639" + }, + { + "path": "research/complex-t16-two-stage-cycles/data/OWNERS.json.gz", + "usage": "input", + "git_blob": "aa664b8e35816e1b09b3a4cd8c3cf40e329cc073", + "sha256": "551fd1b3a75fa5fd67cfd8c00a6c77c2f893a5120cb0c0dd8a7699f25e9bddba" + }, + { + "path": "research/complex-t16-two-stage-cycles/data/PLAN.json", + "usage": "input", + "git_blob": "99a48b1c72f02629fbbac00d74d01559eb6e7292", + "sha256": "67173cd2e38296699e596714deb8b98e199bcb3390b49c2218887011a07f23da" + }, + { + "path": "research/complex-t16-two-stage-cycles/data/SPEC.json", + "usage": "input", + "git_blob": "fb46407cc69d658f15429908d773c10c0e81ae29", + "sha256": "e81f2dabf16bc4d56d427bf5bc4a06f05ce27fc6c539c3de4029cb5304ed9701" + }, + { + "path": "research/complex-t16-two-stage-cycles/search/buildcand.py", + "usage": "input", + "git_blob": "28bd3641523d656cd26c1533a6e0eeb695b3c99a", + "sha256": "d9929e5ecfc9e9fcde3e73aa1cfe9ceba4e5032e80b808685014b1b340fa5669" + }, + { + "path": "research/complex-t16-two-stage-cycles/search/lib.py", + "usage": "input", + "git_blob": "0e4de9240bc1a4c5d773bc18846f2ec882903313", + "sha256": "bd76fda0a3fe47005f898b41c563bb8ba8296a7214a0540bdcf06b22a135ff24" + }, + { + "path": "research/frontier1094-idle-star-ceiling/analyze.py", + "usage": "input", + "git_blob": "c0521d10ddfc92e089e01e6b025ed8bd4b8d177f", + "sha256": "d9768cff06d5e19e75b2ccc4d03ff5bc2d93098f3192c167d3f208c802877bbc" + }, + { + "path": "research/pending-claims-independent-pricing/SNAPSHOT.json", + "usage": "input", + "git_blob": "cab5ae8e67e646b38429548fab1cc53b25e7617f", + "sha256": "9f1a69818b64abacd96bde1809e750349ce7c79d45b77490ddcd3e213ac08613" + }, + { + "path": "research/pending-claims-independent-pricing/arith.py", + "usage": "input", + "git_blob": "b9e30144438b375ee999e53c5fe7051e381e4c6f", + "sha256": "1b4766610223bbf5e346d7cebc036eaeaedfa2f7200c075136bd750ab26ece88" + }, + { + "path": "research/pending-claims-independent-pricing/sweep.py", + "usage": "input", + "git_blob": "dc60fab01d7e72b3cbfa536a925c78fdd9ff8f78", + "sha256": "aeafc6a5e39817a893fa8392f4f7e767b23437e3317067075bb9d5552e3df23f" + }, + { + "path": "research/t16-owner-audit-seed67/SOURCES.json", + "usage": "input", + "git_blob": "92b80c5f45c16a43f56a8ce51147cb5bd14c5e6a", + "sha256": "d3d71303dcd25fe84a3e026c4ad53535607ba6b288fd144736ad2a5376390396" + }, + { + "path": "research/t16-owner-audit-seed67/inputs/k8-seven-slot-word.json.gz", + "usage": "input", + "git_blob": "723decbca8995e916d6f4b783aa3e1ddd4eb47fe", + "sha256": "49596aa4ed4fd36cd4582fd0e8ddeb09fd80370a7d8aea1ede52a135b536d289" + }, + { + "path": "research/t16-owner-audit-seed67/verify.py", + "usage": "input", + "git_blob": "3ff276c3040ec4a52db932e0bcdd31df5a3cf0a4", + "sha256": "f6e27f76c9ccb87b3ce6c5e673588338a09847d22771da7b3f28579661c9404b" + } + ] +} diff --git a/research/t16-reordered-augmenting-chain/TASK.json b/research/t16-reordered-augmenting-chain/TASK.json new file mode 100644 index 0000000000..6513931cca --- /dev/null +++ b/research/t16-reordered-augmenting-chain/TASK.json @@ -0,0 +1,88 @@ +{ + "schema_version": 1, + "task_id": "selected-packing", + "priority_revision": 6, + "base_commit": "6f100d4bb5083f8c35d96fd95a539811c62f245c", + "original_card": { + "id": "selected-packing", + "question": "Is there a genuinely unsearched, explicitly bounded improvement to the selected packing?", + "starting_points": [ + "certificates/selected-result.json", + "research/heterogeneous-owner-assembly/README.md", + "research/complex-local-word-ceiling/README.md" + ], + "methods": [ + "Search a named unclaimed canonical candidate domain with a reproducible partition.", + "Prove a stronger scoped relaxation or exact optimum for one named residual subproblem." + ], + "acceptance_gate": "Check live PR overlap first, price both suppliers and distinguish a search best from an optimum. Report the word's packing cap from ceiling.ceiling() and the fraction of it realized; label packing gains as such.", + "first_step": { + "command": [ + "python3", + "-B", + "scripts/research_baseline.py" + ], + "expected": "PASS_RESEARCH_BASELINE_BINDINGS_ONLY", + "inspect": "Locate the selected packing source in the review and check live PRs for the same residual problem.", + "scope": "Positive control / source-bound orientation only; this is not a new construction or full cold replay." + }, + "first_experiment": "Define an unclaimed canonical domain and a favorable bound before starting a new search.", + "bottleneck_link": "An actual paid-profile gain can improve the frontier up to the other supplier cap.", + "allowed_variations": [ + "One bounded residual packing instance or exact relaxation.", + "If the coverage law, template or guard changes, derive an applicable fully charged replacement bound instead of applying the incumbent ceiling outside its scope." + ], + "scope_change_triggers": [ + "Rerunning an existing search with only a different seed as a separate mathematical contribution." + ], + "overlap_terms": [ + "T16", + "owner exchange", + "packing" + ], + "existing_checks": [ + { + "scope": "Packing-independent ceiling for the selected paid profile under the one-unpaid-coordinate coverage and halving guard.", + "evidence": "docs/research/community-efficient1000-review.md", + "remaining": "A changed word or model requires new pricing; a local packing search must name uncovered scope.", + "status": "reviewed", + "source_commit": "836b19bfa309ceafbc8ee32a15e8c4b10dde7e11", + "selected_record_sha256": "bb2eaa58647b353f88d0aec2eafb9d30df1be53589231b23e12ceef3e4bad129" + } + ] + }, + "scope_status": "refined", + "actual_scope": "Change the paired two-bank chronology with three explicit neutral owner repairs; then apply a ten-role augmenting chain and two follow-on residual consolidations on exact PR3375.", + "scope_change_reason": "Fixed-order searches leave a chronology obstruction. Independent replica call reorderings preserve source event projections while unlocking additional legal owner windows.", + "bottleneck_link": "The final paid idle delta +H1-H3-2H7+H16 lowers the binding complex moment.", + "budget_minutes": 60, + "stop_rule": "Publish promptly after fresh full strict replay, exact gain, source-closed checks and latest-PR refresh; preserve other candidate maps for future composition.", + "outcome": "completed", + "evidence": "RESULT.json and VALIDATION.json provide exact prices, full eleven-stage replay, physical invoice comparison and scoped rejection controls.", + "author": "Pierre (hexapode)", + "ai_assistance": "Substantial OpenAI Codex assistance with four concurrent agents. No independent human review.", + "open_questions": [ + { + "question": "Can multi-role exchanges pool further residuals on this exact map?", + "why_it_matters": "The complex moment still binds and the fixed-word cap leaves headroom.", + "first_step": "Keep the complete map and test one explicitly priced mixed-call exchange involving multiple roles in a bin.", + "blocked_by": "Windows, family uniqueness and whole-helper capacity constraints must hold simultaneously." + } + ], + "latest_dependency": { + "pr": 3375, + "head": "62fd8039cc40749cea6238e7807db9a63b4d6765", + "kappa": "0.001673628681907313" + }, + "live_overlap": { + "coverage": "Authenticated latest100 and most-recently-updated100 open PRs checked at23:52UTC; canonical main6f100d4 unchanged. This is bounded overlap coverage, not a novelty proof.", + "related_prs": [ + 3375, + 3369, + 3367, + 3366, + 3359 + ], + "distinction": "New causal chronology plus neutral owner repairs and augmenting chain; earlier direct-cycle obstruction is fixed-map and fixed-order." + } +} diff --git a/research/t16-reordered-augmenting-chain/VALIDATION.json b/research/t16-reordered-augmenting-chain/VALIDATION.json new file mode 100644 index 0000000000..08bcbd8d21 --- /dev/null +++ b/research/t16-reordered-augmenting-chain/VALIDATION.json @@ -0,0 +1,34 @@ +{ + "status": "PASS_LOCAL_FULL_ADMISSION", + "baseline_pr": 3375, + "baseline_commit": "62fd8039cc40749cea6238e7807db9a63b4d6765", + "canonical_main": "6f100d4bb5083f8c35d96fd95a539811c62f245c", + "candidate_canonical_sha256": "ba7bbdca8759367326d00ae98cbe278199dd3be5386df412d5f32c2b807e48e3", + "commands": [ + "python3 -B research/t16-reordered-augmenting-chain/verify.py --write", + "python3 scripts/research_package.py --package research/t16-reordered-augmenting-chain --check-only", + "python3 -B research/t16-reordered-augmenting-chain/test_verify.py", + "python3 -O -B research/t16-reordered-augmenting-chain/test_verify.py" + ], + "full_replay_stages_passed": 11, + "controls": { + "admission": 69, + "bit_supplier": 12, + "controller_mutations": 15, + "independent_t16": 6, + "owner": 11 + }, + "independent_reconstruction": "All six stages separately reconstructed and fully owner-audited; exact final canonical payload agrees.", + "complete_typed_invoice": "All fields equal after checking and normalizing the actual permutation of 144 complete call records; only three source-binding hashes differ and are rebound to generated files.", + "actual_charts": 10017, + "prefix_bits": 397, + "charged_prefix_bits": 512, + "physical_row_coefficient": 16469, + "hosted_ci": "Not claimed; checks are local.", + "scope": "Conditional finite construction and inherited assumptions; no complete theorem or packing optimality claim.", + "behavioral_tests": { + "normal": 9, + "optimized": 9, + "actual_lift_negative_controls": 6 + } +} diff --git a/research/t16-reordered-augmenting-chain/VERIFY.json b/research/t16-reordered-augmenting-chain/VERIFY.json new file mode 100644 index 0000000000..2186cbcb51 --- /dev/null +++ b/research/t16-reordered-augmenting-chain/VERIFY.json @@ -0,0 +1,84 @@ +{ + "schema_version": 1, + "status": "ready", + "python": "3.12", + "requirements": [], + "inputs": [ + "research/community-frontier1094-audit/ASSEMBLY.json", + "research/community-frontier1094-audit/selected-replay.tar.gz", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/CANONICAL-WORD.json.gz", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/CLIFFORD-RECIPES.json", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/CLIFFORD-REVIEW.json", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/INDEPENDENT-LOCAL-REPLAY.json", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/INDEPENDENT-REPLAY.json", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/INTEGRATION.json", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/LOCAL-CHECKS.json", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/LOCAL-PROGRAMS.json.gz", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/RESIDUAL-ADAPTERS.json", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/SCALAR-FRAME-AUDIT.json", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/WRAPPER-CHECKS.json", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/work/complex-nine-native/DATA-PHASES.json", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/controller-input/split-centres/CANONICAL-WORD.json.gz", + "research/complex-k492-owner-repair/vendor/multicold/code/run_portable.py", + "research/complex-k492-owner-repair/vendor/multicold/engines/base_two_moment.py", + "research/complex-k492-owner-repair/vendor/multicold/engines/moment.py", + "research/complex-k492-owner-repair/vendor/multicold/engines/outer.py", + "research/complex-k492-owner-repair/vendor/multicold/inputs/PR543-EXPECTED.json", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/code/prepare_supplier_base.py", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/evidence/audit/PREFIX-AND-INVOICE.json", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor535/inputs/ROUND20-PARENT-TEMPLATE.json.gz", + "research/complex-local-word-ceiling/ceiling.py", + "research/complex-t16-rare-pattern-exchanges/data/OWNERS.json.gz", + "research/complex-t16-rare-pattern-exchanges/data/PLAN.json", + "research/complex-t16-rare-pattern-exchanges/data/SPEC.json", + "research/complex-t16-rare-pattern-exchanges/upstream1087.tar.gz", + "research/complex-t16-two-stage-cycles/LOCAL-PINS.json", + "research/complex-t16-two-stage-cycles/ceiling_bound.py", + "research/complex-t16-two-stage-cycles/check.py", + "research/complex-t16-two-stage-cycles/data/OWNERS.json.gz", + "research/complex-t16-two-stage-cycles/data/PLAN.json", + "research/complex-t16-two-stage-cycles/data/SPEC.json", + "research/complex-t16-two-stage-cycles/search/buildcand.py", + "research/complex-t16-two-stage-cycles/search/lib.py", + "research/frontier1094-idle-star-ceiling/analyze.py", + "research/pending-claims-independent-pricing/SNAPSHOT.json", + "research/pending-claims-independent-pricing/arith.py", + "research/pending-claims-independent-pricing/sweep.py", + "research/t16-owner-audit-seed67/SOURCES.json", + "research/t16-owner-audit-seed67/inputs/k8-seven-slot-word.json.gz", + "research/t16-owner-audit-seed67/verify.py" + ], + "commands": [ + { + "argv": [ + "{python}", + "-Werror", + "-B", + "{package}/verify.py" + ], + "timeout_seconds": 300, + "checks": "Reconstruct exact PR3375; validate three neutral chronology repairs, augmenting chain and residual consolidation; both prices, full physical admission, exact invoice accounting and schedule mutation controls." + }, + { + "argv": [ + "{python}", + "-Werror", + "-B", + "{package}/test_verify.py" + ], + "timeout_seconds": 30, + "checks": "Reconstruct exact PR3375; validate three neutral chronology repairs, augmenting chain and residual consolidation; both prices, full physical admission, exact invoice accounting and schedule mutation controls." + }, + { + "argv": [ + "{python}", + "-O", + "-Werror", + "-B", + "{package}/test_verify.py" + ], + "timeout_seconds": 30, + "checks": "Reconstruct exact PR3375; validate three neutral chronology repairs, augmenting chain and residual consolidation; both prices, full physical admission, exact invoice accounting and schedule mutation controls." + } + ] +} diff --git a/research/t16-reordered-augmenting-chain/lift16.py b/research/t16-reordered-augmenting-chain/lift16.py new file mode 100644 index 0000000000..3d62478fce --- /dev/null +++ b/research/t16-reordered-augmenting-chain/lift16.py @@ -0,0 +1,108 @@ +"""lift16.py BASE8 PLAN8 OWNERS8 OWNERS16 OUT +Generic T16 lift (after #858 build_parent.py): direct-sum two-bank parent, actual +source-event windows, T16 PLAN with profile recomputed from the T16 owner map. +BASE8 = bound T8 global base (has split-centres/GLOBAL-TEMPLATE.json.gz).""" +import copy, gzip, hashlib, json, sys +from collections import Counter +from pathlib import Path +sys.path.insert(0, str(Path(__file__).resolve().parent)) +from build_parent import lift_parent, actual_windows, read, canonical, portable_gzip, sha, content_sha, require + + +def idle_profile(owners, windows): + used = {} + for r in owners: + key = (r['owner_replica'], r['child'], r['port']) + cells = used.setdefault(key, set()) + new = set(range(r['offset'], r['offset'] + r['width'])) + require(not cells & new, 'overlap') + cells |= new + idle = Counter() + for key, (cap, _) in windows.items(): + rep, ch = map(int, key.split(',')) + for port in range(112): + c = used.get((rep, ch, port), set()) + require(c == set(range(len(c))), 'non-prefix') + if len(c) < cap: + idle[cap - len(c)] += 1 + return idle + + +def interleave(order8): + return [[s, r + 8 * g] for s, r in order8 for g in range(2)] + + +def lift_plan(source, parent, owners8, owners, plan_sha, owners8_sha, owners_sha, requested_order=None): + p = copy.deepcopy(source) + require(source['T'] == 8 and len(source['order']) == 72, 'source plan dimensions') + order = interleave(source['order']) if requested_order is None else requested_order + require(len(order) == 144 and {tuple(x) for x in order} == {(s,r) for s in range(9) for r in range(16)}, 'complete requested order') + require(all([s for s,r in order if r == rep] == list(range(9)) for rep in range(16)), 'replica causal order') + require(all(order[2*t+1] == [order[2*t][0], order[2*t][1]+8] and order[2*t][1] < 8 for t in range(72)), 'two-bank paired order') + windows, schedule = actual_windows(parent, order) + idle8 = idle_profile(owners8, source['windows']) + paid = Counter({int(k): v for k, v in source['profile'].items()}) + paid.subtract(idle8) + require(all(v >= 0 for v in paid.values()), 'T8 idle not within profile') + idle16 = idle_profile(owners, windows) + prof = Counter({k: 2 * v for k, v in paid.items()}) + prof.update(idle16) + prof = +prof + p.update(status='FROZEN_EXPLICIT_T16_TWO_BANK_DIRECT_SUM_OWNER_NOMINATION', + mode='gauge44-all144-t16-idle-concentration', T=16, live=14336, deficit=5120, + profile={str(k): prof[k] for k in sorted(prof)}, order=order, windows=windows, + solver_status='exact pattern-flow LNS on the T16 actual-window geometry', gap=None, + source_plan_sha256=plan_sha, source_owners_sha256=owners8_sha, + assignment_sha256=owners_sha, assignment_content_sha256=content_sha(owners)) + for field in ('provider_calls', 'per_call_widths'): + p[field] = [] + for old in source[field]: + for group in range(2): + new = copy.deepcopy(old) + new['replica'] += 8 * group + if 'time' in new: + new['time'] = 2 * old['time'] + group + p[field].append(new) + at = {tuple(x): i for i, x in enumerate(order)} + for field in ('provider_calls', 'per_call_widths'): + for call in p[field]: + if 'time' in call: + call['time'] = at[call['stage'], call['replica']] + p[field].sort(key=lambda c: at[c['stage'], c['replica']]) + p['replica_lift'] = dict(groups=2, source_replicas=8, replicas=16, + parent_template_content_sha256=content_sha(parent), owners_file_sha256=owners_sha, + window_semantics='strict physical source-event touch intervals, including bridges', + schedule_content_sha256=content_sha(schedule)) + require(len(owners) == 144 * len(source['provider_registry']['gauge44']['widths']), 'owner role count') + for role in owners: + require(role['time'] == at[role['stage'], role['replica']], 'role call time') + require(role['time'] in windows[f"{role['owner_replica']},{role['child']}"][1], 'owner outside actual window') + require(sum(int(k) * v for k, v in p['profile'].items()) == 73 * p['live'] - p['deficit'], 'rank mass') + return p, schedule, idle8, idle16 + + +def main(base, plan8p, own8p, own16p, out): + base, out = Path(base), Path(out) + require(not out.exists(), 'out exists') + src_path = base / 'split-centres/GLOBAL-TEMPLATE.json.gz' + source = read(src_path) + plan8 = read(plan8p) + require(lift_parent(source, 1) == source, 'T8 identity control') + require(actual_windows(source, plan8['order'])[0] == plan8['windows'], 'T8 source-window replay') + require(source['exact_data_phase_recipe_sha256'] == sha(base / 'work/complex-nine-native/DATA-PHASES.json'), 'data-phase binding') + parent = lift_parent(source) + owners8, owners = read(own8p), read(own16p) + plan, schedule, idle8, idle16 = lift_plan(plan8, parent, owners8, owners, sha(plan8p), sha(own8p), sha(own16p), read(Path(__file__).resolve().parent.parent / 'data/PLAN.json')['order']) + out.mkdir(parents=True) + (out / 'GLOBAL-TEMPLATE.json.gz').write_bytes(portable_gzip(canonical(parent))) + (out / 'PLAN.json').write_bytes((json.dumps(plan, indent=2) + '\n').encode()) + rec = dict(status='PASS_T16_DIRECT_SUM_PARENT_AND_LITERAL_SOURCE_WINDOWS', T8_identity_control=True, + T8_source_window_identity=True, idle8=dict(sorted(idle8.items())), idle16=dict(sorted(idle16.items())), + profile=plan['profile'], parent_live=parent['live'], parent_physical=parent['physical'], + actual_window_membership_checked=len(owners), events=len(schedule)) + (out / 'PARENT-LIFT-RECEIPT.json').write_text(json.dumps(rec, indent=2) + '\n') + print(json.dumps(rec)) + + +if __name__ == '__main__': + main(*sys.argv[1:6]) diff --git a/research/t16-reordered-augmenting-chain/predecessor.patch.json b/research/t16-reordered-augmenting-chain/predecessor.patch.json new file mode 100644 index 0000000000..6e13d92633 --- /dev/null +++ b/research/t16-reordered-augmenting-chain/predecessor.patch.json @@ -0,0 +1,6962 @@ +[ + { + "index": 0, + "before": { + "child": 4, + "copy": 1582, + "family": 13006, + "helper": 0, + "offset": 0, + "owner_replica": 14, + "port": 14, + "replica": 0, + "stage": 0, + "time": 0, + "width": 9 + }, + "after": { + "child": 2, + "copy": 186, + "family": 1306, + "helper": 0, + "offset": 0, + "owner_replica": 1, + "port": 74, + "replica": 0, + "stage": 0, + "time": 0, + "width": 9 + } + }, + { + "index": 60, + "before": { + "child": 4, + "copy": 27, + "family": 475, + "helper": 60, + "offset": 0, + "owner_replica": 0, + "port": 27, + "replica": 0, + "stage": 0, + "time": 0, + "width": 9 + }, + "after": { + "child": 8, + "copy": 1591, + "family": 13239, + "helper": 60, + "offset": 0, + "owner_replica": 14, + "port": 23, + "replica": 0, + "stage": 0, + "time": 0, + "width": 9 + } + }, + { + "index": 231, + "before": { + "child": 2, + "copy": 161, + "family": 1281, + "helper": 231, + "offset": 0, + "owner_replica": 1, + "port": 49, + "replica": 0, + "stage": 0, + "time": 0, + "width": 7 + }, + "after": { + "child": 0, + "copy": 109, + "family": 333, + "helper": 231, + "offset": 0, + "owner_replica": 0, + "port": 109, + "replica": 0, + "stage": 0, + "time": 0, + "width": 7 + } + }, + { + "index": 260, + "before": { + "child": 2, + "copy": 160, + "family": 1280, + "helper": 260, + "offset": 0, + "owner_replica": 1, + "port": 48, + "replica": 0, + "stage": 0, + "time": 0, + "width": 7 + }, + "after": { + "child": 2, + "copy": 18, + "family": 354, + "helper": 260, + "offset": 0, + "owner_replica": 0, + "port": 18, + "replica": 0, + "stage": 0, + "time": 0, + "width": 7 + } + }, + { + "index": 283, + "before": { + "child": 0, + "copy": 135, + "family": 1143, + "helper": 283, + "offset": 0, + "owner_replica": 1, + "port": 23, + "replica": 0, + "stage": 0, + "time": 0, + "width": 9 + }, + "after": { + "child": 2, + "copy": 286, + "family": 2190, + "helper": 283, + "offset": 4, + "owner_replica": 2, + "port": 62, + "replica": 0, + "stage": 0, + "time": 0, + "width": 9 + } + }, + { + "index": 523, + "before": { + "child": 4, + "copy": 140, + "family": 1372, + "helper": 43, + "offset": 0, + "owner_replica": 1, + "port": 28, + "replica": 8, + "stage": 0, + "time": 1, + "width": 9 + }, + "after": { + "child": 0, + "copy": 330, + "family": 2122, + "helper": 43, + "offset": 0, + "owner_replica": 2, + "port": 106, + "replica": 8, + "stage": 0, + "time": 1, + "width": 9 + } + }, + { + "index": 531, + "before": { + "child": 2, + "copy": 1111, + "family": 8503, + "helper": 51, + "offset": 0, + "owner_replica": 9, + "port": 103, + "replica": 8, + "stage": 0, + "time": 1, + "width": 4 + }, + "after": { + "child": 0, + "copy": 63, + "family": 287, + "helper": 51, + "offset": 0, + "owner_replica": 0, + "port": 63, + "replica": 8, + "stage": 0, + "time": 1, + "width": 4 + } + }, + { + "index": 650, + "before": { + "child": 2, + "copy": 15, + "family": 351, + "helper": 170, + "offset": 0, + "owner_replica": 0, + "port": 15, + "replica": 8, + "stage": 0, + "time": 1, + "width": 4 + }, + "after": { + "child": 0, + "copy": 71, + "family": 295, + "helper": 170, + "offset": 0, + "owner_replica": 0, + "port": 71, + "replica": 8, + "stage": 0, + "time": 1, + "width": 4 + } + }, + { + "index": 788, + "before": { + "child": 0, + "copy": 135, + "family": 1143, + "helper": 308, + "offset": 9, + "owner_replica": 1, + "port": 23, + "replica": 8, + "stage": 0, + "time": 1, + "width": 7 + }, + "after": { + "child": 2, + "copy": 905, + "family": 7513, + "helper": 308, + "offset": 0, + "owner_replica": 8, + "port": 9, + "replica": 8, + "stage": 0, + "time": 1, + "width": 7 + } + }, + { + "index": 826, + "before": { + "child": 0, + "copy": 112, + "family": 1120, + "helper": 346, + "offset": 0, + "owner_replica": 1, + "port": 0, + "replica": 8, + "stage": 0, + "time": 1, + "width": 9 + }, + "after": { + "child": 0, + "copy": 283, + "family": 2075, + "helper": 346, + "offset": 0, + "owner_replica": 2, + "port": 59, + "replica": 8, + "stage": 0, + "time": 1, + "width": 9 + } + }, + { + "index": 861, + "before": { + "child": 2, + "copy": 13, + "family": 349, + "helper": 381, + "offset": 0, + "owner_replica": 0, + "port": 13, + "replica": 8, + "stage": 0, + "time": 1, + "width": 4 + }, + "after": { + "child": 0, + "copy": 85, + "family": 309, + "helper": 381, + "offset": 9, + "owner_replica": 0, + "port": 85, + "replica": 8, + "stage": 0, + "time": 1, + "width": 4 + } + }, + { + "index": 869, + "before": { + "child": 2, + "copy": 9, + "family": 345, + "helper": 389, + "offset": 0, + "owner_replica": 0, + "port": 9, + "replica": 8, + "stage": 0, + "time": 1, + "width": 4 + }, + "after": { + "child": 0, + "copy": 89, + "family": 313, + "helper": 389, + "offset": 0, + "owner_replica": 0, + "port": 89, + "replica": 8, + "stage": 0, + "time": 1, + "width": 4 + } + }, + { + "index": 939, + "before": { + "child": 4, + "copy": 938, + "family": 7658, + "helper": 459, + "offset": 0, + "owner_replica": 8, + "port": 42, + "replica": 8, + "stage": 0, + "time": 1, + "width": 5 + }, + "after": { + "child": 6, + "copy": 82, + "family": 642, + "helper": 459, + "offset": 18, + "owner_replica": 0, + "port": 82, + "replica": 8, + "stage": 0, + "time": 1, + "width": 5 + } + }, + { + "index": 952, + "before": { + "child": 2, + "copy": 905, + "family": 7513, + "helper": 472, + "offset": 0, + "owner_replica": 8, + "port": 9, + "replica": 8, + "stage": 0, + "time": 1, + "width": 8 + }, + "after": { + "child": 0, + "copy": 112, + "family": 1120, + "helper": 472, + "offset": 0, + "owner_replica": 1, + "port": 0, + "replica": 8, + "stage": 0, + "time": 1, + "width": 8 + } + }, + { + "index": 1009, + "before": { + "child": 2, + "copy": 178, + "family": 1298, + "helper": 49, + "offset": 0, + "owner_replica": 1, + "port": 66, + "replica": 1, + "stage": 0, + "time": 2, + "width": 4 + }, + "after": { + "child": 0, + "copy": 105, + "family": 329, + "helper": 49, + "offset": 0, + "owner_replica": 0, + "port": 105, + "replica": 1, + "stage": 0, + "time": 2, + "width": 4 + } + }, + { + "index": 1081, + "before": { + "child": 4, + "copy": 938, + "family": 7658, + "helper": 121, + "offset": 5, + "owner_replica": 8, + "port": 42, + "replica": 1, + "stage": 0, + "time": 2, + "width": 9 + }, + "after": { + "child": 0, + "copy": 1730, + "family": 13714, + "helper": 121, + "offset": 0, + "owner_replica": 15, + "port": 50, + "replica": 1, + "stage": 0, + "time": 2, + "width": 9 + } + }, + { + "index": 1193, + "before": { + "child": 0, + "copy": 89, + "family": 313, + "helper": 233, + "offset": 0, + "owner_replica": 0, + "port": 89, + "replica": 1, + "stage": 0, + "time": 2, + "width": 9 + }, + "after": { + "child": 0, + "copy": 89, + "family": 313, + "helper": 233, + "offset": 4, + "owner_replica": 0, + "port": 89, + "replica": 1, + "stage": 0, + "time": 2, + "width": 9 + } + }, + { + "index": 1194, + "before": { + "child": 0, + "copy": 88, + "family": 312, + "helper": 234, + "offset": 0, + "owner_replica": 0, + "port": 88, + "replica": 1, + "stage": 0, + "time": 2, + "width": 9 + }, + "after": { + "child": 0, + "copy": 1292, + "family": 10140, + "helper": 234, + "offset": 0, + "owner_replica": 11, + "port": 60, + "replica": 1, + "stage": 0, + "time": 2, + "width": 9 + } + }, + { + "index": 1217, + "before": { + "child": 0, + "copy": 71, + "family": 295, + "helper": 257, + "offset": 0, + "owner_replica": 0, + "port": 71, + "replica": 1, + "stage": 0, + "time": 2, + "width": 9 + }, + "after": { + "child": 0, + "copy": 71, + "family": 295, + "helper": 257, + "offset": 4, + "owner_replica": 0, + "port": 71, + "replica": 1, + "stage": 0, + "time": 2, + "width": 9 + } + }, + { + "index": 1218, + "before": { + "child": 0, + "copy": 70, + "family": 294, + "helper": 258, + "offset": 0, + "owner_replica": 0, + "port": 70, + "replica": 1, + "stage": 0, + "time": 2, + "width": 9 + }, + "after": { + "child": 2, + "copy": 254, + "family": 2158, + "helper": 258, + "offset": 4, + "owner_replica": 2, + "port": 30, + "replica": 1, + "stage": 0, + "time": 2, + "width": 9 + } + }, + { + "index": 1227, + "before": { + "child": 0, + "copy": 67, + "family": 291, + "helper": 267, + "offset": 0, + "owner_replica": 0, + "port": 67, + "replica": 1, + "stage": 0, + "time": 2, + "width": 9 + }, + "after": { + "child": 2, + "copy": 15, + "family": 351, + "helper": 267, + "offset": 0, + "owner_replica": 0, + "port": 15, + "replica": 1, + "stage": 0, + "time": 2, + "width": 9 + } + }, + { + "index": 1231, + "before": { + "child": 0, + "copy": 63, + "family": 287, + "helper": 271, + "offset": 0, + "owner_replica": 0, + "port": 63, + "replica": 1, + "stage": 0, + "time": 2, + "width": 9 + }, + "after": { + "child": 0, + "copy": 63, + "family": 287, + "helper": 271, + "offset": 4, + "owner_replica": 0, + "port": 63, + "replica": 1, + "stage": 0, + "time": 2, + "width": 9 + } + }, + { + "index": 1453, + "before": { + "child": 4, + "copy": 1247, + "family": 10319, + "helper": 13, + "offset": 0, + "owner_replica": 11, + "port": 15, + "replica": 9, + "stage": 0, + "time": 3, + "width": 9 + }, + "after": { + "child": 2, + "copy": 13, + "family": 349, + "helper": 13, + "offset": 0, + "owner_replica": 0, + "port": 13, + "replica": 9, + "stage": 0, + "time": 3, + "width": 9 + } + }, + { + "index": 1514, + "before": { + "child": 6, + "copy": 1058, + "family": 8674, + "helper": 74, + "offset": 0, + "owner_replica": 9, + "port": 50, + "replica": 9, + "stage": 0, + "time": 3, + "width": 4 + }, + "after": { + "child": 2, + "copy": 33, + "family": 369, + "helper": 74, + "offset": 0, + "owner_replica": 0, + "port": 33, + "replica": 9, + "stage": 0, + "time": 3, + "width": 4 + } + }, + { + "index": 1524, + "before": { + "child": 6, + "copy": 82, + "family": 642, + "helper": 84, + "offset": 0, + "owner_replica": 0, + "port": 82, + "replica": 9, + "stage": 0, + "time": 3, + "width": 9 + }, + "after": { + "child": 2, + "copy": 9, + "family": 345, + "helper": 84, + "offset": 0, + "owner_replica": 0, + "port": 9, + "replica": 9, + "stage": 0, + "time": 3, + "width": 9 + } + }, + { + "index": 1595, + "before": { + "child": 6, + "copy": 31, + "family": 591, + "helper": 155, + "offset": 0, + "owner_replica": 0, + "port": 31, + "replica": 9, + "stage": 0, + "time": 3, + "width": 9 + }, + "after": { + "child": 0, + "copy": 88, + "family": 312, + "helper": 155, + "offset": 4, + "owner_replica": 0, + "port": 88, + "replica": 9, + "stage": 0, + "time": 3, + "width": 9 + } + }, + { + "index": 1660, + "before": { + "child": 2, + "copy": 161, + "family": 1281, + "helper": 220, + "offset": 7, + "owner_replica": 1, + "port": 49, + "replica": 9, + "stage": 0, + "time": 3, + "width": 9 + }, + "after": { + "child": 2, + "copy": 161, + "family": 1281, + "helper": 220, + "offset": 4, + "owner_replica": 1, + "port": 49, + "replica": 9, + "stage": 0, + "time": 3, + "width": 9 + } + }, + { + "index": 1661, + "before": { + "child": 2, + "copy": 160, + "family": 1280, + "helper": 221, + "offset": 7, + "owner_replica": 1, + "port": 48, + "replica": 9, + "stage": 0, + "time": 3, + "width": 9 + }, + "after": { + "child": 2, + "copy": 160, + "family": 1280, + "helper": 221, + "offset": 4, + "owner_replica": 1, + "port": 48, + "replica": 9, + "stage": 0, + "time": 3, + "width": 9 + } + }, + { + "index": 1677, + "before": { + "child": 4, + "copy": 1582, + "family": 13006, + "helper": 237, + "offset": 18, + "owner_replica": 14, + "port": 14, + "replica": 9, + "stage": 0, + "time": 3, + "width": 9 + }, + "after": { + "child": 4, + "copy": 1582, + "family": 13006, + "helper": 237, + "offset": 9, + "owner_replica": 14, + "port": 14, + "replica": 9, + "stage": 0, + "time": 3, + "width": 9 + } + }, + { + "index": 1796, + "before": { + "child": 2, + "copy": 905, + "family": 7513, + "helper": 356, + "offset": 8, + "owner_replica": 8, + "port": 9, + "replica": 9, + "stage": 0, + "time": 3, + "width": 8 + }, + "after": { + "child": 0, + "copy": 264, + "family": 2056, + "helper": 356, + "offset": 4, + "owner_replica": 2, + "port": 40, + "replica": 9, + "stage": 0, + "time": 3, + "width": 8 + } + }, + { + "index": 1811, + "before": { + "child": 0, + "copy": 63, + "family": 287, + "helper": 371, + "offset": 9, + "owner_replica": 0, + "port": 63, + "replica": 9, + "stage": 0, + "time": 3, + "width": 5 + }, + "after": { + "child": 4, + "copy": 333, + "family": 2349, + "helper": 371, + "offset": 9, + "owner_replica": 2, + "port": 109, + "replica": 9, + "stage": 0, + "time": 3, + "width": 5 + } + }, + { + "index": 1813, + "before": { + "child": 0, + "copy": 71, + "family": 295, + "helper": 373, + "offset": 9, + "owner_replica": 0, + "port": 71, + "replica": 9, + "stage": 0, + "time": 3, + "width": 5 + }, + "after": { + "child": 4, + "copy": 332, + "family": 2348, + "helper": 373, + "offset": 9, + "owner_replica": 2, + "port": 108, + "replica": 9, + "stage": 0, + "time": 3, + "width": 5 + } + }, + { + "index": 1814, + "before": { + "child": 0, + "copy": 85, + "family": 309, + "helper": 374, + "offset": 9, + "owner_replica": 0, + "port": 85, + "replica": 9, + "stage": 0, + "time": 3, + "width": 5 + }, + "after": { + "child": 4, + "copy": 331, + "family": 2347, + "helper": 374, + "offset": 9, + "owner_replica": 2, + "port": 107, + "replica": 9, + "stage": 0, + "time": 3, + "width": 5 + } + }, + { + "index": 1815, + "before": { + "child": 0, + "copy": 89, + "family": 313, + "helper": 375, + "offset": 9, + "owner_replica": 0, + "port": 89, + "replica": 9, + "stage": 0, + "time": 3, + "width": 5 + }, + "after": { + "child": 4, + "copy": 330, + "family": 2346, + "helper": 375, + "offset": 9, + "owner_replica": 2, + "port": 106, + "replica": 9, + "stage": 0, + "time": 3, + "width": 5 + } + }, + { + "index": 1859, + "before": { + "child": 0, + "copy": 105, + "family": 329, + "helper": 419, + "offset": 9, + "owner_replica": 0, + "port": 105, + "replica": 9, + "stage": 0, + "time": 3, + "width": 5 + }, + "after": { + "child": 4, + "copy": 329, + "family": 2345, + "helper": 419, + "offset": 9, + "owner_replica": 2, + "port": 105, + "replica": 9, + "stage": 0, + "time": 3, + "width": 5 + } + }, + { + "index": 1861, + "before": { + "child": 0, + "copy": 109, + "family": 333, + "helper": 421, + "offset": 9, + "owner_replica": 0, + "port": 109, + "replica": 9, + "stage": 0, + "time": 3, + "width": 5 + }, + "after": { + "child": 4, + "copy": 328, + "family": 2344, + "helper": 421, + "offset": 9, + "owner_replica": 2, + "port": 104, + "replica": 9, + "stage": 0, + "time": 3, + "width": 5 + } + }, + { + "index": 1862, + "before": { + "child": 2, + "copy": 18, + "family": 354, + "helper": 422, + "offset": 9, + "owner_replica": 0, + "port": 18, + "replica": 9, + "stage": 0, + "time": 3, + "width": 5 + }, + "after": { + "child": 4, + "copy": 326, + "family": 2342, + "helper": 422, + "offset": 9, + "owner_replica": 2, + "port": 102, + "replica": 9, + "stage": 0, + "time": 3, + "width": 5 + } + }, + { + "index": 1863, + "before": { + "child": 2, + "copy": 33, + "family": 369, + "helper": 423, + "offset": 9, + "owner_replica": 0, + "port": 33, + "replica": 9, + "stage": 0, + "time": 3, + "width": 5 + }, + "after": { + "child": 6, + "copy": 1058, + "family": 8674, + "helper": 423, + "offset": 9, + "owner_replica": 9, + "port": 50, + "replica": 9, + "stage": 0, + "time": 3, + "width": 5 + } + }, + { + "index": 1973, + "before": { + "child": 0, + "copy": 283, + "family": 2075, + "helper": 53, + "offset": 0, + "owner_replica": 2, + "port": 59, + "replica": 0, + "stage": 1, + "time": 4, + "width": 4 + }, + "after": { + "child": 2, + "copy": 15, + "family": 351, + "helper": 53, + "offset": 9, + "owner_replica": 0, + "port": 15, + "replica": 0, + "stage": 1, + "time": 4, + "width": 4 + } + }, + { + "index": 2067, + "before": { + "child": 0, + "copy": 88, + "family": 312, + "helper": 147, + "offset": 9, + "owner_replica": 0, + "port": 88, + "replica": 0, + "stage": 1, + "time": 4, + "width": 4 + }, + "after": { + "child": 0, + "copy": 88, + "family": 312, + "helper": 147, + "offset": 0, + "owner_replica": 0, + "port": 88, + "replica": 0, + "stage": 1, + "time": 4, + "width": 4 + } + }, + { + "index": 2091, + "before": { + "child": 0, + "copy": 264, + "family": 2056, + "helper": 171, + "offset": 0, + "owner_replica": 2, + "port": 40, + "replica": 0, + "stage": 1, + "time": 4, + "width": 9 + }, + "after": { + "child": 6, + "copy": 1642, + "family": 13178, + "helper": 171, + "offset": 0, + "owner_replica": 14, + "port": 74, + "replica": 0, + "stage": 1, + "time": 4, + "width": 9 + } + }, + { + "index": 2121, + "before": { + "child": 0, + "copy": 234, + "family": 2026, + "helper": 201, + "offset": 0, + "owner_replica": 2, + "port": 10, + "replica": 0, + "stage": 1, + "time": 4, + "width": 9 + }, + "after": { + "child": 6, + "copy": 1633, + "family": 13169, + "helper": 201, + "offset": 9, + "owner_replica": 14, + "port": 65, + "replica": 0, + "stage": 1, + "time": 4, + "width": 9 + } + }, + { + "index": 2127, + "before": { + "child": 0, + "copy": 228, + "family": 2020, + "helper": 207, + "offset": 0, + "owner_replica": 2, + "port": 4, + "replica": 0, + "stage": 1, + "time": 4, + "width": 9 + }, + "after": { + "child": 4, + "copy": 1196, + "family": 9484, + "helper": 207, + "offset": 9, + "owner_replica": 10, + "port": 76, + "replica": 0, + "stage": 1, + "time": 4, + "width": 9 + } + }, + { + "index": 2159, + "before": { + "child": 2, + "copy": 33, + "family": 369, + "helper": 239, + "offset": 0, + "owner_replica": 0, + "port": 33, + "replica": 0, + "stage": 1, + "time": 4, + "width": 9 + }, + "after": { + "child": 2, + "copy": 33, + "family": 369, + "helper": 239, + "offset": 4, + "owner_replica": 0, + "port": 33, + "replica": 0, + "stage": 1, + "time": 4, + "width": 9 + } + }, + { + "index": 2186, + "before": { + "child": 2, + "copy": 18, + "family": 354, + "helper": 266, + "offset": 0, + "owner_replica": 0, + "port": 18, + "replica": 0, + "stage": 1, + "time": 4, + "width": 9 + }, + "after": { + "child": 2, + "copy": 18, + "family": 354, + "helper": 266, + "offset": 7, + "owner_replica": 0, + "port": 18, + "replica": 0, + "stage": 1, + "time": 4, + "width": 9 + } + }, + { + "index": 2189, + "before": { + "child": 2, + "copy": 15, + "family": 351, + "helper": 269, + "offset": 4, + "owner_replica": 0, + "port": 15, + "replica": 0, + "stage": 1, + "time": 4, + "width": 9 + }, + "after": { + "child": 2, + "copy": 905, + "family": 7513, + "helper": 269, + "offset": 7, + "owner_replica": 8, + "port": 9, + "replica": 0, + "stage": 1, + "time": 4, + "width": 9 + } + }, + { + "index": 2191, + "before": { + "child": 2, + "copy": 13, + "family": 349, + "helper": 271, + "offset": 4, + "owner_replica": 0, + "port": 13, + "replica": 0, + "stage": 1, + "time": 4, + "width": 9 + }, + "after": { + "child": 0, + "copy": 135, + "family": 1143, + "helper": 271, + "offset": 0, + "owner_replica": 1, + "port": 23, + "replica": 0, + "stage": 1, + "time": 4, + "width": 9 + } + }, + { + "index": 2200, + "before": { + "child": 2, + "copy": 9, + "family": 345, + "helper": 280, + "offset": 4, + "owner_replica": 0, + "port": 9, + "replica": 0, + "stage": 1, + "time": 4, + "width": 9 + }, + "after": { + "child": 0, + "copy": 70, + "family": 294, + "helper": 280, + "offset": 0, + "owner_replica": 0, + "port": 70, + "replica": 0, + "stage": 1, + "time": 4, + "width": 9 + } + }, + { + "index": 2243, + "before": { + "child": 0, + "copy": 109, + "family": 333, + "helper": 323, + "offset": 0, + "owner_replica": 0, + "port": 109, + "replica": 0, + "stage": 1, + "time": 4, + "width": 9 + }, + "after": { + "child": 0, + "copy": 109, + "family": 333, + "helper": 323, + "offset": 7, + "owner_replica": 0, + "port": 109, + "replica": 0, + "stage": 1, + "time": 4, + "width": 9 + } + }, + { + "index": 2256, + "before": { + "child": 0, + "copy": 105, + "family": 329, + "helper": 336, + "offset": 0, + "owner_replica": 0, + "port": 105, + "replica": 0, + "stage": 1, + "time": 4, + "width": 9 + }, + "after": { + "child": 0, + "copy": 105, + "family": 329, + "helper": 336, + "offset": 4, + "owner_replica": 0, + "port": 105, + "replica": 0, + "stage": 1, + "time": 4, + "width": 9 + } + }, + { + "index": 2319, + "before": { + "child": 0, + "copy": 70, + "family": 294, + "helper": 399, + "offset": 9, + "owner_replica": 0, + "port": 70, + "replica": 0, + "stage": 1, + "time": 4, + "width": 4 + }, + "after": { + "child": 2, + "copy": 13, + "family": 349, + "helper": 399, + "offset": 9, + "owner_replica": 0, + "port": 13, + "replica": 0, + "stage": 1, + "time": 4, + "width": 4 + } + }, + { + "index": 2326, + "before": { + "child": 0, + "copy": 67, + "family": 291, + "helper": 406, + "offset": 9, + "owner_replica": 0, + "port": 67, + "replica": 0, + "stage": 1, + "time": 4, + "width": 4 + }, + "after": { + "child": 2, + "copy": 9, + "family": 345, + "helper": 406, + "offset": 9, + "owner_replica": 0, + "port": 9, + "replica": 0, + "stage": 1, + "time": 4, + "width": 4 + } + }, + { + "index": 2342, + "before": { + "child": 6, + "copy": 82, + "family": 642, + "helper": 422, + "offset": 9, + "owner_replica": 0, + "port": 82, + "replica": 0, + "stage": 1, + "time": 4, + "width": 5 + }, + "after": { + "child": 4, + "copy": 938, + "family": 7658, + "helper": 422, + "offset": 0, + "owner_replica": 8, + "port": 42, + "replica": 0, + "stage": 1, + "time": 4, + "width": 5 + } + }, + { + "index": 2488, + "before": { + "child": 4, + "copy": 1475, + "family": 12115, + "helper": 88, + "offset": 0, + "owner_replica": 13, + "port": 19, + "replica": 8, + "stage": 1, + "time": 5, + "width": 9 + }, + "after": { + "child": 4, + "copy": 938, + "family": 7658, + "helper": 88, + "offset": 5, + "owner_replica": 8, + "port": 42, + "replica": 8, + "stage": 1, + "time": 5, + "width": 9 + } + }, + { + "index": 2805, + "before": { + "child": 2, + "copy": 193, + "family": 1313, + "helper": 405, + "offset": 0, + "owner_replica": 1, + "port": 81, + "replica": 8, + "stage": 1, + "time": 5, + "width": 4 + }, + "after": { + "child": 2, + "copy": 222, + "family": 1342, + "helper": 405, + "offset": 9, + "owner_replica": 1, + "port": 110, + "replica": 8, + "stage": 1, + "time": 5, + "width": 4 + } + }, + { + "index": 2830, + "before": { + "child": 2, + "copy": 184, + "family": 1304, + "helper": 430, + "offset": 0, + "owner_replica": 1, + "port": 72, + "replica": 8, + "stage": 1, + "time": 5, + "width": 4 + }, + "after": { + "child": 0, + "copy": 135, + "family": 1143, + "helper": 430, + "offset": 9, + "owner_replica": 1, + "port": 23, + "replica": 8, + "stage": 1, + "time": 5, + "width": 4 + } + }, + { + "index": 2929, + "before": { + "child": 2, + "copy": 193, + "family": 1313, + "helper": 49, + "offset": 8, + "owner_replica": 1, + "port": 81, + "replica": 2, + "stage": 0, + "time": 6, + "width": 4 + }, + "after": { + "child": 2, + "copy": 186, + "family": 1306, + "helper": 49, + "offset": 9, + "owner_replica": 1, + "port": 74, + "replica": 2, + "stage": 0, + "time": 6, + "width": 4 + } + }, + { + "index": 2977, + "before": { + "child": 4, + "copy": 333, + "family": 2349, + "helper": 97, + "offset": 0, + "owner_replica": 2, + "port": 109, + "replica": 2, + "stage": 0, + "time": 6, + "width": 4 + }, + "after": { + "child": 2, + "copy": 1111, + "family": 8503, + "helper": 97, + "offset": 0, + "owner_replica": 9, + "port": 103, + "replica": 2, + "stage": 0, + "time": 6, + "width": 4 + } + }, + { + "index": 2979, + "before": { + "child": 4, + "copy": 332, + "family": 2348, + "helper": 99, + "offset": 0, + "owner_replica": 2, + "port": 108, + "replica": 2, + "stage": 0, + "time": 6, + "width": 4 + }, + "after": { + "child": 2, + "copy": 254, + "family": 2158, + "helper": 99, + "offset": 0, + "owner_replica": 2, + "port": 30, + "replica": 2, + "stage": 0, + "time": 6, + "width": 4 + } + }, + { + "index": 2981, + "before": { + "child": 4, + "copy": 331, + "family": 2347, + "helper": 101, + "offset": 0, + "owner_replica": 2, + "port": 107, + "replica": 2, + "stage": 0, + "time": 6, + "width": 4 + }, + "after": { + "child": 2, + "copy": 195, + "family": 1315, + "helper": 101, + "offset": 0, + "owner_replica": 1, + "port": 83, + "replica": 2, + "stage": 0, + "time": 6, + "width": 4 + } + }, + { + "index": 2986, + "before": { + "child": 4, + "copy": 330, + "family": 2346, + "helper": 106, + "offset": 0, + "owner_replica": 2, + "port": 106, + "replica": 2, + "stage": 0, + "time": 6, + "width": 4 + }, + "after": { + "child": 2, + "copy": 193, + "family": 1313, + "helper": 106, + "offset": 0, + "owner_replica": 1, + "port": 81, + "replica": 2, + "stage": 0, + "time": 6, + "width": 4 + } + }, + { + "index": 2993, + "before": { + "child": 4, + "copy": 329, + "family": 2345, + "helper": 113, + "offset": 0, + "owner_replica": 2, + "port": 105, + "replica": 2, + "stage": 0, + "time": 6, + "width": 4 + }, + "after": { + "child": 2, + "copy": 178, + "family": 1298, + "helper": 113, + "offset": 0, + "owner_replica": 1, + "port": 66, + "replica": 2, + "stage": 0, + "time": 6, + "width": 4 + } + }, + { + "index": 2995, + "before": { + "child": 4, + "copy": 328, + "family": 2344, + "helper": 115, + "offset": 0, + "owner_replica": 2, + "port": 104, + "replica": 2, + "stage": 0, + "time": 6, + "width": 4 + }, + "after": { + "child": 2, + "copy": 161, + "family": 1281, + "helper": 115, + "offset": 0, + "owner_replica": 1, + "port": 49, + "replica": 2, + "stage": 0, + "time": 6, + "width": 4 + } + }, + { + "index": 3002, + "before": { + "child": 4, + "copy": 326, + "family": 2342, + "helper": 122, + "offset": 0, + "owner_replica": 2, + "port": 102, + "replica": 2, + "stage": 0, + "time": 6, + "width": 4 + }, + "after": { + "child": 2, + "copy": 160, + "family": 1280, + "helper": 122, + "offset": 0, + "owner_replica": 1, + "port": 48, + "replica": 2, + "stage": 0, + "time": 6, + "width": 4 + } + }, + { + "index": 3343, + "before": { + "child": 4, + "copy": 27, + "family": 475, + "helper": 463, + "offset": 9, + "owner_replica": 0, + "port": 27, + "replica": 2, + "stage": 0, + "time": 6, + "width": 5 + }, + "after": { + "child": 6, + "copy": 31, + "family": 591, + "helper": 463, + "offset": 18, + "owner_replica": 0, + "port": 31, + "replica": 2, + "stage": 0, + "time": 6, + "width": 5 + } + }, + { + "index": 3569, + "before": { + "child": 4, + "copy": 27, + "family": 475, + "helper": 209, + "offset": 14, + "owner_replica": 0, + "port": 27, + "replica": 10, + "stage": 0, + "time": 7, + "width": 9 + }, + "after": { + "child": 2, + "copy": 184, + "family": 1304, + "helper": 209, + "offset": 0, + "owner_replica": 1, + "port": 72, + "replica": 10, + "stage": 0, + "time": 7, + "width": 9 + } + }, + { + "index": 3583, + "before": { + "child": 2, + "copy": 786, + "family": 6610, + "helper": 223, + "offset": 0, + "owner_replica": 7, + "port": 2, + "replica": 10, + "stage": 0, + "time": 7, + "width": 9 + }, + "after": { + "child": 4, + "copy": 938, + "family": 7658, + "helper": 223, + "offset": 14, + "owner_replica": 8, + "port": 42, + "replica": 10, + "stage": 0, + "time": 7, + "width": 9 + } + }, + { + "index": 3925, + "before": { + "child": 2, + "copy": 193, + "family": 1313, + "helper": 85, + "offset": 4, + "owner_replica": 1, + "port": 81, + "replica": 1, + "stage": 1, + "time": 8, + "width": 4 + }, + "after": { + "child": 2, + "copy": 184, + "family": 1304, + "helper": 85, + "offset": 9, + "owner_replica": 1, + "port": 72, + "replica": 1, + "stage": 1, + "time": 8, + "width": 4 + } + }, + { + "index": 3979, + "before": { + "child": 2, + "copy": 254, + "family": 2158, + "helper": 139, + "offset": 0, + "owner_replica": 2, + "port": 30, + "replica": 1, + "stage": 1, + "time": 8, + "width": 9 + }, + "after": { + "child": 10, + "copy": 1649, + "family": 13409, + "helper": 139, + "offset": 0, + "owner_replica": 14, + "port": 81, + "replica": 1, + "stage": 1, + "time": 8, + "width": 9 + } + }, + { + "index": 4023, + "before": { + "child": 0, + "copy": 330, + "family": 2122, + "helper": 183, + "offset": 0, + "owner_replica": 2, + "port": 106, + "replica": 1, + "stage": 1, + "time": 8, + "width": 9 + }, + "after": { + "child": 6, + "copy": 1642, + "family": 13178, + "helper": 183, + "offset": 9, + "owner_replica": 14, + "port": 74, + "replica": 1, + "stage": 1, + "time": 8, + "width": 9 + } + }, + { + "index": 4078, + "before": { + "child": 0, + "copy": 283, + "family": 2075, + "helper": 238, + "offset": 4, + "owner_replica": 2, + "port": 59, + "replica": 1, + "stage": 1, + "time": 8, + "width": 9 + }, + "after": { + "child": 0, + "copy": 234, + "family": 2026, + "helper": 238, + "offset": 0, + "owner_replica": 2, + "port": 10, + "replica": 1, + "stage": 1, + "time": 8, + "width": 9 + } + }, + { + "index": 4132, + "before": { + "child": 2, + "copy": 195, + "family": 1315, + "helper": 292, + "offset": 0, + "owner_replica": 1, + "port": 83, + "replica": 1, + "stage": 1, + "time": 8, + "width": 9 + }, + "after": { + "child": 2, + "copy": 195, + "family": 1315, + "helper": 292, + "offset": 4, + "owner_replica": 1, + "port": 83, + "replica": 1, + "stage": 1, + "time": 8, + "width": 9 + } + }, + { + "index": 4174, + "before": { + "child": 2, + "copy": 186, + "family": 1306, + "helper": 334, + "offset": 0, + "owner_replica": 1, + "port": 74, + "replica": 1, + "stage": 1, + "time": 8, + "width": 9 + }, + "after": { + "child": 0, + "copy": 228, + "family": 2020, + "helper": 334, + "offset": 0, + "owner_replica": 2, + "port": 4, + "replica": 1, + "stage": 1, + "time": 8, + "width": 9 + } + }, + { + "index": 4184, + "before": { + "child": 2, + "copy": 184, + "family": 1304, + "helper": 344, + "offset": 4, + "owner_replica": 1, + "port": 72, + "replica": 1, + "stage": 1, + "time": 8, + "width": 9 + }, + "after": { + "child": 2, + "copy": 193, + "family": 1313, + "helper": 344, + "offset": 4, + "owner_replica": 1, + "port": 81, + "replica": 1, + "stage": 1, + "time": 8, + "width": 9 + } + }, + { + "index": 4306, + "before": { + "child": 1, + "copy": 8, + "family": 232, + "helper": 466, + "offset": 0, + "owner_replica": 0, + "port": 8, + "replica": 1, + "stage": 1, + "time": 8, + "width": 8 + }, + "after": { + "child": 0, + "copy": 112, + "family": 1120, + "helper": 466, + "offset": 8, + "owner_replica": 1, + "port": 0, + "replica": 1, + "stage": 1, + "time": 8, + "width": 8 + } + }, + { + "index": 4420, + "before": { + "child": 4, + "copy": 938, + "family": 7658, + "helper": 100, + "offset": 14, + "owner_replica": 8, + "port": 42, + "replica": 9, + "stage": 1, + "time": 9, + "width": 9 + }, + "after": { + "child": 4, + "copy": 1661, + "family": 13085, + "helper": 100, + "offset": 9, + "owner_replica": 14, + "port": 93, + "replica": 9, + "stage": 1, + "time": 9, + "width": 9 + } + }, + { + "index": 4526, + "before": { + "child": 2, + "copy": 1232, + "family": 10192, + "helper": 206, + "offset": 0, + "owner_replica": 11, + "port": 0, + "replica": 9, + "stage": 1, + "time": 9, + "width": 9 + }, + "after": { + "child": 10, + "copy": 1728, + "family": 14272, + "helper": 206, + "offset": 0, + "owner_replica": 15, + "port": 48, + "replica": 9, + "stage": 1, + "time": 9, + "width": 9 + } + }, + { + "index": 4711, + "before": { + "child": 0, + "copy": 234, + "family": 2026, + "helper": 391, + "offset": 9, + "owner_replica": 2, + "port": 10, + "replica": 9, + "stage": 1, + "time": 9, + "width": 4 + }, + "after": { + "child": 0, + "copy": 326, + "family": 2118, + "helper": 391, + "offset": 9, + "owner_replica": 2, + "port": 102, + "replica": 9, + "stage": 1, + "time": 9, + "width": 4 + } + }, + { + "index": 5000, + "before": { + "child": 4, + "copy": 938, + "family": 7658, + "helper": 200, + "offset": 23, + "owner_replica": 8, + "port": 42, + "replica": 0, + "stage": 2, + "time": 10, + "width": 9 + }, + "after": { + "child": 6, + "copy": 82, + "family": 642, + "helper": 200, + "offset": 23, + "owner_replica": 0, + "port": 82, + "replica": 0, + "stage": 2, + "time": 10, + "width": 9 + } + }, + { + "index": 5064, + "before": { + "child": 0, + "copy": 1231, + "family": 9295, + "helper": 264, + "offset": 0, + "owner_replica": 10, + "port": 111, + "replica": 0, + "stage": 2, + "time": 10, + "width": 8 + }, + "after": { + "child": 1, + "copy": 8, + "family": 232, + "helper": 264, + "offset": 0, + "owner_replica": 0, + "port": 8, + "replica": 0, + "stage": 2, + "time": 10, + "width": 8 + } + }, + { + "index": 5187, + "before": { + "child": 0, + "copy": 264, + "family": 2056, + "helper": 387, + "offset": 9, + "owner_replica": 2, + "port": 40, + "replica": 0, + "stage": 2, + "time": 10, + "width": 4 + }, + "after": { + "child": 0, + "copy": 264, + "family": 2056, + "helper": 387, + "offset": 0, + "owner_replica": 2, + "port": 40, + "replica": 0, + "stage": 2, + "time": 10, + "width": 4 + } + }, + { + "index": 5984, + "before": { + "child": 0, + "copy": 228, + "family": 2020, + "helper": 224, + "offset": 9, + "owner_replica": 2, + "port": 4, + "replica": 3, + "stage": 0, + "time": 12, + "width": 7 + }, + "after": { + "child": 0, + "copy": 234, + "family": 2026, + "helper": 224, + "offset": 9, + "owner_replica": 2, + "port": 10, + "replica": 3, + "stage": 0, + "time": 12, + "width": 7 + } + }, + { + "index": 6037, + "before": { + "child": 2, + "copy": 286, + "family": 2190, + "helper": 277, + "offset": 0, + "owner_replica": 2, + "port": 62, + "replica": 3, + "stage": 0, + "time": 12, + "width": 8 + }, + "after": { + "child": 0, + "copy": 1231, + "family": 9295, + "helper": 277, + "offset": 8, + "owner_replica": 10, + "port": 111, + "replica": 3, + "stage": 0, + "time": 12, + "width": 8 + } + }, + { + "index": 6155, + "before": { + "child": 0, + "copy": 330, + "family": 2122, + "helper": 395, + "offset": 9, + "owner_replica": 2, + "port": 106, + "replica": 3, + "stage": 0, + "time": 12, + "width": 4 + }, + "after": { + "child": 0, + "copy": 283, + "family": 2075, + "helper": 395, + "offset": 9, + "owner_replica": 2, + "port": 59, + "replica": 3, + "stage": 0, + "time": 12, + "width": 4 + } + }, + { + "index": 6163, + "before": { + "child": 0, + "copy": 326, + "family": 2118, + "helper": 403, + "offset": 9, + "owner_replica": 2, + "port": 102, + "replica": 3, + "stage": 0, + "time": 12, + "width": 4 + }, + "after": { + "child": 0, + "copy": 228, + "family": 2020, + "helper": 403, + "offset": 9, + "owner_replica": 2, + "port": 4, + "replica": 3, + "stage": 0, + "time": 12, + "width": 4 + } + }, + { + "index": 6221, + "before": { + "child": 6, + "copy": 31, + "family": 591, + "helper": 461, + "offset": 9, + "owner_replica": 0, + "port": 31, + "replica": 3, + "stage": 0, + "time": 12, + "width": 5 + }, + "after": { + "child": 4, + "copy": 27, + "family": 475, + "helper": 461, + "offset": 9, + "owner_replica": 0, + "port": 27, + "replica": 3, + "stage": 0, + "time": 12, + "width": 5 + } + }, + { + "index": 6629, + "before": { + "child": 2, + "copy": 254, + "family": 2158, + "helper": 389, + "offset": 9, + "owner_replica": 2, + "port": 30, + "replica": 11, + "stage": 0, + "time": 13, + "width": 4 + }, + "after": { + "child": 0, + "copy": 330, + "family": 2122, + "helper": 389, + "offset": 9, + "owner_replica": 2, + "port": 106, + "replica": 11, + "stage": 0, + "time": 13, + "width": 4 + } + }, + { + "index": 6638, + "before": { + "child": 2, + "copy": 286, + "family": 2190, + "helper": 398, + "offset": 12, + "owner_replica": 2, + "port": 62, + "replica": 11, + "stage": 0, + "time": 13, + "width": 4 + }, + "after": { + "child": 2, + "copy": 286, + "family": 2190, + "helper": 398, + "offset": 0, + "owner_replica": 2, + "port": 62, + "replica": 11, + "stage": 0, + "time": 13, + "width": 4 + } + }, + { + "index": 6806, + "before": { + "child": 4, + "copy": 1315, + "family": 10387, + "helper": 86, + "offset": 0, + "owner_replica": 11, + "port": 83, + "replica": 2, + "stage": 1, + "time": 14, + "width": 9 + }, + "after": { + "child": 4, + "copy": 1661, + "family": 13085, + "helper": 86, + "offset": 18, + "owner_replica": 14, + "port": 93, + "replica": 2, + "stage": 1, + "time": 14, + "width": 9 + } + }, + { + "index": 7150, + "before": { + "child": 2, + "copy": 286, + "family": 2190, + "helper": 430, + "offset": 8, + "owner_replica": 2, + "port": 62, + "replica": 2, + "stage": 1, + "time": 14, + "width": 4 + }, + "after": { + "child": 0, + "copy": 264, + "family": 2056, + "helper": 430, + "offset": 12, + "owner_replica": 2, + "port": 40, + "replica": 2, + "stage": 1, + "time": 14, + "width": 4 + } + }, + { + "index": 7254, + "before": { + "child": 4, + "copy": 1196, + "family": 9484, + "helper": 54, + "offset": 0, + "owner_replica": 10, + "port": 76, + "replica": 10, + "stage": 1, + "time": 15, + "width": 9 + }, + "after": { + "child": 6, + "copy": 31, + "family": 591, + "helper": 54, + "offset": 23, + "owner_replica": 0, + "port": 31, + "replica": 10, + "stage": 1, + "time": 15, + "width": 9 + } + }, + { + "index": 7266, + "before": { + "child": 4, + "copy": 1186, + "family": 9474, + "helper": 66, + "offset": 0, + "owner_replica": 10, + "port": 66, + "replica": 10, + "stage": 1, + "time": 15, + "width": 9 + }, + "after": { + "child": 4, + "copy": 27, + "family": 475, + "helper": 66, + "offset": 14, + "owner_replica": 0, + "port": 27, + "replica": 10, + "stage": 1, + "time": 15, + "width": 9 + } + }, + { + "index": 7539, + "before": { + "child": 0, + "copy": 393, + "family": 2969, + "helper": 339, + "offset": 0, + "owner_replica": 3, + "port": 57, + "replica": 10, + "stage": 1, + "time": 15, + "width": 8 + }, + "after": { + "child": 2, + "copy": 1243, + "family": 10203, + "helper": 339, + "offset": 0, + "owner_replica": 11, + "port": 11, + "replica": 10, + "stage": 1, + "time": 15, + "width": 8 + } + }, + { + "index": 7618, + "before": { + "child": 0, + "copy": 1231, + "family": 9295, + "helper": 418, + "offset": 8, + "owner_replica": 10, + "port": 111, + "replica": 10, + "stage": 1, + "time": 15, + "width": 8 + }, + "after": { + "child": 0, + "copy": 1231, + "family": 9295, + "helper": 418, + "offset": 0, + "owner_replica": 10, + "port": 111, + "replica": 10, + "stage": 1, + "time": 15, + "width": 8 + } + }, + { + "index": 7849, + "before": { + "child": 6, + "copy": 82, + "family": 642, + "helper": 169, + "offset": 14, + "owner_replica": 0, + "port": 82, + "replica": 1, + "stage": 2, + "time": 16, + "width": 9 + }, + "after": { + "child": 6, + "copy": 82, + "family": 642, + "helper": 169, + "offset": 0, + "owner_replica": 0, + "port": 82, + "replica": 1, + "stage": 2, + "time": 16, + "width": 9 + } + }, + { + "index": 7901, + "before": { + "child": 6, + "copy": 31, + "family": 591, + "helper": 221, + "offset": 14, + "owner_replica": 0, + "port": 31, + "replica": 1, + "stage": 2, + "time": 16, + "width": 9 + }, + "after": { + "child": 6, + "copy": 31, + "family": 591, + "helper": 221, + "offset": 0, + "owner_replica": 0, + "port": 31, + "replica": 1, + "stage": 2, + "time": 16, + "width": 9 + } + }, + { + "index": 7946, + "before": { + "child": 4, + "copy": 27, + "family": 475, + "helper": 266, + "offset": 23, + "owner_replica": 0, + "port": 27, + "replica": 1, + "stage": 2, + "time": 16, + "width": 9 + }, + "after": { + "child": 4, + "copy": 27, + "family": 475, + "helper": 266, + "offset": 0, + "owner_replica": 0, + "port": 27, + "replica": 1, + "stage": 2, + "time": 16, + "width": 9 + } + }, + { + "index": 8315, + "before": { + "child": 4, + "copy": 333, + "family": 2349, + "helper": 155, + "offset": 4, + "owner_replica": 2, + "port": 109, + "replica": 9, + "stage": 2, + "time": 17, + "width": 9 + }, + "after": { + "child": 4, + "copy": 333, + "family": 2349, + "helper": 155, + "offset": 0, + "owner_replica": 2, + "port": 109, + "replica": 9, + "stage": 2, + "time": 17, + "width": 9 + } + }, + { + "index": 8316, + "before": { + "child": 4, + "copy": 332, + "family": 2348, + "helper": 156, + "offset": 4, + "owner_replica": 2, + "port": 108, + "replica": 9, + "stage": 2, + "time": 17, + "width": 9 + }, + "after": { + "child": 4, + "copy": 332, + "family": 2348, + "helper": 156, + "offset": 0, + "owner_replica": 2, + "port": 108, + "replica": 9, + "stage": 2, + "time": 17, + "width": 9 + } + }, + { + "index": 8317, + "before": { + "child": 4, + "copy": 331, + "family": 2347, + "helper": 157, + "offset": 4, + "owner_replica": 2, + "port": 107, + "replica": 9, + "stage": 2, + "time": 17, + "width": 9 + }, + "after": { + "child": 4, + "copy": 331, + "family": 2347, + "helper": 157, + "offset": 0, + "owner_replica": 2, + "port": 107, + "replica": 9, + "stage": 2, + "time": 17, + "width": 9 + } + }, + { + "index": 8318, + "before": { + "child": 4, + "copy": 330, + "family": 2346, + "helper": 158, + "offset": 4, + "owner_replica": 2, + "port": 106, + "replica": 9, + "stage": 2, + "time": 17, + "width": 9 + }, + "after": { + "child": 4, + "copy": 330, + "family": 2346, + "helper": 158, + "offset": 0, + "owner_replica": 2, + "port": 106, + "replica": 9, + "stage": 2, + "time": 17, + "width": 9 + } + }, + { + "index": 8319, + "before": { + "child": 4, + "copy": 329, + "family": 2345, + "helper": 159, + "offset": 4, + "owner_replica": 2, + "port": 105, + "replica": 9, + "stage": 2, + "time": 17, + "width": 9 + }, + "after": { + "child": 4, + "copy": 329, + "family": 2345, + "helper": 159, + "offset": 0, + "owner_replica": 2, + "port": 105, + "replica": 9, + "stage": 2, + "time": 17, + "width": 9 + } + }, + { + "index": 8320, + "before": { + "child": 4, + "copy": 328, + "family": 2344, + "helper": 160, + "offset": 4, + "owner_replica": 2, + "port": 104, + "replica": 9, + "stage": 2, + "time": 17, + "width": 9 + }, + "after": { + "child": 4, + "copy": 328, + "family": 2344, + "helper": 160, + "offset": 0, + "owner_replica": 2, + "port": 104, + "replica": 9, + "stage": 2, + "time": 17, + "width": 9 + } + }, + { + "index": 8324, + "before": { + "child": 4, + "copy": 326, + "family": 2342, + "helper": 164, + "offset": 4, + "owner_replica": 2, + "port": 102, + "replica": 9, + "stage": 2, + "time": 17, + "width": 9 + }, + "after": { + "child": 4, + "copy": 326, + "family": 2342, + "helper": 164, + "offset": 0, + "owner_replica": 2, + "port": 102, + "replica": 9, + "stage": 2, + "time": 17, + "width": 9 + } + }, + { + "index": 8379, + "before": { + "child": 6, + "copy": 1058, + "family": 8674, + "helper": 219, + "offset": 4, + "owner_replica": 9, + "port": 50, + "replica": 9, + "stage": 2, + "time": 17, + "width": 9 + }, + "after": { + "child": 6, + "copy": 1058, + "family": 8674, + "helper": 219, + "offset": 0, + "owner_replica": 9, + "port": 50, + "replica": 9, + "stage": 2, + "time": 17, + "width": 9 + } + }, + { + "index": 8493, + "before": { + "child": 2, + "copy": 1232, + "family": 10192, + "helper": 333, + "offset": 9, + "owner_replica": 11, + "port": 0, + "replica": 9, + "stage": 2, + "time": 17, + "width": 7 + }, + "after": { + "child": 2, + "copy": 1314, + "family": 10274, + "helper": 333, + "offset": 9, + "owner_replica": 11, + "port": 82, + "replica": 9, + "stage": 2, + "time": 17, + "width": 7 + } + }, + { + "index": 8670, + "before": { + "child": 4, + "copy": 1247, + "family": 10319, + "helper": 30, + "offset": 9, + "owner_replica": 11, + "port": 15, + "replica": 0, + "stage": 3, + "time": 18, + "width": 9 + }, + "after": { + "child": 4, + "copy": 27, + "family": 475, + "helper": 30, + "offset": 23, + "owner_replica": 0, + "port": 27, + "replica": 0, + "stage": 3, + "time": 18, + "width": 9 + } + }, + { + "index": 8742, + "before": { + "child": 6, + "copy": 82, + "family": 642, + "helper": 102, + "offset": 23, + "owner_replica": 0, + "port": 82, + "replica": 0, + "stage": 3, + "time": 18, + "width": 9 + }, + "after": { + "child": 6, + "copy": 82, + "family": 642, + "helper": 102, + "offset": 9, + "owner_replica": 0, + "port": 82, + "replica": 0, + "stage": 3, + "time": 18, + "width": 9 + } + }, + { + "index": 8811, + "before": { + "child": 6, + "copy": 31, + "family": 591, + "helper": 171, + "offset": 23, + "owner_replica": 0, + "port": 31, + "replica": 0, + "stage": 3, + "time": 18, + "width": 9 + }, + "after": { + "child": 6, + "copy": 31, + "family": 591, + "helper": 171, + "offset": 9, + "owner_replica": 0, + "port": 31, + "replica": 0, + "stage": 3, + "time": 18, + "width": 9 + } + }, + { + "index": 8903, + "before": { + "child": 2, + "copy": 1243, + "family": 10203, + "helper": 263, + "offset": 8, + "owner_replica": 11, + "port": 11, + "replica": 0, + "stage": 3, + "time": 18, + "width": 8 + }, + "after": { + "child": 2, + "copy": 1232, + "family": 10192, + "helper": 263, + "offset": 0, + "owner_replica": 11, + "port": 0, + "replica": 0, + "stage": 3, + "time": 18, + "width": 8 + } + }, + { + "index": 9028, + "before": { + "child": 0, + "copy": 393, + "family": 2969, + "helper": 388, + "offset": 8, + "owner_replica": 3, + "port": 57, + "replica": 0, + "stage": 3, + "time": 18, + "width": 8 + }, + "after": { + "child": 2, + "copy": 432, + "family": 3120, + "helper": 388, + "offset": 0, + "owner_replica": 3, + "port": 96, + "replica": 0, + "stage": 3, + "time": 18, + "width": 8 + } + }, + { + "index": 9177, + "before": { + "child": 8, + "copy": 1006, + "family": 7950, + "helper": 57, + "offset": 0, + "owner_replica": 8, + "port": 110, + "replica": 8, + "stage": 3, + "time": 19, + "width": 9 + }, + "after": { + "child": 4, + "copy": 938, + "family": 7658, + "helper": 57, + "offset": 23, + "owner_replica": 8, + "port": 42, + "replica": 8, + "stage": 3, + "time": 19, + "width": 9 + } + }, + { + "index": 9385, + "before": { + "child": 0, + "copy": 1292, + "family": 10140, + "helper": 265, + "offset": 0, + "owner_replica": 11, + "port": 60, + "replica": 8, + "stage": 3, + "time": 19, + "width": 8 + }, + "after": { + "child": 2, + "copy": 432, + "family": 3120, + "helper": 265, + "offset": 8, + "owner_replica": 3, + "port": 96, + "replica": 8, + "stage": 3, + "time": 19, + "width": 8 + } + }, + { + "index": 9416, + "before": { + "child": 2, + "copy": 1243, + "family": 10203, + "helper": 296, + "offset": 0, + "owner_replica": 11, + "port": 11, + "replica": 8, + "stage": 3, + "time": 19, + "width": 8 + }, + "after": { + "child": 2, + "copy": 1232, + "family": 10192, + "helper": 296, + "offset": 8, + "owner_replica": 11, + "port": 0, + "replica": 8, + "stage": 3, + "time": 19, + "width": 8 + } + }, + { + "index": 9658, + "before": { + "child": 0, + "copy": 1292, + "family": 10140, + "helper": 58, + "offset": 12, + "owner_replica": 11, + "port": 60, + "replica": 4, + "stage": 0, + "time": 20, + "width": 4 + }, + "after": { + "child": 2, + "copy": 1243, + "family": 10203, + "helper": 58, + "offset": 8, + "owner_replica": 11, + "port": 11, + "replica": 4, + "stage": 0, + "time": 20, + "width": 4 + } + }, + { + "index": 9673, + "before": { + "child": 8, + "copy": 199, + "family": 1655, + "helper": 73, + "offset": 0, + "owner_replica": 1, + "port": 87, + "replica": 4, + "stage": 0, + "time": 20, + "width": 9 + }, + "after": { + "child": 4, + "copy": 1186, + "family": 9474, + "helper": 73, + "offset": 5, + "owner_replica": 10, + "port": 66, + "replica": 4, + "stage": 0, + "time": 20, + "width": 9 + } + }, + { + "index": 9788, + "before": { + "child": 4, + "copy": 140, + "family": 1372, + "helper": 188, + "offset": 9, + "owner_replica": 1, + "port": 28, + "replica": 4, + "stage": 0, + "time": 20, + "width": 9 + }, + "after": { + "child": 4, + "copy": 140, + "family": 1372, + "helper": 188, + "offset": 0, + "owner_replica": 1, + "port": 28, + "replica": 4, + "stage": 0, + "time": 20, + "width": 9 + } + }, + { + "index": 10087, + "before": { + "child": 8, + "copy": 1338, + "family": 10634, + "helper": 7, + "offset": 4, + "owner_replica": 11, + "port": 106, + "replica": 12, + "stage": 0, + "time": 21, + "width": 9 + }, + "after": { + "child": 4, + "copy": 1186, + "family": 9474, + "helper": 7, + "offset": 14, + "owner_replica": 10, + "port": 66, + "replica": 12, + "stage": 0, + "time": 21, + "width": 9 + } + }, + { + "index": 10322, + "before": { + "child": 2, + "copy": 432, + "family": 3120, + "helper": 242, + "offset": 0, + "owner_replica": 3, + "port": 96, + "replica": 12, + "stage": 0, + "time": 21, + "width": 9 + }, + "after": { + "child": 0, + "copy": 393, + "family": 2969, + "helper": 242, + "offset": 0, + "owner_replica": 3, + "port": 57, + "replica": 12, + "stage": 0, + "time": 21, + "width": 9 + } + }, + { + "index": 10701, + "before": { + "child": 8, + "copy": 199, + "family": 1655, + "helper": 141, + "offset": 9, + "owner_replica": 1, + "port": 87, + "replica": 3, + "stage": 1, + "time": 22, + "width": 9 + }, + "after": { + "child": 4, + "copy": 441, + "family": 3241, + "helper": 141, + "offset": 0, + "owner_replica": 3, + "port": 105, + "replica": 3, + "stage": 1, + "time": 22, + "width": 9 + } + }, + { + "index": 10787, + "before": { + "child": 2, + "copy": 432, + "family": 3120, + "helper": 227, + "offset": 9, + "owner_replica": 3, + "port": 96, + "replica": 3, + "stage": 1, + "time": 22, + "width": 7 + }, + "after": { + "child": 0, + "copy": 393, + "family": 2969, + "helper": 227, + "offset": 9, + "owner_replica": 3, + "port": 57, + "replica": 3, + "stage": 1, + "time": 22, + "width": 7 + } + }, + { + "index": 10999, + "before": { + "child": 4, + "copy": 1475, + "family": 12115, + "helper": 439, + "offset": 9, + "owner_replica": 13, + "port": 19, + "replica": 3, + "stage": 1, + "time": 22, + "width": 5 + }, + "after": { + "child": 4, + "copy": 140, + "family": 1372, + "helper": 439, + "offset": 18, + "owner_replica": 1, + "port": 28, + "replica": 3, + "stage": 1, + "time": 22, + "width": 5 + } + }, + { + "index": 11091, + "before": { + "child": 0, + "copy": 1292, + "family": 10140, + "helper": 51, + "offset": 8, + "owner_replica": 11, + "port": 60, + "replica": 11, + "stage": 1, + "time": 23, + "width": 4 + }, + "after": { + "child": 2, + "copy": 1243, + "family": 10203, + "helper": 51, + "offset": 12, + "owner_replica": 11, + "port": 11, + "replica": 11, + "stage": 1, + "time": 23, + "width": 4 + } + }, + { + "index": 11097, + "before": { + "child": 6, + "copy": 1058, + "family": 8674, + "helper": 57, + "offset": 13, + "owner_replica": 9, + "port": 50, + "replica": 11, + "stage": 1, + "time": 23, + "width": 9 + }, + "after": { + "child": 6, + "copy": 1058, + "family": 8674, + "helper": 57, + "offset": 14, + "owner_replica": 9, + "port": 50, + "replica": 11, + "stage": 1, + "time": 23, + "width": 9 + } + }, + { + "index": 11163, + "before": { + "child": 4, + "copy": 140, + "family": 1372, + "helper": 123, + "offset": 18, + "owner_replica": 1, + "port": 28, + "replica": 11, + "stage": 1, + "time": 23, + "width": 9 + }, + "after": { + "child": 4, + "copy": 140, + "family": 1372, + "helper": 123, + "offset": 9, + "owner_replica": 1, + "port": 28, + "replica": 11, + "stage": 1, + "time": 23, + "width": 9 + } + }, + { + "index": 11404, + "before": { + "child": 2, + "copy": 1314, + "family": 10274, + "helper": 364, + "offset": 9, + "owner_replica": 11, + "port": 82, + "replica": 11, + "stage": 1, + "time": 23, + "width": 7 + }, + "after": { + "child": 0, + "copy": 1292, + "family": 10140, + "helper": 364, + "offset": 9, + "owner_replica": 11, + "port": 60, + "replica": 11, + "stage": 1, + "time": 23, + "width": 7 + } + }, + { + "index": 11796, + "before": { + "child": 8, + "copy": 199, + "family": 1655, + "helper": 276, + "offset": 18, + "owner_replica": 1, + "port": 87, + "replica": 2, + "stage": 2, + "time": 24, + "width": 8 + }, + "after": { + "child": 0, + "copy": 1678, + "family": 12878, + "helper": 276, + "offset": 0, + "owner_replica": 14, + "port": 110, + "replica": 2, + "stage": 2, + "time": 24, + "width": 8 + } + }, + { + "index": 11895, + "before": { + "child": 4, + "copy": 140, + "family": 1372, + "helper": 375, + "offset": 27, + "owner_replica": 1, + "port": 28, + "replica": 2, + "stage": 2, + "time": 24, + "width": 5 + }, + "after": { + "child": 4, + "copy": 1247, + "family": 10319, + "helper": 375, + "offset": 9, + "owner_replica": 11, + "port": 15, + "replica": 2, + "stage": 2, + "time": 24, + "width": 5 + } + }, + { + "index": 12168, + "before": { + "child": 6, + "copy": 1058, + "family": 8674, + "helper": 168, + "offset": 22, + "owner_replica": 9, + "port": 50, + "replica": 10, + "stage": 2, + "time": 25, + "width": 9 + }, + "after": { + "child": 6, + "copy": 1058, + "family": 8674, + "helper": 168, + "offset": 23, + "owner_replica": 9, + "port": 50, + "replica": 10, + "stage": 2, + "time": 25, + "width": 9 + } + }, + { + "index": 12558, + "before": { + "child": 4, + "copy": 1364, + "family": 11220, + "helper": 78, + "offset": 0, + "owner_replica": 12, + "port": 20, + "replica": 1, + "stage": 3, + "time": 26, + "width": 9 + }, + "after": { + "child": 4, + "copy": 140, + "family": 1372, + "helper": 78, + "offset": 23, + "owner_replica": 1, + "port": 28, + "replica": 1, + "stage": 3, + "time": 26, + "width": 9 + } + }, + { + "index": 12961, + "before": { + "child": 8, + "copy": 1006, + "family": 7950, + "helper": 1, + "offset": 9, + "owner_replica": 8, + "port": 110, + "replica": 9, + "stage": 3, + "time": 27, + "width": 9 + }, + "after": { + "child": 4, + "copy": 1247, + "family": 10319, + "helper": 1, + "offset": 14, + "owner_replica": 11, + "port": 15, + "replica": 9, + "stage": 3, + "time": 27, + "width": 9 + } + }, + { + "index": 13020, + "before": { + "child": 4, + "copy": 1315, + "family": 10387, + "helper": 60, + "offset": 9, + "owner_replica": 11, + "port": 83, + "replica": 9, + "stage": 3, + "time": 27, + "width": 9 + }, + "after": { + "child": 10, + "copy": 1728, + "family": 14272, + "helper": 60, + "offset": 9, + "owner_replica": 15, + "port": 48, + "replica": 9, + "stage": 3, + "time": 27, + "width": 9 + } + }, + { + "index": 13495, + "before": { + "child": 4, + "copy": 1475, + "family": 12115, + "helper": 55, + "offset": 14, + "owner_replica": 13, + "port": 19, + "replica": 0, + "stage": 4, + "time": 28, + "width": 9 + }, + "after": { + "child": 4, + "copy": 1315, + "family": 10387, + "helper": 55, + "offset": 0, + "owner_replica": 11, + "port": 83, + "replica": 0, + "stage": 4, + "time": 28, + "width": 9 + } + }, + { + "index": 13895, + "before": { + "child": 4, + "copy": 1247, + "family": 10319, + "helper": 455, + "offset": 18, + "owner_replica": 11, + "port": 15, + "replica": 0, + "stage": 4, + "time": 28, + "width": 5 + }, + "after": { + "child": 4, + "copy": 1364, + "family": 11220, + "helper": 455, + "offset": 9, + "owner_replica": 12, + "port": 20, + "replica": 0, + "stage": 4, + "time": 28, + "width": 5 + } + }, + { + "index": 14164, + "before": { + "child": 4, + "copy": 333, + "family": 2349, + "helper": 244, + "offset": 13, + "owner_replica": 2, + "port": 109, + "replica": 8, + "stage": 4, + "time": 29, + "width": 9 + }, + "after": { + "child": 4, + "copy": 333, + "family": 2349, + "helper": 244, + "offset": 14, + "owner_replica": 2, + "port": 109, + "replica": 8, + "stage": 4, + "time": 29, + "width": 9 + } + }, + { + "index": 14165, + "before": { + "child": 4, + "copy": 332, + "family": 2348, + "helper": 245, + "offset": 13, + "owner_replica": 2, + "port": 108, + "replica": 8, + "stage": 4, + "time": 29, + "width": 9 + }, + "after": { + "child": 4, + "copy": 332, + "family": 2348, + "helper": 245, + "offset": 14, + "owner_replica": 2, + "port": 108, + "replica": 8, + "stage": 4, + "time": 29, + "width": 9 + } + }, + { + "index": 14166, + "before": { + "child": 4, + "copy": 331, + "family": 2347, + "helper": 246, + "offset": 13, + "owner_replica": 2, + "port": 107, + "replica": 8, + "stage": 4, + "time": 29, + "width": 9 + }, + "after": { + "child": 4, + "copy": 331, + "family": 2347, + "helper": 246, + "offset": 14, + "owner_replica": 2, + "port": 107, + "replica": 8, + "stage": 4, + "time": 29, + "width": 9 + } + }, + { + "index": 14167, + "before": { + "child": 4, + "copy": 330, + "family": 2346, + "helper": 247, + "offset": 13, + "owner_replica": 2, + "port": 106, + "replica": 8, + "stage": 4, + "time": 29, + "width": 9 + }, + "after": { + "child": 4, + "copy": 330, + "family": 2346, + "helper": 247, + "offset": 14, + "owner_replica": 2, + "port": 106, + "replica": 8, + "stage": 4, + "time": 29, + "width": 9 + } + }, + { + "index": 14174, + "before": { + "child": 4, + "copy": 329, + "family": 2345, + "helper": 254, + "offset": 13, + "owner_replica": 2, + "port": 105, + "replica": 8, + "stage": 4, + "time": 29, + "width": 9 + }, + "after": { + "child": 4, + "copy": 329, + "family": 2345, + "helper": 254, + "offset": 14, + "owner_replica": 2, + "port": 105, + "replica": 8, + "stage": 4, + "time": 29, + "width": 9 + } + }, + { + "index": 14175, + "before": { + "child": 4, + "copy": 328, + "family": 2344, + "helper": 255, + "offset": 13, + "owner_replica": 2, + "port": 104, + "replica": 8, + "stage": 4, + "time": 29, + "width": 9 + }, + "after": { + "child": 4, + "copy": 328, + "family": 2344, + "helper": 255, + "offset": 14, + "owner_replica": 2, + "port": 104, + "replica": 8, + "stage": 4, + "time": 29, + "width": 9 + } + }, + { + "index": 14177, + "before": { + "child": 4, + "copy": 326, + "family": 2342, + "helper": 257, + "offset": 13, + "owner_replica": 2, + "port": 102, + "replica": 8, + "stage": 4, + "time": 29, + "width": 9 + }, + "after": { + "child": 4, + "copy": 326, + "family": 2342, + "helper": 257, + "offset": 14, + "owner_replica": 2, + "port": 102, + "replica": 8, + "stage": 4, + "time": 29, + "width": 9 + } + }, + { + "index": 14365, + "before": { + "child": 4, + "copy": 1196, + "family": 9484, + "helper": 445, + "offset": 9, + "owner_replica": 10, + "port": 76, + "replica": 8, + "stage": 4, + "time": 29, + "width": 5 + }, + "after": { + "child": 4, + "copy": 1315, + "family": 10387, + "helper": 445, + "offset": 9, + "owner_replica": 11, + "port": 83, + "replica": 8, + "stage": 4, + "time": 29, + "width": 5 + } + }, + { + "index": 14383, + "before": { + "child": 4, + "copy": 1186, + "family": 9474, + "helper": 463, + "offset": 9, + "owner_replica": 10, + "port": 66, + "replica": 8, + "stage": 4, + "time": 29, + "width": 5 + }, + "after": { + "child": 4, + "copy": 1186, + "family": 9474, + "helper": 463, + "offset": 0, + "owner_replica": 10, + "port": 66, + "replica": 8, + "stage": 4, + "time": 29, + "width": 5 + } + }, + { + "index": 14695, + "before": { + "child": 4, + "copy": 1196, + "family": 9484, + "helper": 295, + "offset": 14, + "owner_replica": 10, + "port": 76, + "replica": 5, + "stage": 0, + "time": 30, + "width": 9 + }, + "after": { + "child": 4, + "copy": 1364, + "family": 11220, + "helper": 295, + "offset": 14, + "owner_replica": 12, + "port": 20, + "replica": 5, + "stage": 0, + "time": 30, + "width": 9 + } + }, + { + "index": 14746, + "before": { + "child": 4, + "copy": 1186, + "family": 9474, + "helper": 346, + "offset": 14, + "owner_replica": 10, + "port": 66, + "replica": 5, + "stage": 0, + "time": 30, + "width": 9 + }, + "after": { + "child": 4, + "copy": 441, + "family": 3241, + "helper": 346, + "offset": 9, + "owner_replica": 3, + "port": 105, + "replica": 5, + "stage": 0, + "time": 30, + "width": 9 + } + }, + { + "index": 14938, + "before": { + "child": 8, + "copy": 1006, + "family": 7950, + "helper": 58, + "offset": 18, + "owner_replica": 8, + "port": 110, + "replica": 13, + "stage": 0, + "time": 31, + "width": 4 + }, + "after": { + "child": 8, + "copy": 327, + "family": 2567, + "helper": 58, + "offset": 0, + "owner_replica": 2, + "port": 103, + "replica": 13, + "stage": 0, + "time": 31, + "width": 4 + } + }, + { + "index": 15125, + "before": { + "child": 4, + "copy": 441, + "family": 3241, + "helper": 245, + "offset": 0, + "owner_replica": 3, + "port": 105, + "replica": 13, + "stage": 0, + "time": 31, + "width": 9 + }, + "after": { + "child": 4, + "copy": 1186, + "family": 9474, + "helper": 245, + "offset": 23, + "owner_replica": 10, + "port": 66, + "replica": 13, + "stage": 0, + "time": 31, + "width": 9 + } + }, + { + "index": 15967, + "before": { + "child": 4, + "copy": 1364, + "family": 11220, + "helper": 127, + "offset": 9, + "owner_replica": 12, + "port": 20, + "replica": 12, + "stage": 1, + "time": 33, + "width": 9 + }, + "after": { + "child": 4, + "copy": 1364, + "family": 11220, + "helper": 127, + "offset": 0, + "owner_replica": 12, + "port": 20, + "replica": 12, + "stage": 1, + "time": 33, + "width": 9 + } + }, + { + "index": 16037, + "before": { + "child": 4, + "copy": 1196, + "family": 9484, + "helper": 197, + "offset": 23, + "owner_replica": 10, + "port": 76, + "replica": 12, + "stage": 1, + "time": 33, + "width": 9 + }, + "after": { + "child": 4, + "copy": 1196, + "family": 9484, + "helper": 197, + "offset": 0, + "owner_replica": 10, + "port": 76, + "replica": 12, + "stage": 1, + "time": 33, + "width": 9 + } + }, + { + "index": 16047, + "before": { + "child": 4, + "copy": 1186, + "family": 9474, + "helper": 207, + "offset": 23, + "owner_replica": 10, + "port": 66, + "replica": 12, + "stage": 1, + "time": 33, + "width": 9 + }, + "after": { + "child": 4, + "copy": 441, + "family": 3241, + "helper": 207, + "offset": 18, + "owner_replica": 3, + "port": 105, + "replica": 12, + "stage": 1, + "time": 33, + "width": 9 + } + }, + { + "index": 16472, + "before": { + "child": 4, + "copy": 333, + "family": 2349, + "helper": 152, + "offset": 22, + "owner_replica": 2, + "port": 109, + "replica": 3, + "stage": 2, + "time": 34, + "width": 9 + }, + "after": { + "child": 4, + "copy": 333, + "family": 2349, + "helper": 152, + "offset": 23, + "owner_replica": 2, + "port": 109, + "replica": 3, + "stage": 2, + "time": 34, + "width": 9 + } + }, + { + "index": 16473, + "before": { + "child": 4, + "copy": 332, + "family": 2348, + "helper": 153, + "offset": 22, + "owner_replica": 2, + "port": 108, + "replica": 3, + "stage": 2, + "time": 34, + "width": 9 + }, + "after": { + "child": 4, + "copy": 332, + "family": 2348, + "helper": 153, + "offset": 23, + "owner_replica": 2, + "port": 108, + "replica": 3, + "stage": 2, + "time": 34, + "width": 9 + } + }, + { + "index": 16475, + "before": { + "child": 4, + "copy": 331, + "family": 2347, + "helper": 155, + "offset": 22, + "owner_replica": 2, + "port": 107, + "replica": 3, + "stage": 2, + "time": 34, + "width": 9 + }, + "after": { + "child": 4, + "copy": 331, + "family": 2347, + "helper": 155, + "offset": 23, + "owner_replica": 2, + "port": 107, + "replica": 3, + "stage": 2, + "time": 34, + "width": 9 + } + }, + { + "index": 16476, + "before": { + "child": 4, + "copy": 330, + "family": 2346, + "helper": 156, + "offset": 22, + "owner_replica": 2, + "port": 106, + "replica": 3, + "stage": 2, + "time": 34, + "width": 9 + }, + "after": { + "child": 4, + "copy": 330, + "family": 2346, + "helper": 156, + "offset": 23, + "owner_replica": 2, + "port": 106, + "replica": 3, + "stage": 2, + "time": 34, + "width": 9 + } + }, + { + "index": 16477, + "before": { + "child": 4, + "copy": 329, + "family": 2345, + "helper": 157, + "offset": 22, + "owner_replica": 2, + "port": 105, + "replica": 3, + "stage": 2, + "time": 34, + "width": 9 + }, + "after": { + "child": 4, + "copy": 329, + "family": 2345, + "helper": 157, + "offset": 23, + "owner_replica": 2, + "port": 105, + "replica": 3, + "stage": 2, + "time": 34, + "width": 9 + } + }, + { + "index": 16478, + "before": { + "child": 4, + "copy": 328, + "family": 2344, + "helper": 158, + "offset": 22, + "owner_replica": 2, + "port": 104, + "replica": 3, + "stage": 2, + "time": 34, + "width": 9 + }, + "after": { + "child": 4, + "copy": 328, + "family": 2344, + "helper": 158, + "offset": 23, + "owner_replica": 2, + "port": 104, + "replica": 3, + "stage": 2, + "time": 34, + "width": 9 + } + }, + { + "index": 16480, + "before": { + "child": 4, + "copy": 326, + "family": 2342, + "helper": 160, + "offset": 22, + "owner_replica": 2, + "port": 102, + "replica": 3, + "stage": 2, + "time": 34, + "width": 9 + }, + "after": { + "child": 4, + "copy": 326, + "family": 2342, + "helper": 160, + "offset": 23, + "owner_replica": 2, + "port": 102, + "replica": 3, + "stage": 2, + "time": 34, + "width": 9 + } + }, + { + "index": 16486, + "before": { + "child": 4, + "copy": 1582, + "family": 13006, + "helper": 166, + "offset": 9, + "owner_replica": 14, + "port": 14, + "replica": 3, + "stage": 2, + "time": 34, + "width": 9 + }, + "after": { + "child": 4, + "copy": 1582, + "family": 13006, + "helper": 166, + "offset": 0, + "owner_replica": 14, + "port": 14, + "replica": 3, + "stage": 2, + "time": 34, + "width": 9 + } + }, + { + "index": 16758, + "before": { + "child": 4, + "copy": 581, + "family": 4949, + "helper": 438, + "offset": 0, + "owner_replica": 5, + "port": 21, + "replica": 3, + "stage": 2, + "time": 34, + "width": 5 + }, + "after": { + "child": 4, + "copy": 441, + "family": 3241, + "helper": 438, + "offset": 27, + "owner_replica": 3, + "port": 105, + "replica": 3, + "stage": 2, + "time": 34, + "width": 5 + } + }, + { + "index": 17237, + "before": { + "child": 6, + "copy": 1616, + "family": 13152, + "helper": 437, + "offset": 0, + "owner_replica": 14, + "port": 48, + "replica": 11, + "stage": 2, + "time": 35, + "width": 5 + }, + "after": { + "child": 4, + "copy": 1196, + "family": 9484, + "helper": 437, + "offset": 18, + "owner_replica": 10, + "port": 76, + "replica": 11, + "stage": 2, + "time": 35, + "width": 5 + } + }, + { + "index": 17339, + "before": { + "child": 8, + "copy": 1006, + "family": 7950, + "helper": 59, + "offset": 22, + "owner_replica": 8, + "port": 110, + "replica": 2, + "stage": 3, + "time": 36, + "width": 9 + }, + "after": { + "child": 4, + "copy": 1196, + "family": 9484, + "helper": 59, + "offset": 23, + "owner_replica": 10, + "port": 76, + "replica": 2, + "stage": 3, + "time": 36, + "width": 9 + } + }, + { + "index": 18336, + "before": { + "child": 8, + "copy": 1006, + "family": 7950, + "helper": 96, + "offset": 31, + "owner_replica": 8, + "port": 110, + "replica": 1, + "stage": 4, + "time": 38, + "width": 9 + }, + "after": { + "child": 6, + "copy": 1633, + "family": 13169, + "helper": 96, + "offset": 18, + "owner_replica": 14, + "port": 65, + "replica": 1, + "stage": 4, + "time": 38, + "width": 9 + } + }, + { + "index": 19489, + "before": { + "child": 8, + "copy": 357, + "family": 3381, + "helper": 289, + "offset": 0, + "owner_replica": 3, + "port": 21, + "replica": 0, + "stage": 5, + "time": 40, + "width": 8 + }, + "after": { + "child": 10, + "copy": 144, + "family": 1712, + "helper": 289, + "offset": 0, + "owner_replica": 1, + "port": 32, + "replica": 0, + "stage": 5, + "time": 40, + "width": 8 + } + }, + { + "index": 19607, + "before": { + "child": 8, + "copy": 199, + "family": 1655, + "helper": 407, + "offset": 26, + "owner_replica": 1, + "port": 87, + "replica": 0, + "stage": 5, + "time": 40, + "width": 4 + }, + "after": { + "child": 10, + "copy": 1728, + "family": 14272, + "helper": 407, + "offset": 18, + "owner_replica": 15, + "port": 48, + "replica": 0, + "stage": 5, + "time": 40, + "width": 4 + } + }, + { + "index": 19891, + "before": { + "child": 4, + "copy": 441, + "family": 3241, + "helper": 211, + "offset": 9, + "owner_replica": 3, + "port": 105, + "replica": 8, + "stage": 5, + "time": 41, + "width": 9 + }, + "after": { + "child": 10, + "copy": 144, + "family": 1712, + "helper": 211, + "offset": 8, + "owner_replica": 1, + "port": 32, + "replica": 8, + "stage": 5, + "time": 41, + "width": 9 + } + }, + { + "index": 20019, + "before": { + "child": 8, + "copy": 1006, + "family": 7950, + "helper": 339, + "offset": 40, + "owner_replica": 8, + "port": 110, + "replica": 8, + "stage": 5, + "time": 41, + "width": 8 + }, + "after": { + "child": 2, + "copy": 786, + "family": 6610, + "helper": 339, + "offset": 0, + "owner_replica": 7, + "port": 2, + "replica": 8, + "stage": 5, + "time": 41, + "width": 8 + } + }, + { + "index": 20630, + "before": { + "child": 4, + "copy": 441, + "family": 3241, + "helper": 470, + "offset": 18, + "owner_replica": 3, + "port": 105, + "replica": 6, + "stage": 0, + "time": 42, + "width": 5 + }, + "after": { + "child": 4, + "copy": 1475, + "family": 12115, + "helper": 470, + "offset": 9, + "owner_replica": 13, + "port": 19, + "replica": 6, + "stage": 0, + "time": 42, + "width": 5 + } + }, + { + "index": 21117, + "before": { + "child": 4, + "copy": 1315, + "family": 10387, + "helper": 477, + "offset": 18, + "owner_replica": 11, + "port": 83, + "replica": 14, + "stage": 0, + "time": 43, + "width": 5 + }, + "after": { + "child": 6, + "copy": 1642, + "family": 13178, + "helper": 477, + "offset": 18, + "owner_replica": 14, + "port": 74, + "replica": 14, + "stage": 0, + "time": 43, + "width": 5 + } + }, + { + "index": 21193, + "before": { + "child": 12, + "copy": 132, + "family": 916, + "helper": 73, + "offset": 4, + "owner_replica": 1, + "port": 20, + "replica": 5, + "stage": 1, + "time": 44, + "width": 9 + }, + "after": { + "child": 12, + "copy": 132, + "family": 916, + "helper": 73, + "offset": 12, + "owner_replica": 1, + "port": 20, + "replica": 5, + "stage": 1, + "time": 44, + "width": 9 + } + }, + { + "index": 21259, + "before": { + "child": 8, + "copy": 357, + "family": 3381, + "helper": 139, + "offset": 8, + "owner_replica": 3, + "port": 21, + "replica": 5, + "stage": 1, + "time": 44, + "width": 9 + }, + "after": { + "child": 4, + "copy": 1315, + "family": 10387, + "helper": 139, + "offset": 14, + "owner_replica": 11, + "port": 83, + "replica": 5, + "stage": 1, + "time": 44, + "width": 9 + } + }, + { + "index": 21293, + "before": { + "child": 8, + "copy": 199, + "family": 1655, + "helper": 173, + "offset": 30, + "owner_replica": 1, + "port": 87, + "replica": 5, + "stage": 1, + "time": 44, + "width": 9 + }, + "after": { + "child": 10, + "copy": 144, + "family": 1712, + "helper": 173, + "offset": 17, + "owner_replica": 1, + "port": 32, + "replica": 5, + "stage": 1, + "time": 44, + "width": 9 + } + }, + { + "index": 22697, + "before": { + "child": 4, + "copy": 1315, + "family": 10387, + "helper": 137, + "offset": 23, + "owner_replica": 11, + "port": 83, + "replica": 12, + "stage": 2, + "time": 47, + "width": 9 + }, + "after": { + "child": 8, + "copy": 327, + "family": 2567, + "helper": 137, + "offset": 4, + "owner_replica": 2, + "port": 103, + "replica": 12, + "stage": 2, + "time": 47, + "width": 9 + } + }, + { + "index": 22774, + "before": { + "child": 4, + "copy": 1247, + "family": 10319, + "helper": 214, + "offset": 23, + "owner_replica": 11, + "port": 15, + "replica": 12, + "stage": 2, + "time": 47, + "width": 9 + }, + "after": { + "child": 4, + "copy": 1247, + "family": 10319, + "helper": 214, + "offset": 0, + "owner_replica": 11, + "port": 15, + "replica": 12, + "stage": 2, + "time": 47, + "width": 9 + } + }, + { + "index": 23260, + "before": { + "child": 4, + "copy": 441, + "family": 3241, + "helper": 220, + "offset": 23, + "owner_replica": 3, + "port": 105, + "replica": 3, + "stage": 3, + "time": 48, + "width": 9 + }, + "after": { + "child": 4, + "copy": 1247, + "family": 10319, + "helper": 220, + "offset": 23, + "owner_replica": 11, + "port": 15, + "replica": 3, + "stage": 3, + "time": 48, + "width": 9 + } + }, + { + "index": 23523, + "before": { + "child": 8, + "copy": 1338, + "family": 10634, + "helper": 3, + "offset": 13, + "owner_replica": 11, + "port": 106, + "replica": 11, + "stage": 3, + "time": 49, + "width": 9 + }, + "after": { + "child": 8, + "copy": 327, + "family": 2567, + "helper": 3, + "offset": 13, + "owner_replica": 2, + "port": 103, + "replica": 11, + "stage": 3, + "time": 49, + "width": 9 + } + }, + { + "index": 23624, + "before": { + "child": 8, + "copy": 357, + "family": 3381, + "helper": 104, + "offset": 17, + "owner_replica": 3, + "port": 21, + "replica": 11, + "stage": 3, + "time": 49, + "width": 9 + }, + "after": { + "child": 10, + "copy": 144, + "family": 1712, + "helper": 104, + "offset": 26, + "owner_replica": 1, + "port": 32, + "replica": 11, + "stage": 3, + "time": 49, + "width": 9 + } + }, + { + "index": 23795, + "before": { + "child": 0, + "copy": 1678, + "family": 12878, + "helper": 275, + "offset": 0, + "owner_replica": 14, + "port": 110, + "replica": 11, + "stage": 3, + "time": 49, + "width": 9 + }, + "after": { + "child": 4, + "copy": 1315, + "family": 10387, + "helper": 275, + "offset": 23, + "owner_replica": 11, + "port": 83, + "replica": 11, + "stage": 3, + "time": 49, + "width": 9 + } + }, + { + "index": 24154, + "before": { + "child": 8, + "copy": 1338, + "family": 10634, + "helper": 154, + "offset": 0, + "owner_replica": 11, + "port": 106, + "replica": 2, + "stage": 4, + "time": 50, + "width": 4 + }, + "after": { + "child": 10, + "copy": 144, + "family": 1712, + "helper": 154, + "offset": 35, + "owner_replica": 1, + "port": 32, + "replica": 2, + "stage": 4, + "time": 50, + "width": 4 + } + }, + { + "index": 24254, + "before": { + "child": 4, + "copy": 1364, + "family": 11220, + "helper": 254, + "offset": 18, + "owner_replica": 12, + "port": 20, + "replica": 2, + "stage": 4, + "time": 50, + "width": 9 + }, + "after": { + "child": 0, + "copy": 1601, + "family": 12801, + "helper": 254, + "offset": 0, + "owner_replica": 14, + "port": 33, + "replica": 2, + "stage": 4, + "time": 50, + "width": 9 + } + }, + { + "index": 24788, + "before": { + "child": 0, + "copy": 1678, + "family": 12878, + "helper": 308, + "offset": 9, + "owner_replica": 14, + "port": 110, + "replica": 10, + "stage": 4, + "time": 51, + "width": 7 + }, + "after": { + "child": 0, + "copy": 1730, + "family": 13714, + "helper": 308, + "offset": 9, + "owner_replica": 15, + "port": 50, + "replica": 10, + "stage": 4, + "time": 51, + "width": 7 + } + }, + { + "index": 24979, + "before": { + "child": 8, + "copy": 840, + "family": 7000, + "helper": 19, + "offset": 0, + "owner_replica": 7, + "port": 56, + "replica": 1, + "stage": 5, + "time": 52, + "width": 9 + }, + "after": { + "child": 4, + "copy": 1364, + "family": 11220, + "helper": 19, + "offset": 23, + "owner_replica": 12, + "port": 20, + "replica": 1, + "stage": 5, + "time": 52, + "width": 9 + } + }, + { + "index": 25182, + "before": { + "child": 8, + "copy": 199, + "family": 1655, + "helper": 222, + "offset": 39, + "owner_replica": 1, + "port": 87, + "replica": 1, + "stage": 5, + "time": 52, + "width": 9 + }, + "after": { + "child": 10, + "copy": 144, + "family": 1712, + "helper": 222, + "offset": 39, + "owner_replica": 1, + "port": 32, + "replica": 1, + "stage": 5, + "time": 52, + "width": 9 + } + }, + { + "index": 25909, + "before": { + "child": 4, + "copy": 1364, + "family": 11220, + "helper": 469, + "offset": 27, + "owner_replica": 12, + "port": 20, + "replica": 9, + "stage": 5, + "time": 53, + "width": 5 + }, + "after": { + "child": 4, + "copy": 581, + "family": 4949, + "helper": 469, + "offset": 9, + "owner_replica": 5, + "port": 21, + "replica": 9, + "stage": 5, + "time": 53, + "width": 5 + } + }, + { + "index": 27082, + "before": { + "child": 4, + "copy": 581, + "family": 4949, + "helper": 202, + "offset": 5, + "owner_replica": 5, + "port": 21, + "replica": 0, + "stage": 6, + "time": 56, + "width": 9 + }, + "after": { + "child": 4, + "copy": 1475, + "family": 12115, + "helper": 202, + "offset": 14, + "owner_replica": 13, + "port": 19, + "replica": 0, + "stage": 6, + "time": 56, + "width": 9 + } + }, + { + "index": 27109, + "before": { + "child": 2, + "copy": 786, + "family": 6610, + "helper": 229, + "offset": 9, + "owner_replica": 7, + "port": 2, + "replica": 0, + "stage": 6, + "time": 56, + "width": 7 + }, + "after": { + "child": 0, + "copy": 1601, + "family": 12801, + "helper": 229, + "offset": 9, + "owner_replica": 14, + "port": 33, + "replica": 0, + "stage": 6, + "time": 56, + "width": 7 + } + }, + { + "index": 27446, + "before": { + "child": 6, + "copy": 1642, + "family": 13178, + "helper": 86, + "offset": 0, + "owner_replica": 14, + "port": 74, + "replica": 8, + "stage": 6, + "time": 57, + "width": 9 + }, + "after": { + "child": 4, + "copy": 892, + "family": 6828, + "helper": 86, + "offset": 0, + "owner_replica": 7, + "port": 108, + "replica": 8, + "stage": 6, + "time": 57, + "width": 9 + } + }, + { + "index": 27458, + "before": { + "child": 6, + "copy": 1633, + "family": 13169, + "helper": 98, + "offset": 0, + "owner_replica": 14, + "port": 65, + "replica": 8, + "stage": 6, + "time": 57, + "width": 9 + }, + "after": { + "child": 8, + "copy": 357, + "family": 3381, + "helper": 98, + "offset": 13, + "owner_replica": 3, + "port": 21, + "replica": 8, + "stage": 6, + "time": 57, + "width": 9 + } + }, + { + "index": 27483, + "before": { + "child": 6, + "copy": 1616, + "family": 13152, + "helper": 123, + "offset": 5, + "owner_replica": 14, + "port": 48, + "replica": 8, + "stage": 6, + "time": 57, + "width": 9 + }, + "after": { + "child": 8, + "copy": 327, + "family": 2567, + "helper": 123, + "offset": 22, + "owner_replica": 2, + "port": 103, + "replica": 8, + "stage": 6, + "time": 57, + "width": 9 + } + }, + { + "index": 27625, + "before": { + "child": 0, + "copy": 1601, + "family": 12801, + "helper": 265, + "offset": 0, + "owner_replica": 14, + "port": 33, + "replica": 8, + "stage": 6, + "time": 57, + "width": 8 + }, + "after": { + "child": 2, + "copy": 786, + "family": 6610, + "helper": 265, + "offset": 8, + "owner_replica": 7, + "port": 2, + "replica": 8, + "stage": 6, + "time": 57, + "width": 8 + } + }, + { + "index": 28394, + "before": { + "child": 8, + "copy": 1591, + "family": 13239, + "helper": 74, + "offset": 43, + "owner_replica": 14, + "port": 23, + "replica": 14, + "stage": 1, + "time": 59, + "width": 4 + }, + "after": { + "child": 8, + "copy": 1591, + "family": 13239, + "helper": 74, + "offset": 44, + "owner_replica": 14, + "port": 23, + "replica": 14, + "stage": 1, + "time": 59, + "width": 4 + } + }, + { + "index": 28614, + "before": { + "child": 0, + "copy": 1601, + "family": 12801, + "helper": 294, + "offset": 8, + "owner_replica": 14, + "port": 33, + "replica": 14, + "stage": 1, + "time": 59, + "width": 8 + }, + "after": { + "child": 0, + "copy": 1678, + "family": 12878, + "helper": 294, + "offset": 8, + "owner_replica": 14, + "port": 110, + "replica": 14, + "stage": 1, + "time": 59, + "width": 8 + } + }, + { + "index": 28823, + "before": { + "child": 8, + "copy": 1338, + "family": 10634, + "helper": 23, + "offset": 31, + "owner_replica": 11, + "port": 106, + "replica": 5, + "stage": 2, + "time": 60, + "width": 9 + }, + "after": { + "child": 4, + "copy": 581, + "family": 4949, + "helper": 23, + "offset": 14, + "owner_replica": 5, + "port": 21, + "replica": 5, + "stage": 2, + "time": 60, + "width": 9 + } + }, + { + "index": 28872, + "before": { + "child": 8, + "copy": 357, + "family": 3381, + "helper": 72, + "offset": 26, + "owner_replica": 3, + "port": 21, + "replica": 5, + "stage": 2, + "time": 60, + "width": 9 + }, + "after": { + "child": 8, + "copy": 327, + "family": 2567, + "helper": 72, + "offset": 31, + "owner_replica": 2, + "port": 103, + "replica": 5, + "stage": 2, + "time": 60, + "width": 9 + } + }, + { + "index": 29437, + "before": { + "child": 4, + "copy": 1475, + "family": 12115, + "helper": 157, + "offset": 23, + "owner_replica": 13, + "port": 19, + "replica": 13, + "stage": 2, + "time": 61, + "width": 9 + }, + "after": { + "child": 4, + "copy": 1475, + "family": 12115, + "helper": 157, + "offset": 0, + "owner_replica": 13, + "port": 19, + "replica": 13, + "stage": 2, + "time": 61, + "width": 9 + } + }, + { + "index": 29584, + "before": { + "child": 0, + "copy": 1730, + "family": 13714, + "helper": 304, + "offset": 0, + "owner_replica": 15, + "port": 50, + "replica": 13, + "stage": 2, + "time": 61, + "width": 8 + }, + "after": { + "child": 8, + "copy": 327, + "family": 2567, + "helper": 304, + "offset": 40, + "owner_replica": 2, + "port": 103, + "replica": 13, + "stage": 2, + "time": 61, + "width": 8 + } + }, + { + "index": 30301, + "before": { + "child": 8, + "copy": 1591, + "family": 13239, + "helper": 61, + "offset": 27, + "owner_replica": 14, + "port": 23, + "replica": 12, + "stage": 3, + "time": 63, + "width": 9 + }, + "after": { + "child": 12, + "copy": 443, + "family": 2795, + "helper": 61, + "offset": 21, + "owner_replica": 3, + "port": 107, + "replica": 12, + "stage": 3, + "time": 63, + "width": 9 + } + }, + { + "index": 30365, + "before": { + "child": 8, + "copy": 1338, + "family": 10634, + "helper": 125, + "offset": 22, + "owner_replica": 11, + "port": 106, + "replica": 12, + "stage": 3, + "time": 63, + "width": 9 + }, + "after": { + "child": 4, + "copy": 1475, + "family": 12115, + "helper": 125, + "offset": 23, + "owner_replica": 13, + "port": 19, + "replica": 12, + "stage": 3, + "time": 63, + "width": 9 + } + }, + { + "index": 30995, + "before": { + "child": 4, + "copy": 581, + "family": 4949, + "helper": 275, + "offset": 14, + "owner_replica": 5, + "port": 21, + "replica": 3, + "stage": 4, + "time": 64, + "width": 9 + }, + "after": { + "child": 4, + "copy": 581, + "family": 4949, + "helper": 275, + "offset": 0, + "owner_replica": 5, + "port": 21, + "replica": 3, + "stage": 4, + "time": 64, + "width": 9 + } + }, + { + "index": 31157, + "before": { + "child": 4, + "copy": 892, + "family": 6828, + "helper": 437, + "offset": 0, + "owner_replica": 7, + "port": 108, + "replica": 3, + "stage": 4, + "time": 64, + "width": 5 + }, + "after": { + "child": 6, + "copy": 1633, + "family": 13169, + "helper": 437, + "offset": 27, + "owner_replica": 14, + "port": 65, + "replica": 3, + "stage": 4, + "time": 64, + "width": 5 + } + }, + { + "index": 31241, + "before": { + "child": 12, + "copy": 132, + "family": 916, + "helper": 41, + "offset": 31, + "owner_replica": 1, + "port": 20, + "replica": 11, + "stage": 4, + "time": 65, + "width": 9 + }, + "after": { + "child": 12, + "copy": 132, + "family": 916, + "helper": 41, + "offset": 39, + "owner_replica": 1, + "port": 20, + "replica": 11, + "stage": 4, + "time": 65, + "width": 9 + } + }, + { + "index": 31506, + "before": { + "child": 4, + "copy": 581, + "family": 4949, + "helper": 306, + "offset": 23, + "owner_replica": 5, + "port": 21, + "replica": 11, + "stage": 4, + "time": 65, + "width": 9 + }, + "after": { + "child": 8, + "copy": 357, + "family": 3381, + "helper": 306, + "offset": 22, + "owner_replica": 3, + "port": 21, + "replica": 11, + "stage": 4, + "time": 65, + "width": 9 + } + }, + { + "index": 31680, + "before": { + "child": 12, + "copy": 443, + "family": 2795, + "helper": 0, + "offset": 8, + "owner_replica": 3, + "port": 107, + "replica": 2, + "stage": 5, + "time": 66, + "width": 9 + }, + "after": { + "child": 14, + "copy": 1233, + "family": 10081, + "helper": 0, + "offset": 0, + "owner_replica": 11, + "port": 1, + "replica": 2, + "stage": 5, + "time": 66, + "width": 9 + } + }, + { + "index": 32877, + "before": { + "child": 4, + "copy": 1661, + "family": 13085, + "helper": 237, + "offset": 9, + "owner_replica": 14, + "port": 93, + "replica": 1, + "stage": 6, + "time": 68, + "width": 9 + }, + "after": { + "child": 10, + "copy": 1649, + "family": 13409, + "helper": 237, + "offset": 9, + "owner_replica": 14, + "port": 81, + "replica": 1, + "stage": 6, + "time": 68, + "width": 9 + } + }, + { + "index": 33397, + "before": { + "child": 0, + "copy": 1730, + "family": 13714, + "helper": 277, + "offset": 8, + "owner_replica": 15, + "port": 50, + "replica": 9, + "stage": 6, + "time": 69, + "width": 8 + }, + "after": { + "child": 8, + "copy": 357, + "family": 3381, + "helper": 277, + "offset": 31, + "owner_replica": 3, + "port": 21, + "replica": 9, + "stage": 6, + "time": 69, + "width": 8 + } + }, + { + "index": 34539, + "before": { + "child": 4, + "copy": 1661, + "family": 13085, + "helper": 459, + "offset": 18, + "owner_replica": 14, + "port": 93, + "replica": 15, + "stage": 1, + "time": 71, + "width": 5 + }, + "after": { + "child": 6, + "copy": 1616, + "family": 13152, + "helper": 459, + "offset": 9, + "owner_replica": 14, + "port": 48, + "replica": 15, + "stage": 1, + "time": 71, + "width": 5 + } + }, + { + "index": 34634, + "before": { + "child": 12, + "copy": 443, + "family": 2795, + "helper": 74, + "offset": 17, + "owner_replica": 3, + "port": 107, + "replica": 0, + "stage": 7, + "time": 72, + "width": 4 + }, + "after": { + "child": 12, + "copy": 443, + "family": 2795, + "helper": 74, + "offset": 8, + "owner_replica": 3, + "port": 107, + "replica": 0, + "stage": 7, + "time": 72, + "width": 4 + } + }, + { + "index": 34740, + "before": { + "child": 4, + "copy": 892, + "family": 6828, + "helper": 180, + "offset": 5, + "owner_replica": 7, + "port": 108, + "replica": 0, + "stage": 7, + "time": 72, + "width": 9 + }, + "after": { + "child": 6, + "copy": 1616, + "family": 13152, + "helper": 180, + "offset": 14, + "owner_replica": 14, + "port": 48, + "replica": 0, + "stage": 7, + "time": 72, + "width": 9 + } + }, + { + "index": 34864, + "before": { + "child": 14, + "copy": 1233, + "family": 10081, + "helper": 304, + "offset": 0, + "owner_replica": 11, + "port": 1, + "replica": 0, + "stage": 7, + "time": 72, + "width": 8 + }, + "after": { + "child": 12, + "copy": 132, + "family": 916, + "helper": 304, + "offset": 0, + "owner_replica": 1, + "port": 20, + "replica": 0, + "stage": 7, + "time": 72, + "width": 8 + } + }, + { + "index": 35647, + "before": { + "child": 12, + "copy": 443, + "family": 2795, + "helper": 127, + "offset": 21, + "owner_replica": 3, + "port": 107, + "replica": 6, + "stage": 2, + "time": 74, + "width": 9 + }, + "after": { + "child": 12, + "copy": 443, + "family": 2795, + "helper": 127, + "offset": 12, + "owner_replica": 3, + "port": 107, + "replica": 6, + "stage": 2, + "time": 74, + "width": 9 + } + }, + { + "index": 36667, + "before": { + "child": 8, + "copy": 357, + "family": 3381, + "helper": 187, + "offset": 35, + "owner_replica": 3, + "port": 21, + "replica": 5, + "stage": 3, + "time": 76, + "width": 9 + }, + "after": { + "child": 8, + "copy": 357, + "family": 3381, + "helper": 187, + "offset": 0, + "owner_replica": 3, + "port": 21, + "replica": 5, + "stage": 3, + "time": 76, + "width": 9 + } + }, + { + "index": 36697, + "before": { + "child": 6, + "copy": 1633, + "family": 13169, + "helper": 217, + "offset": 9, + "owner_replica": 14, + "port": 65, + "replica": 5, + "stage": 3, + "time": 76, + "width": 9 + }, + "after": { + "child": 4, + "copy": 581, + "family": 4949, + "helper": 217, + "offset": 23, + "owner_replica": 5, + "port": 21, + "replica": 5, + "stage": 3, + "time": 76, + "width": 9 + } + }, + { + "index": 36722, + "before": { + "child": 6, + "copy": 1616, + "family": 13152, + "helper": 242, + "offset": 14, + "owner_replica": 14, + "port": 48, + "replica": 5, + "stage": 3, + "time": 76, + "width": 9 + }, + "after": { + "child": 6, + "copy": 1616, + "family": 13152, + "helper": 242, + "offset": 0, + "owner_replica": 14, + "port": 48, + "replica": 5, + "stage": 3, + "time": 76, + "width": 9 + } + }, + { + "index": 37210, + "before": { + "child": 14, + "copy": 1233, + "family": 10081, + "helper": 250, + "offset": 8, + "owner_replica": 11, + "port": 1, + "replica": 13, + "stage": 3, + "time": 77, + "width": 8 + }, + "after": { + "child": 8, + "copy": 1591, + "family": 13239, + "helper": 250, + "offset": 9, + "owner_replica": 14, + "port": 23, + "replica": 13, + "stage": 3, + "time": 77, + "width": 8 + } + }, + { + "index": 37215, + "before": { + "child": 6, + "copy": 1642, + "family": 13178, + "helper": 255, + "offset": 9, + "owner_replica": 14, + "port": 74, + "replica": 13, + "stage": 3, + "time": 77, + "width": 9 + }, + "after": { + "child": 4, + "copy": 892, + "family": 6828, + "helper": 255, + "offset": 9, + "owner_replica": 7, + "port": 108, + "replica": 13, + "stage": 3, + "time": 77, + "width": 9 + } + }, + { + "index": 37554, + "before": { + "child": 8, + "copy": 1591, + "family": 13239, + "helper": 114, + "offset": 18, + "owner_replica": 14, + "port": 23, + "replica": 4, + "stage": 4, + "time": 78, + "width": 9 + }, + "after": { + "child": 8, + "copy": 1591, + "family": 13239, + "helper": 114, + "offset": 35, + "owner_replica": 14, + "port": 23, + "replica": 4, + "stage": 4, + "time": 78, + "width": 9 + } + }, + { + "index": 37757, + "before": { + "child": 8, + "copy": 1338, + "family": 10634, + "helper": 317, + "offset": 40, + "owner_replica": 11, + "port": 106, + "replica": 4, + "stage": 4, + "time": 78, + "width": 8 + }, + "after": { + "child": 10, + "copy": 1649, + "family": 13409, + "helper": 317, + "offset": 18, + "owner_replica": 14, + "port": 81, + "replica": 4, + "stage": 4, + "time": 78, + "width": 8 + } + }, + { + "index": 37827, + "before": { + "child": 8, + "copy": 357, + "family": 3381, + "helper": 387, + "offset": 44, + "owner_replica": 3, + "port": 21, + "replica": 4, + "stage": 4, + "time": 78, + "width": 4 + }, + "after": { + "child": 8, + "copy": 357, + "family": 3381, + "helper": 387, + "offset": 9, + "owner_replica": 3, + "port": 21, + "replica": 4, + "stage": 4, + "time": 78, + "width": 4 + } + }, + { + "index": 38440, + "before": { + "child": 8, + "copy": 840, + "family": 7000, + "helper": 40, + "offset": 9, + "owner_replica": 7, + "port": 56, + "replica": 3, + "stage": 5, + "time": 80, + "width": 9 + }, + "after": { + "child": 8, + "copy": 357, + "family": 3381, + "helper": 40, + "offset": 39, + "owner_replica": 3, + "port": 21, + "replica": 3, + "stage": 5, + "time": 80, + "width": 9 + } + }, + { + "index": 39090, + "before": { + "child": 4, + "copy": 1661, + "family": 13085, + "helper": 210, + "offset": 23, + "owner_replica": 14, + "port": 93, + "replica": 11, + "stage": 5, + "time": 81, + "width": 9 + }, + "after": { + "child": 4, + "copy": 892, + "family": 6828, + "helper": 210, + "offset": 18, + "owner_replica": 7, + "port": 108, + "replica": 11, + "stage": 5, + "time": 81, + "width": 9 + } + }, + { + "index": 40054, + "before": { + "child": 6, + "copy": 1616, + "family": 13152, + "helper": 214, + "offset": 23, + "owner_replica": 14, + "port": 48, + "replica": 10, + "stage": 6, + "time": 83, + "width": 9 + }, + "after": { + "child": 6, + "copy": 1642, + "family": 13178, + "helper": 214, + "offset": 23, + "owner_replica": 14, + "port": 74, + "replica": 10, + "stage": 6, + "time": 83, + "width": 9 + } + }, + { + "index": 40453, + "before": { + "child": 4, + "copy": 1582, + "family": 13006, + "helper": 133, + "offset": 27, + "owner_replica": 14, + "port": 14, + "replica": 1, + "stage": 7, + "time": 84, + "width": 4 + }, + "after": { + "child": 4, + "copy": 1582, + "family": 13006, + "helper": 133, + "offset": 18, + "owner_replica": 14, + "port": 14, + "replica": 1, + "stage": 7, + "time": 84, + "width": 4 + } + }, + { + "index": 40767, + "before": { + "child": 6, + "copy": 1642, + "family": 13178, + "helper": 447, + "offset": 18, + "owner_replica": 14, + "port": 74, + "replica": 1, + "stage": 7, + "time": 84, + "width": 5 + }, + "after": { + "child": 4, + "copy": 1661, + "family": 13085, + "helper": 447, + "offset": 27, + "owner_replica": 14, + "port": 93, + "replica": 1, + "stage": 7, + "time": 84, + "width": 5 + } + }, + { + "index": 40787, + "before": { + "child": 6, + "copy": 1633, + "family": 13169, + "helper": 467, + "offset": 18, + "owner_replica": 14, + "port": 65, + "replica": 1, + "stage": 7, + "time": 84, + "width": 5 + }, + "after": { + "child": 4, + "copy": 892, + "family": 6828, + "helper": 467, + "offset": 27, + "owner_replica": 7, + "port": 108, + "replica": 1, + "stage": 7, + "time": 84, + "width": 5 + } + }, + { + "index": 41020, + "before": { + "child": 6, + "copy": 1642, + "family": 13178, + "helper": 220, + "offset": 23, + "owner_replica": 14, + "port": 74, + "replica": 9, + "stage": 7, + "time": 85, + "width": 9 + }, + "after": { + "child": 10, + "copy": 1649, + "family": 13409, + "helper": 220, + "offset": 26, + "owner_replica": 14, + "port": 81, + "replica": 9, + "stage": 7, + "time": 85, + "width": 9 + } + }, + { + "index": 41037, + "before": { + "child": 6, + "copy": 1633, + "family": 13169, + "helper": 237, + "offset": 23, + "owner_replica": 14, + "port": 65, + "replica": 9, + "stage": 7, + "time": 85, + "width": 9 + }, + "after": { + "child": 6, + "copy": 1633, + "family": 13169, + "helper": 237, + "offset": 0, + "owner_replica": 14, + "port": 65, + "replica": 9, + "stage": 7, + "time": 85, + "width": 9 + } + }, + { + "index": 42296, + "before": { + "child": 12, + "copy": 132, + "family": 916, + "helper": 56, + "offset": 22, + "owner_replica": 1, + "port": 20, + "replica": 0, + "stage": 8, + "time": 88, + "width": 9 + }, + "after": { + "child": 12, + "copy": 132, + "family": 916, + "helper": 56, + "offset": 30, + "owner_replica": 1, + "port": 20, + "replica": 0, + "stage": 8, + "time": 88, + "width": 9 + } + }, + { + "index": 42532, + "before": { + "child": 4, + "copy": 892, + "family": 6828, + "helper": 292, + "offset": 14, + "owner_replica": 7, + "port": 108, + "replica": 0, + "stage": 8, + "time": 88, + "width": 9 + }, + "after": { + "child": 6, + "copy": 1616, + "family": 13152, + "helper": 292, + "offset": 23, + "owner_replica": 14, + "port": 48, + "replica": 0, + "stage": 8, + "time": 88, + "width": 9 + } + }, + { + "index": 43904, + "before": { + "child": 12, + "copy": 132, + "family": 916, + "helper": 224, + "offset": 40, + "owner_replica": 1, + "port": 20, + "replica": 14, + "stage": 3, + "time": 91, + "width": 7 + }, + "after": { + "child": 14, + "copy": 1233, + "family": 10081, + "helper": 224, + "offset": 25, + "owner_replica": 11, + "port": 1, + "replica": 14, + "stage": 3, + "time": 91, + "width": 7 + } + }, + { + "index": 43909, + "before": { + "child": 8, + "copy": 1591, + "family": 13239, + "helper": 229, + "offset": 36, + "owner_replica": 14, + "port": 23, + "replica": 14, + "stage": 3, + "time": 91, + "width": 7 + }, + "after": { + "child": 4, + "copy": 1582, + "family": 13006, + "helper": 229, + "offset": 22, + "owner_replica": 14, + "port": 14, + "replica": 14, + "stage": 3, + "time": 91, + "width": 7 + } + }, + { + "index": 44245, + "before": { + "child": 12, + "copy": 132, + "family": 916, + "helper": 85, + "offset": 0, + "owner_replica": 1, + "port": 20, + "replica": 5, + "stage": 4, + "time": 92, + "width": 4 + }, + "after": { + "child": 12, + "copy": 132, + "family": 916, + "helper": 85, + "offset": 8, + "owner_replica": 1, + "port": 20, + "replica": 5, + "stage": 4, + "time": 92, + "width": 4 + } + }, + { + "index": 44389, + "before": { + "child": 14, + "copy": 1233, + "family": 10081, + "helper": 229, + "offset": 16, + "owner_replica": 11, + "port": 1, + "replica": 5, + "stage": 4, + "time": 92, + "width": 7 + }, + "after": { + "child": 14, + "copy": 1233, + "family": 10081, + "helper": 229, + "offset": 9, + "owner_replica": 11, + "port": 1, + "replica": 5, + "stage": 4, + "time": 92, + "width": 7 + } + }, + { + "index": 46175, + "before": { + "child": 12, + "copy": 132, + "family": 916, + "helper": 95, + "offset": 13, + "owner_replica": 1, + "port": 20, + "replica": 3, + "stage": 6, + "time": 96, + "width": 9 + }, + "after": { + "child": 12, + "copy": 132, + "family": 916, + "helper": 95, + "offset": 21, + "owner_replica": 1, + "port": 20, + "replica": 3, + "stage": 6, + "time": 96, + "width": 9 + } + }, + { + "index": 47255, + "before": { + "child": 4, + "copy": 892, + "family": 6828, + "helper": 215, + "offset": 23, + "owner_replica": 7, + "port": 108, + "replica": 2, + "stage": 7, + "time": 98, + "width": 9 + }, + "after": { + "child": 10, + "copy": 1649, + "family": 13409, + "helper": 215, + "offset": 35, + "owner_replica": 14, + "port": 81, + "replica": 2, + "stage": 7, + "time": 98, + "width": 9 + } + }, + { + "index": 50139, + "before": { + "child": 14, + "copy": 1233, + "family": 10081, + "helper": 219, + "offset": 23, + "owner_replica": 11, + "port": 1, + "replica": 6, + "stage": 4, + "time": 104, + "width": 9 + }, + "after": { + "child": 14, + "copy": 1233, + "family": 10081, + "helper": 219, + "offset": 16, + "owner_replica": 11, + "port": 1, + "replica": 6, + "stage": 4, + "time": 104, + "width": 9 + } + }, + { + "index": 51050, + "before": { + "child": 8, + "copy": 840, + "family": 7000, + "helper": 170, + "offset": 18, + "owner_replica": 7, + "port": 56, + "replica": 5, + "stage": 5, + "time": 106, + "width": 4 + }, + "after": { + "child": 10, + "copy": 1649, + "family": 13409, + "helper": 170, + "offset": 44, + "owner_replica": 14, + "port": 81, + "replica": 5, + "stage": 5, + "time": 106, + "width": 4 + } + }, + { + "index": 53838, + "before": { + "child": 8, + "copy": 1591, + "family": 13239, + "helper": 78, + "offset": 9, + "owner_replica": 14, + "port": 23, + "replica": 2, + "stage": 8, + "time": 112, + "width": 9 + }, + "after": { + "child": 8, + "copy": 1591, + "family": 13239, + "helper": 78, + "offset": 26, + "owner_replica": 14, + "port": 23, + "replica": 2, + "stage": 8, + "time": 112, + "width": 9 + } + }, + { + "index": 54318, + "before": { + "child": 8, + "copy": 1591, + "family": 13239, + "helper": 78, + "offset": 0, + "owner_replica": 14, + "port": 23, + "replica": 10, + "stage": 8, + "time": 113, + "width": 9 + }, + "after": { + "child": 8, + "copy": 1591, + "family": 13239, + "helper": 78, + "offset": 17, + "owner_replica": 14, + "port": 23, + "replica": 10, + "stage": 8, + "time": 113, + "width": 9 + } + }, + { + "index": 55810, + "before": { + "child": 8, + "copy": 840, + "family": 7000, + "helper": 130, + "offset": 22, + "owner_replica": 7, + "port": 56, + "replica": 6, + "stage": 5, + "time": 116, + "width": 9 + }, + "after": { + "child": 10, + "copy": 1728, + "family": 14272, + "helper": 130, + "offset": 22, + "owner_replica": 15, + "port": 48, + "replica": 6, + "stage": 5, + "time": 116, + "width": 9 + } + }, + { + "index": 56929, + "before": { + "child": 8, + "copy": 840, + "family": 7000, + "helper": 289, + "offset": 31, + "owner_replica": 7, + "port": 56, + "replica": 5, + "stage": 6, + "time": 118, + "width": 8 + }, + "after": { + "child": 10, + "copy": 1728, + "family": 14272, + "helper": 289, + "offset": 31, + "owner_replica": 15, + "port": 48, + "replica": 5, + "stage": 6, + "time": 118, + "width": 8 + } + }, + { + "index": 57707, + "before": { + "child": 8, + "copy": 840, + "family": 7000, + "helper": 107, + "offset": 39, + "owner_replica": 7, + "port": 56, + "replica": 4, + "stage": 7, + "time": 120, + "width": 9 + }, + "after": { + "child": 10, + "copy": 1728, + "family": 14272, + "helper": 107, + "offset": 39, + "owner_replica": 15, + "port": 48, + "replica": 4, + "stage": 7, + "time": 120, + "width": 9 + } + } +] diff --git a/research/t16-reordered-augmenting-chain/predecessor/PROOF.md b/research/t16-reordered-augmenting-chain/predecessor/PROOF.md new file mode 100644 index 0000000000..5ad5be6b7e --- /dev/null +++ b/research/t16-reordered-augmenting-chain/predecessor/PROOF.md @@ -0,0 +1,27 @@ +# One cycle after the neutral unlock + +Reconstruct the complete PR3366 array from authenticated canonical data and +the retained delta; compare every canonical row to the original payload digest. +Rotate placement fields for rows43909,0,60, preserving each logical stage, +replica, invocation time, helper and width. Compact offsets in affected bins. +The full independent owner auditor checks complete inventory, actual source +windows, physical family identities/uniqueness and all capacity constraints. + +The old idle residuals are2,1,3 and the new residuals0,3,3. Therefore the +complete paid profile changes by `H3-H2-H1`, conserving rank mass. +For every saving `0= 0, "overfilled bin") + if free: + idle[free] += 1 + return auditor.audit(geometry, widths, local, rows, plan, idle, 16) + + +def prices(main, profile): + engine = load( + "three_cycle_price", main / "research/frontier1094-idle-star-ceiling/analyze.py" + ) + engine.ROOT = main + engine.ENGINE_ROOT = ( + main / "research/complex-k492-owner-repair/vendor/multicold/engines" + ) + engines = tuple( + engine.load_engine(name) for name in ("moment", "base_two_moment", "outer") + ) + baseline = read(main / "research/community-frontier1094-audit/ASSEMBLY.json") + return tuple( + engine.price(Counter(profile), bad, baseline, engines) for bad in (False, True) + ) + + +def decimal(value): + rational = Fraction(value) + with localcontext() as context_value: + context_value.prec = 70 + return str(Decimal(rational.numerator) / Decimal(rational.denominator)) + + +def same_invoice(old, new): + need(isinstance(old, dict) and isinstance(new, dict), "invoice objects") + identifiers = {"template_sha256", "owner_audit_sha256", "controller_audit_sha256"} + before = {key: value for key, value in old.items() if key not in identifiers} + after = {key: value for key, value in new.items() if key not in identifiers} + need(canonical(before) == canonical(after), "complete typed invoice changed") + + +def check_typed_invoice(main, new): + with tarfile.open(main / replay.SELECTED) as archive: + member = archive.getmember(replay.INVOICE) + need(member.isfile() and member.size <= MAX_BYTES, "invoice input budget") + with archive.extractfile(member) as stream: + old = json.load(stream) + same_invoice(old, new) + + +def write_data(main, target, rows, audit, native, conservative): + data = target / "data" + data.mkdir(parents=True) + container = gzip.compress(canonical(rows), mtime=0) + need(json.loads(gzip.decompress(container)) == rows, "container round trip") + (data / "OWNERS.json.gz").write_bytes(container) + owner_hash = replay.sha(data / "OWNERS.json.gz") + profile = {str(k): v for k, v in sorted(audit["profile"].items())} + plan = read(main / SELECTED / "PLAN.json") + plan.update( + profile=profile, + assignment_sha256=owner_hash, + assignment_content_sha256=digest(rows), + ) + plan["replica_lift"]["owners_file_sha256"] = owner_hash + (data / "PLAN.json").write_text(json.dumps(plan, indent=2) + "\n") + spec = read(main / SELECTED / "SPEC.json") + spec["data"] = { + "owners_sha256": owner_hash, + "plan_sha256": replay.sha(data / "PLAN.json"), + } + spec["expected"].update( + complex_lower=native["endpoint"], + conservative_complex_lower=conservative["endpoint"], + kappa=native["kappa"], + kappa_decimal=decimal(native["kappa"]), + conservative_kappa_decimal=decimal(conservative["kappa"]), + cross_replica_helper_roles=audit["cross_replica_roles"], + idle_remainders=sum(audit["idle"].values()), + idle_remainder_profile={str(k): v for k, v in sorted(audit["idle"].items())}, + global_profile=profile, + actual_73column_sigmas=10005, + ) + (data / "SPEC.json").write_text(json.dumps(spec, indent=2) + "\n") + + +def construct(old, ctx, triple=CYCLE): + need(len(triple) == 3, "three helper roles") + before = audit_map(old, ctx) + new = rotate(old, triple) + after = audit_map(new, ctx) + delta = Counter(after["idle"]) + delta.subtract(before["idle"]) + need({k: v for k, v in delta.items() if v} == {1: -1, 2: -1, 3: 1}, "idle delta") + need(after["rank_mass"] == before["rank_mass"] == 1041408, "rank mass") + need( + sum(bin_key(a) != bin_key(b) for a, b in zip(old, new)) == 3, + "three relocations", + ) + return new, before, after + + +def prepare(main, work): + export = check_sources(main) + old = predecessor(main, export) + ctx = context(main) + new, before, after = construct(old, ctx) + old_native, _ = prices(main, before["profile"]) + need( + Fraction(old_native["kappa"]) == PREDECESSOR_KAPPA, + "predecessor exact price differs", + ) + native, conservative = prices(main, after["profile"]) + need( + Fraction(native["kappa"]) == EXPECTED_KAPPA > PREDECESSOR_KAPPA, + "exact kappa gain", + ) + target = work / "candidate" + write_data(main, target, new, after, native, conservative) + auditor, geometry, widths, local, plan = ctx + controls = auditor.controls( + geometry, widths, local, new, plan, Counter(after["idle"]), 16 + ) + need(len(controls) == 11, "owner controls") + return new, after, native, conservative, local, target + + +def result_record(main, new, audit, native, conservative, local, strict, invoice): + profile = {str(k): v for k, v in sorted(audit["profile"].items())} + need( + strict["complex_profile"] == profile and strict["kappa"] == native["kappa"], + "strict score/profile differs", + ) + need(strict["actual_73_axis_charts"] == 10005, "actual chart count") + ceiling = load( + "three_cycle_ceiling", main / "research/complex-local-word-ceiling/ceiling.py" + ) + _, high = ceiling.ceiling(local, 73, 896, 9, 64) + cap = high / (1 + high) + return { + "status": "PASS_T16_POST_UNLOCK_CYCLE", + "cycle": list(CYCLE), + "owner_canonical_sha256": digest(new), + "profile": profile, + "idle": audit["idle"], + "kappa": native["kappa"], + "complex_lower": native["endpoint"], + "bit_lower": strict["bit_lower"], + "conservative": conservative, + "gain_vs_pr3366": str(Fraction(native["kappa"]) - PREDECESSOR_KAPPA), + "gain_vs_selected": str( + Fraction(native["kappa"]) - Fraction("0.001672660197076918") + ), + "roles": audit["roles"], + "rank_mass": audit["rank_mass"], + "deficit": audit["deficit"], + "actual_charts": 10005, + "owner_controls": 11, + "strict_controls": strict["controls"], + "complete_invoice_unchanged": True, + "prefix_bits": invoice["global_prefix_bits"], + "row_coefficient": invoice["finite"]["physical_row_coefficient"], + "packing_kappa_cap": str(cap), + "fraction_of_kappa_cap": str(Fraction(native["kappa"]) / cap), + "scope": "Conditional selected-word finite composition; all inherited selected assumptions remain.", + } + + +def run(main, work, write=False): + new, audit, native, conservative, local, target = prepare(main, work) + admission = work / "admission" + admission.mkdir() + strict, invoice = replay.run(main, target, admission) + check_typed_invoice(main, invoice) + result = result_record( + main, new, audit, native, conservative, local, strict, invoice + ) + normalized = json.loads(json.dumps(result)) + if write: + (PACKAGE / "RESULT.json").write_text(json.dumps(normalized, indent=2) + "\n") + else: + need( + canonical(normalized) == canonical(read(PACKAGE / "RESULT.json")), + "typed committed result differs", + ) + print(result["status"], decimal(result["kappa"]), flush=True) + return result + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--main", type=Path, default=ROOT) + parser.add_argument("--work", type=Path) + parser.add_argument("--write", action="store_true") + args = parser.parse_args() + if args.work: + args.work.mkdir(parents=True, exist_ok=False) + run(args.main.resolve(), args.work.resolve(), args.write) + else: + with tempfile.TemporaryDirectory(prefix="t16-post-unlock-cycle-") as directory: + run(args.main.resolve(), Path(directory), args.write) + + +if __name__ == "__main__": + main() diff --git a/research/t16-reordered-augmenting-chain/replay.py b/research/t16-reordered-augmenting-chain/replay.py new file mode 100644 index 0000000000..b6f5393721 --- /dev/null +++ b/research/t16-reordered-augmenting-chain/replay.py @@ -0,0 +1,181 @@ +"""Run the attributed PR1087 admission with an explicit causal paired-order lift. + +Extraction and admission follow Philippe Van Velzen's canonical T16 package +and PR3308's replay. Only lift16.py is extended to derive a complete causal paired order; all downstream physical, invoice and independent audit predicates are retained. +""" + +import copy +import hashlib +import json +import os +import shutil +import subprocess +import sys +import tarfile +from pathlib import Path + +ARCHIVE = "research/complex-t16-rare-pattern-exchanges/upstream1087.tar.gz" +SELECTED = "research/community-frontier1094-audit/selected-replay.tar.gz" +LOCAL_PINS = "research/complex-t16-two-stage-cycles/LOCAL-PINS.json" +PROVIDER = "candidate/strict/global/base/providers/gauge44/" +INVOICE = "candidate/strict/global/audit/PREFIX-AND-INVOICE.json" +MAX_FILE = 32 * 1024 * 1024 + + +def need(condition, message): + if not condition: + raise ValueError(message) + + +def sha(path): + return hashlib.sha256(Path(path).read_bytes()).hexdigest() + + +def environment(work): + env = { + key: os.environ[key] + for key in ("PATH", "SYSTEMROOT", "WINDIR", "TEMP", "TMP") + if key in os.environ + } + env.update( + PYTHONNOUSERSITE="1", + PYTHONDONTWRITEBYTECODE="1", + PYTHONUTF8="1", + PYTHONINTMAXSTRDIGITS="0", + PYTHONPYCACHEPREFIX=str(work / "bytecode"), + TMPDIR=str(work), + ) + return env + + +def extract_source(main, work): + source = work / "source" + source.mkdir() + with tarfile.open(main / ARCHIVE) as archive: + members = archive.getmembers() + need(len(members) <= 500, "source archive member budget") + need( + sum(member.size for member in members) <= 128 * 1024 * 1024, + "archive byte budget", + ) + for member in members: + destination = (source / member.name).resolve() + need( + member.isfile() and destination.is_relative_to(source.resolve()), + "unsafe archive member", + ) + need(member.size <= MAX_FILE, "archive file budget") + archive.extractall(source, filter="data") + manifest = json.loads((source / "MANIFEST.json").read_text()) + actual = { + path.relative_to(source).as_posix(): sha(path) + for path in source.rglob("*") + if path.is_file() and path != source / "MANIFEST.json" + } + need(actual == manifest, "PR1087 source inventory mismatch") + shutil.copyfile(Path(__file__).resolve().parent / "lift16.py", source / "t16/lift16.py") + return source + + +def extract_provider(main, work): + local = work / "local" + local.mkdir() + pins = json.loads((main / LOCAL_PINS).read_text()) + need(len(pins) <= 32, "provider file count") + with tarfile.open(main / SELECTED) as archive: + for name, expected in pins.items(): + need(Path(name).name == name, "provider path") + member = archive.getmember(PROVIDER + name) + need(member.isfile() and member.size <= MAX_FILE, "provider file budget") + content = archive.extractfile(member).read() + need( + hashlib.sha256(content).hexdigest() == expected, + "selected provider pin: " + name, + ) + (local / name).write_bytes(content) + return local + + +def compare_invoice(main, strict, plan): + with tarfile.open(main / SELECTED) as archive: + member = archive.getmember(INVOICE) + need(member.isfile() and member.size <= MAX_FILE, "selected invoice budget") + old = json.load(archive.extractfile(member)) + new = json.loads((strict / "global/audit/PREFIX-AND-INVOICE.json").read_text()) + need([[c["stage"], c["replica"]] for c in new["selected_calls"]] == plan["order"], "invoice call order differs from plan") + original_new = copy.deepcopy(new) + for invoice in (old, new): + calls = invoice["selected_calls"] + need(len(calls) == 144 and {(c["stage"], c["replica"]) for c in calls} == {(s,r) for s in range(9) for r in range(16)}, "complete invoice call inventory") + invoice["selected_calls"] = sorted(calls, key=lambda c: (c["stage"], c["replica"])) + ignored = {"template_sha256", "owner_audit_sha256", "controller_audit_sha256"} + need( + {k: v for k, v in old.items() if k not in ignored} + == {k: v for k, v in new.items() if k not in ignored}, + "complete paid invoice changed", + ) + bindings = { + "owner_audit_sha256": "global/audit/OWNERS-AND-PROFILE.json", + "controller_audit_sha256": "global/audit/ASYNC-AUDIT.json", + } + for key, relative in bindings.items(): + need(new[key] == sha(strict / relative), "invoice binding: " + key) + return original_new + + +def run(main, package, work): + need(__debug__, "unchanged predecessor assertions must remain enabled") + source = extract_source(main, work) + local = extract_provider(main, work) + for name in ("OWNERS.json.gz", "PLAN.json", "SPEC.json"): + shutil.copyfile(package / "data" / name, source / "data" / name) + strict = work / "strict" + command = [ + sys.executable, + "-E", + "-S", + "-B", + "-X", + "pycache_prefix=" + str(work / "bytecode"), + str(source / "verify_t16.py"), + "--main", + str(main), + "--local", + str(local), + "--work", + str(strict), + ] + with (work / "strict.log").open("w") as log: + subprocess.run( + command, + env=environment(work), + stdout=log, + stderr=subprocess.STDOUT, + check=True, + timeout=300, + ) + stdout = (work / "strict.log").read_bytes() + need(len(stdout) <= 65536, "strict stdout budget") + print(stdout.decode("utf-8"), end="", flush=True) + result = json.loads((strict / "REPLAY.json").read_text()) + need( + result["status"] == "PASS_GAUGE44_T16_STRICT_GLOBAL_REPLAY", + "strict replay did not pass", + ) + need( + result["controls"] + == { + "admission": 69, + "bit_supplier": 12, + "independent_t16": 6, + "controller_mutations": 15, + }, + "missing strict controls", + ) + need( + len(result["stages"]) == 11 + and all(stage["exit_code"] == 0 for stage in result["stages"]), + "strict stage coverage", + ) + invoice = compare_invoice(main, strict, json.loads((package / "data/PLAN.json").read_text())) + return result, invoice diff --git a/research/t16-reordered-augmenting-chain/test_verify.py b/research/t16-reordered-augmenting-chain/test_verify.py new file mode 100644 index 0000000000..d523d0ab21 --- /dev/null +++ b/research/t16-reordered-augmenting-chain/test_verify.py @@ -0,0 +1,176 @@ +"""Reconstruction, chronology, paid deltas, and complete invoice boundaries.""" + +import copy +import unittest +import sys +import tempfile +from pathlib import Path +from unittest.mock import patch + +import verify as v + + +class ReconstructionChecks(unittest.TestCase): + @classmethod + def setUpClass(cls): + cls.export = v.check_sources(v.ROOT) + cls.old = v.predecessor(v.ROOT, cls.export) + cls.ctx = v.context(v.ROOT) + cls.steps = v.read(v.PACKAGE / "REPAIRS.json")["steps"] + cls.new, cls.before, cls.after, cls.plan = v.construct(cls.old, cls.ctx) + + def test_exact_payload_and_paid_delta(self): + self.assertEqual(v.digest(self.new), v.FINAL_SHA256) + delta = v.Counter(self.after["idle"]) + delta.subtract(self.before["idle"]) + self.assertEqual({k: n for k, n in delta.items() if n}, {1: 1, 3: -1, 7: -2, 16: 1}) + self.assertEqual(self.after["rank_mass"], 1041408) + self.assertEqual(self.after["deficit"], 5120) + self.assertEqual(self.new, sorted(self.new, key=lambda row: (row["time"], row["helper"]))) + self.assertEqual( + {(r["stage"], r["replica"], r["helper"], r["width"]) for r in self.old}, + {(r["stage"], r["replica"], r["helper"], r["width"]) for r in self.new}, + ) + + def test_all_owner_mutation_controls(self): + auditor, geometry, widths, local, _ = self.ctx + controls = auditor.controls(geometry, widths, local, self.new, self.plan, + v.Counter(self.after["idle"]), 16) + self.assertEqual(len(controls), 11) + + def test_order_change_without_repair_fails(self): + rows, ctx = v.change_order(self.old, self.ctx, 22) + with self.assertRaises(self.ctx[0].Reject): + v.audit_map(rows, ctx) + + def test_reconstruction_sort_and_block_bindings(self): + for field, value in (("sort_after", True), ("block", 21)): + steps = copy.deepcopy(self.steps) + steps[0][field] = value + with self.subTest(field=field), self.assertRaises(ValueError): + v.construct(self.old, self.ctx, steps) + + def test_call_order_controls(self): + original = copy.deepcopy(self.plan["order"]) + mutants = [original[:-1], [original[0]] + original[1:-1] + [original[0]]] + unordered = copy.deepcopy(original) + unordered[0], unordered[1] = unordered[1], unordered[0] + mutants.append(unordered) + noncausal = copy.deepcopy(original) + indices = [i for i, call in enumerate(original) if call[1] == 0][:2] + for bank in (0, 1): + a, b = (i + bank for i in indices) + noncausal[a], noncausal[b] = noncausal[b], noncausal[a] + mutants.append(noncausal) + boolean = copy.deepcopy(original) + boolean[0][0] = bool(boolean[0][0]) + mutants.append(boolean) + for order in mutants: + with self.subTest(order=order[:3]), self.assertRaises(ValueError): + v.validate_order(order) + + def test_coordinate_and_index_controls(self): + for moves in ({"-1": [0, 0, 0]}, {"01": [0, 0, 0]}, + {"0": [True, 0, 0]}, {"0": [16, 0, 0]}, + {"0": [0, 0, 112]}): + with self.subTest(moves=moves), self.assertRaises(ValueError): + v.apply_moves(self.old, moves, self.ctx[1], False) + + def test_predecessor_patch_preimage(self): + read = v.read + delta = copy.deepcopy(read(v.PACKAGE / "predecessor.patch.json")) + delta[0]["before"]["width"] += 1 + with patch.object(v, "read", side_effect=lambda p: delta if p.name == "predecessor.patch.json" else read(p)): + with self.assertRaisesRegex(ValueError, "patch preimage"): + v.predecessor(v.ROOT, self.export) + + def test_invoice_allows_only_complete_record_permutation(self): + old = {"charge": 1, "selected_calls": [ + {"stage": s, "replica": r, "charge": 2, "future": [3, 4]} + for s in range(9) for r in range(16)]} + new = copy.deepcopy(old) + new["selected_calls"].reverse() + v.same_invoice(old, new) + mutants = [] + for value in (True, 1.0, 2): + mutant = copy.deepcopy(new) + mutant["charge"] = value + mutants.append(mutant) + for modification in ("missing", "duplicate", "charge", "array_order", "boolean_call"): + mutant = copy.deepcopy(new) + if modification == "missing": + mutant["selected_calls"].pop() + elif modification == "duplicate": + mutant["selected_calls"][0] = mutant["selected_calls"][1] + elif modification == "charge": + mutant["selected_calls"][0]["charge"] += 1 + elif modification == "array_order": + mutant["selected_calls"][0]["future"].reverse() + else: + mutant["selected_calls"][0]["stage"] = True + mutants.append(mutant) + for mutant in mutants: + with self.assertRaises(ValueError): + v.same_invoice(old, mutant) + + def test_actual_extended_lift_positive_and_mutations(self): + with tempfile.TemporaryDirectory(prefix="lift-controls-") as directory: + source = v.replay.extract_source(v.ROOT, Path(directory)) + previous_path = sys.path[:] + previous_builder = sys.modules.pop("build_parent", None) + try: + sys.path.insert(0, str(source / "t16")) + lift = v.load("test_reordered_lift", source / "t16/lift16.py") + plan8 = lift.read(source / "data/T8/PLAN.json") + owners8 = lift.read(source / "data/T8/OWNERS.json.gz") + parent = lift.lift_parent(v.read(v.ROOT / self.ctx[0].TEMPLATE)) + order = self.plan["order"] + + def check(candidate_order, rows): + return lift.lift_plan(plan8, parent, owners8, rows, + "plan8", "owners8", "owners16", candidate_order) + + result, schedule, _, _ = check(order, self.new) + at = {tuple(call): time for time, call in enumerate(order)} + for field in ("provider_calls", "per_call_widths"): + self.assertTrue(all(call.get("time", at[call["stage"], call["replica"]]) + == at[call["stage"], call["replica"]] + for call in result[field])) + self.assertEqual(result["replica_lift"]["schedule_content_sha256"], + lift.content_sha(schedule)) + mutations = [] + duplicate = copy.deepcopy(order) + duplicate[0] = duplicate[2] + mutations.append((duplicate, self.new, "complete requested order")) + mutations.append((order[:-1], self.new, "complete requested order")) + reversed_replica = copy.deepcopy(order) + positions = [i for i in range(0, 144, 2) if order[i][1] == 0] + a, b = positions[:2] + reversed_replica[a:a+2], reversed_replica[b:b+2] = reversed_replica[b:b+2], reversed_replica[a:a+2] + mutations.append((reversed_replica, self.new, "replica causal order")) + unpaired = copy.deepcopy(order) + a, b = next((i, j) for i in range(0, 144, 2) for j in range(i+2, 144, 2) + if order[i][0] == order[j][0]) + unpaired[a+1], unpaired[b+1] = unpaired[b+1], unpaired[a+1] + mutations.append((unpaired, self.new, "two-bank paired order")) + wrong_time = copy.deepcopy(self.new) + wrong_time[0]["time"] = (wrong_time[0]["time"] + 1) % 144 + mutations.append((order, wrong_time, "role call time")) + outside = copy.deepcopy(self.new) + row = outside[0] + valid = result["windows"][f"{row['owner_replica']},{row['child']}"][1] + time = next(t for t in range(144) if t not in valid) + row.update(time=time, stage=order[time][0], replica=order[time][1]) + mutations.append((order, outside, "owner outside actual window")) + for candidate_order, rows, message in mutations: + with self.subTest(message=message), self.assertRaisesRegex(Exception, message): + check(candidate_order, rows) + finally: + sys.path[:] = previous_path + sys.modules.pop("build_parent", None) + if previous_builder is not None: + sys.modules["build_parent"] = previous_builder + + +if __name__ == "__main__": + unittest.main() diff --git a/research/t16-reordered-augmenting-chain/verify.py b/research/t16-reordered-augmenting-chain/verify.py new file mode 100644 index 0000000000..847d8d0698 --- /dev/null +++ b/research/t16-reordered-augmenting-chain/verify.py @@ -0,0 +1,458 @@ +"""Reconstruct causal paired-order repairs and paid augmenting paths, then replay the full invoice. + +Retains PR3354/3359/3366/3375 reconstruction by Nick Petalas and Pierre (hexapode).""" + +import argparse +import gzip +import hashlib +import importlib.util +import json +import tarfile +import tempfile +from collections import Counter, defaultdict +from decimal import Decimal, localcontext +from fractions import Fraction +from pathlib import Path + +import replay + +PACKAGE = Path(__file__).resolve().parent +ROOT = PACKAGE.parents[1] +BASE = "research/complex-t16-two-stage-cycles/data/OWNERS.json.gz" +SELECTED = "research/complex-t16-rare-pattern-exchanges/data" +BLOCKS = (22, 16, 11) +FINAL_SHA256 = "ba7bbdca8759367326d00ae98cbe278199dd3be5386df412d5f32c2b807e48e3" +PREDECESSOR_KAPPA = Fraction("0.001673628681907313") +EXPECTED_KAPPA = Fraction("0.001673636244951726") +ROLE_KEYS = ("stage", "replica", "time", "helper", "width") +PLACE_KEYS = ("owner_replica", "child", "port", "copy", "family") +ROWS = 69120 +MAX_BYTES = 32 * 1024 * 1024 + + +def need(condition, message): + if not condition: + raise ValueError(message) + + +def read(path): + path = Path(path) + need(path.stat().st_size <= MAX_BYTES, "input byte budget") + if path.suffix == ".gz": + with gzip.open(path, "rb") as stream: + raw = stream.read(MAX_BYTES + 1) + else: + raw = path.read_bytes() + need(len(raw) <= MAX_BYTES, "decompressed byte budget") + return json.loads(raw) + + +def canonical(value): + return json.dumps(value, sort_keys=True, separators=(",", ":")).encode() + + +def digest(value): + return hashlib.sha256(canonical(value)).hexdigest() + + +def load(name, path): + spec = importlib.util.spec_from_file_location(name, path) + module = importlib.util.module_from_spec(spec) + spec.loader.exec_module(module) + return module + + +def check_sources(main): + sources = read(PACKAGE / "SOURCES.json") + need(len(sources["files"]) <= 100, "source count budget") + for item in sources["files"]: + if item["usage"] == "input": + need( + replay.sha(main / item["path"]) == item["sha256"], + "changed input: " + item["path"], + ) + export = read(PACKAGE / "SOURCE-EXPORT.json") + need(len(export["retained_files"]) <= 16, "retained source count") + for name, expected in export["retained_files"].items(): + need(replay.sha(PACKAGE / name) == expected, "changed retained source") + prior = read(PACKAGE / "predecessor/RESULT.json") + need( + export["predecessor_canonical_sha256"] == prior["owner_canonical_sha256"], + "retained PR3375 payload binding", + ) + need(Fraction(prior["kappa"]) == PREDECESSOR_KAPPA, "retained PR3375 price binding") + return export + + +def predecessor(main, export): + rows = read(main / BASE) + patch = read(PACKAGE / "predecessor.patch.json") + need(len(rows) == ROWS and len(patch) <= 512, "predecessor dimensions") + indices = [item["index"] for item in patch] + need(indices == sorted(set(indices)), "patch indices") + for item in patch: + index = item["index"] + need(type(index) is int and 0 <= index < ROWS, "patch index range") # noqa: E721 - reject bool + need(rows[index] == item["before"], "patch preimage") + need( + all(rows[index][key] == item["after"][key] for key in ROLE_KEYS), + "patch changes logical role", + ) + rows[index] = item["after"] + need( + digest(rows) == export["predecessor_canonical_sha256"], + "PR3375 complete owner payload differs", + ) + return rows + + +def bin_key(row): + return row["owner_replica"], row["child"], row["port"] + + +def rotate(rows, indices): + need(len(rows) == ROWS, "role count") + need( + len(indices) in (2, 3) and len(set(indices)) == len(indices), + "two or three distinct roles", + ) + need(all(type(i) is int and 0 <= i < ROWS for i in indices), "cycle indices") # noqa: E721 - reject bool + affected = {bin_key(rows[i]) for i in indices} + need(len(affected) == len(indices), "distinct bins") + result = [dict(row) for row in rows] + for position, index in enumerate(indices): + target = rows[indices[(position + 1) % len(indices)]] + result[index].update({key: target[key] for key in PLACE_KEYS}) + members = defaultdict(list) + for index, row in enumerate(result): + if bin_key(row) in affected: + members[bin_key(row)].append(index) + for indices_in_bin in members.values(): + offset = 0 + for index in sorted(indices_in_bin, key=lambda i: (result[i]["offset"], i)): + result[index]["offset"] = offset + offset += result[index]["width"] + need( + all(all(a[key] == b[key] for key in ROLE_KEYS) for a, b in zip(rows, result)), + "rotation changes logical role", + ) + return result + + +def context(main): + auditor = load( + "three_cycle_owners", main / "research/t16-owner-audit-seed67/verify.py" + ) + word = read(auditor.WORD) + geometry = auditor.geometry( + read(main / auditor.TEMPLATE), read(main / auditor.PHASES) + ) + widths = auditor.word_widths(word) + local = auditor.as_profile(word["report"]["local_profile"]) + plan = read(main / SELECTED / "PLAN.json") + return auditor, geometry, widths, local, plan + + +def audit_map(rows, context_values): + auditor, geometry, widths, local, plan = context_values + used = Counter() + for row in rows: + used[bin_key(row)] += row["width"] + spans, _ = auditor.windows(geometry, [tuple(item) for item in plan["order"]]) + idle = Counter() + for owner, child in spans: + for port in range(112): + free = geometry["rank"][child] - used[owner, child, port] + need(free >= 0, "overfilled bin") + if free: + idle[free] += 1 + return auditor.audit(geometry, widths, local, rows, plan, idle, 16) + + +def prices(main, profile): + engine = load( + "three_cycle_price", main / "research/frontier1094-idle-star-ceiling/analyze.py" + ) + engine.ROOT = main + engine.ENGINE_ROOT = ( + main / "research/complex-k492-owner-repair/vendor/multicold/engines" + ) + engines = tuple( + engine.load_engine(name) for name in ("moment", "base_two_moment", "outer") + ) + baseline = read(main / "research/community-frontier1094-audit/ASSEMBLY.json") + return tuple( + engine.price(Counter(profile), bad, baseline, engines) for bad in (False, True) + ) + + +def decimal(value): + rational = Fraction(value) + with localcontext() as context_value: + context_value.prec = 70 + return str(Decimal(rational.numerator) / Decimal(rational.denominator)) + + +def same_invoice(old, new): + need(isinstance(old, dict) and isinstance(new, dict), "invoice objects") + identifiers = {"template_sha256", "owner_audit_sha256", "controller_audit_sha256"} + old, new = json.loads(json.dumps(old)), json.loads(json.dumps(new)) + for invoice in (old, new): + calls = invoice.get("selected_calls") + need(isinstance(calls, list) and len(calls) == 144, "invoice call count") + need(all(type(c["stage"]) is int and type(c["replica"]) is int for c in calls), "invoice integer calls") # noqa: E721 + need({(c["stage"], c["replica"]) for c in calls} == {(s, r) for s in range(9) for r in range(16)}, "invoice call inventory") + invoice["selected_calls"] = sorted(calls, key=lambda call: (call["stage"], call["replica"])) + before = {key: value for key, value in old.items() if key not in identifiers} + after = {key: value for key, value in new.items() if key not in identifiers} + need(canonical(before) == canonical(after), "complete typed invoice changed") + + +def check_typed_invoice(main, new): + with tarfile.open(main / replay.SELECTED) as archive: + member = archive.getmember(replay.INVOICE) + need(member.isfile() and member.size <= MAX_BYTES, "invoice input budget") + with archive.extractfile(member) as stream: + old = json.load(stream) + same_invoice(old, new) + + +def write_data(main, target, rows, audit, native, conservative, final_plan): + data = target / "data" + data.mkdir(parents=True) + container = gzip.compress(canonical(rows), mtime=0) + need(json.loads(gzip.decompress(container)) == rows, "container round trip") + (data / "OWNERS.json.gz").write_bytes(container) + owner_hash = replay.sha(data / "OWNERS.json.gz") + profile = {str(k): v for k, v in sorted(audit["profile"].items())} + plan = json.loads(json.dumps(final_plan)) + plan.update( + profile=profile, + assignment_sha256=owner_hash, + assignment_content_sha256=digest(rows), + ) + plan["replica_lift"]["owners_file_sha256"] = owner_hash + at = {tuple(call): time for time, call in enumerate(plan["order"])} + for field in ("provider_calls", "per_call_widths"): + for call in plan[field]: + if "time" in call: + call["time"] = at[call["stage"], call["replica"]] + plan[field].sort(key=lambda call: at[call["stage"], call["replica"]]) + with tempfile.TemporaryDirectory(prefix="reordered-parent-") as directory: + source = replay.extract_source(main, Path(directory)) + builder = load("reordered_parent", source / "t16/build_parent.py") + auditor = context(main)[0] + parent = builder.lift_parent(read(main / auditor.TEMPLATE)) + windows, schedule = builder.actual_windows(parent, plan["order"]) + need(windows == plan["windows"], "independent changed-order windows") + plan["replica_lift"]["schedule_content_sha256"] = digest(schedule) + (data / "PLAN.json").write_text(json.dumps(plan, indent=2) + "\n") + spec = read(main / SELECTED / "SPEC.json") + spec["call_order"] = plan["order"] + spec["dispatch"].sort(key=lambda call: at[tuple(call[:2])]) + spec["data"] = { + "owners_sha256": owner_hash, + "plan_sha256": replay.sha(data / "PLAN.json"), + } + spec["expected"].update( + complex_lower=native["endpoint"], + conservative_complex_lower=conservative["endpoint"], + kappa=native["kappa"], + kappa_decimal=decimal(native["kappa"]), + conservative_kappa_decimal=decimal(conservative["kappa"]), + cross_replica_helper_roles=audit["cross_replica_roles"], + idle_remainders=sum(audit["idle"].values()), + idle_remainder_profile={str(k): v for k, v in sorted(audit["idle"].items())}, + global_profile=profile, + actual_73column_sigmas=10017, + ) + (data / "SPEC.json").write_text(json.dumps(spec, indent=2) + "\n") + + +def validate_order(order): + need(len(order) == 144, "order length") + need(all(len(call) == 2 and all(type(x) is int for x in call) for call in order), "integer call labels") # noqa: E721 + need({tuple(call) for call in order} == {(s, r) for s in range(9) for r in range(16)}, "complete call inventory") + need(all([s for s, r in order if r == replica] == list(range(9)) for replica in range(16)), "replica causal order") + need(all(order[2*k+1] == [order[2*k][0], order[2*k][1]+8] and order[2*k][1] < 8 for k in range(72)), "paired order") + + +def change_order(rows, ctx, block): + need(type(block) is int and 0 <= block < 71, "block index") # noqa: E721 + auditor, geometry, widths, local, plan = ctx + order = [list(call) for call in plan["order"]] + start = 2 * block + order[start:start+4] = order[start+2:start+4] + order[start:start+2] + validate_order(order) + spans, positions = auditor.windows(geometry, [tuple(call) for call in order]) + at = {tuple(call): time for time, call in enumerate(order)} + result = [dict(row, time=at[row["stage"], row["replica"]]) for row in rows] + updated = dict(plan, order=order, windows={ + f"{owner},{child}": [geometry["rank"][child], [time for time, call in enumerate(order) + if lo < positions[tuple(call)] < hi]] + for (owner, child), (lo, hi) in spans.items() + }) + return result, (auditor, geometry, widths, local, updated) + + +def apply_moves(rows, moves, geometry, sort_after): + need(type(sort_after) is bool, "sort flag") # noqa: E721 - exact protocol type + parsed = {} + for raw, destination in moves.items(): + index = int(raw) + need(str(index) == raw and 0 <= index < ROWS, "move index") + need(len(destination) == 3 and all(type(x) is int for x in destination), "move coordinates") # noqa: E721 + owner, child, port = destination + need(0 <= owner < 16 and child in geometry["rank"] and 0 <= port < 112, "move range") + parsed[index] = tuple(destination) + result = [dict(row) for row in rows] + affected = set() + for index, destination in parsed.items(): + owner, child, port = destination + affected.update((bin_key(rows[index]), destination)) + pair, side = geometry["place"][child] + result[index].update(owner_replica=owner, child=child, port=port, + copy=owner*112+port, family=owner*896+(2*pair+side)*112+port) + members = defaultdict(list) + for index, row in enumerate(result): + if bin_key(row) in affected: + members[bin_key(row)].append(index) + for indices in members.values(): + offset = 0 + for index in sorted(indices, key=lambda i: (result[i]["offset"], i)): + result[index]["offset"] = offset + offset += result[index]["width"] + need(all(all(a[key] == b[key] for key in ROLE_KEYS) for a, b in zip(rows, result)), "moves change logical role") + if sort_after: + result.sort(key=lambda row: (row["time"], row["helper"])) + return result + + +def construct(old, ctx, steps=None): + steps = read(PACKAGE / "REPAIRS.json")["steps"] if steps is None else steps + need(len(steps) == 6, "six reconstruction stages") + before = audit_map(old, ctx) + rows, previous = old, before + expected_deltas = ({}, {}, {}, {3: -2, 6: 1}, {1: 1, 6: -1, 7: -1, 12: 1}, {3: 1, 7: -1, 12: -1, 16: 1}) + for number, step in enumerate(steps): + need(step["block"] == (BLOCKS[number] if number < 3 else None), "reconstruction block") + need(step["sort_after"] is (number != 0), "reconstruction sorting") + need(len(step["moves"]) == (574, 690, 656, 10, 2, 2)[number], "move count") + if number < 3: + rows, ctx = change_order(rows, ctx, step["block"]) + rows = apply_moves(rows, step["moves"], ctx[1], step["sort_after"]) + current = audit_map(rows, ctx) + delta = Counter(current["idle"]) + delta.subtract(previous["idle"]) + need({k: v for k, v in delta.items() if v} == expected_deltas[number], "stage idle delta") + need(current["rank_mass"] == before["rank_mass"] == 1041408, "rank mass") + need(digest(rows) == step["canonical_sha256"], "stage payload") + previous = current + need(digest(rows) == FINAL_SHA256, "final owner payload") + return rows, before, previous, ctx[4] + + +def prepare(main, work): + export = check_sources(main) + old = predecessor(main, export) + ctx = context(main) + new, before, after, final_plan = construct(old, ctx) + old_native, _ = prices(main, before["profile"]) + need( + Fraction(old_native["kappa"]) == PREDECESSOR_KAPPA, + "predecessor exact price differs", + ) + native, conservative = prices(main, after["profile"]) + need( + Fraction(native["kappa"]) == EXPECTED_KAPPA > PREDECESSOR_KAPPA, + "exact kappa gain", + ) + target = work / "candidate" + write_data(main, target, new, after, native, conservative, final_plan) + auditor, geometry, widths, local, _plan = ctx + plan = final_plan + controls = auditor.controls( + geometry, widths, local, new, plan, Counter(after["idle"]), 16 + ) + need(len(controls) == 11, "owner controls") + return new, after, native, conservative, local, target + + +def result_record(main, new, audit, native, conservative, local, strict, invoice): + profile = {str(k): v for k, v in sorted(audit["profile"].items())} + need( + strict["complex_profile"] == profile and strict["kappa"] == native["kappa"], + "strict score/profile differs", + ) + need(strict["actual_73_axis_charts"] == 10017, "actual chart count") + ceiling = load( + "three_cycle_ceiling", main / "research/complex-local-word-ceiling/ceiling.py" + ) + _, high = ceiling.ceiling(local, 73, 896, 9, 64) + cap = high / (1 + high) + return { + "status": "PASS_T16_REORDERED_AUGMENTING_CHAIN", + "paired_block_swaps": list(BLOCKS), + "owner_canonical_sha256": digest(new), + "profile": profile, + "idle": audit["idle"], + "kappa": native["kappa"], + "complex_lower": native["endpoint"], + "bit_lower": strict["bit_lower"], + "conservative": conservative, + "gain_vs_pr3375": str(Fraction(native["kappa"]) - PREDECESSOR_KAPPA), + "gain_vs_selected": str( + Fraction(native["kappa"]) - Fraction("0.001672660197076918") + ), + "roles": audit["roles"], + "rank_mass": audit["rank_mass"], + "deficit": audit["deficit"], + "actual_charts": 10017, + "owner_controls": 11, + "strict_controls": strict["controls"], + "complete_invoice_unchanged": True, + "prefix_bits": invoice["global_prefix_bits"], + "row_coefficient": invoice["finite"]["physical_row_coefficient"], + "packing_kappa_cap": str(cap), + "fraction_of_kappa_cap": str(Fraction(native["kappa"]) / cap), + "scope": "Conditional selected-word finite composition; all inherited selected assumptions remain.", + } + + +def run(main, work, write=False): + new, audit, native, conservative, local, target = prepare(main, work) + admission = work / "admission" + admission.mkdir() + strict, invoice = replay.run(main, target, admission) + check_typed_invoice(main, invoice) + result = result_record( + main, new, audit, native, conservative, local, strict, invoice + ) + normalized = json.loads(json.dumps(result)) + if write: + (PACKAGE / "RESULT.json").write_text(json.dumps(normalized, indent=2) + "\n") + else: + need( + canonical(normalized) == canonical(read(PACKAGE / "RESULT.json")), + "typed committed result differs", + ) + print(result["status"], decimal(result["kappa"]), flush=True) + return result + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--main", type=Path, default=ROOT) + parser.add_argument("--work", type=Path) + parser.add_argument("--write", action="store_true") + args = parser.parse_args() + if args.work: + args.work.mkdir(parents=True, exist_ok=False) + run(args.main.resolve(), args.work.resolve(), args.write) + else: + with tempfile.TemporaryDirectory(prefix="t16-reordered-chain-") as directory: + run(args.main.resolve(), Path(directory), args.write) + + +if __name__ == "__main__": + main()