From 27c808ffacec7b4bb35ea262e2fcdfc426449db8 Mon Sep 17 00:00:00 2001 From: Yoav Gross Date: Wed, 4 Dec 2024 15:25:59 +0200 Subject: [PATCH] test(blockifier): test contract for validate and execute merging --- .../cairo0/account_faulty.cairo | 20 +- .../compiled/account_faulty_compiled.json | 263 +++- .../cairo1/account_faulty.cairo | 23 + .../cairo1/compiled/account_faulty.casm.json | 1387 ++++++++++++----- .../cairo1/sierra/account_faulty.sierra.json | 1260 ++++++++------- .../src/execution/stack_trace_test.rs | 8 +- .../blockifier/src/state/cached_state_test.rs | 75 +- .../blockifier/src/transaction/test_utils.rs | 1 + 8 files changed, 2024 insertions(+), 1013 deletions(-) diff --git a/crates/blockifier/feature_contracts/cairo0/account_faulty.cairo b/crates/blockifier/feature_contracts/cairo0/account_faulty.cairo index 968f477b347..f35451194d1 100644 --- a/crates/blockifier/feature_contracts/cairo0/account_faulty.cairo +++ b/crates/blockifier/feature_contracts/cairo0/account_faulty.cairo @@ -11,7 +11,8 @@ from starkware.starknet.common.syscalls import ( get_block_number, get_block_timestamp, get_sequencer_address, - get_tx_info + get_tx_info, + storage_write ) from starkware.starknet.common.messages import send_message_to_l1 @@ -29,11 +30,15 @@ const GET_BLOCK_NUMBER = 5; const GET_BLOCK_TIMESTAMP = 6; // Use get_sequencer_address syscall. const GET_SEQUENCER_ADDRESS = 7; +// Write to the storage. +const STORAGE_WRITE = 8; // get_selector_from_name('foo'). const FOO_ENTRY_POINT_SELECTOR = ( 0x1b1a0649752af1b28b3dc29a1556eee781e4a4c3a1f7f53f90fa834de098c4d); +const STORAGE_WRITE_KEY = 15; + @external func __validate_declare__{syscall_ptr: felt*}(class_hash: felt) { faulty_validate(); @@ -68,6 +73,14 @@ func __validate__{syscall_ptr: felt*}( func __execute__{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}( contract_address: felt, selector: felt, calldata_len: felt, calldata: felt* ) { + let (tx_info: TxInfo*) = get_tx_info(); + let scenario = tx_info.signature[0]; + if (scenario == STORAGE_WRITE) { + let value = tx_info.signature[2]; + storage_write(address=STORAGE_WRITE_KEY, value=value); + return (); + } + let to_address = 0; send_message_to_l1(to_address, calldata_len, calldata); @@ -120,6 +133,11 @@ func faulty_validate{syscall_ptr: felt*}() { assert block_timestamp = expected_block_timestamp; return (); } + if (scenario == STORAGE_WRITE) { + let value = tx_info.signature[1]; + storage_write(address=STORAGE_WRITE_KEY, value=value); + return (); + } assert scenario = GET_SEQUENCER_ADDRESS; let sequencer_address = get_sequencer_address(); diff --git a/crates/blockifier/feature_contracts/cairo0/compiled/account_faulty_compiled.json b/crates/blockifier/feature_contracts/cairo0/compiled/account_faulty_compiled.json index e774d7d8491..e07aa00dc91 100644 --- a/crates/blockifier/feature_contracts/cairo0/compiled/account_faulty_compiled.json +++ b/crates/blockifier/feature_contracts/cairo0/compiled/account_faulty_compiled.json @@ -97,29 +97,29 @@ "entry_points_by_type": { "CONSTRUCTOR": [ { - "offset": 188, + "offset": 215, "selector": "0x28ffe4ff0f226a9107253e17a904099aa4f63a02a5621de0576e5aa71bc5194" } ], "EXTERNAL": [ { - "offset": 145, + "offset": 172, "selector": "0x15d40a3d6ca2ac30f4031e42be28da9b056fef9bb7357ac5e85627ee876e5ad" }, { - "offset": 108, + "offset": 116, "selector": "0x162da33a4585851fe8d3af3c2a9c60b557814e221e0d4f30ff0b2189d9c7775" }, { - "offset": 283, + "offset": 324, "selector": "0x1b1a0649752af1b28b3dc29a1556eee781e4a4c3a1f7f53f90fa834de098c4d" }, { - "offset": 56, + "offset": 64, "selector": "0x289da278a8dc833409cabfdad1581e8e7d40e42dcaed693fa4008dcdb4963b3" }, { - "offset": 80, + "offset": 88, "selector": "0x36fcbf06cd96843058359e1a75928beacfac10727dab22a3972f0af8aa92895" } ], @@ -170,6 +170,14 @@ "0x480280017ffd8000", "0x208b7fff7fff7ffe", "0x480680017fff8000", + "0x53746f726167655772697465", + "0x400280007ffb7fff", + "0x400380017ffb7ffc", + "0x400380027ffb7ffd", + "0x482680017ffb8000", + "0x3", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", "0x4765745478496e666f", "0x400280007ffd7fff", "0x482680017ffd8000", @@ -187,7 +195,7 @@ "0x208b7fff7fff7ffe", "0x480a7ffc7fff8000", "0x1104800180018000", - "0x99", + "0xac", "0x208b7fff7fff7ffe", "0x482680017ffd8000", "0x1", @@ -209,7 +217,7 @@ "0x6", "0x480a7ffa7fff8000", "0x1104800180018000", - "0x83", + "0x96", "0x208b7fff7fff7ffe", "0x480a7ffa7fff8000", "0x208b7fff7fff7ffe", @@ -239,7 +247,7 @@ "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffc5", "0x1104800180018000", - "0x65", + "0x78", "0x208b7fff7fff7ffe", "0x480280027ffb8000", "0x480280027ffd8000", @@ -269,12 +277,31 @@ "0x48127ffa7fff8000", "0x208b7fff7fff7ffe", "0x480a7ff77fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff9d", + "0x480080047fff8000", + "0x480080007fff8000", + "0x482480017fff8000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff9", + "0x20680017fff7fff", + "0xc", + "0x480080047ffc8000", + "0x48127ffa7fff8000", + "0x480680017fff8000", + "0xf", + "0x480080027ffd8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff88", + "0x480a7ff87fff8000", + "0x480a7ff97fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffb7fff8000", "0x480680017fff8000", "0x0", "0x480a7ffc7fff8000", "0x480a7ffd7fff8000", "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffa0", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff8d", "0x480a7ff87fff8000", "0x480a7ff97fff8000", "0x208b7fff7fff7ffe", @@ -297,7 +324,7 @@ "0x482680017ffd8000", "0x3", "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffe5", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffd2", "0x40780017fff7fff", "0x1", "0x48127ffc7fff8000", @@ -341,7 +368,7 @@ "0x208b7fff7fff7ffe", "0x480a7ffd7fff8000", "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff56", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff43", "0x480080047fff8000", "0x480080007fff8000", "0x20680017fff7fff", @@ -367,7 +394,7 @@ "0x20680017fff7fff", "0x10", "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff18", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffefd", "0x480080047ff48000", "0x48127ff27fff8000", "0x480080017ffe8000", @@ -377,7 +404,7 @@ "0x0", "0x48127ffa7fff8000", "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff11", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffef6", "0x48127ffd7fff8000", "0x208b7fff7fff7ffe", "0x480080047ff78000", @@ -388,7 +415,7 @@ "0x9", "0x48127ff37fff8000", "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff19", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffefe", "0x480080047fee8000", "0x400080017fff7ffe", "0x48127ffd7fff8000", @@ -401,18 +428,32 @@ "0x9", "0x48127ff07fff8000", "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff13", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffef8", "0x480080047feb8000", "0x400080017fff7ffe", "0x48127ffd7fff8000", "0x208b7fff7fff7ffe", "0x480080047ff18000", + "0x480080007fff8000", + "0x482480017fff8000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff9", + "0x20680017fff7fff", + "0xa", + "0x480080047fee8000", + "0x48127fec7fff8000", + "0x480680017fff8000", + "0xf", + "0x480080017ffd8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffeee", + "0x208b7fff7fff7ffe", + "0x480080047fee8000", "0x480680017fff8000", "0x7", "0x400080007ffe7fff", - "0x48127fee7fff8000", + "0x48127feb7fff8000", "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffefa", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffed1", "0x48127ffe7fff8000", "0x208b7fff7fff7ffe", "0x208b7fff7fff7ffe", @@ -519,7 +560,25 @@ } } ], - "39": [ + "41": [ + { + "accessible_scopes": [ + "starkware.starknet.common.syscalls", + "starkware.starknet.common.syscalls.storage_write" + ], + "code": "syscall_handler.storage_write(segments=segments, syscall_ptr=ids.syscall_ptr)", + "flow_tracking_data": { + "ap_tracking": { + "group": 5, + "offset": 1 + }, + "reference_ids": { + "starkware.starknet.common.syscalls.storage_write.syscall_ptr": 4 + } + } + } + ], + "47": [ { "accessible_scopes": [ "starkware.starknet.common.syscalls", @@ -528,16 +587,16 @@ "code": "syscall_handler.get_tx_info(segments=segments, syscall_ptr=ids.syscall_ptr)", "flow_tracking_data": { "ap_tracking": { - "group": 5, + "group": 6, "offset": 1 }, "reference_ids": { - "starkware.starknet.common.syscalls.get_tx_info.syscall_ptr": 4 + "starkware.starknet.common.syscalls.get_tx_info.syscall_ptr": 5 } } } ], - "49": [ + "57": [ { "accessible_scopes": [ "starkware.starknet.common.messages", @@ -546,16 +605,16 @@ "code": "syscall_handler.send_message_to_l1(segments=segments, syscall_ptr=ids.syscall_ptr)", "flow_tracking_data": { "ap_tracking": { - "group": 6, + "group": 7, "offset": 1 }, "reference_ids": { - "starkware.starknet.common.messages.send_message_to_l1.syscall_ptr": 5 + "starkware.starknet.common.messages.send_message_to_l1.syscall_ptr": 6 } } } ], - "63": [ + "71": [ { "accessible_scopes": [ "__main__", @@ -566,14 +625,14 @@ "code": "memory[ap] = segments.add()", "flow_tracking_data": { "ap_tracking": { - "group": 10, + "group": 11, "offset": 0 }, "reference_ids": {} } } ], - "89": [ + "97": [ { "accessible_scopes": [ "__main__", @@ -584,14 +643,14 @@ "code": "memory[ap] = segments.add()", "flow_tracking_data": { "ap_tracking": { - "group": 14, + "group": 15, "offset": 0 }, "reference_ids": {} } } ], - "124": [ + "132": [ { "accessible_scopes": [ "__main__", @@ -602,14 +661,14 @@ "code": "memory[ap] = segments.add()", "flow_tracking_data": { "ap_tracking": { - "group": 18, + "group": 19, "offset": 0 }, "reference_ids": {} } } ], - "165": [ + "192": [ { "accessible_scopes": [ "__main__", @@ -620,14 +679,14 @@ "code": "memory[ap] = segments.add()", "flow_tracking_data": { "ap_tracking": { - "group": 20, - "offset": 25 + "group": 21, + "offset": 34 }, "reference_ids": {} } } ], - "197": [ + "224": [ { "accessible_scopes": [ "__main__", @@ -638,14 +697,14 @@ "code": "memory[ap] = segments.add()", "flow_tracking_data": { "ap_tracking": { - "group": 24, + "group": 25, "offset": 0 }, "reference_ids": {} } } ], - "286": [ + "327": [ { "accessible_scopes": [ "__main__", @@ -656,7 +715,7 @@ "code": "memory[ap] = segments.add()", "flow_tracking_data": { "ap_tracking": { - "group": 27, + "group": 28, "offset": 2 }, "reference_ids": {} @@ -697,6 +756,14 @@ "type": "const", "value": 1 }, + "__main__.STORAGE_WRITE": { + "type": "const", + "value": 8 + }, + "__main__.STORAGE_WRITE_KEY": { + "type": "const", + "value": 15 + }, "__main__.TRUE": { "destination": "starkware.cairo.common.bool.TRUE", "type": "alias" @@ -713,7 +780,7 @@ "decorators": [ "external" ], - "pc": 135, + "pc": 143, "type": "function" }, "__main__.__execute__.Args": { @@ -770,7 +837,7 @@ "decorators": [ "external" ], - "pc": 98, + "pc": 106, "type": "function" }, "__main__.__validate__.Args": { @@ -819,7 +886,7 @@ "decorators": [ "external" ], - "pc": 52, + "pc": 60, "type": "function" }, "__main__.__validate_declare__.Args": { @@ -856,7 +923,7 @@ "decorators": [ "external" ], - "pc": 72, + "pc": 80, "type": "function" }, "__main__.__validate_deploy__.Args": { @@ -909,7 +976,7 @@ "decorators": [ "constructor" ], - "pc": 174, + "pc": 201, "type": "function" }, "__main__.constructor.Args": { @@ -952,7 +1019,7 @@ }, "__main__.faulty_validate": { "decorators": [], - "pc": 206, + "pc": 233, "type": "function" }, "__main__.faulty_validate.Args": { @@ -984,7 +1051,7 @@ "decorators": [ "external" ], - "pc": 282, + "pc": 323, "type": "function" }, "__main__.foo.Args": { @@ -1027,11 +1094,15 @@ "destination": "starkware.starknet.common.messages.send_message_to_l1", "type": "alias" }, + "__main__.storage_write": { + "destination": "starkware.starknet.common.syscalls.storage_write", + "type": "alias" + }, "__wrappers__.__execute__": { "decorators": [ "external" ], - "pc": 145, + "pc": 172, "type": "function" }, "__wrappers__.__execute__.Args": { @@ -1066,7 +1137,7 @@ "decorators": [ "external" ], - "pc": 108, + "pc": 116, "type": "function" }, "__wrappers__.__validate__.Args": { @@ -1101,7 +1172,7 @@ "decorators": [ "external" ], - "pc": 56, + "pc": 64, "type": "function" }, "__wrappers__.__validate_declare__.Args": { @@ -1136,7 +1207,7 @@ "decorators": [ "external" ], - "pc": 80, + "pc": 88, "type": "function" }, "__wrappers__.__validate_deploy__.Args": { @@ -1171,7 +1242,7 @@ "decorators": [ "constructor" ], - "pc": 188, + "pc": 215, "type": "function" }, "__wrappers__.constructor.Args": { @@ -1206,7 +1277,7 @@ "decorators": [ "external" ], - "pc": 283, + "pc": 324, "type": "function" }, "__wrappers__.foo.Args": { @@ -1510,7 +1581,7 @@ }, "starkware.starknet.common.messages.send_message_to_l1": { "decorators": [], - "pc": 43, + "pc": 51, "type": "function" }, "starkware.starknet.common.messages.send_message_to_l1.Args": { @@ -1557,18 +1628,18 @@ "references": [ { "ap_tracking_data": { - "group": 6, + "group": 7, "offset": 0 }, - "pc": 43, + "pc": 51, "value": "[cast(fp + (-6), felt**)]" }, { "ap_tracking_data": { - "group": 6, + "group": 7, "offset": 1 }, - "pc": 49, + "pc": 57, "value": "cast([fp + (-6)] + 4, felt*)" } ], @@ -2484,7 +2555,7 @@ }, "starkware.starknet.common.syscalls.get_tx_info": { "decorators": [], - "pc": 36, + "pc": 44, "type": "function" }, "starkware.starknet.common.syscalls.get_tx_info.Args": { @@ -2515,6 +2586,68 @@ "starkware.starknet.common.syscalls.get_tx_info.syscall_ptr": { "cairo_type": "felt*", "full_name": "starkware.starknet.common.syscalls.get_tx_info.syscall_ptr", + "references": [ + { + "ap_tracking_data": { + "group": 6, + "offset": 0 + }, + "pc": 44, + "value": "[cast(fp + (-3), felt**)]" + }, + { + "ap_tracking_data": { + "group": 6, + "offset": 1 + }, + "pc": 47, + "value": "cast([fp + (-3)] + 2, felt*)" + } + ], + "type": "reference" + }, + "starkware.starknet.common.syscalls.storage_write": { + "decorators": [], + "pc": 36, + "type": "function" + }, + "starkware.starknet.common.syscalls.storage_write.Args": { + "full_name": "starkware.starknet.common.syscalls.storage_write.Args", + "members": { + "address": { + "cairo_type": "felt", + "offset": 0 + }, + "value": { + "cairo_type": "felt", + "offset": 1 + } + }, + "size": 2, + "type": "struct" + }, + "starkware.starknet.common.syscalls.storage_write.ImplicitArgs": { + "full_name": "starkware.starknet.common.syscalls.storage_write.ImplicitArgs", + "members": { + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.starknet.common.syscalls.storage_write.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "starkware.starknet.common.syscalls.storage_write.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "starkware.starknet.common.syscalls.storage_write.syscall_ptr": { + "cairo_type": "felt*", + "full_name": "starkware.starknet.common.syscalls.storage_write.syscall_ptr", "references": [ { "ap_tracking_data": { @@ -2522,15 +2655,15 @@ "offset": 0 }, "pc": 36, - "value": "[cast(fp + (-3), felt**)]" + "value": "[cast(fp + (-5), felt**)]" }, { "ap_tracking_data": { "group": 5, "offset": 1 }, - "pc": 39, - "value": "cast([fp + (-3)] + 2, felt*)" + "pc": 41, + "value": "cast([fp + (-5)] + 3, felt*)" } ], "type": "reference" @@ -2578,14 +2711,22 @@ "offset": 0 }, "pc": 36, - "value": "[cast(fp + (-3), felt**)]" + "value": "[cast(fp + (-5), felt**)]" }, { "ap_tracking_data": { "group": 6, "offset": 0 }, - "pc": 43, + "pc": 44, + "value": "[cast(fp + (-3), felt**)]" + }, + { + "ap_tracking_data": { + "group": 7, + "offset": 0 + }, + "pc": 51, "value": "[cast(fp + (-6), felt**)]" } ] diff --git a/crates/blockifier/feature_contracts/cairo1/account_faulty.cairo b/crates/blockifier/feature_contracts/cairo1/account_faulty.cairo index 76e9b1e6b4f..136173de071 100644 --- a/crates/blockifier/feature_contracts/cairo1/account_faulty.cairo +++ b/crates/blockifier/feature_contracts/cairo1/account_faulty.cairo @@ -26,12 +26,16 @@ mod Account { const GET_BLOCK_HASH: felt252 = 3; // Use get_execution_info syscall. const GET_EXECUTION_INFO: felt252 = 4; + // Write to the storage. + const STORAGE_WRITE: felt252 = 8; // get_selector_from_name('foo'). const FOO_ENTRY_POINT_SELECTOR: felt252 = ( 0x1b1a0649752af1b28b3dc29a1556eee781e4a4c3a1f7f53f90fa834de098c4d ); + const STORAGE_WRITE_KEY: felt252 = 15; + #[storage] struct Storage { } @@ -80,6 +84,18 @@ mod Account { selector: felt252, calldata: Array ) -> felt252 { + let tx_info = starknet::get_tx_info().unbox(); + let signature = tx_info.signature; + let scenario = *signature[0_u32]; + + if (scenario == STORAGE_WRITE) { + let key = STORAGE_WRITE_KEY.try_into().unwrap(); + let value: felt252 = *signature[2_u32]; + starknet::syscalls::storage_write_syscall(0, key, value).unwrap_syscall(); + + return starknet::VALIDATED; + } + let to_address = 0; send_message_to_l1_syscall( @@ -129,6 +145,13 @@ mod Account { return starknet::VALIDATED; } + if (scenario == STORAGE_WRITE) { + let key = STORAGE_WRITE_KEY.try_into().unwrap(); + let value: felt252 = *signature[1_u32]; + starknet::syscalls::storage_write_syscall(0, key, value).unwrap_syscall(); + return starknet::VALIDATED; + } + assert (scenario == GET_EXECUTION_INFO, 'Unknown scenario'); let block_number: felt252 = *signature[1_u32]; diff --git a/crates/blockifier/feature_contracts/cairo1/compiled/account_faulty.casm.json b/crates/blockifier/feature_contracts/cairo1/compiled/account_faulty.casm.json index f7f13f02751..dcf655b7807 100644 --- a/crates/blockifier/feature_contracts/cairo1/compiled/account_faulty.casm.json +++ b/crates/blockifier/feature_contracts/cairo1/compiled/account_faulty.casm.json @@ -42,28 +42,28 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x684", + "0x7c1", "0x482480017fff8000", - "0x683", + "0x7c0", "0x480080007fff8000", "0xa0680017fff8000", "0x9", "0x4824800180007ff5", - "0x55a0", + "0x5668", "0x482480017fff8000", "0x100000000000000000000000000000000", "0x400080007ff47fff", "0x10780017fff7fff", "0x21", "0x4824800180007ff5", - "0x55a0", + "0x5668", "0x400080007ff57fff", "0x482480017ff58000", "0x1", "0x48127ffe7fff8000", "0x480a7ffb7fff8000", "0x1104800180018000", - "0x439", + "0x437", "0x20680017fff7ffd", "0xe", "0x40780017fff7fff", @@ -195,21 +195,21 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x5eb", + "0x728", "0x482480017fff8000", - "0x5ea", + "0x727", "0x480080007fff8000", "0xa0680017fff8000", "0x9", "0x4824800180007fed", - "0x5f64", + "0x602c", "0x482480017fff8000", "0x100000000000000000000000000000000", "0x400080007fec7fff", "0x10780017fff7fff", "0x3e", "0x4824800180007fed", - "0x5f64", + "0x602c", "0x400080007fed7fff", "0x480680017fff8000", "0x1", @@ -241,7 +241,7 @@ "0x48127ff87fff8000", "0x480a7ffb7fff8000", "0x1104800180018000", - "0x387", + "0x385", "0x20680017fff7ffd", "0x12", "0x48127ffa7fff8000", @@ -436,7 +436,7 @@ "0x48127ffa7fff8000", "0x480080007ff88000", "0x1104800180018000", - "0x49e", + "0x50d", "0x20680017fff7ffa", "0x72", "0x20680017fff7ffd", @@ -461,21 +461,21 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x4e1", + "0x61e", "0x482480017fff8000", - "0x4e0", + "0x61d", "0x480080007fff8000", "0xa0680017fff8000", "0x9", "0x4824800180007ff3", - "0x972c", + "0x97f4", "0x482480017fff8000", "0x100000000000000000000000000000000", "0x400080007ff07fff", "0x10780017fff7fff", "0x3c", "0x4824800180007ff3", - "0x972c", + "0x97f4", "0x400080007ff17fff", "0x480680017fff8000", "0x0", @@ -496,7 +496,7 @@ "0x482680017ffb8000", "0x7", "0x1104800180018000", - "0x288", + "0x286", "0x20680017fff7ffd", "0xe", "0x40780017fff7fff", @@ -625,13 +625,15 @@ "0x482480017ff98000", "0x1", "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x2", "0xa0680017fff8000", "0x7", "0x482680017ffa8000", "0x100000000000000000000000000000000", "0x400280007ff97fff", "0x10780017fff7fff", - "0xf8", + "0xf4", "0x4825800180007ffa", "0x0", "0x400280007ff97fff", @@ -657,10 +659,11 @@ "0x480680017fff8000", "0x0", "0x20680017fff7ffe", - "0xcd", + "0xc9", + "0x40137fff7fff8000", "0xa0680017fff8004", "0xe", - "0x4824800180047ffe", + "0x4825800180048000", "0x800000000000000000000000000000000000000000000000000000000000000", "0x484480017ffe8000", "0x110000000000000000", @@ -671,10 +674,10 @@ "0xffffffffffffffeeffffffffffffffff", "0x400080027ff47ffd", "0x10780017fff7fff", - "0xbb", + "0xb6", "0x484480017fff8001", "0x8000000000000000000000000000000", - "0x48307fff80007ffd", + "0x48317fff80008000", "0x480080007ff77ffd", "0x480080017ff67ffd", "0x402480017ffc7ffe", @@ -686,7 +689,8 @@ "0x20680017fff7fff", "0x4", "0x10780017fff7fff", - "0x9e", + "0x99", + "0x400180007ff58001", "0x482480017ff58000", "0x1", "0x48127ff57fff8000", @@ -710,7 +714,7 @@ "0x480680017fff8000", "0x0", "0x20680017fff7ffe", - "0x76", + "0x70", "0x40780017fff7fff", "0x1", "0x48127ff67fff8000", @@ -721,11 +725,11 @@ "0x48127ffa7fff8000", "0x480080007ff88000", "0x1104800180018000", - "0x381", + "0x3ec", "0x20680017fff7ffa", - "0x61", - "0x20680017fff7ffd", "0x5b", + "0x20680017fff7ffd", + "0x55", "0x48307ffb80007ffc", "0x20680017fff7fff", "0x4", @@ -746,59 +750,53 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x3c4", + "0x4fd", "0x482480017fff8000", - "0x3c3", + "0x4fc", "0x480080007fff8000", "0xa0680017fff8000", "0x9", "0x4824800180007ff3", - "0x2404", + "0x631a", "0x482480017fff8000", "0x100000000000000000000000000000000", "0x400080007ff07fff", "0x10780017fff7fff", - "0x2b", + "0x25", "0x4824800180007ff3", - "0x2404", + "0x631a", "0x400080007ff17fff", - "0x480680017fff8000", - "0x0", - "0x482480017ff08000", + "0x482480017ff18000", "0x1", - "0x480680017fff8000", - "0x53656e644d657373616765546f4c31", - "0x400280007ffb7fff", - "0x400280017ffb7ffc", - "0x400280027ffb7ffd", - "0x400280037ffb7ff4", - "0x400280047ffb7ff5", - "0x480280067ffb8000", - "0x20680017fff7fff", - "0x11", + "0x48127ffe7fff8000", + "0x480a7ffb7fff8000", + "0x480a80007fff8000", + "0x480a80017fff8000", + "0x48127ff27fff8000", + "0x48127ff27fff8000", + "0x1104800180018000", + "0x416", + "0x20680017fff7ffd", + "0xe", "0x40780017fff7fff", "0x1", - "0x480680017fff8000", - "0x56414c4944", - "0x400080007ffe7fff", - "0x48127ffb7fff8000", - "0x480280057ffb8000", - "0x482680017ffb8000", - "0x7", + "0x400080007fff7ffe", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", "0x480680017fff8000", "0x0", - "0x48127ffa7fff8000", - "0x482480017ff98000", + "0x48127ffb7fff8000", + "0x482480017ffa8000", "0x1", "0x208b7fff7fff7ffe", - "0x48127ffd7fff8000", - "0x480280057ffb8000", - "0x482680017ffb8000", - "0x9", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", "0x480680017fff8000", "0x1", - "0x480280077ffb8000", - "0x480280087ffb8000", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", "0x208b7fff7fff7ffe", "0x40780017fff7fff", "0x1", @@ -925,9 +923,9 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x311", + "0x450", "0x482480017fff8000", - "0x310", + "0x44f", "0x480080007fff8000", "0xa0680017fff8000", "0x9", @@ -1031,21 +1029,21 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x2a7", + "0x3e6", "0x482480017fff8000", - "0x2a6", + "0x3e5", "0x480080007fff8000", "0xa0680017fff8000", "0x9", "0x4824800180007ff3", - "0x5b7c", + "0x5c44", "0x482480017fff8000", "0x100000000000000000000000000000000", "0x400080007ff27fff", "0x10780017fff7fff", "0x39", "0x4824800180007ff3", - "0x5b7c", + "0x5c44", "0x400080007ff37fff", "0x480680017fff8000", "0x1", @@ -1149,7 +1147,7 @@ "0x400380017ffd7ffc", "0x480280037ffd8000", "0x20680017fff7fff", - "0x1ca", + "0x23b", "0x480280047ffd8000", "0x480080017fff8000", "0x480080037fff8000", @@ -1167,7 +1165,7 @@ "0x48307ffe80007ff9", "0x400280007ffb7fff", "0x10780017fff7fff", - "0x1a7", + "0x218", "0x482480017ff98000", "0x1", "0x48307fff80007ffd", @@ -1179,10 +1177,10 @@ "0x20680017fff7ffe", "0xe", "0x40780017fff7fff", - "0x28", - "0x48127fd77fff8000", - "0x48127fcc7fff8000", - "0x48127fcc7fff8000", + "0x29", + "0x48127fd67fff8000", + "0x48127fcb7fff8000", + "0x48127fcb7fff8000", "0x480680017fff8000", "0x0", "0x480680017fff8000", @@ -1195,7 +1193,7 @@ "0x20680017fff7fff", "0x24", "0x40780017fff7fff", - "0x23", + "0x24", "0x480680017fff8000", "0x0", "0x4824800180007fff", @@ -1204,9 +1202,9 @@ "0xe", "0x40780017fff7fff", "0x2", - "0x48127fd77fff8000", - "0x48127fcc7fff8000", - "0x48127fcc7fff8000", + "0x48127fd67fff8000", + "0x48127fcb7fff8000", + "0x48127fcb7fff8000", "0x480680017fff8000", "0x0", "0x480680017fff8000", @@ -1219,9 +1217,9 @@ "0x480680017fff8000", "0x496e76616c6964207363656e6172696f", "0x400080007ffe7fff", - "0x48127fd77fff8000", - "0x48127fcc7fff8000", - "0x48127fcc7fff8000", + "0x48127fd67fff8000", + "0x48127fcb7fff8000", + "0x48127fcb7fff8000", "0x480680017fff8000", "0x1", "0x48127ffa7fff8000", @@ -1233,21 +1231,21 @@ "0x20680017fff7fff", "0x70", "0x40780017fff7fff", - "0x15", + "0x16", "0x480680017fff8000", "0x1", - "0x48307fdf80007fe0", + "0x48307fde80007fdf", "0xa0680017fff8000", "0x6", "0x48307ffe80007ffd", - "0x400080007fe47fff", + "0x400080007fe37fff", "0x10780017fff7fff", "0x54", "0x482480017ffd8000", "0x1", "0x48307fff80007ffd", - "0x400080007fe37fff", - "0x48307ffb7fdb8000", + "0x400080007fe27fff", + "0x48307ffb7fda8000", "0x40780017fff7fff", "0x1", "0x480080007ffe8000", @@ -1258,39 +1256,39 @@ "0x484480017ffe8000", "0x110000000000000000", "0x48307ffe7fff8002", - "0x480080017fdc7ffc", - "0x480080027fdb7ffc", + "0x480080017fdb7ffc", + "0x480080027fda7ffc", "0x402480017ffb7ffd", "0xffffffffffffffeeffffffffffffffff", - "0x400080037fda7ffd", + "0x400080037fd97ffd", "0x10780017fff7fff", "0x2d", "0x484480017fff8001", "0x8000000000000000000000000000000", "0x48307fff80007ffd", - "0x480080017fdd7ffd", - "0x480080027fdc7ffd", + "0x480080017fdc7ffd", + "0x480080027fdb7ffd", "0x402480017ffc7ffe", "0xf8000000000000000000000000000000", - "0x400080037fdb7ffe", + "0x400080037fda7ffe", "0x480680017fff8000", "0x1b1a0649752af1b28b3dc29a1556eee781e4a4c3a1f7f53f90fa834de098c4d", - "0x482480017fda8000", + "0x482480017fd98000", "0x4", "0x480680017fff8000", "0x43616c6c436f6e7472616374", - "0x400080007fcf7fff", - "0x400080017fcf7fce", - "0x400080027fcf7ff7", - "0x400080037fcf7ffd", - "0x400080047fcf7ff6", - "0x400080057fcf7ff6", - "0x480080077fcf8000", + "0x400080007fce7fff", + "0x400080017fce7fcd", + "0x400080027fce7ff7", + "0x400080037fce7ffd", + "0x400080047fce7ff6", + "0x400080057fce7ff6", + "0x480080077fce8000", "0x20680017fff7fff", "0xd", "0x48127ffd7fff8000", - "0x480080067fcd8000", - "0x482480017fcc8000", + "0x480080067fcc8000", + "0x482480017fcb8000", "0xa", "0x480680017fff8000", "0x0", @@ -1300,13 +1298,13 @@ "0x56414c4944", "0x208b7fff7fff7ffe", "0x48127ffd7fff8000", - "0x480080067fcd8000", - "0x482480017fcc8000", + "0x480080067fcc8000", + "0x482480017fcb8000", "0xa", "0x480680017fff8000", "0x1", - "0x480080087fca8000", - "0x480080097fc98000", + "0x480080087fc98000", + "0x480080097fc88000", "0x208b7fff7fff7ffe", "0x40780017fff7fff", "0x1", @@ -1315,10 +1313,10 @@ "0x480680017fff8000", "0x4f7074696f6e3a3a756e77726170206661696c65642e", "0x400080007ffe7fff", - "0x482480017fd78000", + "0x482480017fd68000", "0x4", - "0x48127fcc7fff8000", - "0x48127fcc7fff8000", + "0x48127fcb7fff8000", + "0x48127fcb7fff8000", "0x480680017fff8000", "0x1", "0x48127ffa7fff8000", @@ -1332,10 +1330,10 @@ "0x480680017fff8000", "0x496e646578206f7574206f6620626f756e6473", "0x400080007ffe7fff", - "0x482480017fd78000", + "0x482480017fd68000", "0x1", - "0x48127fcc7fff8000", - "0x48127fcc7fff8000", + "0x48127fcb7fff8000", + "0x48127fcb7fff8000", "0x480680017fff8000", "0x1", "0x48127ffa7fff8000", @@ -1347,20 +1345,20 @@ "0x20680017fff7fff", "0x22", "0x40780017fff7fff", - "0x22", + "0x23", "0x480680017fff8000", "0x0", "0x480680017fff8000", "0x476574426c6f636b48617368", - "0x400080007fcf7fff", - "0x400080017fcf7fce", - "0x400080027fcf7ffe", - "0x480080047fcf8000", + "0x400080007fce7fff", + "0x400080017fce7fcd", + "0x400080027fce7ffe", + "0x480080047fce8000", "0x20680017fff7fff", "0xd", - "0x48127fd77fff8000", - "0x480080037fcd8000", - "0x482480017fcc8000", + "0x48127fd67fff8000", + "0x480080037fcc8000", + "0x482480017fcb8000", "0x6", "0x480680017fff8000", "0x0", @@ -1369,79 +1367,192 @@ "0x480680017fff8000", "0x56414c4944", "0x208b7fff7fff7ffe", - "0x48127fd77fff8000", - "0x480080037fcd8000", - "0x482480017fcc8000", + "0x48127fd67fff8000", + "0x480080037fcc8000", + "0x482480017fcb8000", "0x7", "0x480680017fff8000", "0x1", - "0x480080057fca8000", - "0x480080067fc98000", + "0x480080057fc98000", + "0x480080067fc88000", "0x208b7fff7fff7ffe", "0x4824800180007ffb", + "0x8", + "0x20680017fff7fff", + "0x6f", + "0x40780017fff7fff", + "0x14", + "0x480680017fff8000", + "0xf", + "0xa0680017fff8004", + "0xe", + "0x4824800180047ffe", + "0x800000000000000000000000000000000000000000000000000000000000000", + "0x484480017ffe8000", + "0x110000000000000000", + "0x48307ffe7fff8002", + "0x480080007fe27ffc", + "0x480080017fe17ffc", + "0x402480017ffb7ffd", + "0xffffffffffffffeeffffffffffffffff", + "0x400080027fe07ffd", + "0x10780017fff7fff", + "0x4c", + "0x484480017fff8001", + "0x8000000000000000000000000000000", + "0x48307fff80007ffd", + "0x480080007fe37ffd", + "0x480080017fe27ffd", + "0x402480017ffc7ffe", + "0xf8000000000000000000000000000000", + "0x400080027fe17ffe", + "0x480680017fff8000", + "0x1", + "0x48307fd880007fd9", + "0xa0680017fff8000", + "0x6", + "0x48307ffe80007ffd", + "0x400080037fdd7fff", + "0x10780017fff7fff", + "0x2a", + "0x482480017ffd8000", + "0x1", + "0x48307fff80007ffd", + "0x400080037fdc7fff", + "0x48307ffb7fd48000", + "0x480680017fff8000", + "0x0", + "0x480080007ffe8000", + "0x482480017fd98000", + "0x4", + "0x480680017fff8000", + "0x53746f726167655772697465", + "0x400080007fce7fff", + "0x400080017fce7fcd", + "0x400080027fce7ffc", + "0x400080037fce7ff0", + "0x400080047fce7ffd", + "0x480080067fce8000", + "0x20680017fff7fff", + "0xd", + "0x48127ffd7fff8000", + "0x480080057fcc8000", + "0x482480017fcb8000", + "0x7", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x56414c4944", + "0x208b7fff7fff7ffe", + "0x48127ffd7fff8000", + "0x480080057fcc8000", + "0x482480017fcb8000", + "0x9", + "0x480680017fff8000", + "0x1", + "0x480080077fc98000", + "0x480080087fc88000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x5", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x496e646578206f7574206f6620626f756e6473", + "0x400080007ffe7fff", + "0x482480017fd68000", + "0x4", + "0x48127fcb7fff8000", + "0x48127fcb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x8", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4f7074696f6e3a3a756e77726170206661696c65642e", + "0x400080007ffe7fff", + "0x482480017fd68000", + "0x3", + "0x48127fcb7fff8000", + "0x48127fcb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x4824800180007ffa", "0x4", "0x20680017fff7fff", "0xc1", "0x480680017fff8000", "0x1", - "0x48307ff280007ff3", + "0x48307ff180007ff2", "0xa0680017fff8000", "0x6", "0x48307ffe80007ffd", - "0x400080007ff77fff", + "0x400080007ff67fff", "0x10780017fff7fff", "0xa7", "0x482480017ffd8000", "0x1", "0x48307fff80007ffd", - "0x400080007ff67fff", - "0x48307ffb7fee8000", + "0x400080007ff57fff", + "0x48307ffb7fed8000", "0x480680017fff8000", "0x2", "0x480080007ffe8000", - "0x48307feb80007fec", + "0x48307fea80007feb", "0xa0680017fff8000", "0x6", "0x48307ffe80007ffc", - "0x400080017ff07fff", + "0x400080017fef7fff", "0x10780017fff7fff", "0x87", "0x482480017ffc8000", "0x1", "0x48307fff80007ffd", - "0x400080017fef7fff", - "0x48307ffa7fe78000", + "0x400080017fee7fff", + "0x48307ffa7fe68000", "0x480680017fff8000", "0x3", "0x480080007ffe8000", - "0x48307fe480007fe5", + "0x48307fe380007fe4", "0xa0680017fff8000", "0x6", "0x48307ffe80007ffc", - "0x400080027fe97fff", + "0x400080027fe87fff", "0x10780017fff7fff", "0x67", "0x482480017ffc8000", "0x1", "0x48307fff80007ffd", - "0x400080027fe87fff", - "0x48307ffa7fe08000", - "0x482480017fe78000", + "0x400080027fe77fff", + "0x48307ffa7fdf8000", + "0x482480017fe68000", "0x3", "0x480080007ffe8000", "0x480680017fff8000", "0x476574457865637574696f6e496e666f", - "0x400080007fdb7fff", - "0x400080017fdb7fda", - "0x480080037fdb8000", + "0x400080007fda7fff", + "0x400080017fda7fd9", + "0x480080037fda8000", "0x20680017fff7fff", "0x4d", - "0x480080047fda8000", + "0x480080047fd98000", "0x480080007fff8000", "0x480080007fff8000", "0x48307fec80007fff", - "0x480080027fd68000", - "0x482480017fd58000", + "0x480080027fd58000", + "0x482480017fd48000", "0x5", "0x480080017ffb8000", "0x480080027ffa8000", @@ -1514,13 +1625,13 @@ "0x40780017fff7fff", "0xc", "0x48127ff07fff8000", - "0x480080027fcd8000", - "0x482480017fcc8000", + "0x480080027fcc8000", + "0x482480017fcb8000", "0x6", "0x480680017fff8000", "0x1", - "0x480080047fca8000", - "0x480080057fc98000", + "0x480080047fc98000", + "0x480080057fc88000", "0x208b7fff7fff7ffe", "0x40780017fff7fff", "0x10", @@ -1529,10 +1640,10 @@ "0x480680017fff8000", "0x496e646578206f7574206f6620626f756e6473", "0x400080007ffe7fff", - "0x482480017fd78000", + "0x482480017fd68000", "0x3", - "0x48127fcc7fff8000", - "0x48127fcc7fff8000", + "0x48127fcb7fff8000", + "0x48127fcb7fff8000", "0x480680017fff8000", "0x1", "0x48127ffa7fff8000", @@ -1546,10 +1657,10 @@ "0x480680017fff8000", "0x496e646578206f7574206f6620626f756e6473", "0x400080007ffe7fff", - "0x482480017fd78000", + "0x482480017fd68000", "0x2", - "0x48127fcc7fff8000", - "0x48127fcc7fff8000", + "0x48127fcb7fff8000", + "0x48127fcb7fff8000", "0x480680017fff8000", "0x1", "0x48127ffa7fff8000", @@ -1563,10 +1674,10 @@ "0x480680017fff8000", "0x496e646578206f7574206f6620626f756e6473", "0x400080007ffe7fff", - "0x482480017fd78000", + "0x482480017fd68000", "0x1", - "0x48127fcc7fff8000", - "0x48127fcc7fff8000", + "0x48127fcb7fff8000", + "0x48127fcb7fff8000", "0x480680017fff8000", "0x1", "0x48127ffa7fff8000", @@ -1580,9 +1691,9 @@ "0x480680017fff8000", "0x556e6b6e6f776e207363656e6172696f", "0x400080007ffe7fff", - "0x48127fd77fff8000", - "0x48127fcc7fff8000", - "0x48127fcc7fff8000", + "0x48127fd67fff8000", + "0x48127fcb7fff8000", + "0x48127fcb7fff8000", "0x480680017fff8000", "0x1", "0x48127ffa7fff8000", @@ -1590,7 +1701,7 @@ "0x1", "0x208b7fff7fff7ffe", "0x40780017fff7fff", - "0x2a", + "0x2b", "0x40780017fff7fff", "0x1", "0x480680017fff8000", @@ -1598,8 +1709,8 @@ "0x400080007ffe7fff", "0x482680017ffb8000", "0x1", - "0x48127fcc7fff8000", - "0x48127fcc7fff8000", + "0x48127fcb7fff8000", + "0x48127fcb7fff8000", "0x480680017fff8000", "0x1", "0x48127ffa7fff8000", @@ -1607,7 +1718,7 @@ "0x1", "0x208b7fff7fff7ffe", "0x40780017fff7fff", - "0x38", + "0x39", "0x480a7ffb7fff8000", "0x480280027ffd8000", "0x482680017ffd8000", @@ -1708,116 +1819,323 @@ "0x48127ff87fff8000", "0x482480017ff78000", "0x1", - "0x208b7fff7fff7ffe" - ], - "bytecode_segment_lengths": [ - 128, - 210, - 285, - 268, - 89, - 161, - 474, - 92 - ], - "hints": [ - [ - 0, - [ - { - "TestLessThanOrEqual": { - "lhs": { - "Immediate": "0x0" - }, - "rhs": { - "Deref": { - "register": "FP", - "offset": -6 - } - }, - "dst": { - "register": "AP", - "offset": 0 - } - } - } - ] - ], - [ - 25, - [ - { - "AllocSegment": { - "dst": { - "register": "AP", - "offset": 0 - } - } - } - ] - ], - [ - 44, - [ - { - "TestLessThanOrEqual": { - "lhs": { - "Immediate": "0x55a0" - }, - "rhs": { - "Deref": { - "register": "AP", - "offset": -10 - } - }, - "dst": { - "register": "AP", - "offset": 0 - } - } - } - ] - ], - [ - 64, - [ - { - "AllocSegment": { - "dst": { - "register": "AP", - "offset": 0 - } - } - } - ] - ], - [ - 84, - [ - { - "AllocSegment": { - "dst": { - "register": "AP", - "offset": 0 - } - } - } - ] - ], - [ - 99, - [ - { - "AllocSegment": { - "dst": { - "register": "AP", - "offset": 0 - } - } - } - ] - ], - [ + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x476574457865637574696f6e496e666f", + "0x400280007ff97fff", + "0x400380017ff97ff8", + "0x480280037ff98000", + "0x20680017fff7fff", + "0xbe", + "0x480280047ff98000", + "0x480080017fff8000", + "0x480080037fff8000", + "0x480080047ffe8000", + "0x480680017fff8000", + "0x0", + "0x480280027ff98000", + "0x482680017ff98000", + "0x5", + "0x480080037ffa8000", + "0x480080047ff98000", + "0x48307ff980007ffa", + "0xa0680017fff8000", + "0x6", + "0x48307ffe80007ff9", + "0x400280007ff77fff", + "0x10780017fff7fff", + "0x9b", + "0x482480017ff98000", + "0x1", + "0x48307fff80007ffd", + "0x400280007ff77fff", + "0x48307ff77ff58000", + "0x480080007fff8000", + "0x4824800180007fff", + "0x8", + "0x482680017ff78000", + "0x1", + "0x20680017fff7ffe", + "0x6d", + "0x480680017fff8000", + "0xf", + "0xa0680017fff8004", + "0xe", + "0x4824800180047ffe", + "0x800000000000000000000000000000000000000000000000000000000000000", + "0x484480017ffe8000", + "0x110000000000000000", + "0x48307ffe7fff8002", + "0x480080007ffa7ffc", + "0x480080017ff97ffc", + "0x402480017ffb7ffd", + "0xffffffffffffffeeffffffffffffffff", + "0x400080027ff87ffd", + "0x10780017fff7fff", + "0x4c", + "0x484480017fff8001", + "0x8000000000000000000000000000000", + "0x48307fff80007ffd", + "0x480080007ffb7ffd", + "0x480080017ffa7ffd", + "0x402480017ffc7ffe", + "0xf8000000000000000000000000000000", + "0x400080027ff97ffe", + "0x480680017fff8000", + "0x2", + "0x48307fef80007ff0", + "0xa0680017fff8000", + "0x6", + "0x48307ffe80007ffd", + "0x400080037ff57fff", + "0x10780017fff7fff", + "0x2a", + "0x482480017ffd8000", + "0x1", + "0x48307fff80007ffd", + "0x400080037ff47fff", + "0x48307ffb7feb8000", + "0x480680017fff8000", + "0x0", + "0x480080007ffe8000", + "0x482480017ff18000", + "0x4", + "0x480680017fff8000", + "0x53746f726167655772697465", + "0x400080007fe57fff", + "0x400080017fe57fe4", + "0x400080027fe57ffc", + "0x400080037fe57ff0", + "0x400080047fe57ffd", + "0x480080067fe58000", + "0x20680017fff7fff", + "0xd", + "0x48127ffd7fff8000", + "0x480080057fe38000", + "0x482480017fe28000", + "0x7", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x56414c4944", + "0x208b7fff7fff7ffe", + "0x48127ffd7fff8000", + "0x480080057fe38000", + "0x482480017fe28000", + "0x9", + "0x480680017fff8000", + "0x1", + "0x480080077fe08000", + "0x480080087fdf8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x5", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x496e646578206f7574206f6620626f756e6473", + "0x400080007ffe7fff", + "0x482480017fee8000", + "0x4", + "0x48127fe27fff8000", + "0x48127fe27fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x8", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4f7074696f6e3a3a756e77726170206661696c65642e", + "0x400080007ffe7fff", + "0x482480017fee8000", + "0x3", + "0x48127fe27fff8000", + "0x48127fe27fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0xe", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x53656e644d657373616765546f4c31", + "0x400080007fe57fff", + "0x400080017fe57fe4", + "0x400080027fe57ffe", + "0x400180037fe57ffc", + "0x400180047fe57ffd", + "0x480080067fe58000", + "0x20680017fff7fff", + "0xd", + "0x48127fee7fff8000", + "0x480080057fe38000", + "0x482480017fe28000", + "0x7", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x56414c4944", + "0x208b7fff7fff7ffe", + "0x48127fee7fff8000", + "0x480080057fe38000", + "0x482480017fe28000", + "0x9", + "0x480680017fff8000", + "0x1", + "0x480080077fe08000", + "0x480080087fdf8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x14", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x496e646578206f7574206f6620626f756e6473", + "0x400080007ffe7fff", + "0x482680017ff78000", + "0x1", + "0x48127fe27fff8000", + "0x48127fe27fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x22", + "0x480a7ff77fff8000", + "0x480280027ff98000", + "0x482680017ff98000", + "0x6", + "0x480680017fff8000", + "0x1", + "0x480280047ff98000", + "0x480280057ff98000", + "0x208b7fff7fff7ffe" + ], + "bytecode_segment_lengths": [ + 128, + 210, + 285, + 266, + 89, + 161, + 587, + 92, + 206 + ], + "hints": [ + [ + 0, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 25, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 44, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x5668" + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -10 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 64, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 84, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 99, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ 113, [ { @@ -1871,7 +2189,7 @@ { "TestLessThanOrEqual": { "lhs": { - "Immediate": "0x5f64" + "Immediate": "0x602c" }, "rhs": { "Deref": { @@ -2099,7 +2417,7 @@ { "TestLessThanOrEqual": { "lhs": { - "Immediate": "0x972c" + "Immediate": "0x97f4" }, "rhs": { "Deref": { @@ -2209,7 +2527,7 @@ ] ], [ - 623, + 625, [ { "TestLessThanOrEqual": { @@ -2231,14 +2549,14 @@ ] ], [ - 656, + 659, [ { "TestLessThan": { "lhs": { "Deref": { - "register": "AP", - "offset": -1 + "register": "FP", + "offset": 0 } }, "rhs": { @@ -2253,7 +2571,7 @@ ] ], [ - 660, + 663, [ { "LinearSplit": { @@ -2282,14 +2600,14 @@ ] ], [ - 670, + 673, [ { "LinearSplit": { "value": { "Deref": { - "register": "AP", - "offset": -2 + "register": "FP", + "offset": 0 } }, "scalar": { @@ -2311,7 +2629,7 @@ ] ], [ - 709, + 713, [ { "AllocSegment": { @@ -2324,7 +2642,7 @@ ] ], [ - 729, + 733, [ { "AllocSegment": { @@ -2337,12 +2655,12 @@ ] ], [ - 748, + 752, [ { "TestLessThanOrEqual": { "lhs": { - "Immediate": "0x2404" + "Immediate": "0x631a" }, "rhs": { "Deref": { @@ -2359,22 +2677,7 @@ ] ], [ - 771, - [ - { - "SystemCall": { - "system": { - "Deref": { - "register": "FP", - "offset": -5 - } - } - } - } - ] - ], - [ - 774, + 776, [ { "AllocSegment": { @@ -2387,7 +2690,7 @@ ] ], [ - 798, + 796, [ { "AllocSegment": { @@ -2400,7 +2703,7 @@ ] ], [ - 827, + 825, [ { "AllocSegment": { @@ -2413,7 +2716,7 @@ ] ], [ - 841, + 839, [ { "AllocSegment": { @@ -2426,7 +2729,7 @@ ] ], [ - 862, + 860, [ { "AllocSegment": { @@ -2439,7 +2742,7 @@ ] ], [ - 876, + 874, [ { "AllocSegment": { @@ -2452,7 +2755,7 @@ ] ], [ - 891, + 889, [ { "TestLessThanOrEqual": { @@ -2474,7 +2777,7 @@ ] ], [ - 908, + 906, [ { "AllocSegment": { @@ -2487,7 +2790,7 @@ ] ], [ - 927, + 925, [ { "TestLessThanOrEqual": { @@ -2509,7 +2812,7 @@ ] ], [ - 939, + 937, [ { "AllocSegment": { @@ -2522,7 +2825,7 @@ ] ], [ - 950, + 948, [ { "AllocSegment": { @@ -2535,7 +2838,7 @@ ] ], [ - 965, + 963, [ { "AllocSegment": { @@ -2548,7 +2851,7 @@ ] ], [ - 980, + 978, [ { "TestLessThanOrEqual": { @@ -2570,7 +2873,7 @@ ] ], [ - 1014, + 1012, [ { "AllocSegment": { @@ -2583,12 +2886,12 @@ ] ], [ - 1033, + 1031, [ { "TestLessThanOrEqual": { "lhs": { - "Immediate": "0x5b7c" + "Immediate": "0x5c44" }, "rhs": { "Deref": { @@ -2605,7 +2908,7 @@ ] ], [ - 1079, + 1077, [ { "AllocSegment": { @@ -2618,7 +2921,7 @@ ] ], [ - 1097, + 1095, [ { "AllocSegment": { @@ -2631,7 +2934,7 @@ ] ], [ - 1112, + 1110, [ { "AllocSegment": { @@ -2644,7 +2947,7 @@ ] ], [ - 1126, + 1124, [ { "AllocSegment": { @@ -2657,7 +2960,7 @@ ] ], [ - 1145, + 1143, [ { "SystemCall": { @@ -2672,7 +2975,7 @@ ] ], [ - 1160, + 1158, [ { "TestLessThan": { @@ -2697,7 +3000,7 @@ ] ], [ - 1212, + 1210, [ { "AllocSegment": { @@ -2710,7 +3013,7 @@ ] ], [ - 1235, + 1233, [ { "TestLessThan": { @@ -2735,7 +3038,128 @@ ] ], [ - 1246, + 1244, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 1247, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x800000000000000000000000000000000000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": 4 + } + } + } + ] + ], + [ + 1251, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": 3 + } + }, + "scalar": { + "Immediate": "0x110000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -2 + }, + "y": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 1261, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": -2 + } + }, + "scalar": { + "Immediate": "0x8000000000000000000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -1 + }, + "y": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 1281, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "AP", + "offset": -50 + } + } + } + } + ] + ], + [ + 1306, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 1323, [ { "AllocSegment": { @@ -2748,7 +3172,22 @@ ] ], [ - 1249, + 1351, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "AP", + "offset": -50 + } + } + } + } + ] + ], + [ + 1382, [ { "TestLessThan": { @@ -2770,7 +3209,7 @@ ] ], [ - 1253, + 1386, [ { "LinearSplit": { @@ -2799,7 +3238,7 @@ ] ], [ - 1263, + 1396, [ { "LinearSplit": { @@ -2828,35 +3267,47 @@ ] ], [ - 1283, + 1407, [ { - "SystemCall": { - "system": { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -2 + } + }, + "rhs": { "Deref": { "register": "AP", - "offset": -49 + "offset": -1 } + }, + "dst": { + "register": "AP", + "offset": 0 } } } ] ], [ - 1308, + 1430, [ { - "AllocSegment": { - "dst": { - "register": "AP", - "offset": 0 + "SystemCall": { + "system": { + "Deref": { + "register": "AP", + "offset": -50 + } } } } ] ], [ - 1325, + 1455, [ { "AllocSegment": { @@ -2869,22 +3320,20 @@ ] ], [ - 1353, + 1472, [ { - "SystemCall": { - "system": { - "Deref": { - "register": "AP", - "offset": -49 - } + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 } } } ] ], [ - 1383, + 1494, [ { "TestLessThan": { @@ -2909,7 +3358,7 @@ ] ], [ - 1398, + 1509, [ { "TestLessThan": { @@ -2934,7 +3383,7 @@ ] ], [ - 1413, + 1524, [ { "TestLessThan": { @@ -2959,14 +3408,14 @@ ] ], [ - 1431, + 1542, [ { "SystemCall": { "system": { "Deref": { "register": "AP", - "offset": -37 + "offset": -38 } } } @@ -2974,7 +3423,7 @@ ] ], [ - 1463, + 1574, [ { "AllocSegment": { @@ -2987,7 +3436,7 @@ ] ], [ - 1479, + 1590, [ { "AllocSegment": { @@ -3000,7 +3449,7 @@ ] ], [ - 1495, + 1606, [ { "AllocSegment": { @@ -3013,7 +3462,7 @@ ] ], [ - 1522, + 1633, [ { "AllocSegment": { @@ -3026,7 +3475,7 @@ ] ], [ - 1539, + 1650, [ { "AllocSegment": { @@ -3039,7 +3488,7 @@ ] ], [ - 1556, + 1667, [ { "AllocSegment": { @@ -3052,7 +3501,7 @@ ] ], [ - 1573, + 1684, [ { "AllocSegment": { @@ -3065,7 +3514,7 @@ ] ], [ - 1589, + 1700, [ { "AllocSegment": { @@ -3078,7 +3527,7 @@ ] ], [ - 1615, + 1726, [ { "TestLessThanOrEqual": { @@ -3100,7 +3549,221 @@ ] ], [ - 1687, + 1798, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 1822, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "FP", + "offset": -7 + } + } + } + } + ] + ], + [ + 1837, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -6 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 1857, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x800000000000000000000000000000000000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": 4 + } + } + } + ] + ], + [ + 1861, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": 3 + } + }, + "scalar": { + "Immediate": "0x110000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -2 + }, + "y": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 1871, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": -2 + } + }, + "scalar": { + "Immediate": "0x8000000000000000000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -1 + }, + "y": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 1882, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -2 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 1905, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "AP", + "offset": -27 + } + } + } + } + ] + ], + [ + 1930, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 1947, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 1973, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "AP", + "offset": -27 + } + } + } + } + ] + ], + [ + 1998, [ { "AllocSegment": { @@ -3131,7 +3794,7 @@ }, { "selector": "0x1b1a0649752af1b28b3dc29a1556eee781e4a4c3a1f7f53f90fa834de098c4d", - "offset": 891, + "offset": 889, "builtins": [ "range_check" ] @@ -3155,7 +3818,7 @@ "CONSTRUCTOR": [ { "selector": "0x28ffe4ff0f226a9107253e17a904099aa4f63a02a5621de0576e5aa71bc5194", - "offset": 980, + "offset": 978, "builtins": [ "range_check" ] diff --git a/crates/blockifier/feature_contracts/cairo1/sierra/account_faulty.sierra.json b/crates/blockifier/feature_contracts/cairo1/sierra/account_faulty.sierra.json index ae1970af733..9dd12be19d0 100644 --- a/crates/blockifier/feature_contracts/cairo1/sierra/account_faulty.sierra.json +++ b/crates/blockifier/feature_contracts/cairo1/sierra/account_faulty.sierra.json @@ -6,15 +6,15 @@ "0x2", "0x9", "0x0", - "0x19e", - "0x62", - "0x3e", + "0x1da", + "0x26", + "0x43", "0x52616e6765436865636b", "0x800000000000000100000000000000000000000000000000", "0x436f6e7374", "0x800000000000000000000000000000000000000000000002", "0x1", - "0x1b", + "0x1e", "0x2", "0x556e6b6e6f776e207363656e6172696f", "0x424c4f434b5f4e554d4245525f4d49534d41544348", @@ -29,9 +29,12 @@ "0x3808c701a5d13e100ab11b6c02f91f752ecae7e420d21b56c90ec0a475cc7e5", "0x5", "0x6", - "0x16", + "0x19", "0x3", "0x4", + "0x53746f7261676541646472657373", + "0xf", + "0x8", "0x496e646578206f7574206f6620626f756e6473", "0x4f7074696f6e3a3a756e77726170206661696c65642e", "0x1b1a0649752af1b28b3dc29a1556eee781e4a4c3a1f7f53f90fa834de098c4d", @@ -40,47 +43,50 @@ "0x753332", "0x4172726179", "0x800000000000000300000000000000000000000000000001", - "0x1c", + "0x1f", "0x536e617073686f74", "0x800000000000000700000000000000000000000000000001", - "0x17", + "0x1a", "0x800000000000000700000000000000000000000000000002", "0x1597b831feeb60c71f259624b79cf66995ea4f7e383403583674ab9c33b9cec", - "0x18", + "0x1b", "0x75313238", "0x66656c74323532", "0x3342418ef16b3e2799b906b1e4e89dbb9b111332dd44f72458ce44f9895b508", - "0x1a", "0x1d", + "0x20", "0x1baeba72e79e9db2587cf44fedb2f3700b2075a5e8e39a562584862c4b71f62", - "0x1e", + "0x21", "0x80000000000000070000000000000000000000000000000e", "0x348a62b7a38c0673e61e888d83a3ac1bf334ee7361a8514593d3d9532ed8b39", - "0x1f", - "0x19", + "0x22", + "0x1c", "0x426f78", - "0x20", + "0x23", "0x7", "0x800000000000000700000000000000000000000000000006", "0x7d4d99e9ed8d285b5c61b493cedb63976bc3d9da867933d829f49ce838b5e7", - "0x22", - "0x21", - "0x23", + "0x25", + "0x24", + "0x26", "0x800000000000000f00000000000000000000000000000001", + "0x29a02530bac70a6d5878fc0c5cb42f1926cd91d9162685c15f1be12819caf78", + "0x556e696e697469616c697a6564", + "0x800000000000000200000000000000000000000000000001", "0x2ee1e2b1b89f8c495f200e4956278a4d47395fe262f27b52e5865c9524c08c3", "0x456e756d", "0x800000000000000300000000000000000000000000000003", "0x17b6ecc31946835b0d9d92c2dd7a9c14f29af0371571ae74a1b228828b2242", - "0x26", - "0x27", + "0x2b", + "0x2c", "0x16a4c8d7c05909052238a862d8cc3e7975bf05a07b3a69c6b28951083a6d672", - "0x29", + "0x2e", "0x34f9bd7c6cb2dd4263175964ad75f1ff1461ddc332fbfb274e0fb2a5d7ab968", - "0x28", - "0x2a", + "0x2d", + "0x2f", "0x800000000000000700000000000000000000000000000003", "0x29d7d57c04a880978e7b3689f6218e507f3be17588744b58dc17762447ad0e7", - "0x2c", + "0x31", "0x11c6d8087e00642489f92d2821ad6ebd6532ad1a3b6d12833da6d6810391511", "0x4661696c656420746f20646573657269616c697a6520706172616d202332", "0x4661696c656420746f20646573657269616c697a6520706172616d202333", @@ -90,14 +96,14 @@ "0x4661696c656420746f20646573657269616c697a6520706172616d202331", "0x4f7574206f6620676173", "0x10203be321c62a7bd4c060d69539c1fbe065baa9e253c74d2cc48be163e259", - "0x37", + "0x3c", "0x4275696c74696e436f737473", "0x53797374656d", "0x9931c641b913035ae674b400b61a51476d506bbe8bba2ff8a6272790aba9e6", - "0x36", + "0x3b", "0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473", "0x4761734275696c74696e", - "0x83", + "0x90", "0x7265766f6b655f61705f747261636b696e67", "0x77697468647261775f676173", "0x6272616e63685f616c69676e", @@ -108,63 +114,71 @@ "0x64726f70", "0x61727261795f6e6577", "0x636f6e73745f61735f696d6d656469617465", - "0x3c", + "0x41", "0x61727261795f617070656e64", "0x7374727563745f636f6e737472756374", "0x656e756d5f696e6974", - "0x3b", - "0x3d", - "0x3a", + "0x40", + "0x42", + "0x3f", "0x6765745f6275696c74696e5f636f737473", - "0x39", + "0x3e", "0x77697468647261775f6761735f616c6c", "0x66756e6374696f6e5f63616c6c", "0x656e756d5f6d61746368", - "0x38", + "0x3d", "0x736e617073686f745f74616b65", - "0x35", - "0x34", + "0x3a", + "0x39", "0x72656e616d65", "0x656e61626c655f61705f747261636b696e67", "0x66656c743235325f69735f7a65726f", - "0x32", + "0x37", "0x6a756d70", - "0x33", + "0x38", "0x64697361626c655f61705f747261636b696e67", "0x626f6f6c5f6e6f745f696d706c", - "0x31", - "0x30", - "0x2f", - "0x2e", + "0x36", + "0x35", + "0x34", + "0x33", "0x21adb5788e32c84f69a1863d85ef9394b7bf761a0ce1190f826984e5075c371", - "0x2d", - "0x2b", - "0x25", + "0x32", + "0x30", + "0x2a", "0x73656e645f6d6573736167655f746f5f6c315f73797363616c6c", + "0x616c6c6f635f6c6f63616c", + "0x66696e616c697a655f6c6f63616c73", + "0x73746f72655f6c6f63616c", + "0x28", + "0x29", "0x6765745f657865637574696f6e5f696e666f5f76325f73797363616c6c", - "0x24", - "0x15", + "0x27", + "0x18", "0x61727261795f676574", "0x647570", - "0x14", + "0x17", "0x66656c743235325f737562", + "0x16", + "0x15", + "0x14", "0x13", "0x12", + "0x63616c6c5f636f6e74726163745f73797363616c6c", "0x11", "0x10", - "0xf", - "0x63616c6c5f636f6e74726163745f73797363616c6c", "0xe", + "0x6765745f626c6f636b5f686173685f73797363616c6c", "0xd", "0xc", + "0x1ad5911ecb88aa4a50482c4de3232f196cfcaf7bd4e9c96d22b283733045007", + "0x73746f726167655f77726974655f73797363616c6c", "0xb", - "0x6765745f626c6f636b5f686173685f73797363616c6c", "0xa", "0x9", - "0x8", "0x7536345f746f5f66656c74323532", "0x636f6e74726163745f616464726573735f746f5f66656c74323532", - "0x598", + "0x6a0", "0xffffffffffffffff", "0x55", "0x47", @@ -181,11 +195,6 @@ "0xb9", "0xc7", "0xd3", - "0x3f", - "0x40", - "0x41", - "0x42", - "0x43", "0x44", "0x45", "0x46", @@ -264,75 +273,74 @@ "0x80", "0x81", "0x82", - "0x2c5", - "0x210", - "0x215", - "0x2b4", + "0x83", + "0x2d9", + "0x213", + "0x218", + "0x2c6", + "0x2c1", "0x2b0", - "0x2a1", - "0x226", - "0x22b", - "0x28f", - "0x288", - "0x282", - "0x24f", + "0x22a", + "0x22f", + "0x29c", + "0x293", + "0x28b", + "0x255", + "0x27b", "0x274", - "0x26b", - "0x295", - "0x2b8", - "0x306", - "0x2e8", - "0x2f9", - "0x399", - "0x38b", - "0x326", - "0x32b", - "0x33d", - "0x37d", + "0x2a4", + "0x2cc", + "0x31c", + "0x2fe", + "0x30f", + "0x3af", + "0x3a1", + "0x33c", + "0x341", "0x353", - "0x356", - "0x35e", - "0x36b", - "0x376", - "0x547", - "0x539", - "0x3dc", - "0x403", - "0x3f5", - "0x450", - "0x443", - "0x435", - "0x42c", - "0x470", - "0x467", - "0x52a", + "0x393", + "0x369", + "0x36c", + "0x374", + "0x381", + "0x38c", + "0x5a8", + "0x59a", + "0x3f2", + "0x419", + "0x40b", + "0x466", + "0x459", + "0x44b", + "0x442", + "0x486", + "0x47d", + "0x4d1", + "0x4c3", "0x85", - "0x51c", "0x86", "0x87", "0x88", "0x89", "0x8a", + "0x4b5", "0x8b", "0x8c", "0x8d", "0x8e", - "0x50d", "0x8f", - "0x90", + "0x4ac", "0x91", "0x92", "0x93", "0x94", "0x95", "0x97", - "0x4fe", "0x98", "0x99", "0x9a", "0x9b", "0x9c", - "0x4f2", "0x9d", "0x9e", "0x9f", @@ -344,24 +352,24 @@ "0xa5", "0xa6", "0xa7", + "0x58b", "0xa8", "0xa9", "0xaa", "0xab", - "0x4e0", "0xad", "0xae", + "0x57d", "0xb0", - "0x4d0", "0xb1", "0xb2", "0xb3", "0xb4", - "0x4c2", "0xb5", "0xb6", "0xb7", "0xb8", + "0x56e", "0xba", "0xbb", "0xbc", @@ -370,11 +378,13 @@ "0xbf", "0xc0", "0xc1", + "0x55f", "0xc2", "0xc3", "0xc4", "0xc5", "0xc6", + "0x553", "0xc8", "0xc9", "0xca", @@ -389,13 +399,16 @@ "0xd4", "0xd5", "0xd6", + "0x541", "0xd7", "0xd8", "0xd9", + "0x531", "0xdb", "0xdc", "0xdd", "0xde", + "0x523", "0xdf", "0xe0", "0xe1", @@ -411,468 +424,595 @@ "0xec", "0xed", "0xee", - "0x589", - "0x55f", - "0x56b", - "0x570", - "0x57e", + "0xef", + "0xf0", + "0xf1", + "0xf2", + "0xf3", + "0xf4", + "0xf5", + "0xf7", + "0xf8", + "0xf9", + "0xfa", + "0xfb", + "0xfc", + "0xfd", + "0xfe", + "0xff", + "0x100", + "0x101", + "0x102", + "0x103", + "0x105", + "0x106", + "0x107", + "0x108", + "0x109", + "0x10a", + "0x10b", + "0x10c", + "0x10d", + "0x10e", + "0x10f", + "0x110", + "0x111", + "0x113", + "0x114", + "0x115", + "0x116", + "0x117", + "0x118", + "0x5ea", + "0x5c0", + "0x5cc", + "0x5d1", + "0x5df", + "0x696", + "0x687", + "0x66c", + "0x65e", + "0x650", + "0x647", + "0x67e", "0x120", "0x202", - "0x2d3", - "0x314", - "0x3a7", - "0x550", - "0x2f64", + "0x2e9", + "0x32a", + "0x3bd", + "0x5b1", + "0x5f9", + "0x37d4", "0x2c0e0602810060a038180a04018240e06028100608038180a04018080200", "0xc0e070a81408030b01c2a050200c280509814260509044200f068381a0c", - "0x180a04018600e06028100616038180a04018440e13028100617038180a04", - "0xc36070301408030381c0c050200c0a070a81408030d01c0c050200c3207", - "0x8c0a22108800a1f0f0343a11038540a04018140e0602810061c038180a04", - "0x144421030143e1e1501426050301452110803c1a280689c4c0512844480f", - "0xc40a06028180a06028c00a2a028500a06028bc222e078b40a2c088901e2b", - "0x1470051b8146c111a83c6805110c86605110c860050a8142a05180145405", - "0xfc0a2b028f8223d1e0ec223a078440e06028100639028886406028500a14", - "0x148805218447a3c1581484051d8447a0f20844740f2001460051d8447a0f", - "0x1280e0602810063f028180a4908918783f029200a47089187806028886445", - "0x14080303014444e1f8147e05268448c3c2601c0c050200c9607030140803", - "0x1480a51088f47806028ec2224078c00a3b088901e50038180a040193c0e06", - "0x44b6112d16404582b81c0c050200c8a052b014aa111e8f004540694c8a05", - "0x1845a05029780c05029840c05029800c050297c220502978600502974225c", - "0x1080a05330180a05328180a052f1900a05318180a05311200a05308b40a05", - "0x140a5e089acd00502978d40502978d205029780a07340140e67228140a66", - "0xc00a05330ac0a05308ac0a05389480a052e9c00a05378502c0537044da6c", - "0x1d40c05029d0600502984e6050298ce4050298c2207340140e672b0140a66", - "0x1dc0a07339e40a0530844f07702814bc05039dc0a07338fc0a0533044ec11", - "0x18cf8050298c7e0502984ee05029bcee05029c4227b3b8140a61089e82207", - "0x1fc0a05378140e7f0281cce7f02814bc11039fc0a07339f80a05319f40a05", - "0x1790205029bc0a07408140e67408140a5e0881d02050399c2805029842280", - "0x20c0a05319000a05379100a052ea080a05378d02c05370ac0a052f0c00a05", - "0x140a5d1c8140a60430140a5e08a14a405029848405029848a05029742284", - "0x14c23102814c22a02814c23302814ba3302814c03802814bc3702814c239", - "0x2249005029780c0502a202a05029785a05029d10e050298c6005029c42a05", - "0x2300a0531845168a02814c67002814bc11039c00a07339480a05330180a05", - "0x140a6308a4520050298d1e050298d1c050298c0a07380140e67468140a63", - "0x2600a0531a5c0a05318452c1302814bc9502814c69402814c69302814c692", - "0x26c280502978229a1a0140a5d1a0140a601b8140a5e1c0140a614c8140a63", - "0x440e400281cce0502814c60702814c61302814c21602814c61702814c611", - "0x2700a07410140e670281c80050399d0405029782207410140e67220140a66", - "0x44229d028440e111a0500e9e0985c0e9d03814220702844229d028442211", - "0x2540a9f4ba600e9d03a640a130885c0a9d0285c0a1708a640a9d028580a16", - "0x2740a9802a6422114e81528051a04528054e8152e050a044229d028440e11", - "0x453a0549815301108a740a110384520051524926074e81d3005098453005", - "0x2740a8e02a4c228e02a740a114a0451e054e8142295088453a05490152e11", - "0x2280a9d02a3518074784518054e814229008a340a9d02a391e07490451c05", - "0x151811098153a05098151a110b8153a050b8142e11438153a05450151c11", - "0x26022114e814220708a1c0e130b85c0a8702a740a8702a28220702a740a07", - "0x1c2a130b85846110a8153a050a8142a110a8153a0508a1c22114e8152005", - "0x144c054684446054e81446050b844229d028440e11150c40e6a1308c0e9d", - "0x146211168ac40060ba740a071308c2c260881c0a9d0281c0a8c088980a9d", - "0x2740a30028a8223802a740a114a844229d028440e1119814f23002a740e2d", - "0x453a0543014401141a180e9d028e40a06088e40a9d028dc7007490446e05", - "0x142e11220153a05200146011200153a051f8145a111f8153a05418145611", - "0x2740a4402a28222b02a740a2b02a30222002a740a2002a34220602a740a06", - "0x140c050b84484054e814660547044229d028440e11220ac40060b8148805", - "0x1080a9d029080a8a088ac0a9d028ac0a8c088800a9d028800a8d088180a9d", - "0x4504054e8142233089140a9d028452a1108a740a1103844842b100182e05", - "0x2040e8f08a040a9d028452011240153a05411140e9208a080a9d02a080a93", - "0x2740a2a02a34223102a740a310285c227e02a740a7f02a38227f02a740a48", - "0x440e113f01c54310b814fc054e814fc05450440e054e8140e05460445405", - "0x1526113e0153a05088e0227d02a740a114a844229d02a540a98088453a05", - "0x14ee7903a3c227902a740a1148044ee054e814f87d03a48227c02a740a7c", - "0x4c0a9d0284c0a8d0885c0a9d0285c0a17089c80a9d029cc0a8e089cc0a9d", - "0x2740a1103844e4070985c2e05390153a05390151411038153a05038151811", - "0x14a40549844a4054e8142233089580a9d028452a1108a740a16028dc2211", - "0x153a05381b00e8f089b00a9d028452011380153a05291580e92089480a9d", - "0x230223402a740a3402a34221402a740a140285c226802a740a6a02a38226a", - "0x44229d0284422113401c68140b814d0054e814d005450440e054e8140e05", - "0x2640a9d028580a16088453a050881c22340a01d40130b81d3a07028440e05", - "0x44229d028440e114a81542974c01d3a074c81426110b8153a050b8142e11", - "0x1d30050984530054e81530054c844229d02a500a3408a500a9d02a5c0a14", - "0x2740a8f028d0228f02a740a920285022114e814220708a400aa24924c0e9d", - "0x453a050881c228c02a8d1a8e03a740e930284c229302a740a9302a642211", - "0x150e0549844229d028450c11438153a05450147211450153a05468142811", - "0x453a050881c221502a90229d03a1c0a8308a380a9d02a380a9908a1c0a9d", - "0x142242088c40a9d028980a44088980a9d0288c0a400888c0a9d028447e11", - "0x1454054104454054e814223f088453a050a8148a1108a740a110384422a5", - "0x142207088b40aa6158800e9d03a380a13088c40a9d028180a44088180a9d", - "0x14620540844229d028ac0a97088453a0510015301108a740a1124044229d", - "0x1d2411198153a05198152611198153a0508a50223002a740a114a844229d", - "0x1472054704472054e814703703a3c223702a740a114804470054e8146630", - "0x1c0a9d0281c0a8c0884c0a9d0284c0a8d0885c0a9d0285c0a1708a180a9d", - "0x44229d02844901108a740a11038450c070985c2e05430153a05430151411", - "0x20c26170b08c228302a740a8302854228302a740a1143844229d028b40a98", - "0x1140a7e089140a9d028c40a7f088453a050881c22422201d4e401f81d3a07", - "0x1fc0a9d02a040a8208a040a9d028447e1108a740a8202a0422484101d3a05", - "0x14fe05220447e054e8147e050b84490054e814900522044229d028450c11", - "0x453a053f014f81108a740a1103844fa05541f80a9d039200a7d089fc0a9d", - "0x2740a110384422a90284484113b8153a053e01488113e0153a053f814fe11", - "0x1cc0aaa3c8153a073b814fa113b8153a053f814881108a740a7d029f02211", - "0x44e4054e8142277088453a053c814f81108a740a1124044229d028440e11", - "0x1c80a93089c00a9d0281c0a8c089480a9d029000a8d089580a9d028fc0a17", - "0x14e6053e044229d02844901108a740a110384422ab028448411360153a05", - "0x440e054e8140e054604480054e8148005468447e054e8147e050b844229d", - "0x14220708ab40aac000153a0734814621134990d06a0ba740a07200fc2c26", - "0x44a4054e814d00546844ac054e814d4050b8455c054e814000515044229d", - "0x1b15e07490455e054e8142295089b00a9d02ab80a93089c00a9d029900a8c", - "0x153a0559014561108a740ab10288022b25881d3a05580140c11580153a05", - "0x234225602a740a560285c229f02a740ab4028c022b402a740ab3028b422b3", - "0x1c0a4560b8153e054e8153e0545044e0054e814e00546044a4054e814a405", - "0x1a00a8d089a80a9d029a80a1708ad40a9d02ab40a8e088453a050881c229f", - "0x456a64341a82e055a8153a055a8151411320153a05320151811340153a05", - "0x456e054e814223308ad80a9d028452a1108a740a3102a0422114e8142207", - "0x2e40e8f08ae40a9d0284520115c0153a055bad80e9208adc0a9d02adc0a93", - "0x2740a4202a34224402a740a440285c22bb02a740aba02a3822ba02a740ab8", - "0x440e115d81c84440b81576054e8157605450440e054e8140e05460448405", - "0x1526115e8153a05089e422bc02a740a114a844229d02a300a98088453a05", - "0x157cbf03a3c22bf02a740a11480457c054e8157abc03a4822bd02a740abd", - "0x4c0a9d0284c0a8d0885c0a9d0285c0a1708b040a9d02b000a8e08b000a9d", - "0x2740a110384582070985c2e05608153a05608151411038153a05038151811", - "0x1584054984584054e814227308a780a9d028452a1108a740a9002a602211", - "0x153a0561b100e8f08b100a9d028452011618153a05612780e9208b080a9d", - "0x230221302a740a1302a34221702a740a170285c22c602a740ac502a3822c5", - "0x44229d028440e116301c26170b8158c054e8158c05450440e054e8140e05", - "0x153a05640152611640153a05088e022c702a740a114a844229d02a540a98", - "0x4596054e81592ca03a3c22ca02a740a114804592054e81590c703a4822c8", - "0x1c0a8c0884c0a9d0284c0a8d0885c0a9d0285c0a1708b300a9d02b2c0a8e", - "0x146e1108a740a110384598070985c2e05660153a05660151411038153a05", - "0x459c054e8159c05498459c054e814223308b340a9d028452a1108a740a16", - "0x151c11688153a0567b400e8f08b400a9d028452011678153a05673340e92", - "0x2740a0702a30223402a740a3402a34221402a740a140285c22d202a740ad1", - "0x14220702844229d0284422116901c68140b815a4054e815a405450440e05", - "0x14228608a640a9d028580a16088453a050881c22340a01da6130b81d3a07", - "0x2740a11038452a056a25d30074e81d3205098442e054e8142e050b844229d", - "0x264229202a740a93029c8229302a740a94028e4229402a740a97028502211", - "0x44229d028440e1108b540a11210451e054e81524052b04520054e8153005", - "0x151a052b04520054e8152a054c8451a054e8151c05290451c054e814223f", - "0x2740e8c0b81cd81108a740a110384514056b2300a9d03a3c0a7008a3c0a9d", - "0x21c0a9d02a1c0a17088453a050a814d41108a740a110384446056b8550e07", - "0x440c054e81462050a044229d028440e1115015b0311301d3a07480142611", - "0x445a056c8ac40074e81c4c05098444c054e8144c054c844229d028180a34", - "0x2740a3002990223302a740a2002a64223002a740a2b029a022114e8142207", - "0x2740a37029a4223702a740a111f844229d028440e1108b680a11210447005", - "0x36d0c054e81c70050004470054e81472053204466054e8145a054c8447205", - "0x2740a114a8447e054e8150c050a044229d02844901108a740a11038450605", - "0x450e054e8150e050b84484054e8147e051c84488054e8146605158448005", - "0x1080a93089000a9d029000aae089100a9d029100aad0884c0a9d0284c0a8d", - "0x37102054e81c9005580449082228593a052110088134384d5e11210153a05", - "0x15ba7c02a740e7d02ac8227d3f01d3a0540815621108a740a1103844fe05", - "0x1580ade391cc0e9d039e40a13089e40a9d029f80a16088453a050881c2277", - "0x453a053e014401108a740a7202a5c22114e814e6054c044229d028440e11", - "0x1c0a40749044e0054e814e00549844e0054e8142294089480a9d028452a11", - "0x153a05340151c11340153a05361a80e8f089a80a9d028452011360153a05", - "0x228220702a740a0702a30228202a740a8202a34224502a740a450285c2264", - "0x21c22114e814ac054c044229d028440e113201d04450b814c8054e814c805", - "0x2b80edf568000e9d039a504450b08c226902a740a6902854226902a740a11", - "0x2c40a2008ac962074e814f8050304560054e81422b3088453a050881c22af", - "0xa9d028000a1708ac00a9d02ac00a9308acc0a9d02ac80a2b088453a05", - "0xa17088453a050881c22b75b2d42ce04fad00e9d03acd60075685d6811", - "0x153eb4000584c114f8153a054f81518115a0153a055a0151a11000153a05", - "0x142295088453a050881c22bd02b8578054e81d76051884576ba5cae02e9d", - "0x1d3a05600140c11600153a055faf80e9208afc0a9d02af00a2a08af80a9d", - "0xc022c302a740ac2028b422c202a740a9e028ac22114e8158205100453cc1", - "0x1574054604572054e81572054684570054e81570050b84588054e8158605", - "0x2f40a9f088453a050881c22c45d2e5701702b100a9d02b100a8a08ae80a9d", - "0x153a055c8151a11638153a055c0142e1108a740ac502ad422c66281d3a05", - "0x14220708845c4050890822ca02a740ac602ab822c902a740aba02a3022c8", - "0x4592054e8156c054604590054e8156a05468458e054e81400050b844229d", - "0x3300a8e08b300a9d02b2996074784596054e814229008b280a9d02adc0aae", - "0x153a05648151811640153a05640151a11638153a05638142e11668153a05", - "0x2740a7c0288022114e814220708b3592c86385c0acd02a740acd02a2822c9", - "0x3380e9208b3c0a9d02b3c0a9308b3c0a9d028446611670153a0508a542211", - "0x2740ad202a3822d202a740ad06881d1e11688153a0508a4022d002a740acf", - "0x440e054e8140e05460455e054e8155e05468455c054e8155c050b845c605", - "0x44229d029dc0a7c088453a050881c22e303abd5c1702b8c0a9d02b8c0a8a", - "0x3980a1121045ca054e815040546845c8054e8148a050b844229d029f80a37", - "0x2080a8d089140a9d029140a1708b9c0a9d029fc0a8e088453a050881c2211", - "0x45ce07411142e05738153a05738151411038153a05038151811410153a05", - "0x5c22114e81466054c044229d02a0c0a7c088453a050892022114e8142207", - "0x153a05089e422e802a740a114a845ca054e814260546845c8054e8150e05", - "0x23c22eb02a740a1148045d4054e815d2e803a4822e902a740ae902a4c22e9", - "0x3940a8d08b900a9d02b900a1708bb40a9d02bb00a8e08bb00a9d02ba9d607", - "0x45da0772b902e05768153a05768151411038153a05038151811728153a05", - "0x1cc22ee02a740a114a844229d028a80a98088453a050892022114e8142207", - "0x2740a1148045e0054e815deee03a4822ef02a740aef02a4c22ef02a740a11", - "0x21c0a9d02a1c0a1708bcc0a9d02bc80a8e08bc80a9d02bc1e20747845e205", - "0x21c2e05798153a05798151411038153a05038151811098153a05098151a11", - "0x4484117a0153a05118142e1108a740a9002a6022114e814220708bcc0e13", - "0x5c0a17088453a0548015301108a740a8a029f022114e814220708845ea05", - "0x1526117b8153a05088e022f602a740a114a844229d0284490117a0153a05", - "0x15f0f903a3c22f902a740a1148045f0054e815eef603a4822f702a740af7", - "0x4c0a9d0284c0a8d08bd00a9d02bd00a1708bec0a9d02be80a8e08be80a9d", - "0x2740a1103845f60709bd02e057d8153a057d8151411038153a05038151811", - "0x1548054984548054e814223308bf00a9d028452a1108a740a16028dc2211", - "0x153a057ebf80e8f08bf80a9d0284520117e8153a05523f00e9208a900a9d", - "0x230223402a740a3402a34221402a740a140285c225902a740aff02a3822ff", - "0x44229d0284422112c81c68140b814b2054e814b205450440e054e8140e05", - "0x2640a9d028580a16088453a050881c22340a01e00130b81d3a07028440e05", - "0x452a0580a5d30074e81d3205098442e054e8142e050b844229d028450c11", - "0x2740a93029c8229302a740a94028e4229402a740a970285022114e8142207", - "0x440e1108c080a11210451e054e81524052b04520054e81530054c8452405", - "0x4520054e8152a054c8451a054e8151c05290451c054e814223f088453a05", - "0x1cd81108a740a1103845140581a300a9d03a3c0a7008a3c0a9d02a340a56", - "0x21c0a17088453a050a814d41108a740a11038444605820550e074e81d1817", - "0x1462050a044229d028440e11150160a311301d3a07480142611438153a05", - "0xac40074e81c4c05098444c054e8144c054c844229d028180a34088180a9d", - "0x190223302a740a2002a64223002a740a2b029a022114e8142207088b40b06", - "0x1a4223702a740a111f844229d028440e1108c1c0a112104470054e8146005", - "0x1c70050004470054e81472053204466054e8145a054c84472054e8146e05", - "0x447e054e8150c050a044229d02844901108a740a11038450605842180a9d", - "0x150e050b84484054e8147e051c84488054e81466051584480054e8142295", - "0x1000a9d029000aae089100a9d029100aad0884c0a9d0284c0a8d08a1c0a9d", - "0x1c9005580449082228593a052110088134384d5e11210153a05210152611", - "0x2740e7d02ac8227d3f01d3a0540815621108a740a1103844fe0584a040a9d", - "0x1cc0e9d039e40a13089e40a9d029f80a16088453a050881c227702c28f805", - "0x14401108a740a7202a5c22114e814e6054c044229d028440e112b0161672", - "0x44e0054e814e00549844e0054e8142294089480a9d028452a1108a740a7c", - "0x151c11340153a05361a80e8f089a80a9d028452011360153a05381480e92", - "0x2740a0702a30228202a740a8202a34224502a740a450285c226402a740a68", - "0x14ac054c044229d028440e113201d04450b814c8054e814c805450440e05", - "0xe9d039a504450b08c226902a740a6902854226902a740a1143844229d", - "0x2c962074e814f8050304560054e81422b3088453a050881c22af5701e18ad", - "0xa1708ac00a9d02ac00a9308acc0a9d02ac80a2b088453a05588144011", - "0x453a050881c22b75b2d42d0d4fad00e9d03acd60075685d6811000153a05", - "0x2e570074904572054e81572054984572054e814227708ae00a9d028452a11", - "0x153a055e014561108a740abb0288022bc5d81d3a055d0140c115d0153a05", - "0x234220002a740a000285c22bf02a740abe028c022be02a740abd028b422bd", - "0x27d68000b8157e054e8157e05450453e054e8153e054604568054e8156805", - "0x3040a8e08b040a9d02add80074784580054e8142290088453a050881c22bf", - "0x153a055b01518115a8153a055a8151a11000153a05000142e114f0153a05", - "0x2740a7c0288022114e814220708a796cb50005c0a9e02a740a9e02a2822b6", - "0x3080e9208b0c0a9d02b0c0a9308b0c0a9d028446611610153a0508a542211", - "0x2740ac602a3822c602a740ac46281d1e11628153a0508a4022c402a740ac3", - "0x440e054e8140e05460455e054e8155e05468455c054e8155c050b8458e05", - "0x44229d029dc0a7c088453a050881c22c703abd5c1702b1c0a9d02b1c0a8a", - "0x4380a112104592054e81504054684590054e8148a050b844229d029f80a37", - "0x2080a8d089140a9d029140a1708b280a9d029fc0a8e088453a050881c2211", - "0x459407411142e05650153a05650151411038153a05038151811410153a05", - "0x5c22114e81466054c044229d02a0c0a7c088453a050892022114e8142207", - "0x153a05089e422cb02a740a114a84592054e81426054684590054e8150e05", - "0x23c22ce02a740a11480459a054e81598cb03a4822cc02a740acc02a4c22cc", - "0x3240a8d08b200a9d02b200a1708b400a9d02b3c0a8e08b3c0a9d02b359c07", - "0x45a00764b202e05680153a05680151411038153a05038151811648153a05", - "0x1cc22d102a740a114a844229d028a80a98088453a050892022114e8142207", - "0x2740a1148045c6054e815a4d103a4822d202a740ad202a4c22d202a740a11", - "0x21c0a9d02a1c0a1708b9c0a9d02b940a8e08b940a9d02b8dc80747845c805", - "0x21c2e05738153a05738151411038153a05038151811098153a05098151a11", - "0x448411740153a05118142e1108a740a9002a6022114e814220708b9c0e13", - "0x5c0a17088453a0548015301108a740a8a029f022114e8142207088461e05", - "0x152611750153a05088e022e902a740a114a844229d028449011740153a05", - "0x15d6ec03a3c22ec02a740a1148045d6054e815d4e903a4822ea02a740aea", - "0x4c0a9d0284c0a8d08ba00a9d02ba00a1708bb80a9d02bb40a8e08bb40a9d", - "0x2740a1103845dc0709ba02e05770153a05770151411038153a05038151811", - "0x15e00549845e0054e814223308bbc0a9d028452a1108a740a16028dc2211", - "0x153a0578bc80e8f08bc80a9d028452011788153a05783bc0e9208bc00a9d", - "0x230223402a740a3402a34221402a740a140285c22f402a740af302a3822f3", - "0x44229d0284422117a01c68140b815e8054e815e805450440e054e8140e05", - "0x2640a9d028580a16088453a050881c22340a01e20130b81d3a07028440e05", - "0x44229d028440e114a81622974c01d3a074c81426110b8153a050b8142e11", - "0x24c0a9d0284528114a0153a0508a5422114e8152e054b844229d02a600a98", - "0x1d1e11480153a0508a40229202a740a934a01d2411498153a05498152611", - "0x142605468442e054e8142e050b8451c054e8151e05470451e054e8152490", - "0x1c228e0384c2e1702a380a9d02a380a8a0881c0a9d0281c0a8c0884c0a9d", - "0x451a054e8151a050a8451a054e8142287088453a054a815301108a740a11", - "0x8c0a9d028452a1108a740a11038442a8703c49148c03a740e8d0985c2c23", - "0x145a11150153a0518814561108a740a260288022311301d3a05118140c11", - "0x2740a8a02a34228c02a740a8c0285c222002a740a06028c0220602a740a2a", - "0x440e111001d148c0b81440054e8144005450440e054e8140e05460451405", - "0x248222d02a740a2d02a4c222d02a740a111984456054e8142295088453a05", - "0xe00a8e088e00a9d028c066074784466054e8142290088c00a9d028b45607", - "0x153a050381518110a8153a050a8151a11438153a05438142e111b8153a05", - "0x2740a16028dc22114e8142207088dc0e154385c0a3702a740a3702a282207", - "0xe40e9208a180a9d02a180a9308a180a9d0284466111c8153a0508a542211", - "0x2740a4002a38224002a740a831f81d1e111f8153a0508a40228302a740a86", - "0x440e054e8140e054604468054e81468054684428054e81428050b8448805", - "0x1d3a07028440e05088453a05088442244038d02817029100a9d029100a8a", - "0x153a050b8142e114c8153a050b0142c1108a740a1103844681403c4c2617", - "0x2500a9d02a5c0a14088453a050881c229502c512e9803a740e990284c2217", - "0x1530054c84526054e815260549844229d028450c11498153a054a0147211", - "0x4520054e814223f088453a050881c229202c54229d03a4c0a8308a600a9d", - "0x453a050881c22118b014224208a380a9d02a3c0a4408a3c0a9d02a400a40", - "0x1518052204518054e8151a05410451a054e814223f088453a05490148a11", - "0x453a050892022114e8142207088540b1743a280e9d03a600a1308a380a9d", - "0x153a0508a5422114e8151c0540844229d02a1c0a97088453a05450153011", - "0x240223102a740a261181d2411130153a05130152611130153a0508a502223", - "0x142e050b84440054e8140c05470440c054e814622a03a3c222a02a740a11", - "0x800a9d028800a8a0881c0a9d0281c0a8c0884c0a9d0284c0a8d0885c0a9d", - "0x21c22114e8142a054c044229d02844901108a740a110384440070985c2e05", - "0xcc0f18180b40e9d038ac26170b08c222b02a740a2b02854222b02a740a11", - "0x150211430e40e9d028dc0a7e088dc0a9d02a380a7f088453a050881c2238", - "0x11022114e8142286088fc0a9d02a0c0a4008a0c0a9d028447e1108a740a39", - "0x1d0c053e8447e054e8147e05220445a054e8145a050b8450c054e8150c05", - "0x1080a9d028fc0a7f088453a0520014f81108a740a110384488058c9000a9d", - "0x453a0522014f81108a740a1103844231a028448411228153a05210148811", - "0x12022114e8142207089200b1b410153a0722814fa11228153a051f8148811", - "0x1fc0a9d028c00a8d08a040a9d028b40a17088453a0541014f81108a740a11", - "0x44229d02844901108a740a1103844231c0284484113f0153a05038151811", - "0x140e054604460054e8146005468445a054e8145a050b844229d029200a7c", - "0x1c80b1d398153a073c81462113c9dcf87d0ba740a07180b42c260881c0a9d", - "0x2740a7c02a34228102a740a7d0285c22114e814e6055b044229d028440e11", - "0x44e05203a740a5602818225602a740a114a844fc054e814ee0546044fe05", - "0x14d40518044d4054e814d80516844d8054e814e00515844229d029480a20", - "0x1f80a9d029f80a8c089fc0a9d029fc0a8d08a040a9d02a040a17089a00a9d", - "0x153a05390151c1108a740a1103844d07e3fa042e05340153a05340151411", - "0x228227702a740a7702a30227c02a740a7c02a34227d02a740a7d0285c2264", - "0x25422114e8151c0540844229d028440e11321dcf87d0b814c8054e814c805", - "0x2740a003481d2411000153a05000152611000153a05088cc226902a740a11", - "0x4560054e8155e05470455e054e8155aae03a3c22ae02a740a11480455a05", - "0x2c00a8a0881c0a9d0281c0a8c088e00a9d028e00a8d088cc0a9d028cc0a17", - "0x142295088453a054a815301108a740a110384560071c0cc2e05580153a05", - "0x2cc0a9d02ac962074904564054e81564054984564054e814223808ac40a9d", - "0x142e115a8153a054f8151c114f8153a0559ad00e8f08ad00a9d028452011", - "0x2740ab502a28220702a740a0702a30221302a740a1302a34221702a740a17", - "0x153a0508a5422114e8142c051b844229d028440e115a81c26170b8156a05", - "0x24022b802a740ab75b01d24115b8153a055b81526115b8153a05088cc22b6", - "0x1428050b84576054e81574054704574054e81570b903a3c22b902a740a11", - "0x2ec0a9d02aec0a8a0881c0a9d0281c0a8c088d00a9d028d00a8d088500a9d", - "0x2740a110384532340a05a3c130b8582c9d0381c0a075b84576071a0502e05", - "0x2512a9709a740a9802ae8229802a740a1302ae4221302a740a1302ae02211", - "0x2480a34088453a0549814d41108a740a94029a822114e8152e055d8452493", - "0x23d269d02a400abe08a400a9d02a540abd08a540a9d02a540abc088453a05", - "0x44229d02a380a6a088453a054781468111001854311308c2a87452311a8e", - "0x453a050a814681108a740a87028d022114e81514051a044229d02a340abf", - "0x2740a2a02b0422114e81462051b844229d028980abf088453a05118158011", - "0x458411168ac0e9d02a300a9e088453a05100146e1108a740a0602b042211", - "0x153a051c01532111c0153a05198158611198153a05168142c11180153a05", - "0x2b4221702a740a1702a30221602a740a1602a34223002a740a3002b102238", - "0x44229d028440e11430163e391b81d3a07180e022166284456054e8145605", - "0xfc0a93088fc0a9d02a0c0a3908a0c0a9d028e40a14088e40a9d028e40ac6", - "0x2740e4002a0c223702a740a370285c22401f81d3a051f8158e111f8153a05", - "0x44ee1108a740a3f028d022114e81456051b844229d028440e11220164011", - "0x153a051b8142e11410153a05228159211228153a05210159011210153a05", - "0x5c0a8202a740a8202b28221702a740a1702a30221602a740a1602a342237", - "0x158e11240153a0508b2c22114e814880522844229d028440e114105c2c37", - "0x1fc0a83089fc0a9d029fc0a93089fc0a9d02921020766045023f03a740a3f", - "0x44229d028fc0a34088453a05158146e1108a740a1103844fc05908453a07", - "0x14f87d03b30227d02a740a7d02a4c227c02a740a1165844fa054e81422b3", - "0x453a050881c227902c88229d039dc0a83089dc0a9d029dc0a93089dc0a9d", - "0xdc0a17089580a9d029c80ac9089c80a9d029cc0ac8089cc0a9d028459a11", - "0x153a052b01594110b8153a050b81518110b0153a050b0151a111b8153a05", - "0x1480a9d028452a1108a740a790291422114e8142207089582e161b85c0a56", - "0x452011360153a05381480e92089c00a9d029c00a93089c00a9d028459c11", - "0x2740a370285c226402a740a6802b3c226802a740a6c3501d1e11350153a05", - "0x14c8054e814c805650442e054e8142e05460442c054e8142c05468446e05", - "0x31c226902a740a1168044229d029f80a45088453a050881c22640b8586e17", - "0x150611568153a05568152611568153a05348000ecc088007e074e8147e05", - "0x1d3a05158153c1108a740a3f028d022114e814220708ab80b2308a740ead", - "0x158611590153a05580142c11588153a0508b4422114e8155e051b84560af", - "0x2d40b244fad00e9d03ac566370b31422b102a740ab102b1022b302a740ab2", - "0x2740a114a8456c054e8153e050a0453e054e8153e0563044229d028440e11", - "0x2e40e9d03ae168073604570054e81570054984570054e8156c051c8456e05", - "0x457cbd03a740ab70281822bc02a740a1169044229d028440e115d8164aba", - "0x1572050b84578054e8157805498457e054e8157c0515844229d02af40a20", - "0x2740a110384588c36105a4c9e60b002c9d03afd78ba0b85826e308ae40a9d", - "0x3180ac908b180a9d02b140ac808b140a9d02844ee1108a740a9e028dc2211", - "0x153a05608151811600153a05600151a115c8153a055c8142e11638153a05", - "0x153a0508a4022114e814220708b1d82c05c85c0ac702a740ac702b2822c1", - "0x4572054e81572050b84594054e81592056784592054e81588c803a3c22c8", - "0x309721702b280a9d02b280aca08b0c0a9d02b0c0a8c08b080a9d02b080a8d", - "0x2740a117204596054e8142295088453a055b814401108a740a110384594c3", - "0x459c054e814229008b340a9d02b3196074904598054e8159805498459805", - "0x151a115d8153a055d8142e11680153a05678159e11678153a0566b380e8f", - "0x3402e165d85c0ad002a740ad002b28221702a740a1702a30221602a740a16", - "0x153a05690152611690153a0508b9422d102a740a114a844229d028440e11", - "0x45ca054e815c6e403a3c22e402a740a1148045c6054e815a4d103a4822d2", - "0x5c0a8c088580a9d028580a8d08ad40a9d02ad40a1708b9c0a9d02b940acf", - "0x148a1108a740a1103845ce170b2d42e05738153a057381594110b8153a05", - "0x2740ae87481d9811748fc0e9d028fc0ac708ba00a9d02845ce1108a740aae", - "0x44229d028440e11758164e114e81dd40541845d4054e815d40549845d405", - "0x153a0576015d211760153a0508ba022114e8147e051a044229d028ac0a37", - "0x14681108a740a1103845e4f17805a50ef773b42c9d03bb02e160b3a822ec", - "0x3d80a9d02bd00ac908bd00a9d02bcc0ac808bcc0a9d02844ee1108a740aef", - "0x159411770153a05770151811768153a05768151a111b8153a051b8142e11", - "0x1d1e117b8153a0508a4022114e814220708bd9dced1b85c0af602a740af6", - "0x15e005468446e054e8146e050b845f2054e815f00567845f0054e815e4f7", - "0x1c22f978bc06e1702be40a9d02be40aca08bc40a9d02bc40a8c08bc00a9d", - "0x3ec0a9d02be87e0766045f4054e81422eb088453a05758148a1108a740a11", - "0x153c1108a740a1103845f805948453a077d81506117d8153a057d8152611", - "0x2740aff02b0c22ff02a740afd0285822fe02a740a1168845faa403a740a2b", - "0x440e1196016572a5281d3a077f1646e1662845fc054e815fc0562044b205", - "0x4b80e9d02a900a9e08cb40a9d02ca80a1408ca80a9d02ca80ac6088453a05", - "0x158811990153a05988158611988153a05978142c11980153a0508bb0232f", - "0x4d80b359a4cc0e9d03cc264a50b314232d02a740b2d02a4c233002a740b30", - "0x165c054f0466e054e81668050a04668054e816680563044229d028440e11", - "0x4676054e81672050b04674054e81422ed088453a059c0146e119cce00e9d", - "0x4cc2cc508cdc0a9d02cdc0a9308ce80a9d02ce80ac408cf00a9d02cec0ac3", - "0x1428119e8153a059e8158c1108a740a11038467e059f4f54c074e81e753c", - "0x1c2e1603adc234002a740b4002a4c22a602a740aa60285c234002a740b3d", - "0x157211a18153a05a1815701108a740a11038468f46a285a8943a15042c9d", - "0x14d41108a740b4a02bb8234da652e954909a740b4802ae8234802a740b43", - "0x4692054e816920577844229d02d340a34088453a05a6014d41108a740b4b", - "0xe4235202a740b4f02bc82351a853c2c9d02d380af108d380a9d02d240af0", - "0x2a00a9308aa00a9d02d4ea40766046a4054e816a40549846a6054e8165a05", - "0x153a05a8015d211a10153a05a10151811a08153a05a08151a11540153a05", - "0x3c822114e814220708d540b5408a740ea802a0c235102a740b5102bcc2350", - "0x55c0a9308d5c0a9d02aa6ac076604552054e8166e051c846ac054e816a005", - "0x153a05a8815e81108a740a1103846b205ac0453a07ab8150611ab8153a05", - "0x46b8054e816b80549846b8054e816b75a03b30235b02a740b40028e4235a", - "0x16be0564046be054e8142277088453a050881c235e02d74229d03d700a83", - "0x5040a9d02d040a8d08a980a9d02a980a1708d840a9d02d800ac908d800a9d", - "0x2740a1103846c342a0a982e05b08153a05b08159411a10153a05a10151811", - "0x16c40549846c4054e81422f608aa80a9d028452a1108a740b5e029142211", - "0x153a05b1d900e8f08d900a9d028452011b18153a05b12a80e9208d880a9d", - "0x230234102a740b4102a3422a602a740aa60285c236602a740b6502b3c2365", - "0x44229d028440e11b350a82a60b816cc054e816cc056504684054e8168405", - "0x59c0a9d028452a1108a740b51029a822114e81680051a044229d02d640a45", - "0x452011b48153a05b459c0e9208da00a9d02da00a9308da00a9d02845ee11", - "0x2740aa60285c236c02a740b6b02b3c236b02a740b69b501d1e11b50153a05", - "0x16d8054e816d8056504684054e81684054604682054e8168205468454c05", - "0x1a822114e81680051a044229d02d540a45088453a050881c236ca15054c17", - "0x46da054e8142295088453a05a8015f01108a740b37028d022114e816a205", - "0x14229008aac0a9d02dbada0749046dc054e816dc0549846dc054e81422f9", - "0x153a05530142e11b88153a05b80159e11b80153a0555dbc0e8f08dbc0a9d", - "0x5c0b7102a740b7102b28234202a740b4202a30234102a740b4102a3422a6", - "0x14681108a740b2d028d022114e8166e051a044229d028440e11b8d0a82a6", - "0x153a05b98159e11b98153a05a3dc80e8f08dc80a9d02845201108a740b40", - "0x328234602a740b4602a30234502a740b4502a3422a602a740aa60285c2374", - "0xd022114e8166e051a044229d028440e11ba51a8aa60b816e8054e816e805", - "0x5d80a9d02dd80a9308dd80a9d02845ca11ba8153a0508a5422114e8165a05", - "0x33c237902a740b77bc01d1e11bc0153a0508a40237702a740b76ba81d2411", - "0x142e05460442c054e8142c05468467e054e8167e050b84558054e816f205", - "0x4b80a37088453a050881c22ac0b85a7e1702ab00a9d02ab00aca0885c0a9d", - "0x152611bd8153a0508b94237a02a740a114a844229d02cb40a34088453a05", - "0x16f97d03a3c237d02a740a1148046f8054e816f77a03a48237b02a740b7b", - "0x580a9d028580a8d08cd80a9d02cd80a1708dfc0a9d02df80acf08df80a9d", - "0x2740a1103846fe170b4d82e05bf8153a05bf81594110b8153a050b8151811", - "0x1700054984700054e81422e508a9c0a9d028452a1108a740aa4028dc2211", - "0x153a05c0e080e8f08e080a9d028452011c08153a05c029c0e9208e000a9d", - "0x230221602a740a1602a34232c02a740b2c0285c238402a740b8302b3c2383", - "0x44229d028440e11c205c2d2c0b81708054e8170805650442e054e8142e05", - "0x6180a9d02845f411c28153a0508a5422114e81456051b844229d02bf00a45", - "0x1d1e11c40153a0508a40238702a740b86c281d2411c30153a05c30152611", - "0x142c05468446e054e8146e050b84714054e81712056784712054e8170f88", - "0x1c238a0b8586e1702e280a9d02e280aca0885c0a9d0285c0a8c088580a9d", - "0x24c238c02a740a117284716054e8142295088453a05158146e1108a740a11", - "0x28f1a07478471a054e814229008a8c0a9d02e3316074904718054e8171805", - "0x153a050b0151a11430153a05430142e11c78153a05c70159e11c70153a05", - "0x14220708e3c2e164305c0b8f02a740b8f02b28221702a740a1702a302216", - "0x4724054e81722056784722054e815339003a3c239002a740a1148044229d", - "0x6480aca088d00a9d028d00a8c088500a9d028500a8d088440a9d028440a17", - "0x64c281303a740e050881c0a1108a740a112404724340a0442e05c90153a05", - "0x4426054e81426050b845301703a740a1702b1c22114e814220708a646807", - "0x142c057d844229d0285c0a34088453a050881c229702e50229d03a600a83", - "0x153a05098142e11498153a054a01548114a0153a054a81c0efc08a540a9d", - "0x2740a11038452614098580a9302a740a9302bf4221402a740a1402a342213", - "0x1d240509844229d028450c11490153a05038142c1108a740a97029142211", - "0x2740a8d028e4228d02a740a8f0285022114e814220708a380b9547a400e9d", - "0x442a054e81514052b0450e054e81520054c84514054e8151805390451805", - "0x444c054e81446052904446054e814223f088453a050881c2211cb0142242", - "0x540a70088c40a9d02a1c0a2b088540a9d028980a5608a1c0a9d02a380a99", - "0x153a05150580e92088453a050892022114e8142207088180b97150153a07", - "0x234221302a740a130285c222d02a740a2b0b81d9811158153a0508b2c2220", - "0x145a054984440054e81440055704462054e81462055684428054e8142805", - "0x2740a11038447033180580a38198c02c9d028b440310a04c26af088b40a9d", - "0x2740a0602bf822114e8142c0510044229d0285c0a34088453a05089202211", - "0x4c0a9d0284c0a1708a180a9d028e40aa4088e40a9d028dc62077e0446e05", - "0x453a050881c22860a04c2c05430153a0543015fa110a0153a050a0151a11", - "0x153a0508a5422114e8140e051b844229d028580a20088453a050b8146811", - "0x240224002a740a3f4181d24111f8153a051f81526111f8153a05088cc2283", - "0x1468050b8448a054e81484057f84484054e814804403a3c224402a740a11", - "0x442e9922a646816029140a9d029140afd08a640a9d02a640a8d088d00a9d", - "0x580e05089a0d4690885c606a348442e110b01c0a11341a8d2110b8c0d469", - "0x44d06a348442e30351a42217cc0580e05089a0d4690885c606a348442ecf", - "0x1a42217181a8d2110be682c0702844d06a348442e30351a42217cc8580e05", - "0x580c2b181a42213ce01c0a11381a8d2110b9a8d2110b66c2c0702844d06a", - "0x19d0b8580e0508a08d211" + "0x1006110384c0a04018680e06028100619038180a04018343017038180a04", + "0x1c2a050200c3a070301408030e01c0c050200c36070301408030b01c0c05", + "0x100605038180a040187c0e0602810061e038180a040181c0e06028100605", + "0x44200f068ac1a2a1481450111383c4c05128904605110841a200881c2a05", + "0x180a32088c41e30028bc2227078b80a25120180a22108b40a13028180a2c", + "0x144a35198142a050a8146605168146805030140c05030146605168142805", + "0xf8223d078f00a251a8180a14028500a3b028e80a39088e01e37028946a36", + "0x1482112183c8a051701488112190882111e83c220703014080303014803f", + "0x180a251a92c0a4a029242243210b80a480290422430791c223d079180a33", + "0x1c0c050200ca007030140803228140c05278449842228149c05268449842", + "0x100655038180a04018180a252a1140a450294c224c211480e06028100651", + "0x1681a5925814b0052b84486420301482111383c6605208444e0f2b01c0c05", + "0x140a6308988226108980be022f1740e0602810064b029700a5b0890c8402", + "0x14ce3002814ce3002814c80602814ce0602814cc0602814ca1102814c833", + "0x1b49605029b09005029b00c05029ac0c0502990d405029a40c05029a09c05", + "0x14e811399c80a0532044e26e02814c87002814c86f02814c805039b80a07", + "0x1b4b805029b06605029b05c050299c5c05029dcb0050298cec05029d42816", + "0x14d8113e044f60602814f43302814ce7902814d27802814d211039b80a07", + "0x19c22800881cfa05039b4fe050299c227e3e8140a640281cfa05039b48a05", + "0x14d28302814d28202814d24502814ce7d02814ea7d02814ee11409f40a05", + "0x140a6708a190a05029d40a07428140e6d428140a640881d0a05039b50805", + "0x14c83302814c88702814ea0503a1c0a0736a1c0a05320440e870281cda14", + "0x140a6308a291205029a48c05029d494050298d1005029d46e16029d05c05", + "0x2380a0533a380a053ba380a05360180a0546845180602815164802814ce4b", + "0x18c78050299922050299022902c0140a67478140a670d0580a740a0140a64", + "0xd00a05338b40a05338d80a05318d80a05330ec0a05320e80a05338f00a05", + "0x140a64030140a930a8140a64180140a7a490140a69198140a770a8140a67", + "0x14d2114b2540a05349d80a05320440e760281cda5802814d80602815284e", + "0x1a4229c4d8140a694d0140a694c8140a690281cec05039b53005029a52e05", + "0x14d2a102814d2115004c0a053227c0a05348640a0534a780a0534a740a05", + "0x19076050299c3405029a54e05029a54c05029a54a050299c22a408a8d4405", + "0x4c0a05338580a053485c0a05348455211540dc0a05318dc0a05330e80a05", + "0x140a640881d1005039b49405029b02207230140e6d028140a69038140a69", + "0x2ac0e050881c0a1108aac0a1108845540503a200a07368140e460281cda88", + "0x2ac0a170285c221a02aac0a16028582211558142207088dc28075604c2e07", + "0x15560553014281108aac0a11038454a0556a994e075581c3405098442e05", + "0x144c9f5081d560753814261153815560553814341108aac0aa2028dc22a2", + "0x15560508a942211558153e055304422ab02a840aa70884556050881c2219", + "0x64229b02aac0a9d4f01d3e114e81556054e81542114e815560508a88229e", + "0x142e050b84530055581532054e845320555815369a03a78229a02aac0a11", + "0x2600aab02a600a990881c0aab0281c0a9a0884c0aab0284c0a9b0885c0aab", + "0x452e055581422980884556050c8154e1108aac0a110384530070985c2e05", + "0x2ac0a11038444c15039e1249503aac0e970985c2c9508a5c0aab02a5c0a97", + "0x248220702aac0a0702a68229202aac0a9202a6c229502aac0a950285c2211", + "0x2ac0a11038445c054288c0aab038180a15088185a341485d560503a492a16", + "0xa4223602aac0a331801d3e11198155605118144c1118015560508a942211", + "0x1478050304478055581474051684422ab028ec0a34088e87607558146c05", + "0xd00aab028d00a9b088a40aab028a40a1708a380aab02a440a2308a440aab", + "0x2ac0a11038451c2d1a0a42e05470155605470153211168155605168153411", + "0x268223402aac0a3402a6c222902aac0a290285c228f02aac0a2e02a742211", + "0x4422ab028440e11478b468290b8151e05558151e054c8445a05558145a05", + "0x148a8903a7c224502aac0a4502a84224502aac0a111704512055581422a5", + "0x12c0aab029200a9d089200aab0291894074f0449405558142219089180aab", + "0x1532110381556050381534111301556051301536110a81556050a8142e11", + "0x454a1108aac0aa502a9c22115581422070892c0e260a85c0a4b02aac0a4b", + "0x155605272200e9f089380aab029380aa1089380aab028446011440155605", + "0x5c228302aac0a8402a74228402aac0a874281d3c11428155605088642287", + "0x1506054c8440e05558140e054d04426055581426054d8442e05558142e05", + "0x2ac0a115284422ab028580a330884556050881c22830384c2e1702a0c0aab", + "0x44fe0555814fa8203a7c227d02aac0a7d02a84227d02aac0a11170450405", + "0x500a17089700aab029e00a9d089e00aab029fcf2074f044f205558142219", + "0x1556052e01532110381556050381534111b81556051b81536110a0155605", + "0xdc28075704c2e075581c0a11038142211558142211089700e370a05c0a5c", + "0x1c3405098442e05558142e050b8443405558142c050b04422ab028440e11", + "0x2ac0aa2028dc22a202aac0aa602850221155814220708a940aaf5329c0eab", + "0x4556050881c221902ac13ea103aac0ea70284c22a702aac0aa7028682211", + "0x2840a1308a840aab02a840a1a0884556054f0146e114f01556054f8142811", + "0x1532051b04532055581536050a04422ab028440e114d015629b4e81d5607", + "0xe8229d02aac0a9d02868229802aac0a9802a84221155814223b08a600aab", + "0x2ac0a9502a44229502aac0a111e04422ab028440e114b81564115581d3005", + "0x152e054484422ab028440e1108acc0a11478442a05558152405470452405", + "0x4c221502aac0a2902a38222902aac0a2602914222602aac0a111e04422ab", + "0x1468055384422ab028448c1108aac0a11038440c055a0b468075581d3a05", + "0x1422a20888c0aab028454a1108aac0a15029282211558145a055304422ab", + "0xcc0aab0284432111801556051708c0e9f088b80aab028b80aa1088b80aab", + "0x26c221702aac0a170285c223b02aac0a3602a74223602aac0a301981d3c11", + "0x1c26170b81476055581476054c8440e05558140e054d0442605558142605", + "0xe80aab02845301108aac0a0602a9c22115581422460884556050881c223b", + "0x14220708a3d1c075aa4478075581c74130b8592a111d01556051d0152e11", + "0x4422ab029140a4a089188a07558151205258451205558142a052404422ab", + "0x155605230151c1108aac0a111d844900555814940522844940555814223c", + "0x156c4b02aac0e4602a20224802aac0a4802a38223c02aac0a3c0285c2246", + "0x149c05470449c055581490052404422ab0292c0a4e0884556050881c2288", + "0x1490054704422ab02a200a4e0884556050881c22115b814228f08a1c0aab", + "0x4422ab028448c1108aac0a110384508055c2140aab03a1c0a8808a1c0aab", + "0x2ac0a9102a6c228202aac0a3c0285c228302aac0a114384422ab02a140a4e", + "0x440e1108ae40a1147844f20555815060550844fe05558140e054d044fa05", + "0x1536111e01556051e0142e1108aac0a84029382211558142246088455605", + "0x44ec582e1e02eab0281d223c0b248220702aac0a0702a68229102aac0a91", + "0x142e11370155605390144c1108aac0a1103844e0055d1c80aab039d80a15", + "0x2ac0a6e02a84227f02aac0a5802a68227d02aac0a5c02a6c228202aac0a78", + "0x2ec000755814de0514844de0555814f26a03a7c226a02aac0a1152844f205", + "0x2f40a2308af40aab02af00a0608af00aab02aec0a2d088455605000146811", + "0x1556053f81534113e81556053e8153611410155605410142e11568155605", + "0x2ac0a7002a74221155814220708ab4fe7d4105c0aad02aac0aad02a64227f", + "0x44b00555814b0054d044b80555814b8054d844f00555814f0050b8457c05", + "0x4422ab028540a4a0884556050881c22be2c170f01702af80aab02af80a99", + "0x1580bf03a7c22c002aac0ac002a8422c002aac0a11170457e055581422a5", + "0x3100aab02b0c0a9d08b0c0aab02b0584074f045840555814221908b040aab", + "0x153211038155605038153411478155605478153611470155605470142e11", + "0x454a1108aac0a9a02a9c221155814220708b100e8f4705c0ac402aac0ac4", + "0x155605633140e9f08b180aab02b180aa108b180aab028450a11628155605", + "0x5c22ca02aac0ac902a7422c902aac0ac76401d3c116401556050886422c7", + "0x1594054c8440e05558140e054d04426055581426054d8442e05558142e05", + "0x2ac0a115284422ab028640aa70884556050881c22ca0384c2e1702b280aab", + "0x4598055581596ac03a7c22cb02aac0acb02a8422cb02aac0a11420455805", + "0x5c0a1708b3c0aab02b380a9d08b380aab02b319a074f0459a05558142219", + "0x1556056781532110381556050381534110981556050981536110b8155605", + "0x3400aab028454a1108aac0aa502a9c221155814220708b3c0e130b85c0acf", + "0x44321169015560568b400e9f08b440aab02b440aa108b440aab028446011", + "0x2ac0a170285c22d502aac0ad402a7422d402aac0ad26981d3c11698155605", + "0x15aa0555815aa054c8440e05558140e054d04426055581426054d8442e05", + "0xb822d602aac0a115284422ab028580a330884556050881c22d50384c2e17", + "0x2ac0a110c845b00555815aed603a7c22d702aac0ad702a8422d702aac0a11", + "0x500aab028500a1708b6c0aab02b680a9d08b680aab02b61b2074f045b205", + "0x502e056d81556056d81532110381556050381534111b81556051b8153611", + "0x142207088dc28076e04c2e075581c0a1103814221155814221108b6c0e37", + "0x1426110b81556050b8142e1108aac0a111d8443405558142c050b04422ab", + "0x2880a3608a880aab02a980a140884556050881c22a502b754ca703aac0e1a", + "0x1556054f81504110c81556055381434114f8155605508150611508155605", + "0x1556054e814fa114e8155605088f0221155814220708845bc0508a3c229e", + "0x15be9a02aac0e9e029fc229e02aac0a9b02a08221902aac0aa502868229b", + "0x4422ab028440e114a815c0974c01d56074d05c0e790884556050881c2299", + "0x444c057085524075581c32050984530055581530050b84422ab02a5c0a78", + "0x15560549014341108aac0a29028dc222902aac0a15028502211558142207", + "0x8c0aab028b40a5c0884556050881c220602b885a3403aac0e920284c2292", + "0x2ac0a110384422e3028451e1118015560511814b0111701556051a0143411", + "0x14b0111701556050301434111b015560519814ec11198155605088f02211", + "0x2ac0a112304422ab028440e111d015c83b02aac0e30029c8223002aac0a36", + "0x146c11470155605170145a1148815560508a94223c02aac0a3b028502211", + "0x2ac0a8e029c0221302aac0a1302a6c229802aac0a980285c228f02aac0a3c", + "0x151e914704d3013350451e05558151e05508452205558152205370451c05", + "0x1494050004422ab028440e1124015ca4a02aac0e46029bc224622a242cab", + "0x2ac0a4b02858221155814220708a1c0ae62701556074401576114412c0eab", + "0x455605420154e1108aac0a1103845040573a0d08075581d0a05098450a05", + "0x15560508a88227d02aac0a115284422ab029380a34088455605418154c11", + "0x278227802aac0a110c844f20555814fe7d03a7c227f02aac0a7f02a84227f", + "0x1140a9b08a240aab02a240a17089600aab029700a9d089700aab029e4f007", + "0x44b00722a242e052c01556052c0153211038155605038153411228155605", + "0x1d80aab029d80a97089d80aab02845301108aac0a8202a9c2211558142207", + "0x15560508af02211558142207089a8dc07741c0e4075581cec45448592a11", + "0x28422bc02aac0abb028b422115581400051a045760003aac0a4e028a4226f", + "0x3a55abd03aac0ebc3781ce0175e844e40555814e4050b844de0555814de05", + "0x457a05558157a054d844e40555814e4050b84422ab028440e11602fd7c16", + "0x155607620142a116230d84c10baac0aad5e9c82c9208ab40aab02ab40a9a", + "0x27c22c802aac0ac50289822c702aac0a115284422ab028440e1163015d4c5", + "0x2b00a2d088455605650146811563280eab02b240a2908b240aab02b218e07", + "0x155605608142e11668155605660144611660155605658140c11658155605", + "0x5c0acd02aac0acd02a6422c302aac0ac302a6822c202aac0ac202a6c22c1", + "0x4422ab02b380abe08b3d9c07558158c055684422ab028440e1166b0d84c1", + "0x33c0a6e08b480aab02b0c0a9a08b440aab02b080a9b08b400aab02b040a17", + "0x153611680155605390142e1108aac0a110384422eb028451e11698155605", + "0x1556050886422d302aac0ac0029b822d202aac0abf02a6822d102aac0abe", + "0x45a00555815a0050b845ac0555815aa054e845aa0555815a6d403a7822d4", + "0x345a01702b580aab02b580a9908b480aab02b480a9a08b440aab02b440a9b", + "0x2ac0a1117045ae055581422a508845560527014681108aac0a1103845acd2", + "0x45b40555814221908b640aab02b61ae074f845b00555815b00550845b005", + "0x153611370155605370142e117601556056d8153a116d81556056cb680e9e", + "0x3b00e6a3705c0aec02aac0aec02a64220702aac0a0702a68226a02aac0a6a", + "0x155605448142e1108aac0a4b028cc2211558150e052704422ab028440e11", + "0x2ac0a4802a74221155814220708845de0508a3c22ee02aac0a4502a6c22ed", + "0x440e05558140e054d0448a05558148a054d84512055581512050b845e005", + "0x13822115581422460884556050881c22f003915121702bc00aab02bc00a99", + "0x1556050981536117681556054c0142e1108aac0a2e02a9c2211558147405", + "0x3c40e9f08bc80aab02bc80aa108bc80aab028450a1178815560508a9422ee", + "0x2ac0af502a7422f502aac0af37a01d3c117a01556050886422f302aac0af2", + "0x440e05558140e054d045dc0555815dc054d845da0555815da050b845ec05", + "0x29c22115581422460884556050881c22f603bb9da1702bd80aab02bd80a99", + "0x3e00aab02be00aa108be00aab0284508117b815560508a942211558144c05", + "0x27422fb02aac0af97d01d3c117d01556050886422f902aac0af87b81d3e11", + "0x140e054d04426055581426054d84530055581530050b845f80555815f605", + "0x640aa70884556050881c22fc0384d301702bf00aab02bf00a990881c0aab", + "0x2640a4e0884556050881c22117f014228f08bf40aab02a540a17088455605", + "0x454a1108aac0a1123045fa05558142e050b84422ab028640aa7088455605", + "0x155605803fc0e9f08c000aab02c000aa108c000aab0284460117f8155605", + "0x5c230402aac0b0302a74230302aac0b018101d3c11810155605088642301", + "0x1608054c8440e05558140e054d04426055581426054d845fa0555815fa05", + "0x2ac0a115284422ab028580a330884556050881c23040384dfa1702c100aab", + "0x460c0555815650503a7c22b202aac0ab202a8422b202aac0a11170460a05", + "0x500a1708c240aab02c200a9d08c200aab02c1a0e074f0460e05558142219", + "0x1556058481532110381556050381534111b81556051b81536110a0155605", + "0x45560508b00223702aac0a115f84426055581422bf08c240e370a05c0b09", + "0x4422ab028440e1152a980f0a538680eab0381422070284422ab028442211", + "0x2ac0ea20284c221a02aac0a1a0285c221155814223b08a880aab028580a16", + "0x1556054f0146c114f01556054f814281108aac0a1103844320585a7d4207", + "0x23c229902aac0a9b02a08229a02aac0aa102868229b02aac0a9d02a0c229d", + "0x68229702aac0a98029f4229802aac0a111e04422ab028440e1108c300a11", + "0x1c229502c342e055581d32053f8453205558152e05410453405558143205", + "0x444c058705524075581c2e1a039e4221702aac0a170981d821108aac0a11", + "0x1c222d02c3c682903aac0e9a0284c229202aac0a920285c2211558142207", + "0x2ac0a14028d8221402aac0a141b81d82110a01556051a014281108aac0a11", + "0x2ac0a11038446005880b846075581c52050984452055581452050d0440c05", + "0x23c223b02aac0a3302960223602aac0a2302868223302aac0a2e029702211", + "0x68223c02aac0a3a029d8223a02aac0a111e04422ab028440e1108c440a11", + "0x1c228e02c4922055581c76053904476055581478052c0446c05558146005", + "0xb4228902aac0a11528451e055581522050a04422ab028448c1108aac0a11", + "0x154e054d84524055581524050b8448c05558151e051b0448a05558146c05", + "0x1180aab029180aa108a240aab02a240a6e089140aab029140a7008a9c0aab", + "0x1c224e02c4d10055581c9605378449648250595605232248aa74904cd411", + "0x440e1141816288402aac0e8502aec22854381d560544014001108aac0a11", + "0x142207089e40b153f9f40eab03a080a1308a080aab02a1c0a16088455605", + "0x180a3708845560542014681108aac0a7f02a98221155814fa055384422ab", + "0x1542112e015560508a88227802aac0a115284422ab028540a78088455605", + "0x14b07603a78227602aac0a110c844b00555814b87803a7c225c02aac0a5c", + "0x1200aab029200a9b089280aab029280a17089c00aab029c80a9d089c80aab", + "0x2ac0a1103844e007241282e05380155605380153211038155605038153411", + "0x1282c95089b80aab029b80a97089b80aab02845301108aac0a7902a9c2211", + "0x1586115e015560508b08221155814220708aec00078b1bcd4075581cdc48", + "0x2ac0a6f02a6c226a02aac0a6a0285c2211558157a05620455abd03aac0abc", + "0x440c05558140c05508442a05558142a05628440e05558140e054d044de05", + "0x142a1160b017ebe0baac0a84030555a07379a86ec608a100aab02a100a6e", + "0x2ac0ac20289822c402aac0a115284422ab028440e11618162ec202aac0ec1", + "0x4556056381468116431c0eab02b180a2908b180aab02b1588074f8458a05", + "0x142e11560155605650144611650155605648140c11648155605640145a11", + "0x2ac0aac02a6422c002aac0ac002a6822bf02aac0abf02a6c22be02aac0abe", + "0x157c050b84596055581586054e84422ab028440e11563017ebe0b8155805", + "0x32c0aab02b2c0a9908b000aab02b000a9a08afc0aab02afc0a9b08af80aab", + "0x4422ab028180a3708845560542014681108aac0a110384596c05faf82e05", + "0x155605668154211668155605088b822cc02aac0a115284422ab028540a78", + "0x45a005558159ccf03a7822cf02aac0a110c8459c05558159acc03a7c22cd", + "0x1c0a9a08aec0aab02aec0a9b088000aab028000a1708b440aab02b400a9d", + "0x149c1108aac0a1103845a2075d8002e05688155605688153211038155605", + "0x5c2211558142a053c04422ab028180a3708845560543814661108aac0a83", + "0x4422ab028440e1108c600a1147845a6055581490054d845a405558149405", + "0x2ac0a4a0285c22d402aac0a4e02a742211558140c051b84422ab028540a78", + "0x15a80555815a8054c8440e05558140e054d04490055581490054d8449405", + "0x14f01108aac0a8e0293822115581422460884556050881c22d4039209417", + "0x45a4055581524050b84422ab028d80aa7088455605030146e1108aac0a15", + "0x2ac0ad602a8422d602aac0a1142845aa055581422a508b4c0aab02a9c0a9b", + "0x3640aab02b5db0074f045b00555814221908b5c0aab02b59aa074f845ac05", + "0x153411698155605698153611690155605690142e116d01556056c8153a11", + "0x118221155814220708b680ed36905c0ada02aac0ada02a64220702aac0a07", + "0x2942211558146e056384422ab028540a78088455605168154e1108aac0a11", + "0x2ac0aec6d81d3e1176015560576015421176015560508a1022db02aac0a11", + "0x45e20555815e0054e845e00555815daee03a7822ee02aac0a110c845da05", + "0x3c40a990881c0aab0281c0a9a08a9c0aab02a9c0a9b08a480aab02a480a17", + "0x2680aa70884556051b8158e1108aac0a1103845e20753a482e05788155605", + "0x2540a4e0884556050881c22118c814228f08bc80aab028980a17088455605", + "0x142e1108aac0a1302b1c22115581534055384422ab028dc0ac7088455605", + "0x28422f402aac0a1118045e6055581422a50884556050891822f202aac0a1a", + "0x3d5ec074f045ec0555814221908bd40aab02bd1e6074f845e80555815e805", + "0x155605538153611790155605790142e117c01556057b8153a117b8155605", + "0x14220708be00ea77905c0af802aac0af802a64220702aac0a0702a6822a7", + "0x1422a5088455605098158e1108aac0a3702b1c2211558142c051984422ab", + "0x3ec0aab02be9f2074f845f40555815f40550845f40555814222e08be40aab", + "0x142e117f81556057e8153a117e81556057dbf00e9e08bf00aab028443211", + "0x2ac0aff02a64220702aac0a0702a6822a502aac0aa502a6c22a602aac0aa6", + "0x500f1a0985c0eab0381422070284422ab0284422117f81d4aa60b815fe05", + "0x680a130885c0aab0285c0a17088680aab028580a160884556050881c2237", + "0x2ac0aa602a982211558154e055384422ab028440e115281636a65381d5607", + "0x2880e9f08a840aab02a840aa108a840aab02845441151015560508a942211", + "0x2ac0a9e02a74229e02aac0a9f0c81d3c110c815560508864229f02aac0aa1", + "0x440e05558140e054d04426055581426054d8442e05558142e050b8453a05", + "0x4422ab02a940aa70884556050881c229d0384c2e1702a740aab02a740a99", + "0x1e38994d01d56074d84c2e164a84536055581536054b8453605558142298", + "0x1468110aa480eab02a540a2908a540aab028454a1108aac0a11038452e98", + "0x155605148144611148155605130140c111301556050a8145a1108aac0a92", + "0x264220702aac0a0702a68229902aac0a9902a6c229a02aac0a9a0285c2234", + "0xb8222d02aac0a115284422ab028440e111a01d329a0b8146805558146805", + "0x2ac0a110c8444605558140c2d03a7c220602aac0a0602a84220602aac0a11", + "0x2600aab02a600a17088cc0aab028c00a9d088c00aab0288c5c074f0445c05", + "0x2602e051981556051981532110381556050381534114b81556054b8153611", + "0x14222e088d80aab028454a1108aac0a16028cc2211558142207088cc0e97", + "0xf00aab0284432111d01556051d8d80e9f088ec0aab028ec0aa1088ec0aab", + "0x26c221402aac0a140285c228e02aac0a9102a74229102aac0a3a1e01d3c11", + "0x1c6e140b8151c05558151c054c8440e05558140e054d0446e05558146e05", + "0x4556050881c22370a01e3a130b81d5607028440e0508845560508844228e", + "0x163ca65381d56070d01426110b81556050b8142e110d01556050b0142c11", + "0x14223b08a840aab02a880a3608a880aab02a980a140884556050881c22a5", + "0x163e115581d42051d0454e05558154e050d04542055581542055084422ab", + "0x153c05470453c0555814320548844320555814223c0884556050881c229f", + "0x2ac0a111e04422ab02a7c0a890884556050881c221190014228f08a740aab", + "0x26132075581d4e05098453a05558153405470453405558153605228453605", + "0x1530055304422ab02a640aa708845560508918221155814220708a5c0b21", + "0x2480aa108a480aab0284544114a815560508a942211558153a052504422ab", + "0x2ac0a151301d3c1113015560508864221502aac0a924a81d3e11490155605", + "0x4426055581426054d8442e05558142e050b84468055581452054e8445205", + "0x4556050881c22340384c2e17028d00aab028d00a990881c0aab0281c0a9a", + "0x155605168152e1116815560508a602211558152e055384422ab028448c11", + "0x153a052404422ab028440e11180b80f22118180eab038b426170b254222d", + "0x44740555814223c0884556051b01494111d8d80eab028cc0a4b088cc0aab", + "0x2ac0a060285c223b02aac0a3b02a38221155814223b088f00aab028e80a91", + "0x4556050881c228e02c8d22055581c7605440447805558147805470440c05", + "0x14228f08a240aab02a3c0a8e08a3c0aab028f00a48088455605488149c11", + "0x2240a8808a240aab028f00a8e088455605470149c1108aac0a11038442324", + "0x4422ab029140a4e088455605089182211558142207089180b25228155607", + "0x14228f0892c0aab0281c0a9a089200aab0288c0a9b089280aab028180a17", + "0x2ac0a060285c2211558148c052704422ab028448c1108aac0a11038442326", + "0x5d56050388c0c16490440e05558140e054d04446055581446054d8440c05", + "0x2ac0a8402b20221155814220708a0c0b27420155607428142a1142a1c9c88", + "0x294224b02aac0a8702a68224802aac0a4e02a6c224a02aac0a880285c2211", + "0x2ac0a7f028b4221155814fa051a044fe7d03aac0a82028a4228202aac0a11", + "0x4494055581494050b844b80555814f00511844f00555814f20503044f205", + "0x1209417029700aab029700a990892c0aab0292c0a9a089200aab029200a9b", + "0x153611440155605440142e112c0155605418153a1108aac0a1103844b84b", + "0x1610e4e4405c0a5802aac0a5802a64228702aac0a8702a68224e02aac0a4e", + "0x1c80aab028445c113b015560508a942211558153a052504422ab028440e11", + "0x1d3c1137015560508864227002aac0a723b01d3e11390155605390154211", + "0x1460054d8445c05558145c050b844de0555814d4054e844d40555814e06e", + "0x1c226f038c05c17029bc0aab029bc0a990881c0aab0281c0a9a088c00aab", + "0x28422bb02aac0a111804400055581422a5088455605528154e1108aac0a11", + "0x2f17a074f0457a0555814221908af00aab02aec00074f8457605558157605", + "0x1556050981536110b81556050b8142e115f0155605568153a11568155605", + "0x14220708af80e130b85c0abe02aac0abe02a64220702aac0a0702a682213", + "0x3000aa108b000aab028445c115f815560508a942211558142c051984422ab", + "0x2ac0ac16101d3c116101556050886422c102aac0ac05f81d3e11600155605", + "0x446e05558146e054d84428055581428050b84588055581586054e8458605", + "0x1c0e0503b2422c4038dc281702b100aab02b100a990881c0aab0281c0a9a", + "0x15581109815560509815941108aac0a110384434370a05a50130b8582cab", + "0x14f01108aac0aa602b30229f50a894aa609aac0aa702b2c22a702aac0a13", + "0x454a05558154a056684422ab02a7c0a3708845560550814f01108aac0aa2", + "0xd052260aa492a974c265349b4ea7942ab028640acf088640aab02a940ace", + "0x2ac0a99028dc22115581536056804422ab02a740a780884556054f0146e11", + "0x1524056804422ab02a540ad10884556054b8146e1108aac0a98028dc2211", + "0xd00a3308845560514815a41108aac0a2602b482211558142a051984422ab", + "0xb80aab028180a160888c0aab02845a811030b40eab02a680ad3088455605", + "0x15361111815560511815ac1118015560518014341118015560517015aa11", + "0x8c60110b35c222d02aac0a2d029c0221702aac0a1702a68221602aac0a16", + "0x146c050a0446c05558146c056c04422ab028440e111d81652361981d5607", + "0xf00eab028f00ad9088f00aab028f00aa1088f00aab028e80a36088e80aab", + "0xcc221155814220708a380b2a08aac0e91028e8223302aac0a330285c2291", + "0x2240aab02a3c0ada08a3c0aab028450e1108aac0a3c028dc2211558145a05", + "0x1534110b01556050b0153611198155605198142e1122815560544815b611", + "0x2242211558142207089142e161985c0a4502aac0a4502bb0221702aac0a17", + "0x148c4a03bb8224a1e01d56051e015b21123015560508bb42211558151c05", + "0x4556050881c224b02cac22ab039200a3a089200aab029200aa1089200aab", + "0x15560508bb4228802aac0a115e04422ab028f00a37088455605168146611", + "0x450e05558150e05508450e05558149c8803bb8228802aac0a8802a84224e", + "0x1508056d04508055581422f00884556050881c228502cb022ab03a1c0a3a", + "0x580aab028580a9b088cc0aab028cc0a1708a080aab02a0c0adb08a0c0aab", + "0x2ac0a110384504170b0cc2e0541015560541015d8110b81556050b8153411", + "0x14fe0550844fe055581422f1089f40aab028454a1108aac0a8502a242211", + "0x1556053c9e00e9e089e00aab0284432113c81556053f9f40e9f089fc0aab", + "0x268221602aac0a1602a6c223302aac0a330285c225802aac0a5c02bc8225c", + "0x4422ab028440e112c05c2c330b814b00555814b005760442e05558142e05", + "0x1d8e40777044e43c03aac0a3c02b64227602aac0a117984422ab0292c0a89", + "0x2ac0a1103844dc05968455607380147411380155605380154211380155605", + "0x45e81108aac0a6a028cc226f3501d560516815a61108aac0a3c028dc2211", + "0x15560500015ac115e01556055d815aa115d8155605378142c11000155605", + "0x2ac0aad02b60221155814220708af80b2e56af40eab0380178330b35c2200", + "0x28422c102aac0abf028d822c002aac0a11528457e05558155a050a0455a05", + "0x3d4221155814220708b100b2f61b080eab03b057a073c8458205558158205", + "0x2ac0ac7028b42211558158c051a0458ec603aac0ac0028a422c502aac0a11", + "0x1d90c56185c2c137b04584055581584050b8458a05558158a05508459005", + "0x14228708845560556014661108aac0a11038459acc6585a60ac653242cab", + "0x3080aab02b080a1708b400aab02b3c0adb08b3c0aab02b380ada08b380aab", + "0x3082e0568015560568015d811650155605650153411648155605648153611", + "0x3c822d202aac0acd6881d3c1168815560508864221155814220708b4194c9", + "0x1598054d04596055581596054d84584055581584050b845a60555815a405", + "0x3000a340884556050881c22d36632d841702b4c0aab02b4c0aec08b300aab", + "0x27c22d502aac0ad502a8422d502aac0a117b845a8055581422a5088455605", + "0x3600af208b600aab02b59ae074f045ae0555814221908b580aab02b55a807", + "0x1556050b81534110b01556050b0153611620155605620142e116c8155605", + "0x15560508a94221155814220708b642e166205c0ad902aac0ad902bb02217", + "0x6422ec02aac0adb6d01d3e116d81556056d81542116d815560508be022da", + "0x157c050b845e00555815dc0579045dc0555815d8ed03a7822ed02aac0a11", + "0x3c00aab02bc00aec0885c0aab0285c0a9a088580aab028580a9b08af80aab", + "0x45e2055581422f908845560537015121108aac0a1103845e0170b2f82e05", + "0xe822f302aac0af302a8422f302aac0af17901ddc11790f00eab028f00ad9", + "0x2ac0a3c028dc2211558145a051984422ab028440e117a01662115581de605", + "0x3ddec165581dea170b059f8117a81556057a815f6117a815560508be82211", + "0x45f8055581422870884556057c0146e1108aac0a1103845f6fa7c85a64f8", + "0x3d80a9b088cc0aab028cc0a1708bfc0aab02bf40adb08bf40aab02bf00ada", + "0x45fef77b0cc2e057f81556057f815d8117b81556057b81534117b0155605", + "0x2ac0b0102bc8230102aac0afb8001d3c11800155605088642211558142207", + "0x45f40555815f4054d045f20555815f2054d84466055581466050b8460405", + "0x4422ab02bd00a890884556050881c23027d3e4661702c080aab02c080aec", + "0x15421182815560581c100eee08c1078075581478056c84606055581422fd", + "0x2ac0a3c028dc221155814220708ac80b3308aac0f05028e8230502aac0b05", + "0x4d2110703aac0f061981e001183015560583015421183015560508bfc2211", + "0x45e81108aac0ab3028cc23355981d560516815a61108aac0a11038461205", + "0x1556059b015ac119c01556059b815aa119b81556059a8142c119b0155605", + "0x2ac0b3a02b60221155814220708cf00b3b9d4e40eab03cda71070b35c2336", + "0x358233f02aac0a116a0467c05558167a051b0467a055581674050a0467405", + "0x5c2c138084672055581672050b8467c05558167c05508467e05558167e05", + "0x468a055581422870884556050881c2344a1d082d412fd000eab03cfa113f", + "0x5000a9b08ce40aab02ce40a1708ad00aab02d180adb08d180aab02d140ada", + "0x45685fa04e42e055a01556055a015d8112f81556052f8153411a00155605", + "0x2ac0b4802bc8234802aac0b44a381d3c11a38155605088642211558142207", + "0x4686055581686054d04684055581684054d84672055581672050b8469205", + "0x4422ab02c200b020884556050881c2349a1d0a721702d240aab02d240aec", + "0x16974a03a7c234b02aac0b4b02a84234b02aac0a117c04694055581422a5", + "0x53c0aab02d380af208d380aab02d329a074f0469a0555814221908d300aab", + "0x15d8110b81556050b81534110b01556050b01536119e01556059e0142e11", + "0x454a1108aac0a2d028cc221155814220708d3c2e169e05c0b4f02aac0b4f", + "0x155605a8d400e9f08d440aab02d440aa108d440aab02845ee11a80155605", + "0x5c235502aac0b5402bc8235402aac0b52a981d3c11a98155605088642352", + "0x16aa05760442e05558142e054d0442c05558142c054d8461205558161205", + "0x2ac0a118184422ab02ac80a890884556050881c23550b85a121702d540aab", + "0x56022ab03d5c0a3a08d5c0aab02d5c0aa108d5c0aab02d58780777046ac05", + "0x142c11ae015560508bd0235bad01d560516815a61108aac0a1103846b205", + "0x572ba330b35c235c02aac0b5c02b58235d02aac0ab602b5422b602aac0b5b", + "0x156e050a0456e05558156e056c04422ab028440e11b0016beb7af01d5607", + "0x5940aab02d8c0a1608d900aab028460811b1d880eab02d680ad308d840aab", + "0x59ae11b08155605b08154211b20155605b2015ac11b30155605b2815aa11", + "0x50236802aac0b6802b60221155814220708ae00b69b459c0eab03d92cd5e", + "0x2ac0a118284422ab02dac0a3308db2d60755816c40569846d40555816d005", + "0x46da0555816da056b046de0555816dc056a846dc0555816d8050b046da05", + "0x4556050881c237302dcae37003aac0f6db7d9c2cd708da80aab02da80aa1", + "0x154211b80155605b80142e11ba0155605b88142811b88155605b8815b011", + "0x4556050881c237abcae42d78bbddaea165581c2e1603b24237402aac0b74", + "0x5fefd7dbe04d5605bd8159611bd8155605bb8155811bb8155605bb8159411", + "0x1700051b84422ab02dfc0a78088455605bf014f01108aac0b7d02ac82380", + "0x60f041655817020584047020555816f80583846f80555816f8058304422ab", + "0x3b8238402aac0b8402a84238502aac0b61028d8238402aac0b8202c2422ba", + "0x5d80a9a08dd40aab02dd40a9b08e180aab02e180aa108e180aab02e170807", + "0x455607c301474115d01556055d0158a11c18155605c1815f611bb0155605", + "0x3b8238a02aac0b6a028d8238902aac0b8302c24221155814220708e200b87", + "0x1c238c02e2c22ab03ad40a3a08ad40aab02ad40aa108ad40aab02e2b1207", + "0x2ac0b8ec681ddc11c70155605ba0146c11c681556055d015661108aac0a11", + "0x4422ab028440e11c881720115581f1e051d0471e05558171e05508471e05", + "0x16e0050b84728055581726056d84726055581724056d0472405558142287", + "0x6500aab02e500aec08dd80aab02dd80a9a08dd40aab02dd40a9b08dc00aab", + "0x472a055581422a5088455605c8815121108aac0a11038472976badc02e05", + "0x14221908e5c0aab02e5b2a074f8472c05558172c05508472c05558142335", + "0x155605b80142e11588155605cc815e411cc8155605cbe600e9e08e600aab", + "0x5c0ab102aac0ab102bb0237602aac0b7602a68237502aac0b7502a6c2370", + "0x14f01108aac0b74028dc22115581718054484422ab028440e1158ddaeb70", + "0x47360555817360550847360555814233608e680aab028454a1108aac0aba", + "0x15e411cf0155605ce6740e9e08e740aab028443211ce0155605cde680e9f", + "0x2ac0b7602a68237502aac0b7502a6c237002aac0b700285c239f02aac0b9e", + "0x1710054484422ab028440e11cfddaeb700b8173e05558173e0576046ec05", + "0x60c0b37088455605b50146e1108aac0aba029e0221155816e8051b84422ab", + "0x27c23a102aac0ba102a8423a102aac0a119c04740055581422a5088455605", + "0x6900af208e900aab02e8b46074f047460555814221908e880aab02e874007", + "0x155605bb0153411ba8155605ba8153611b80155605b80142e11d28155605", + "0x2ac0b6a028dc221155814220708e96ed75b805c0ba502aac0ba502bb02376", + "0x5eb4c074f0474c05558142219088455605ba0146e1108aac0b61028dc2211", + "0x1556055c8153611b80155605b80142e11d3815560558015e411580155605", + "0x14220708e9ef2b9b805c0ba702aac0ba702bb0237902aac0b7902a6822b9", + "0x1422f808ea00aab028454a1108aac0b61028dc221155816d4051b84422ab", + "0x6ac0aab028443211d50155605d4ea00e9f08ea40aab02ea40aa108ea40aab", + "0x26c237302aac0b730285c23ad02aac0bac02bc823ac02aac0baad581d3c11", + "0x5c2d730b8175a05558175a05760442e05558142e054d0442c05558142c05", + "0x15560508a94221155816c2051b84422ab02d880a330884556050881c23ad", + "0x6423b002aac0bafd701d3e11d78155605d78154211d7815560508be023ae", + "0x1570050b84766055581764057904764055581761b103a7823b102aac0a11", + "0x6cc0aab02ecc0aec0885c0aab0285c0a9a088580aab028580a9b08ae00aab", + "0x455e055581422a5088455605ad014661108aac0a110384766170b2e02e05", + "0x14221908ed40aab02ed15e074f84768055581768055084768055581422f8", + "0x155605b00142e11dc0155605db815e411db8155605daed80e9e08ed80aab", + "0x5c0bb802aac0bb802bb0221702aac0a1702a68221602aac0a1602a6c2360", + "0x454a1108aac0a2d028cc221155816b2054484422ab028440e11dc05c2d60", + "0x155605dd6e40e9f08ee80aab02ee80aa108ee80aab028467211dc8155605", + "0x5c23be02aac0bbd02bc823bd02aac0bbbde01d3c11de01556050886423bb", + "0x177c05760442e05558142e054d0442c05558142c054d8446605558146605", + "0x2ac0a115284422ab028b40a330884556050881c23be0b858661702ef80aab", + "0x455c055581781bf03a7c23c002aac0bc002a8423c002aac0a117c0477e05", + "0xec0a1708f0c0aab02f080af208f080aab02abb82074f0478205558142219", + "0x155605e1815d8110b81556050b81534110b01556050b01536111d8155605", + "0x2ac0a1ae201d3c11e2015560508864221155814220708f0c2e161d85c0bc3", + "0x4428055581428054d84422055581422050b8478c05558178a05790478a05", + "0x4556050891823c61b850221702f180aab02f180aec088dc0aab028dc0a9a", + "0x1d56050b815b21108aac0a1103844343703f1c281303aac0e050881c0a11", + "0x4422ab028440e115301790115581d4e051d04426055581426050b8454e17", + "0x2880b3d08a880aab02a940e079e0454a05558142c059d04422ab0285c0a37", + "0x155605508167c110a01556050a0153611098155605098142e11508155605", + "0x27c0aab0281c0a1608845560553015121108aac0a11038454214098580aa1", + "0x14281108aac0a11038453a05e4a7832075581d3e050984422ab028447611", + "0x2ac0a1902868229902aac0a9a02a0c229a02aac0a9b028d8229b02aac0a9e", + "0x2ac0a111e04422ab028440e1108f280a11478452e05558153205410453005", + "0x452e05558152405410453005558153a050d0452405558152a053e8452a05", + "0x448c1108aac0a11038445205e58980aab03a5c0a7f088540aab02a600a2d", + "0x1556051685c0eee088b40aab02845da111a0155605130580e9f088455605", + "0x1b8221502aac0a15029c0221402aac0a1402a6c221302aac0a130285c2206", + "0xb84616558140c340a8502613350440c05558140c05508446805558146805", + "0xd02211558142e051b84422ab028448c1108aac0a1103844602e118580a30", + "0x146c059e8446c0555814661503cf0223302aac0a2902cfc2211558142c05", + "0xec0aab028ec0b3e088500aab028500a9b0884c0aab0284c0a17088ec0aab", + "0xcc2211558142c051a04422ab0285c0a370884556050881c223b0a04c2c05", + "0xf00aab028f00aa1088f00aab028445c111d015560508a942211558140e05", + "0x500228f02aac0a914701d3c1147015560508864229102aac0a3c1d01d3e11", + "0x1512059f04434055581434054d8446e05558146e050b8451205558151e05", + "0x1426051b84422ab0285c0a780884556050b0158811448686e1602a240aab", + "0x15941108aac0a110384544a55305b98a70d0dc2cab0381c0a076484422ab", + "0x330229b4ea78329f09aac0aa102b2c22a102aac0aa702ab022a702aac0aa7", + "0x4422ab02a6c0a370884556054e814f01108aac0a9e029e02211558153e05", + "0x2492a974c26542ab02a680acf08a680aab028640ace088640aab028640acd", + "0x152e056804422ab02a600a780884556054c8146e111708c0c2d1a0a44c15", + "0xa40ad1088455605130146e1108aac0a15028dc22115581524051b84422ab", + "0x15a41108aac0a0602b482211558145a051984422ab028d00ad0088455605", + "0xd80aab02845a811198c00eab02a540ad308845560517014661108aac0a23", + "0x15ac111d01556051d01434111d01556051d815aa111d8155605198142c11", + "0x2ac0a30029c0221a02aac0a1a02a68223702aac0a3702a6c223602aac0a36", + "0x1522056c04422ab028440e11470179a911e01d56071b0e822166b8446005", + "0x448a055581422fd08a240aab02a3c0a3608a3c0aab02a440a1408a440aab", + "0x142e1123015560523015421123015560522a240eee08a240aab02a240aa1", + "0x2ac0a14028d02211558142207089280bce08aac0e46028e8223c02aac0a3c", + "0x73d104b03aac0e481e01e001124015560524015421124015560508bfc2211", + "0x46081108aac0a87028cc22854381d560518015a61108aac0a11038449c05", + "0x15560542015ac1141015560541815aa11418155605428142c11420155605", + "0x2ac0a7f02b602211558142207089e40bd03f9f40eab03a11044b0b35c2284", + "0x358225802aac0a116a044b80555814f0051b044f00555814fe050a044fe05", + "0x686e1380844fa0555814fa050b844b80555814b80550844b00555814b005", + "0x44de055581422870884556050881c226a371c02dd1391d80eab039711058", + "0x1d80a9b089f40aab029f40a1708aec0aab028000adb088000aab029bc0ada", + "0x4576723b1f42e055d81556055d815d8113901556053901534113b0155605", + "0x2ac0abd02bc822bd02aac0a6a5e01d3c115e0155605088642211558142207", + "0x44dc0555814dc054d044e00555814e0054d844fa0555814fa050b8455a05", + "0x4422ab02a200b020884556050881c22ad371c0fa1702ab40aab02ab40aec", + "0x157ebe03a7c22bf02aac0abf02a8422bf02aac0a117c0457c055581422a5", + "0x30c0aab02b080af208b080aab02b0182074f045820555814221908b000aab", + "0x15d8110d01556050d01534111b81556051b81536113c81556053c8142e11", + "0x454a1108aac0a30028cc221155814220708b0c34373c85c0ac302aac0ac3", + "0x15560562b100e9f08b140aab02b140aa108b140aab02845ee11620155605", + "0x5c22c902aac0ac802bc822c802aac0ac66381d3c116381556050886422c6", + "0x1592057604434055581434054d0446e05558146e054d8449c05558149c05", + "0x1460051984422ab029280a890884556050881c22c90d0dc9c1702b240aab", + "0xb422115581558051a04596ac03aac0a14028a422ca02aac0a115e04422ab", + "0x7499ccd03aac0ecc650686e175e8459405558159405508459805558159605", + "0x36c22d302aac0ad202b6822d202aac0a114384422ab028440e1168b419e16", + "0x159c054d0459a05558159a054d84478055581478050b845a80555815a605", + "0x1422190884556050881c22d467334781702b500aab02b500aec08b380aab", + "0x1556051e0142e116b81556056b015e4116b015560568b540e9e08b540aab", + "0x5c0ad702aac0ad702bb022d002aac0ad002a6822cf02aac0acf02a6c223c", + "0x454a1108aac0a14028d022115581460051984422ab028440e116bb419e3c", + "0x1556056cb600e9f08b640aab02b640aa108b640aab02845f0116c0155605", + "0x5c22ed02aac0aec02bc822ec02aac0ada6d81d3c116d81556050886422da", + "0x15da057604434055581434054d0446e05558146e054d8451c05558151c05", + "0x2ac0a110c84422ab028500a340884556050881c22ed0d0dd1c1702bb40aab", + "0x440aab028440a1708bc40aab02bc00af208bc00aab02a89dc074f045dc05", + "0x442e0578815560578815d811528155605528153411530155605530153611", + "0x1bc2217199c0de110b8442c0702844dc70378442e33381bc221753bc54aa6", + "0xcce06f0885fa61603814226e381bc2217199c0de110bb602c0702844dc70", + "0x442fd50b01c0a11371c0de110b8cce06f0885fa81603814226e381bc2217", + "0x4fae0702844ec70378442e70378442dd60b01c0a11371c0de110b8cce06f", + "0x1c0de110b8b80c14471c0de111bf602e16038142288378442c06170ccde11", + "0x1d90a04c2e16038142276" ], "sierra_program_debug_info": { "type_names": [], diff --git a/crates/blockifier/src/execution/stack_trace_test.rs b/crates/blockifier/src/execution/stack_trace_test.rs index 80e77478a6e..a0c8ac6daa5 100644 --- a/crates/blockifier/src/execution/stack_trace_test.rs +++ b/crates/blockifier/src/execution/stack_trace_test.rs @@ -689,10 +689,10 @@ fn test_account_ctor_frame_stack_trace( ) .to_string() + &match cairo_version { - CairoVersion::Cairo0 => "Error at pc=0:223: + CairoVersion::Cairo0 => "Error at pc=0:250: Cairo traceback (most recent call last): -Unknown location (pc=0:195) -Unknown location (pc=0:179) +Unknown location (pc=0:222) +Unknown location (pc=0:206) An ASSERT_EQ instruction failed: 1 != 0. " @@ -812,7 +812,7 @@ Unknown location (pc=0:{}) Unknown location (pc=0:{}) {frame_2} -Error at pc=0:223: +Error at pc=0:250: Cairo traceback (most recent call last): Unknown location (pc=0:{}) Unknown location (pc=0:{}) diff --git a/crates/blockifier/src/state/cached_state_test.rs b/crates/blockifier/src/state/cached_state_test.rs index c923c837739..fdfae69e1e9 100644 --- a/crates/blockifier/src/state/cached_state_test.rs +++ b/crates/blockifier/src/state/cached_state_test.rs @@ -4,15 +4,29 @@ use assert_matches::assert_matches; use indexmap::indexmap; use pretty_assertions::assert_eq; use rstest::rstest; -use starknet_api::transaction::fields::Fee; -use starknet_api::{class_hash, compiled_class_hash, contract_address, felt, nonce, storage_key}; +use starknet_api::transaction::fields::{Fee, TransactionSignature, ValidResourceBounds}; +use starknet_api::{ + class_hash, + compiled_class_hash, + contract_address, + felt, + invoke_tx_args, + nonce, + storage_key, +}; use crate::context::{BlockContext, ChainInfo}; use crate::state::cached_state::*; use crate::test_utils::contracts::FeatureContract; use crate::test_utils::dict_state_reader::DictStateReader; use crate::test_utils::initial_test_state::test_state; -use crate::test_utils::CairoVersion; +use crate::test_utils::{create_calldata, CairoVersion, BALANCE}; +use crate::transaction::test_utils::{ + account_invoke_tx, + default_all_resource_bounds, + STORAGE_WRITE, +}; +use crate::transaction::transactions::ExecutableTransaction; const CONTRACT_ADDRESS: &str = "0x100"; fn set_initial_state_values( @@ -474,36 +488,47 @@ fn test_state_cache_commit_and_merge( // Test that allocations in validate and execute phases are properly squashed. #[rstest] -#[case(false, felt!("0x7"), felt!("0x8"), false)] -#[case(true, felt!("0x0"), felt!("0x8"), true)] -#[case(true, felt!("0x7"), felt!("0x7"), true)] -#[case(false, felt!("0x0"), felt!("0x8"), false)] -#[case(true, felt!("0x7"), felt!("0x0"), false)] -fn test_allocated_keys_two_transactions( +#[case::update_twice(false, felt!("0x7"), felt!("0x8"), false)] +#[case::set_zero_and_value(true, felt!("0x0"), felt!("0x8"), true)] +#[case::set_and_trivial_update(true, felt!("0x7"), felt!("0x7"), true)] +#[case::remove_and_set(false, felt!("0x0"), felt!("0x8"), false)] +#[case::set_and_remove(true, felt!("0x7"), felt!("0x0"), false)] +fn test_write_at_validate_and_execute( #[case] is_base_empty: bool, #[case] validate_value: Felt, #[case] execute_value: Felt, #[case] charged: bool, + #[values(CairoVersion::Cairo0, CairoVersion::Cairo1)] cairo_version: CairoVersion, + default_all_resource_bounds: ValidResourceBounds, ) { - let contract_address = contract_address!(CONTRACT_ADDRESS); - let storage_key = StorageKey::from(0x10_u16); - // Set initial state - let mut state: CachedState = CachedState::default(); + let block_context = BlockContext::create_for_testing(); + let chain_info = &block_context.chain_info; + let faulty_account_feature_contract = FeatureContract::FaultyAccount(cairo_version); + let contract_address = faulty_account_feature_contract.get_instance_address(0); + + // Set initial state. + let mut state = test_state(chain_info, BALANCE, &[(faulty_account_feature_contract, 1)]); if !is_base_empty { - state.set_storage_at(contract_address, storage_key, felt!("0x1")).unwrap(); + state.set_storage_at(contract_address, 15_u8.into(), felt!("0x1")).unwrap(); } - let mut first_state = TransactionalState::create_transactional(&mut state); - first_state.set_storage_at(contract_address, storage_key, validate_value).unwrap(); - let first_state_changes = first_state.to_state_cache().unwrap(); - - let mut second_state = TransactionalState::create_transactional(&mut first_state); - second_state.set_storage_at(contract_address, storage_key, execute_value).unwrap(); - let second_state_changes = second_state.to_state_cache().unwrap(); - - let merged_changes = - StateCache::squashed_state_diff(vec![&first_state_changes, &second_state_changes]); - assert_ne!(merged_changes.allocated_keys.is_empty(), charged); + let signature = + TransactionSignature(vec![Felt::from(STORAGE_WRITE), validate_value, execute_value]); + let invoke_tx = account_invoke_tx(invoke_tx_args! { + signature, + sender_address: contract_address, + resource_bounds: default_all_resource_bounds, + calldata: create_calldata(contract_address, "foo", &[]), + }); + let tx_execution_info = invoke_tx.execute(&mut state, &block_context, true, true).unwrap(); + let n_allocated_keys = tx_execution_info + .receipt + .resources + .starknet_resources + .state + .state_changes_for_fee + .n_allocated_keys; + assert_eq!(n_allocated_keys > 0, charged); } #[test] diff --git a/crates/blockifier/src/transaction/test_utils.rs b/crates/blockifier/src/transaction/test_utils.rs index 07ff2ba797e..5d564aeef13 100644 --- a/crates/blockifier/src/transaction/test_utils.rs +++ b/crates/blockifier/src/transaction/test_utils.rs @@ -56,6 +56,7 @@ pub const GET_EXECUTION_INFO: u64 = 4; pub const GET_BLOCK_NUMBER: u64 = 5; pub const GET_BLOCK_TIMESTAMP: u64 = 6; pub const GET_SEQUENCER_ADDRESS: u64 = 7; +pub const STORAGE_WRITE: u64 = 8; /// Test fixtures.