{"item": "qlite-b", "batch": "e03-cheap-sol", "credit": "Taylor (gtmcknight), github.com/gtmcknight/amm-sim@4812a6382311624e1506aca131ca35c378f930d9 research/solved: the solved policy, replica, Gaussian filter, posterior policy, qm tables and exact-arithmetic tell (replica and TellPolicy fetched at research@66604b3426d8e97a73e2c39940b9b4dece51cc73). The rule (qgate.py, qlite_int.py: result 6475e99c), the LEAN contract and its harness (result a79a3606), the lookup-u1 bundle (result fd38823c) and LEANBASE (result efb8e653) are IdentityMD network artifacts built on Taylor's work.", "rule": "qlite-b cap24+GATE on LEAN: on a callback not read as arbitrage and with timestamp - previous own timestamp <= 6, test whether the amount paid fits an interior router split against a 30 bps constant-product rival (x*y = 1e6), one candidate, in exact integer binary64; hit -> rival spot := the marginal-price candidate, synced, no 0.35 pull; miss or untested -> LEAN unchanged.", "ref_url": "https://api.imd.fun/artifacts/6475e99ceb6be0b27e737d6494630b8178c6282fd6685fed58c0b592ca1cded9", "status": "T, F and G pass. No submission.", "gates": {"T": "pass", "F": "pass", "G": "pass"}, "all_pass": true, "change": "LEAN TellMinLookup (a79a3606, sha256 a6dfc3ba...) by build_q.py, 8 exact substitutions and one appended block. afterSwap: the previous reserves (slots 3, 4) and previous own timestamp are read once; inside if(!arb): if(t.timestamp<tl+7) q = TellMath.qTest(paid, px, py, fee of the side, isBuy) ? 2 : 1; if(q==2 || the one-sided bound binds){r=c;syn=true;} else the 0.35 pull as before. TellMath gains qR (round an integer times 2^e to a double), qD (double quotient), qW (float(w)/1e18) and qTest, a line-for-line port of qlite_int.test at ncand=1 that reuses the lean tell's ltMsb, ltRound, LT_C and ltGamma (gamma = 1 - fee). The decision of the last callback is stored in bits 224..225 of slot 2 (0 not run, 1 miss, 2 hit), bits LEAN left zero and never reads; no new storage slot (0..5 only). New external pure probe qHit(bool,uint256 paid,uint256 px,uint256 py,uint256 fee). The hit update is the contract's own fixed point c (the same marginal-price candidate the bound and pull already use), not rewritten. Filter, tell, tables (QPL blob byte-identical), pull, fee guard, getName unchanged.", "deviations_from_reference": ["qTest answers miss when any of the three wads is 0 (as the reference) or is 2^128 or more (the reference has no bound; Python integers do not overflow). Engine reserves and amounts are near 2^66..2^74 wad; the fuzz covers the edge.", "gamma comes from the lean tell's ltGamma (RN(1 - RN(RN(fee)/1e18)) as an integer over 2^53) instead of qlite_int's wad2f + rnd; same value, checked by the fuzz (fees 0, 1, 54..56 wei, 10%, above 10%) and by T."], "compiler": {"solc": "0.8.24", "optimizer_runs": 200, "viaIR": true, "evmVersion": "paris"}, "dev_before_T": {"fuzz": {"cases": 40000, "in_domain": 38745, "mismatches": 0, "counts": {"buy/hit": 10491, "buy/miss": 8790, "out_of_domain/contract_miss": 1255, "sell/hit": 10653, "sell/miss": 8811}, "probe_call_peak_gas_pyrevm": 33592, "note": "in domain (all three wads below 2^128): contract qHit == qlite_int.test == qgate.float_test; outside it the contract answers miss; RNG seed 20261110, no replica seed"}, "replica_debug_seeds": [64000, 64001], "debug_runs": "T and F harness once each on 64000..64001: all pass, 0 mismatches"}, "T": {"first_trades": 352956, "label_mismatches": 0, "rule_decisions": 549759, "rule_mismatches": 0, "seeds": [74200, 74249], "label_counts": {"sell/neg": 80791, "buy/pos": 97221, "buy/neg": 80093, "sell/pos": 94851}, "rule_decisions_definition": "every callback of the contract-driven stream of the 50 seeds (10000 steps each): the decision the contract stored (not run / miss / hit) and the table family of its fee lookup, against the reference qgate.Policy shadowing it", "decision_counts": {"hit/1s": 198126, "hit/2s": 81466, "miss/1s": 54243, "miss/2s": 23067, "not_run/0c": 191630, "not_run/1s": 1227}, "decision_counts_key": "decision/table family (0c arbitrage; 1 = first not-arb callback of a step, 2 = later; s synced, c not)", "decisions_compared": "after every callback: bits 224..225 of slot 2 (0 not run, 1 miss, 2 hit) vs whether the reference ran the test and its hit; the table family of the fee lookup (0c, 1s, 1c, 2s, 2c) from the stored cnt and synced bit vs the reference is_arb, cnt, synced", "split_test_on_reference_stream": {"callbacks": 549676, "tested": 356521, "hits": 279320, "counts": {"tested/hit": 279320, "not_tested/would_miss": 191791, "tested/miss": 77201, "not_tested/would_hit": 1364}, "mismatches": 0, "probe_call_peak_gas_pyrevm": 33125}, "lean_fee_differences_without_hit": 0, "lean_check": "LEAN run from the contract pre-state on every one of the 549759 callbacks returns the same fee wads whenever the contract did not hit", "stream": "frozen qgate.Policy (cap24+GATE on LEANBASE variant A, qm_k1e-5, a0=ainf=0.35, float form) on Taylor replica2, 10000 steps a seed", "compared": "every first own trade incl. timestamp 0: contract leanLabel vs lean_tell.classify (4 labels), contract isArb vs the hit on_grid returned; every callback: contract qHit vs qgate.float_test vs qlite_int.test on the inputs the reference holds, and vs the hit the reference itself took where it ran the test", "probe_call_peak_gas_pyrevm": 36049, "rows_sha256": "88f9cd3fb420207a66d7b193571f91ea55ffe950baa86d32ac53db695ee0e9e3", "seconds": 37.4}, "F": {"callbacks": 100000, "max_error_bps": 4.6655009716678464e-07, "max_error_bps_bid_ask": [4.6655009716678464e-07, 4.643338838428157e-07], "tolerance_bps": 0.01, "errors_over_tolerance": 0, "seeds": [74200, 74249], "per_seed_callbacks": 2000, "first_trades": 64549, "tell_mismatches": 0, "label_counts": {"neg": 29439, "pos": 35110}, "guard_shifts": 0, "worst": {"callback": 1375, "t": 1186, "side": 0, "contract": 26589512107503928, "reference": 0.02658951206084892, "error_bps": 4.6655009716678464e-07, "first": true, "q": 0, "family": "0c"}, "whole_seed": {"callbacks": 549759, "max_error_bps": 4.6673585135659224e-07, "errors_over_tolerance": 0}, "whole_seed_note": "the same run continued to the end of each seed; not the gate", "stream": "contract-driven Taylor replica2, 10000 steps a seed; reference = frozen qgate.Policy (cap24+GATE, float form) over the contract tables (q_u1.json decoded from QPL), fees in force synced to the exact returned wads after every call; fees compared after the engine clamp (replica2.clampf) on the first 2000 callbacks of a seed (gate F), decisions on every callback", "reference_tables": "q_u1.json, decoded from the QPL blob in Strategy.sol (sha256 d5645b6d...); starting fee 2823606104386589", "rows_sha256": "17bfe34f110adaa6dddd12901163a14c445491345dc94a47b0bf97a1b5a673b3", "seconds": 103.1}, "G": {"runtime_bytes": 22751, "source_chars": 47393, "extra_runtime_bytes_over_lean": 1383, "extra_chars_over_lean": 3830, "peak_gas": 197274, "lean_peak_gas": 196142, "mean_gas": 131264.07829571492, "lean_mean_gas": 124290.57517989594, "added_gas_worst_call": 11506, "out_of_gas": 0, "reverts": 0, "limits": {"runtime_bytes": 24576, "source_chars": 50000, "peak_gas": 245000}, "added_gas": {"basis": "pyrevm, gate-F run: LEAN called from the contract pre-state with the same calldata on every one of 549759 callbacks of replica seeds 74200..74249; the engine reports only each arm's own maximum and sum, and the two arms see different trades", "worst_call": {"seed": 74232, "callback": 12166, "t": 9711, "dt": 0, "first": false, "q": 1, "gas": 102937, "lean_gas": 91431, "added": 11506}, "mean": 6900.5118060823015, "by_decision": {"not_run": {"calls": 192857, "mean": 53.21892905105856, "max": 167}, "miss": {"calls": 77310, "mean": 10786.680830422973, "max": 11506}, "hit": {"calls": 279592, "mean": 10549.073406964433, "max": 11390}}, "peak_call": {"seed": 74225, "callback": 2249, "t": 2386, "dt": 13, "first": true, "q": 0, "gas": 173408, "lean_gas": 173254, "added": 154}, "peak_tx_gas": 173408, "lean_peak_tx_gas": 173254, "runs_on_peak_path": "no: the peak call there is a first callback 13 steps after the previous one, not tested, +154 gas; a tested call costs 10.5k to 11.5k more than LEAN"}, "lean_runtime_bytes": 21368, "lean_source_chars": 43563, "runtime_sha256": "fe3a59a9c9d6167a42481a5ba6e0758d1cf3b9944710c0f2a757d6aadcb14f6e", "creation_sha256": "c9c425ecc1238144a50fddff5f6e09e4576af2d9c462cfd2697057bb85722ae7", "lean_runtime_sha256": "52d01b1e7221eccb0b55982f498caa0fecea01dd0619c9d96cf685db85f6e912", "lean_runtime_note": "LEAN recompiled here gives the runtime and creation sha256 its result records (52d01b1e..., f61277a3...)", "afterSwap_calls": 90337, "afterSwap_ok": 90337, "lean_afterSwap_calls": 90330, "lean_afterSwap_ok": 90330, "failures_all_callbacks": {"oog": 0, "revert": 0, "other_halt": 0, "tx_error": 0, "bad_return": 0}, "lean_failures_all_callbacks": {"oog": 0, "revert": 0, "other_halt": 0, "tx_error": 0, "bad_return": 0}, "lean_out_of_gas": 0, "engine_seeds": [10001072, 10001079], "blocks_per_arm": 1, "workers": 8, "config_fields_compared": 48, "engine_creation_code_equals_harness_compile": true, "validator": "amm_competition SolidityValidator: valid, no errors, no warnings (both contracts)", "storage": "only AMMStrategyBase slots uint256[32]; indices used [0, 1, 2, 3, 4, 5]", "assembly_tokens": 0, "per_seed_edge": [{"seed": 10001072, "q": 484.02607311570955, "lean": 484.12056929340116}, {"seed": 10001073, "q": 669.7559746248381, "lean": 669.8464337641724}, {"seed": 10001074, "q": 654.1561889220469, "lean": 654.2052792967446}, {"seed": 10001075, "q": 470.66453129877897, "lean": 470.6224261207995}, {"seed": 10001076, "q": 584.6513154164364, "lean": 584.7041746452318}, {"seed": 10001077, "q": 817.8089199289799, "lean": 817.8000241281569}, {"seed": 10001078, "q": 526.9281980675903, "lean": 526.9247100763496}, {"seed": 10001079, "q": 524.3518596853501, "lean": 524.4324468464253}], "edge_note": "each arm alone against the 30 bps VanillaStrategy; 8 seeds are a gas gate, not a score. For what it is worth: contract minus LEAN is -0.0391 (se 0.0181, n 8; 5 of 8 negative), the opposite sign to the +0.0386 (se 0.0036) the rule measured over LEANBASE on 2048 replica seeds; gate E has to settle it.", "method": "engine_g.py: engine_eval._compile (pinned solc 0.8.24 + the engine SolidityCompiler), engine_eval._config, engine_eval.config_equivalence, one amm_sim_rs.run_batch(X, VanillaStrategy, configs, 8) per arm, gas_stats_reset before and gas_stats after, failure counters of both participants on every callback required to be 0"}, "source_sha256": "5b31c0c026c1c75b43eb3d76bcaf5fb23208f8c32026781f61f3b1a043fe0f1e", "code_encoding": "base64(zlib(utf-8 Strategy.sol))", "code_zb64": "eNq1fXl328ix7//zKZCc83wJCZTQjV0U5DdJ5vnmxJNkEs+b3MyZ+GCVOOImkpJIL9/9/ap6AbjIlp082ZRAdFd3dXV1bV0NnJ87f//rH/4xfD2umtmqGf6xbmbrcTtulhfO9398881iWVxPC2c1n4zr8Xrr/Ms/S89kOPpmPF3Ml2vn/bfff//39bJYN9fb3xWr5qPTLudT57dn53sFZ2jitx3Ym2VRN3+ctfMO4I89CF37HNjNJw9N7aDMWQCJauuUW+dNsZ3Ml87gej2tbmfj65u16znFdDpcjadOmApZxEHqLJtVUyyrm/MVt3HhvCruV6txMXPa8WTdLJ1T527qrIty0qycwd307a1ohtHZr6v5zPWo77ZpnOX9pHHmLRorJmeL7X+tCOahWKKZtTNY1c6keWgmnrO4wSA9Z7WdVUC3nRTX7pnz7WTiVMsGlHNa4Lu+afQgPINCMas1Bhd6VGfU81+W4+vxrJgY7Kr5dIHhrNA0hn+HgS4m41njDKr7clw5v9PfV57zw/d/F045mZfO6qaQUewERZVUZZqenZ25I92t5wTD1WS+dlZrkNtzpsX6hlGhEVfz2UOzXI3nM6YBzc56OZ4OpTOguRsGoIFqBu31xovG5hirM545JQYso4joxt1IHtRkPr+9XwxvmqJezufTC+f3PiiosKziNE2TqiUsnccx0KnmTduOqzH40XmcL+sV4MEztTNHj84CtKuKyaQsqlv0uJ4702Y6X24VQW8a6m/VYCi1czubr0EfTLtiB8KqKfC32IxXzmMxuR3Prml+HotlrceLiWrHy9UaAyymjYPpXt9Mm/W48tQN0GnFY7oePzTDe3FhBncvnEGfic0sxFkVxKJR41tM7lcYhmIuj3sDppgLDHU5fsC0L+7BOcDzFZr/q2L7AXUFDjQtpnWaiCIuqUVF3qaYDdHlhUHqOCZZVvuBaMOO0tR/symq9bAbpzNefbsswfWLSVEprpuUwxBT//q7b//svPnu9WtnUM7vZ5gRRevJ5C2G9LYeP4yJd5xzp7zfvr1ejmsPV/V1s3ZC98IpFGGd+eMMbIUJRU+0uGqnWIHO4BxIHNxsW8aLBuVMirKZUL3FfDVeY3AjZ9ZcF3TlOXMwK2Gg+6D5v5+t7hfEq0C8WDbOdIyVsxo51U0B3vHsIlCLy2Nqe8z71/fEA9QGMTMhQvy7QosEe432BjT+33379++sEPhWkf9uMl43w/LCzsNx8hdx3VZBWXSMwMy2nL9rZs7dkBpRMqcqFjI8ffXtm+8gmzDY/txHspRhGQZoxCPub66xHMDBU4vIW9ztAWRlHQRNmlGvF2A9TINdPVgeRyaAaFCsnekccxWDGs0CpS2JLJZiy+ZhPCcuxjSalhQnF1NwxZoQWRTjmmZt3ax4Jq6LMZgcLTPKyzEk4nJ+T02S9ForZiycwHfKxcquiOFiOa/vK7MyBpuTrZM7ookh8mkNVcB0XIM+I8DeoJlVs1ZEZQBmzgWGCBFBN6fFkiUrmoXK66CN6PbU7N+OF6oR/yyImEGoeWIkZ05SGxyhh9VJoVU39ZZfmDV+zyrg4rjausao78szSPjz7v65Vmb/2ygzGQgRy7ARkR8XVSECURVBVAVJ2maBX2f7yo771f2t5vfLqrlwbtbrxeri/PyTPZ6vl01z/txuz/e6/QazBv7BbBneJ7LsmQLO+28c/IAJWPIbyfdjLhqRjo6Wvf6zzOMsEGEiUj+KsiyMAj9Tde/3K38fh7m/afd+VGXiBlrRP/u/gIumzgDAQqau88F5sF8uL/HbGemagmquFv2qyyeqSqralqjRFpeXcYiLtarxwalmdJlJXN5dXkoZOoNJgeWgeJ+Y6cLx1WK8n3mOYGbzHEk8TX0q9gRkFPFIWvDYmgQtpN6foZMGLoQ4FtOM1QekHglGSF+sg2Z9v5ytBiuocWg6pShd5z1zaVPdgonfqzrOb99Ajn8/nr1mbfbb0Ufn425n0/vJQNO78PRF6aoFbXs2Hapy91hHxUl5/uNh86Q9/kPt/3heHrZflKb1zVc0urn0Xw43F5vDdqvJeGFb9v4TA9hcFi+Li8HmqnxZXmzcwy4ns2cOxXm32wE3Qz/L5u5+vGzQhw9LTle+Hdnyx5vxBKWXzo/u+81JLke3w+Ho437xVS5PqMI5VTg97VXQLW5zntXN8Edvc/pj19NW5sRNW2/b3bvLtyPnHX7ZRqDVzDhmeTCaXeYyG81Oc+m+v2P4O28r3dG70/zufNbrXJNRnrw7vT2B+FAtHlCx2Sy+iiO6QbZEoWFIRNB9+qOOtJexj4LRPk1ucyKc/3JzCtTO5cVmyH/dc8LUVFrmm2EP9x74UpFu6S0Pm4Y7MsvjOJIpej7latJLotjvfU1D+rKU7iH4vK5120Eg47AHJHy/3ySP+EgDKzXdhMYpGvPoYoiLXk1Np1uiwOpEwQ20GB8IyFRzfeu6F6vzT1QY3hoMDmYWLsb6PzC1ud+b1nvLiQaBjXvCWsuUvMtn9nqZi1G/sXdXV1AFWGzvcZXjcrS8vMzjEGtblcahKcRNKgtkfzlxnUCaOiikOiK28CK2jcdclh6A2+5V513ftmvVs7QF3B931GuMVqUZ5jj3R+PLZDQ+PXWX+WB5OjtfuufyYLo1xZaXKH+5vKBaT0zdom6/auaAMAT8xr0Sfn816gvFlljvQ+LgjbcBkq4nYdnEMpVJGAfgcF/6fidsYS38d7GERi4IL6Awg43NXvl44hQLWKab8ZTLRk6zBLu4EIZ/vYGwO1ndLdcDLLChONtTFb3BGQVRNzM4Ntuv41IjZXnoI9Bge5V2w4dwf/njhaa9f7hcIVQjCRMvi2FVpRmRoKszY1Ewg4Q+TXw/SAM/DsMwgK9O1XqlcZAEWSylH0SBiCP/qVaCIAPfx7GfpNQa//TbEUL6SSYzEWYJ3Ftd4VhLUgopgiiLRZxlgThsCshIP07jBD0GSbzflKF8ngKTNAiTOEwDAcHYq6MkYc2IJVEUx4kAk6QkFqmtfnEMyogkiYC8n+z31asIfFI/CQi5LIwV2v2GJOYhDmWYJkkWJ+EnWiKSB0GMTwL8DQF6FZIM9nscCRkJ2MvpJ5oKQz8UaC5KZZhE8glSEdMzDMMpjj26fDxeaTOvhmzuc+GQWrigX0+s+zUs38osjqlZHA/mYjI3Vzfjz5g8/zQ1p2vbzPppMf/QE/ODyfwyn754Mb3Mb8b9peNNvSPrZ1XnrGkesPS02acU4GQ+nHqr2t4u1e2bsb6939CiyEnuFRZgUfKNslf1nzlJj9JblO6QrgpvUbg7Ouafl+QZq6EM/ulNLyfzl5P5xc3YezgPDztdKqQWxXBRev/slU/X+ZQ1/aomI+NhzTP/4P14ygD0hTtnWcoIAXxojBIWQw/rS98FoL8725CpQ/z0gpgqdOYMPhW6hEPkeyJOnN+5F07kqLDnGkwI/9ZGP9nlcQbL+aMHb3ByP4UfZSK0rmd6L1a3zor8ovlsAmuzHNdw2hZzUAQu13I5X545v+9ijysilYidgThPKS7hUpjkrz/+/b8D6YynUzj28Gvhp6HKpGAcWmdQnQYyieEqUpiSgpdnpvPDqCbqcxzKWZfopNeKboRjlR5Xhn+Yc1CCATgMS6E0EfebXbmeicQeREoZi3K7brrwivPDX1/nN83mtxF8/LCCiy18UZAAiHySGSF+V7gVikJKyHa/bRP0lVVtW+K6CvHB9zpt20bik+CDsoZcbnxvUd5G+MT4oKxFvTbDp8CnxAd127rVAG3LokcLEj/g/gkT3ycBToKVcMrwIRRLfCp8GoAARqCuQJnAd1i/foA2gkqDoyyVCgxtRW3jS5FyCyyuo0hdJKgDCe0nKEkAm5LVS7BoN61V1xDxfoZ7GWAy4JUBMEPdDOUFcC7wvUBHRcnoCx5RADSg9oB/BiRKH+MGgiXhijKFA9qNqd9E9+0rnFP0k+Iead0U5SmVtRoXofEJNE6ED+plhcYJ7WeoW6BeQeNHnQLtFbHGE3WLrMO3AExB4wBMifol6pYoL3GvKux4MtC9BVcIUsLgjUjEIhGpyEQhSlGJGkZxCx0nZSjJvEigIjIJ4mDUoaj8mmdYjztEuzHRN9C07o+30GMGRNr0xm3moEd7GiuP04yxPz47F4zxPr4N2yKBDJn1zXygdoKCpNb4ZBoXg0ef9pHGBXWyco/uwTNo3ih2ZpqjXok6Je6XraV5eZTemtpP0DrAuuiPqFTcfUDZPlUjNQKmYqoxrHvUo74N5UA3cHCFuQzRh0QN849mM8I9mBa+1P8E/U5o3mFI4l/A/+i7gKCo9P3E3CfZkBR1qjkl1a35PgQJFnrL91P8i6gPEi9Ullb2fgKpUiSgGPitkDVjmeEaRIlqkLsG5lkbAq8I3zIRh7gLCxS1MUEJ7id+JeOgwTRKrl0weXBfRGFIM4G7+j64WmC5iqARJJFav+Kysm2YsFGQ0Jrhkhb1kybi+wHwamgt4XeJf2lNayPG6gF+fLfh9mmaiAdiWZA8RhvUbwlBwSJNCswHCcGa/6F94kq/aSKZEedwK9wOVYdExqxiJgmi4n4DWoUQwkFbgF4FY1nib8UUbyDkq1bo8TYMAy7FPSwGGUOSp3UShKBS43/pD/URYF5SzQ2ai7DqSGJiJnh+Q11GEpm4pAEeCf4RH3E5ZlTdb5lXEv6X1llDfJKAwoJlL8n8rIYMhlTDfVpTWiI3dSwkr1B1n3gIM9ZQ+5irkPgnA8UC9JE1jcaLtAjdp78JeKlijMBTWLlYe6CxbAvgSn3TfZkUuA9eY0xS4hw1gjAj/gE2NBvgS/yjlSBhYRPmLc84zUiqR1wxnSrgU+r7VBK2zFfgHcmjKnjMpPEwv23MPKhmXN8ndm2J1xJNh4KpF/FqikXJvZaMD0OQlhKhJIwy3T7drySrK9Cg5lGpPkgTE/OFWAUBy/yYyzBPJbR+EGP9QUpgpUct0VbUyRfzj/BjtB4z3/hK9vhG65orkoX2G18HygaohZI/GlraFsRhG/q7ZMsFvAXDpVIybQ9a7GDCkNynhDwCxcETDQRpHSeMh9iRmx28wlr9RsuYvzLMGFbCsipBO0F81oOWHSzbUoLhif/iIAuIyk1LfRas2hS0gexaUbDUawTLrBQiTmGtKWmesDQL21pbZlL3qj6+7pExbhK/DsIwaMMd3QAZXjNn7fUtuxEDyzIiWQML0k8shVULYZUxn3Xtmbkz0G1YCnU35LmVvT4C0qd+pmdK9uZO0ayMQvSoMDbSqBtfwKK26vUte7Msw4Z40cqqQONmWghJdfg0ey2X9KDbImR9xSs7sHjv9E1621eQHeaSKB7AptKS8Km+A46l1HbGTeuYJl7bx6ADS7cwLnjcUW/GOuh0DzrsY0etxZL73oMWDevB1MrwYIfmlmpkmYuA17eZM1AIdhpJYCXlIyWJ96C5Zsg2AWoGtnfIS5aZSv4p6H7fge07CqjvlOnjc3kIiKwnbU3f++OmfxFJPlEw1VWbsdZAqR11f753+4d1QXJWkPtCkiplTZlZ3aZgFe5St8G98rouyLeC7KaRQ3tgvVZtxXMVa7yVDlHQCsZgIpuqhMcW1iJko7BmHwvSgyFjS3GjlalWpK8i0hsV7DZ4NinGkEF+QFYBmuok7FP2aR6yFlew0H1RFMUVvMQga0LYS7BCMI4M8iZm6kV65BFzW8w6ENqTdKxMgzhgM4rs7DhlrSxI65Cl06Zcv4M3V5CMsKgogFWISnmq4I4acOS3wqKA7JTks/LYYqUZuWeyGBPSyrC604BsTPhdsEE1P7S17hvSt23Ywox47ogCRLcSV0CXocmmgKkAJ7lUni55xExxuirbkm2NWMMn/IE2gOWfykRBE/JBwlzok16DDG2o3zZj2ZTYESc8X2TtQuPLRmZCh2GhGYBTm3H/xRErzdCO7FhQS0PLZ2rpTOOQKluZodNnQ5sRkK3RCpqzL4NWIyjYrjPQ4gvtDLKECkBHXw7dEq9AVmI9V+ShfRnm4ICQ7DnweUi+3VfY2D78ALhM1Df73l/8AyuNMQcVxFfBQ3vAQix0hOfL4WvWcYH/lT8QhG3q/3s/ZBGxLA17VuKnbMWezegHVcOSVmpN5B+x+PY/2s5Aj7IulO2k7xlLU1obqN9GqKAAl5GnKoo4sfZQZyVqDamsS5IYqgRyA3MFTssErVlY7oGyU4MdS7ezMQRLSsGyCrIhgDCkVrld8qRkz96Qqq+ep0eaIeA+S1nJqpXa9gi1ftDU61mAQpf5jLvPPlIhSh5BqOMNQc/STG3/auyhnYMM2EYsaUvWD10pa1S2NEuOPxoaBxzHk+yJS9CHpHykew0YOtTjC8uGdaevNbPyfrguRUCDkr3S2I5T6XBh7C8OM1RqdMaO0lozDGWTal2s7J6oo6Zqh6KGMta8oDBX2h68wF5eqnVYqCltPAm2QijUKiuaeR6rsipiDoVmO9ZioKFlz2bkTS0p2SczHKLsHpKfmbabIj1PUc/i4dYoQkUhWO2jKeiMrYSKoY3+Duy4DW8QdMJUSyyPStYZCXujnb3Xx7z7hGHJmCdsoStasoWg/d/EWk3hDjRba34YkK+bMbcJzQOEZ9bzwfehQ4t5JGuesYb5h3mb5yfV3vVh34FdRYCGtQMR4Zd6LtWMKW2baujIWujhjr0Z8Oz4suC+Q7Z0fAud7ViLIY8p1PwaMteUFOGXKhojNPZCWxup5pXEN15VZFcozXzclmwzlRwRgOUDOULrMdFWpplvY2VnhouZlhksTcxUGEO4E7eRlcwRE4ZJdf8R96xmgqyngj9JlESizmAjF4LHgl7JQla9K/hUW3spwyu7u/IbCWkTyTainY6a8iMlz3lGvbeVhU50ZDLRmKt4DxAOYC22ddOgp5T3PkpBfiHplZitr9jErvS41TfyB9ogkkUQt6Km3YNK0EyntE5p/4StXWEpZmz1kDkInEVmoqQtmrQR5Bu0Jcs2qTxu4tq6gWXWMly3zpTHQfZaJWsJW7YlPdhwdIC2gGKS8+RtaN1s5s5AK4tNAO9IqrgBWZcRaVHC+4hGL613U/Lab8nqgVZJtC37eUtTeVZK1hB0KVspn215pJZbKOJO0fRSyrb5IkuTZSxDk51L1s+X/NTM+y1D16L9kr7bQvEZjzujYHv7RfYeXJKWPDHYyBF8uORrLC1Ah7QLIcKvsrKatqCEAiF9+ZV2GixVeJ31V9t5DcuNr7YSi+rftTRrSFDIhVLLs92YiNiLMe5G/yDLStRra95PCHpyPthpQ1rLVPbgYQVVOlLpt9omCWw0rItQiN3YFOsCjqvGPsvChCNVof0X9LQHQzBPS7Vv0yatso0hIyg6yZ5ouKMvQi1PVIyxZttNQvMUvEejIhewdOlbm2kPO7If5TurSEgj4raqqY9Ut6i0UcqYJRQr1b3GupWIJQppKIjNNmmodsU60lgRgObdnLqttI1nYgQR72rw7nZTcdy0YrqbfjU0WZqwJgXJU203xBZzolHCeomp1ZuViDVtRttBgqzoVOOsRhArTdeUHP2S2i8I9F50pP/yfhBtPLeptm5NXAn8UxdC5QBE2iZXXkSkbXD0TTuFgjWAjiFFGuuiDW1sLNLWQtTjRirNaI9BkN1Cckta+FDzY8R2g5mliLktYgrR3yJuKehKNriOR5sZl9rujS20wcDsLQI/imlK3h1lXyXoRRF93W9srWTDwUK3W8bKPq98o1c0r7DlGGobN7G8G1oKhAxNm6m0N6vj9Lr1SNt9ytLZ5cNAx5YBHWXcd8Y6tNXrVvUdaV5OLOax5pLIV/uZZdCygal8xJZXnrGUfWttmN4TjYOieurX7MZkHNNk3NtS2/A6htez1yJNBcNPBZRLyzHjrDVRcFrBJq4a2wiVgkm1Hle2GO1KErTiZqEPdSgJaewUim0Iph3t+Bo7pmArgPefdPxCsO/YQBpE2v5Vaxylbe2rfUe168UWH+20N0XbBoXag27J3kyVn8wUi7lPipCVzD9EU8wP7xS2bRXxn0DZ85T3Itj+SSmyyZo+1nYy0b9mq4ewDKAByzACg4NWQSVSWFnw6duC5J8gUpqIZKYjgrS7INReI0WYRBZUQVbAyowA08YiaVg9kZwQZG9G2solimJsLcXFK7YKA+jQJmiDUsdeaI9Otorb2col61X7VsrOBXeKhCMOZMfWMgnDILKRRRUBk2zjYgyknXmfMNGyOqFdMfZkOFIs0zCW2uqhPSC2lSkjIOnZFJJ7J+iWKQgjk2ZGRCAv7E1tSyiP6ik7zcRzJe+p06xVMoQLWz3f0sR0qrkn4ykRQdiK59oOvLIgBWDNYz5T0YgGfRfP3vgkWlVM+QBzV0sZtCL7IkMjE0R76EzRyCCUXxjVrAVkjqAdzUBGQf1lkcUa1iXGCgrAzsyCwv9ia7Gh/IXCL2QZfKWt2JL7lsnma6OSDXwDUfnh19p5Dfy5Nvt6OzHl/KB/64fj/Tu75jZ2CTkfWBvT341Ntqm+19/5NnvttS7Rs2L3k0lqR7qlQFuM6uPHkJVNqeGC3u43mSZJ09SpxiTo9pjbFGstpRTCXThfNAmlmPs6b03jwnBtGFK0JOKy0JaxrAAXBkqaQ0jKrk3KZIwKtsAYLstsmWgpTSq1Xr+fGdlE+jENpY2WpSqHTFlQbRbEejdPRRg4K0tZxqJgeWJ2CDG+uNFtkj9W2Ra5jOJlpP+Fr6NMqdWZfqDa5DQ2GzWJ1RgCNVs1JKqwPnvEctQPatYApY5nRDttCrU/z9ov1pY1RytaJXtCjgakHDuMdOyoVrmZvKtWUhYCR9ZClv61jrH6HEWWbdyqPUGOnDHNqSw7shfzdD5I+9R6bqpP7bw0DR9xip+I65P1EDwRsfdbG3O0kUuDjfJEhY2GWq7nMUeGJ0wshu8WEfkUlYaTKuuES4KIOCeoMzXvOp7OUAG0Otlpte932R3Ev2lQMQ8kOiptytCnDPT+NpVFtj+OCwaBtm5g9RSh1ljsI0jOqNPxrSBTPMg2tlBZtWZ3PMi6eD/tRAQ2XwBl7HoIth1g3egW1T5fkKjYFGXjtX5jo7cMl5gVxnm0vXWUqNi1yovSkdNupz0gwtCerq6fWu2PsQe8ztkazGz0TXGh4H18n3OMYgsZ6zJpZWHUixyyXcb2fcZRvkxbuLGOasZqP5/3pku222MbcY3ZJ2kYVjQV+56KYsrW9o/Eg0r2mJ9kbD95clcveTrSAdOsUtaczVQR/X0tWbEVLXt5R3ZVEO5690Ls5hZxrNbvdjM4AqB/UBbrslj7W+ABSbZtBlOu1mWJiWGLiPcUsjatS1um2m04PySluGqt9kFM7D/RGZUJeVBs6BkfgChf61g/Zq1MbFnCs1DpnRPSD7EuK7i8219IoTZVbCPR/Ec8anhCcA5Q6CsJXzBUoWWrTGvbZtrLxOOypNG+YcUQmd2PBy0SqcceMIZFb62oI0aBjqqm+qPL2LpXewX9aD3v1rAqzdjyT3r7CFwmaewlW9Zxr4xjpmxBKlkY61LzKdtCR9dFW1mdozPi6xpKNm0oN1w0qahsKcZTgN6yhgNXs+/UsL2fsJd01FZuMqzK0s+e1A/Kxzm2HqDxno550jBr8lRUlEb2dID5HQgVfepH6lgj1BQWlbyCe/uo2n/VOykMqbNo4O+WTdMYaVba/RPy831oyUyUWisWNt4VcLZIBU8vapQMMWUh214Fx2lKSnZv1V6cyvqhsopnJatD3qtPNVzA0Ta10xpWtcY41ZEcoeJdxAlkh1JcX8OZ/Wm+olz2tuDoAO97sYZUdOB8d448aTgui5V+osxzliOaLjqPhjMHM5aPvOMTam0bm9HQOgIViAMCjrkZmYFvScZtBjpjVOq8Io5cRCnvYUcqMqG941hhFgUcG5eMQ6BtF8XfQUh5OtRjxbOZ6pGyf0w2WBORxGi7fZmUZXkgWPo35EEGHEdROofsPCE5p0dGNXx+GbVqFzRm2RWzxM54z9rniECq4xDVE/4b6adSPJk7IZ50+5pC1J/yPlK2F/Z2ccST687+xI31GnbriyfbwJxXyYE3sldTZ/mKnn1VZX2oHRhrJQrOllL5spTRjf9xYn0bcQQfwbFaktKwhQVlylM8SEaV3v8UB1BCZXPJQiRsDfCem8pfiILjUIQ9pUSTrGMd7PczlEOpzy6JnUxj2v0wpw7ETk40f9g4TPb7Ah6FTNvK5hHsWsCCIznJvs0L6yfRa1zuSEMDJTTv7YxKqGxVuZf5bKE4j7zpj6mtRaU1d7DXl4Wjc1TCt5k51HKp9X28lz3Sy93hP7GGCnrx509CkWYR/Sh1ZLMn96F6uzSk/YTKoVWZGrGNKsdHxqVH0dDuOks2lnXSZr/0oeReDrugaCXvHkmlp9vK7uEkNt8h1rs4ah0IAT+TtmJkoPdnKN4ndqCCXqZswgfKpCxqPuhH+OmeZFtoLyK1OyRKRsO+gL8Ba75VGdiJsv3YQxKc82joEuq+mLqCTtrUHDmlfe+S141s9b4oRxKjXn6CjqXzOamKxl9R7LZUWenmlKGOUcRW40qmZyjoX0lQdGLRr7X2q/nTE2A2Yh9wrLkUpQj1qvvUT2TnXUGRr589I/oUaqiY8z6zZ0L5ejeJc5YFxfqekX/Hs6Ci6hmf+wyfl7XHOzjKKqsoV/GZGPp674bGFXE08kv2aSPu64ug2FenWQ78+IujZbEIvnxnuGlF8jUxwvYLx7U3iyqrRRzVqeK4do4ru7PrfyKfcbcVWcUmwrYr/3tnX/byI2kNZonVUH2p52uL09drtaYcai2H4BfEidWVVsYqrc8anPNMaW0Jte9X8DmfMmo0VP+sjK9OHdO+mUgEyddY59EofIMoOoASajcEPCftmDtceDxhqHVll6mprEzwd1vY/fw+nVCL9XJhT9SYffVYmH3mLm9U9qCE1ZXdaY9QxNr2lTt92X/w2/koZw9O7ThGftrLiNvLUCUo3l/rTmEkLJH6UJ3O06c1+E/ANqKwuQKRtld3Mez1yCe5E23XS6t7Qm0D7PbV9dhynLF/0qMP1fW1+y9W2lzvpOpsPp3ztXsipDeuNmBtHujc2dbq8lCfU5U6ftE/H0V7aBQllUqj6B0gs+MrrSbqMiLhH4iKMq6E2bk3p+ID3VeXyxjYU+ZlQHEpOncXC+VVNfr0Tah9l0hnN3ZnpCpRS8p/o7FUnKPaaCug1FgmPQ2r5oCifZEssG5IQ8R69bZqbHBeQ44th3YejNXRUha8H1LamtAWgJbnRkYkNrMisvkKlNFE0QHgJjhbg/PISiOPOcrW6N19Q3+yHSL5eYndWXAhyxkpGpE9I9O9y6ENGaoS2bN2osz5lxgrPKTT1J+Hsp4xZ23QzpfInqPNWcapDMxUnSF4bgY/+xwU06Hz8v4XZaFRDhlFe79oZ412FeiEu19/+X4cWSlfkecV+F+x+6bzTb5uxy9mm7bW8lA84+wA5EtUaY/GPyK//CMnBxiqCrQNKHe0Sj/7y9/T2FhrWdaL3Ziscq1d9BM6rAa12ryJ+VQmRwL6uWZGUrOVx7q17Ete9pcbfVLAnIlUudEx++NZm7GfLXpjUP5yo/uy+dd8xjkmH1Z7FMFOVlxAelmo+FJ3diHUXk5orIgefbgeZXXTLreOZXeUqOwJVmn3Qc33kKI+QlkmvUzrNtLymtuwJ6IDjVPImxetfV6IVM9A6NHE11bkjk6hp5yQ3LMjU2OXvdMmQW/ONA0p39xve5aZtBZEZ2+Y8xWmNJQKQ2ltJB317Mn3oEd3xTshxZBIf7GX1+ycYDXPgIh6vSioiG2AoFUjo/hYYO0Ho79CfaIlsPSKeF+w0lRQpxZNdlKitU+yl9GonjHgc+4O8TD0XZtaz1dlExkPzLcZbSlbPXwqlvGrOYLaaqxU1CO1mijScTIBbU7Z16jN1OA8Qo4pShs7jaz+Y81NHq+MG9pf5VOdJuaHb7HJnbFPyFD+c0AZN5SDy/XNvgv5A+Q/Z+yppzobsLJnXmI+M0pQmckqo9Xa2kg6x4zVTJs8ec39IpaB8eXaYlemUs6PznzjzEneN6BziTWMlOCzepJPs3IUN2EugNYTn5e+UtOe90XoVBI0c/msU4ba09B2fvtZDPm0JeeW6l1OPxGxeIaubFW8KtRWYCalCJ6nW/mUhD6DLMXzzxJyqmHg82MW/C/SsFVJj+TjiNKXabuKTp99ue/bZsL/mnOGbfm1etnsK9jnRDBbJ/VhhBK6rq9Z9G5+21alltt+L9ulKTNz1+z3y0jwMV9Tl5+FVdFTcbKmq0sxfXoMUFukla3btEWknkMjUxOzDNowUqc+sCqSSMemkyDh2aJ9Bp98Zs6Mi6XSppTn2PI2OkXjQoal1VK3DUVfGxXRV3Z/JXytqWh/I6zpyTCk3SAjyBKn1d4WolX7bpRbfYQL6idPrGYc2Q52o+ypr8/y+f2ochzpc2zmlCLrpkp59hmftNZ092Wpd1L5RI+yYgshSyUPUhWpaiOIobjJCp0tzE+mYtOCtEFmzs7R452URMaAU5XhEjRZJDUlG/WsMMUu7HWpuzImSlDqgMolVdmpbE+wlCj4NJ2qG3GsUXGgzqsUPmfv8/nvpjBPiaH8CX56WsA5Moq6iX6O2X40LmkP4ltpVTYpny4QpZ/uRGn8CD6I4PFov5tle0SSrWbJFJssqrapVYqJypYI9GlzJnpLTw1Q2bRRIErwUMWylJ7ryc8dCZoIGFOJz9kddMonaIj3QKOC9QfTLGtZA5J/V6gT6ZREa571QslpaievsvksfH4zNU97SXj21R60jLhd1rOZzjwq+dk2fhuqJ7kwhSkHVUWdKNdY6kwlypApmN9kq857ciAkyA49jqbl7OEj+2RJ+1v1GMTVekkvM/jhjfPePEB3cts9MtjvLkV3Ke1l1dWdTbrLZXdZ2ct525pnSa6qYtKM9h63ebe2z/BdP/mIciCq36yydp3334zbwbrMc9911vkPbwb+hrnQ8zf84LlIP5RNqkQ4frRYph/qJtRD7RL9CDJ+0J6vHrzHDXBmLz9srNCPSQv0Y93o8W4JalCtyh6nNA9LQbue9GToCeFhSXuH3r47+qaZrOidIoy72ME9MPhL/UA3Xz0OjR+yV+pHpSX6oXRSPZSPx5Goh/Wpx6WiAX6iW6pRj/UT30L91D2hngbHT4Wr9NP5Uv20PiJYYAhAT/OihcTP3IvU/jg9i4+fyVcZAqE2Vl0hMzooJemoVihJ9rSiETWZOhQcwFogU0Rtn0je5G05fcT3Ai8MvMD36JyXdxgd2SOYPCCYGfPOZLf6yXi1JlyxR7xQPeGPPMWwOJj0PvUM5YSm2D4T0EPnDkZJ6fK+F3oy9UTgRUJEnx9ZcJwVSv0cv0SzdKBHKXqjLDVrJ+r5gPScwEjoBvgBflLlNdKD/bqJ2xuoYZOgzyKGLJRSwY8ATJ+abjPZx6a65GkOYk/GXhyngXfEnNqjRniUGsx5pUY61E83jPbmfW/OaYFzZqqe4/68mVnjx7YwkiIBcl4WZdnxGeOnx+493P22L5g8+yjyp6TYvXmEtn0AsHnPwmAwvhTxy/XZ0r/AZSDpUlzgl3Tdq6uBiE8G4/8lYtd1X8RRFESjj3u40Kul/nYUnc1n0HGKPkL22bv39inH+fpsthyKkXrVws14WFwJ1+qNaT4oTm/G9Kx1zCBIsvam7mW+cYt8OuKJRQtTLfWPYf37/39YV8/EejBYn1W3oHN6MgWFZRQ9ewTLppov64F6nK0eRekdG9HEXi3tVfWZJ0jbp04/zD453DlGC0V7Opic0GSdLt2TAY3/VPSepvyQ66dI87OEmZD6Tzoof57/4rofDm6eCty+vEx33rHQf+7+LPdHs8tqNDs9dR9Oez2kvUbk6eyXnRYeZvnD6VN1K677cIIxKYvhYdZdH52ESbNcHL6wxVy0n3ui/cFyLPih0+Ww8Fr3cKXdL9sdlt2be/Pg7Ed7Je1835p7644vfp0+H7+DiR/bd0AsHs9/5Cdej68CkbnjHL+N4dXmi8ehIbd78uPooJ1fu3akbufXK2D2a/7r1LRynS+kaeXXo60UerUVl2C+yVC+eEEra3KrJVgBdjQCDAvs1i1OTw8bWeZKlq29sdtZnLkSFWvv14Pnh/+c/mKo/3CcSSdg0smlHE3ApP37y/kjSvAbZfiN0sHDz5OT8BRfTuQvXu8LLYTcLHZv7RWnE29JRV51iJC0CE2Wo8nyZ/8XszB65CgsKaiKOFZll2KHz02fzA0Qy11+5LkuqndLqJ0h6h+0UXVtdEKw0kLQtFbVh3UGlcKN6g2rw5b7RKBHn68+PzUde/cQvM8H5j0spxN3yNQE850PmGj6u0b059D2eTfaaazf5Tt0+e4yHL1Dl3c/v/slZ/HxgCtM+LvT8Bfv3h0dQaXX+mxeN6unezjkq92h9eewteMbEzvxLNH4lvXoKZiNr1C+w9C9OxDaW7Z2rjbCFAoqDFThQVN9dKs5zQJ+A138Popun2U6lH89RX2efkK5OoLyzks+GDEYYRvhVUCKqfizWl5o55d8duW/nB17TYj5+fjN098Ul/080fPJv1QPoJK6AKVa1+uVCFMScMl1r8uDlzjpVrkTtKiv0MJ67R5XS49yYmn8+qteq2Kg/5S/JvsQNnHbJvjE+ET4hPhIesA0PhU+KGvwvU6TtmrwQTkdoMpQljQUirkYvCbr0t9o+zgmGxmfUJ/Uosgbn7ZP1JPy+fky+NDzEEt8ioRyZto2pYbClBtKARSH6qGCQYWPpGMEKaXQ+wIOpkCZoEbx3adADKVikyFPzmd6Aav83/ih7FfXfeo1P4M/aUH6+oWISFqpN/K5Q36pwcErIfTrdc+bh2KymE+ct4v5Sqr3OeDr2+m4/q+V85N87QzojaKYsfGaX5IQ8TsZPOenb/9AL56ldzfO79d7rxNCU9as+9o3QT1c5kMR77xXiG/Tu5Z6d8P0mHaGpO8COzBpw3T/LWuwkifzHTO5zgeTORnKV1eCjAJi6WmNxX6ZP7hocFp3FnJ9+Na1IicASIfR7rywvDgdPAwLIH3OraKPYfHUu5hWdbeSbr+EePv84G+kpKct8RPHaffJZ2V2q1nDHfXZ4W5qX7584Tx6WM8UzeI3ew5oqtWkH75z2XPKZjJuWv1y1qqhtzoCwHMmM/XGz39Jd3eA9Cpfwx3WcHzsDMfFjVfO6f2t25n3PCZy2s4ALj791qbu7TEn7J9bJjl4Dd/tZfzixaq+ymlCbmEAYPpu+0acNW9zfhnhYFUPuarL82yg9D3X870jr6VbPCrgx/PolNka1QLJb7AzhLnLYe/qlXASHbL6urTvr5EjG5PcfRHa4oYiiO/XJVbFQuou5XnkDWN0iY97il8jgOWi/wY04neC4gbES3ERuKcDzMtL/wLeFlrilU4tuQwc9t9/1vMb8rv1YF26o133If/hr68PKLIpcvY64Gt48CvgUNx6nQcxQC/uULinj3fDx0PYsoNlKg7RAiDo4ql2ho8986kt803Jb07i15ZtynNmErenp9si3xS9KsVhlX5zTGqwJ2YfFRlc3SrsreNigF/9+0dI3XExGb9rrEjY2HWy7b1/9ODVo7qSd/+cV5mtFsbm3fLL9c43vUGYt7dar+levYlVv5B1MJkNVgt3x+U1r3F9CoTrnwzE6c4rBuntrgeNBL/km5G6DH/Jt/oy+iX392vKX3KZyoASvCgfJI7S7KCLODzUn4N9KG//hnugPPW75O8X9CJjpTQL57pYkIKs1+rlzSMzF86seXSmnvPg6Tcq89uRl+bF6fQKaBalu/Ov2n763Vx9kefZefRs2MXcUrK0vN9avqnX6t7N2L6qS72n+9NC1tv9w00A9U9zFtQm+INfa7Xwfhy2Zee2QY2iiF9upcqK/tx0MZd6PWR1PLsS0p2RfPrESxFn/FLE9w+neZoFvtmZGA28qffg5up1Z7j0JnMPSrgnrPYhDgayIGxBxpc8GDWWC4X9AfJPvqlsol9VRq8ZU+8sW6iXk7m7byj79FvVDsdx+JK9ohxY6nq83oiG9aVoMrfO8ftQFY3zDi2AQiXAlo0ymLqBiIIkjLOQ9nyS/U3OIyOf6NecmZfX/dOTB1ujrrcYu556Jd5nWkVzVG+y9DSjdkXAGnz84sWkOJ0sIZYV+oXH3/tCGayaL8ZXP/bfk0macXwVNSJ68WIxvswyutxzCKfc9WLsTRYuh8qgS8bedL3nsT2YaowozSr9cnsgD2u+nq5RRr/6A/xodgV4QU3zyWL0AH7m2/g6XePrw/rQ5lw0OWmhKWxOpVaW3P+i8bIsobGoNwN23w+lH3HR0qN+P6WI/v5YLAZvlkXd/HHWzvn1ZhBPBW1R/rs6yCzglZ8bVWONspXIjS7p7sncCPwDvpv2w74ytXpn5bud4Hl4shK/LvboK3YXT8GIXsPLJys92TAsBA2zki++h3qyYcyiK6D31KpCG8WYrXO6LzL5onvx+siYzVwmoyjfeR+ueVuwbnd9Rq+SXz40/6N0vv3+D3dkhPuhPF5scqOYLTaLbW40tL23nigEZUqY7yy59dl6PG1W62K6uFpP9pab0Uw5vxe9WN+cTdZ0OVhsvIXVYWhjvPodhHFbXkD0euuzYjq/n63/Ya/+x+vG5+na7g49+lEeliokSF7q9m3v95PFX8DXr8DYPxW17dd2eNHvUJUtNhfAtKtpyHrRYeS6T0V+eusx1yYA3YG2h5qHnlx6K9O01yPkcD3xSJ8b+UgM4o+IFdoCMuRYqMfaVx2GnaHVoXqEBW7sLN/tTOxvWHodJXBuyGHVglahRjBd9AqM7GK1ukse8lQn43UzLJ1X37757sKBP7GGOBm3rWOJ4QydxbJ5GM/vV878cdYruMydeARTDaSCiQPfluwvZZQVa6dyBnclHNyzxfa/VtoAg9M7m6PuZLI7rh02vlxPThP3ruPZuzco+CSzfIadFb++lBf7DNsO7vJcfvhgQarL5UV1tXTd91ABPOOwDprRx32yXY8f4NmX6L126nGNUa2dcowvwyseHvx12KT+WRDxCzJBl8cCntuc7oMwrwD+1/lkXG09p5gsboqcf8ucINydzowuq36TL933nUUAo2JJioo01mTJyjCAwo09FFQU7YZ8fAJ/sDM8bzihxNfsiMpjLG1c5pydEhc6Vjv5RkAvuWTZK+lMLl5ibs7RiUdvufQWNx6FIB52Hbrr+2JZ/5+mQX325rrvxRc4TdD+7ocnyh5cV3lDX+BQfaK55VPNya45jMWCYxzkKH3o8zeBfwDtcZHJD3eXl1KGHzgQ0PeuoHEu/EMLo9eJ1+ukZ28Yt+r38+li0sCjIj/kmiKRy2Y8La4bYsn/W8zGkwm5WdNpAUuiRvkfv/vuO+LiYrmNQ3rDKkT1CkaLffvr7yfzFcZgG5xj0ZOJsr4p1M0l1v4IEqJZOatm0lRrZv3J/BGVwQp7rxK3k31ku3UvNLcbzGyvcpn1f8L0xYv2Mt9NQI4S971xcMHvOp7XDvdAkwO4dNgazbVf12qafRB4P6aDoxkfPNa/34zb9WrQs/IexvBm97M8HLObbLAfWVd50hQz+D1lM6FJhMVIRuSF42MGV/eLxXwJ8e05gmLG4zWEjOdIOMzXhboOlHNd3tfXzXrkjFffwlnOnYFqMM8d4Z45G2dgTRdUYdF2v2rqs/2d82L2muAGyiW2DnHRxVQKK5O7MEsXmOzqdbKbHPH7LvgIWVpCSh5PhrFkOm7clEr+e8AHeOC7u59AyON/Fvr9ONGXDcDO9M4QqM8O/x4pNbYb4KtGoeUoTK0uuKxVNr01es0qGzpkPgMbLAp+GbTWj1A5pMp5CS54kPP765u18w+lU7TupFojGgsNgqPWxYpCAWrlWnbbm/27/x6v9ylHvX+OOE3zPJLs6X5uWhOkadRUfvxmMi6XkFW2shYSNoZhZIl9VzSF3sHksM9Hn6n55qe/RAHVdS4vnSh4TnVpq8vPVX/9x+9NZdYkembPnXYyny8Hk/m1HGxc1zl1hIe1TbOxAYDvOeVWC2gsy+WUYpnF2kpoOzvleP26mQ0+lxHldLk4fQF7zK1UgtcZbJyrDnEAAa8ruoNRODPnVF99/AQcHC8LBldGQdHFp4AC2QEFUgPRxaeARNxDMDb4xZ8G6g3KDOkzA+qNxwznM6PpDcaM5XND6Y3EDOQ4xG/AJq6psWfUfewYbXY/Pa+bmYNlh3VzRTBLMmYx6TBSZ00BFbAeNg+oUs/v6fXu0xP5L1In/wKjw/CfOpd0HZzZJv8yaxxyO8hiuGDpATYcTprZNXpAazA9yBahbc+W+Bgmw3QO2QXJxTxdo/V2vAEGVOisSFfu8XVn/tAAPLvCMJLPsvidZwzaps/sDdaVVul61aBlLL3h3l3qgu4aWbATa5mNuuu678Q5gwZ08mn2VjP0hLZpOo3dNoRvCQgUoHnaQGTB3NXtCvtQBNRN/R0qoP75Ts+YDktxclVWqDaeOT/T7PEchu7FzgRQjB0z/Uj7nWQnVjyNOyO5I25kuejuCYZmj9t6Y88/M/ivGvKTw/54mBKmqg1R/2Snqo2sPI4r4gGJ8uXu1KmiK0LowwfzFUYSvr94QfR4QeuSraZ9itw9QZE7qm5oyGNgzTEyJOyN4GDJwoUcYyVhFQJV0mFE3UdehoPmFJjou4NHXs8HKoFWmF0Nj0+ul+ctkkdeDLE/IlbT96h30AN3d8j4m7cFigto8UcPzUL/O8Md4mgP1xnsVCTlx5U7Smpi2DHZ+nZU/TW+oEgE+H93eNrM2M/6aIi5feel2p7f4TxX0fmCrQdcgr67XOw+gd10POtSSw1i5VOIWaPWoFRgaktgVKDrctTnBLIPTFiB0kkuHOpKz3DZwFygQIv+zgFnJbrkvv8F2O82C0s+BfpTJ1cZ9qfPsMoRar49wOenPYR+0hiN9rmcIGH03E8WbPS554Skqw4AsWYgLvOMpdtOuNZP54r3BkQRra/K5obiMVzsdlrqbxp5ZVXBgR3O2yHHcVYYJkWxztQymsL0VREt7ktZy8ofgpqaNWQgwzg2c7BH2r1AZ99E7tH3Swl+f8wbdhQJSLL4JKjUN7AzWZn4rjux5eZ7V0P1aivor6rcdWy+UBfc8bodE1rwUMt6YFgiR7bPUMWwmh2xGekQbeyK3VprDd0vmtwvv2Ij8hCvDgKWkl2htbvHZM4QP87r7779s/Pmu9evaSXB2rmfrJ1JOQydwapaFuvq5hyyZUauxdlqPvHs1K4czGsJq3sKFVreb4c0tP9aqVggWHQFiLdQqW+NLQQdhWpvOe+LnLWVZ/BQfrgTEjnhFRVVF1mxUZgBm2XD9XzYN8pcp1hCGUyb9bg6c741PA/uZDPNaAprquVsq40UZ2Ne37z9PeolNrCjHGfLaF8TTjhzvh8vl/Plip3Gt2si3IK8lTWvNPw9c36/bGp8f1NsJ7g1uF5Pq9vZGD6pXqBdWqlxlIBonqRi51DcaC8Qsf5+VQ6effpjeTQrftwONry/8hvK7MFlTo7Mkn9/VIVxaMvgrixP6bcuCqQtglOCIvzWRSLuWoypCL8/7nXbdZpSDdtj1yH3Z7vreuPOur7o/tIkVX20AQNiQfmvVc+y91SMDjeIm2BzsaexH+FZ/414rzO5rRu/+hyR744S+S6fXV2tumOhzTSfvRjspJSsKI2oSzUsJm3eLx6shv1zKXRsqJleUbUPH+gyz+n6xYvB3QvhEjXcu0NyQCBfXLTL+fRtiwWm9Wjfy4H3wikBf/vzQC0nZVm57gGB+rLdJpU0X3CK60iGxvSEuL7boCWiCT/CaF5GwUXUnaVd5GaGZt7KbnWu8+Y0MSdkVrvEWl8RgygpuSZuf7neLqxR6J5Ni83F4vLS7qMcZseuL4dx+NK/WFxdWQtoL4lZUZjoCvrVTL9z5xr6/xqS5xW+D6OAohqXUAzKh1Sy74C4fxg/9OlbW/paPnz171F6UF9eCuG75684I+bk1W9yfWf2ob+32U2FkjUzd4hpMME7ZoL+THhNR/5hlBxQ55WjxDHYChQSUIH4g/8UHFOGjKsCcZccq0oOCPOKYvaWLu3XEIGC6HnHDOLy8qhj2+oRt7t8tGqvIum+X7XDHIRoLR+23oqOPbFBD1j/WALSoNVEZy5nutPVb/L2+aTvDvzE4XA1XLUHfGow2hEugyg4hSk83Jms5cH8fAeltjUC4fFmvmpUJHUFL2Ag/xX7neMlpA8rYApVNV6tihXZ+aUz8CkGW66a2RoT2WwWsAagy5qDefzr8vMOWXdq0XJ92Qmaz/D3I+foMU91MtVSctQdaYSIGdyAsu6oMQkNN5DE0FX9aVesPvUaN88f+YzjkdJTocvLHNf7tP2/4+X6nrd3eIdh5WweaANienrrsqS4cpYbTXNtcWvSF5vDZQCL6oj07Y7M+Z2g6IX3P0fom/F69dSamfbWjH80T/52J1H+1j/lbLtbH9pcqfnJfDgc3YyhlnbMAICiFL/F8YS823wyH91e5jfj0e3BMRsbzADJb0cs6K+iAN1BE661JoRNtR7P7puDHXAraG+9xnuFqQOJiAb95OyPe9OotgsuusQASmEqi+oWhrCeWpq41YjkmAoGkkCjuVTUazhZc6Y3GjC/tI9oWofrWIMJmllv6+J+u3L+4Y5oe4b2ZZxqe6EAeQcM3ZqUFbOv4RlE/ueAcXiT6LMbFZ/ZEaq2Nhf0awVw01yRfP8EQ73KjbQn5bCz3Kjf/fj8YEF2qg9O+vBhwfas/xu6Lja5+nPFd490yG7dJ0VNruTVYuMecNCg+FC6x1dGfzC3Pljr5NV5J5NJ13XmRnMaBa57HJYYMtdLvgCfYm2/8sCop/pe2bt3BD8ynsSF754OSntJTV6FBudgF0rfpToK4HiGBCi+7Si+7Shedber3u1iqybC3jpCMjsN205+bYWdiK2dia076k4mdnXfdXXfmbrVdpd5Blv/w1a4jMzgnf/hnXhi/myAPW/eDZstZ72Caz98qJvL4TFG4gr0kJL37/zLS0izd4L/2JxMKgXk+60q3qriZosOehLxMBc5VLnIR7ljm48v5cutf7HtHjrzLh+MX/CwXr7zL94dZv6oqXh3mW+fkI3vhjkP+J0Wpk+wd1+EvvOarZKhW2tafeJgoNxXjxyZONzfvXDu4HM3Z+1kXqzf8o7voCoWMvQ4eF8Vs3rM6VW0d8vgb0GFszV7ej0PnAMNJFNXxbTZjTjYmIQNPEwpWnvhPBST+yd3fzy1a9TzLNmh/JSnTwJ6OlyNp04Iv76Ig5QFdbGsbs5X88mDSTQ4iAX88CpP6UxgksRRnCVxEmccffbPsiyBEfGD9i2egP5TniapTNM0S6TI0iQUDL26W64hiOITboaiWT/8idoJA0MRWOZvaPTA/A1F1vc2wv9m+fTNcx1A7xneSanNtDd7Uh92uuaswRuyaOWwhMNhDtfz1x5EyQb6G2ugv/HK3fbeGN5+/4YiFKNyxy4xHXUejW2941nQpyD6FBToooty74Ta3R96msWQ6JiOKT8bVnie5bvKi8tSO8sFxMtqdJcX5+WoyAfF8O6kpASuHSoUVyXkYJHnZT908J5iB5QiaGl0xzRawYD72DvVlTfFsCmHey53RyBetYNHZYfvkean5zsA06ODV+Y4uPDR86EP1Lc/0F+P3CovsY+hILOtoM0CssI4pj2ejWBuYw3/xy25MwoBrOgw4/yR3aR0P3+E0zqOZo4sO3NruWuQfc7e4r2dJ4wt6oIF/lLZQksl/vk+7uG7a+N/JpFrN9fXYHI97RtlbMG9pF8XbKKZSk0+pIArpYpyhh1t5A9pFH2krqeWtegSvMVw/TODXWDTzv+GpvinwXLT0/9bW7rVpdvDQPx1vmkUSkvePaFNlo3vYOK2vstBieudBGQ2Ma/zbTMaoPft1M0H6GczRb+bxqOOBtvGAzp9fFFjqzhyOz25pi+n143LLWzs/Q3fJ0hCh6gDi+SEKeWebHyPcAJq5s6221HcNhjEi07Nz/LNtDMho/AUnY+205wiGmEn4Qtosj83j2s6MLucT+GezymCTewchesbVpKsylZ751YpfbY71bwlCpzOzkELfax5e5XjS7lsilvqdtsnhRnyHwYEJQjEG4B0wygcAk2yxOEt//AnD9pGUYK3qxW+53ua6bDZv+Hq5IdXHjVo4FXlHR5rLlH7PXiNZi4n6GuawWueuZxm8npnBhlmuGkuoaEI6lr1hcuOzlzBdU8VKtw17/Iwq58eoGFR/klt6o12x0CoKS4xQuqk7k/4NTpjWjdXUfjE6pyBTa/8l0bRoX2DKyjtXvSZhGg/UnHxXE36W4oavyXLZaB6V7uOfZLM8icFQ28wM3oQRG/e+cpTRNwbNEtnDDtRuAwGsxPu9Lx2T6yi6ClhTIj/cjPtxV3R1s64aEbynAZgNdDHb/4fExf8rw==", "harness_encoding": "base64(zlib(utf-8 JSON path:text)); the files changed or added beside the lookup-u1 bundle (gates.py, qpl.py and the two base .sol files are used unchanged): README.md, build_q.py (LEAN -> Strategy.sol), q_gate.py (from lean_gate.py), qfuzz.py, engine_g.py (lease only)", "harness_zb64": "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", "inputs_checked": {"upstream_sha256": "6475e99ceb6be0b27e737d6494630b8178c6282fd6685fed58c0b592ca1cded9", "upstream_code_sha256_ok": ["qgate.py", "qlite_int.py", "exp.py"], "lean_source_sha256_ok": true, "bundle_sha256_ok": "4f3e024388c3fac92e5a33ecea1ac3e08a68a5fbcfa45aaf86baa0a1debfc83c", "leanbase_sha256_ok": "ba015769f7981d7798acbbc9aff8c0e0c59825bb1541d55bcdef49311d7a04bc", "research_fetch": "gtmcknight/amm-sim@66604b3426d8e97a73e2c39940b9b4dece51cc73 research (tell/fetch.sh: fetched 34 files, 0 mismatched); pol_mid.json efbb5ee1..., qm_k1e-5.json 5ff53e42...; q_gate.py asserts the sha256 of the 9 reference modules in every worker", "kit": "identity-md-launches/goal-3178-build-shared-evaluation-kit@45e7563d1a29ffca9d608fdf60c90bf2624d2d01, setup_fast.sh --platform linux-x86_64: OK (16 pinned downloads); amm_sim_rs 0.1.0.post1, pyrevm 0.3.7, py-solc-x 2.1.0, solc 0.8.24"}, "ledger": {"lease": [10001072, 10001079], "run": {"q": [10001072, 10001073, 10001074, 10001075, 10001076, 10001077, 10001078, 10001079], "lean": [10001072, 10001073, 10001074, 10001075, 10001076, 10001077, 10001078, 10001079]}, "burnt": [], "note": "each arm ran each lease seed exactly once, in one block of 8; nothing interrupted; no other engine seed was run", "engine_ledger": {"q": {"10001072": "done", "10001073": "done", "10001074": "done", "10001075": "done", "10001076": "done", "10001077": "done", "10001078": "done", "10001079": "done"}, "lean": {"10001072": "done", "10001073": "done", "10001074": "done", "10001075": "done", "10001076": "done", "10001077": "done", "10001078": "done", "10001079": "done"}}, "replica_gate_seeds": "74200..74249: T once, F once", "replica_debug_seeds": "64000..64001: T once, F once"}, "not_done": ["Gates P, Q and E are outside this item: no replica score and no paired engine score of this contract was measured; the 8 engine seeds only show gas and absence of failures, and on them the contract is slightly below LEAN (see G.edge_note).", "added_gas_worst_call is a pyrevm measurement on replica streams (LEAN from the same pre-state), not an engine one; the engine peaks of the two arms are each arm's own maximum over different trades.", "The 50,000-character limit was checked as Python len() of the source (47,393, all ASCII), not on paradigm.xyz.", "No gas tuning was tried (the test is the direct port, about 10.5k to 11.5k gas a tested call; gamma is computed again for the test on a step's first callback); none was needed for the limits.", "Equality with the reference is by test (fuzz, T, F), not a proof; the contract answers miss for wads of 2^128 or more where the Python reference would still compute.", "The over-budget lean label (3) again never arose on these streams.", "No submission was made."]}