diff options
author | Dimitry <winsvega@mail.ru> | 2017-08-01 16:04:30 +0800 |
---|---|---|
committer | Dimitry <winsvega@mail.ru> | 2017-08-01 16:04:30 +0800 |
commit | 78c52764c6c26f0a3c2dca25fcd2e1b932ee2c43 (patch) | |
tree | c3d6bf604954c6fbd3f0416d972ca922dda331c3 /GeneralStateTests/stStaticCall | |
parent | f71c2688e1a839f8429f7e94ec5e56bb182d82cf (diff) | |
download | dexon-tests-78c52764c6c26f0a3c2dca25fcd2e1b932ee2c43.tar dexon-tests-78c52764c6c26f0a3c2dca25fcd2e1b932ee2c43.tar.gz dexon-tests-78c52764c6c26f0a3c2dca25fcd2e1b932ee2c43.tar.bz2 dexon-tests-78c52764c6c26f0a3c2dca25fcd2e1b932ee2c43.tar.lz dexon-tests-78c52764c6c26f0a3c2dca25fcd2e1b932ee2c43.tar.xz dexon-tests-78c52764c6c26f0a3c2dca25fcd2e1b932ee2c43.tar.zst dexon-tests-78c52764c6c26f0a3c2dca25fcd2e1b932ee2c43.zip |
update general tests
Diffstat (limited to 'GeneralStateTests/stStaticCall')
284 files changed, 35254 insertions, 15694 deletions
diff --git a/GeneralStateTests/stStaticCall/static_ABAcalls0.json b/GeneralStateTests/stStaticCall/static_ABAcalls0.json index baa40c59e..a57e1afa1 100644 --- a/GeneralStateTests/stStaticCall/static_ABAcalls0.json +++ b/GeneralStateTests/stStaticCall/static_ABAcalls0.json @@ -6,113 +6,165 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_ABAcalls0Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : 0, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0xc03f26592c873461737e7377bb9ae354a6acfc1af848c9ebe411e717ff86aa32", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "1000000000000100000", - "storage" : { - "0x24" : "0x00" - } + { + "hash" : "0xc03f26592c873461737e7377bb9ae354a6acfc1af848c9ebe411e717ff86aa32", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x0ce29d" - } + "logs" : [ + ] + } + ], + "EIP158" : [ + { + "hash" : "0xc03f26592c873461737e7377bb9ae354a6acfc1af848c9ebe411e717ff86aa32", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xc03f26592c873461737e7377bb9ae354a6acfc1af848c9ebe411e717ff86aa32", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "945304eb96065b2a98b57a48a06ae28d285a71b5" : { - "storage" : { - "0x26" : "0x00" - } - } + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : 1, - "gas" : -1, - "value" : -1 + ], + "Frontier" : [ + { + "hash" : "0xc03f26592c873461737e7377bb9ae354a6acfc1af848c9ebe411e717ff86aa32", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xc03f26592c873461737e7377bb9ae354a6acfc1af848c9ebe411e717ff86aa32", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xc03f26592c873461737e7377bb9ae354a6acfc1af848c9ebe411e717ff86aa32", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x0df479" - } + { + "hash" : "0xc03f26592c873461737e7377bb9ae354a6acfc1af848c9ebe411e717ff86aa32", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xdedcde8098d9d29cbfebc1757ba0ddfee0553aef3828664fb48ba7dbd3f00df7", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "195e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "1000000000000100000", - "storage" : { - "0x24" : "0x00" - } + "logs" : [ + ] + }, + { + "hash" : "0x41255adec1385a533282ad624847cace6fa9d458645a9878b61616e20846a16f", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "245304eb96065b2a98b57a48a06ae28d285a71b5" : { - "storage" : { - "0x26" : "0x00" - } - } + "logs" : [ + ] } - } - ], + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "1000000000000000000", - "code" : "{ [[ (PC) ]] (STATICCALL 100000 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0) }", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600060006000600073945304eb96065b2a98b57a48a06ae28d285a71b5620186a0fa5855", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000600060006000346000355af16000555a600155", + "nonce" : "0x00", "storage" : { } }, - "195e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 1 (PC)) (STATICCALL 100000 0x245304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0) }", - "nonce" : "0", + "0x195e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x58600152600060006000600073245304eb96065b2a98b57a48a06ae28d285a71b5620186a0fa", + "nonce" : "0x00", "storage" : { } }, - "245304eb96065b2a98b57a48a06ae28d285a71b5" : { - "balance" : "23", - "code" : " { (MSTORE 1 (PC)) (STATICCALL 50000 0x195e7baea6a6c7c4c2dfeb977efac326af552d87 0 0 0 0) } ", - "nonce" : "0", + "0x245304eb96065b2a98b57a48a06ae28d285a71b5" : { + "balance" : "0x17", + "code" : "0x58600152600060006000600073195e7baea6a6c7c4c2dfeb977efac326af552d8761c350fa", + "nonce" : "0x00", "storage" : { } }, - "945304eb96065b2a98b57a48a06ae28d285a71b5" : { - "balance" : "23", - "code" : " { [[ (PC) ]] (ADD 1 (STATICCALL 50000 0x095e7baea6a6c7c4c2dfeb977efac326af552d87 0 0 0 0)) } ", - "nonce" : "0", + "0x945304eb96065b2a98b57a48a06ae28d285a71b5" : { + "balance" : "0x17", + "code" : "0x600060006000600073095e7baea6a6c7c4c2dfeb977efac326af552d8761c350fa6001015855", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -123,14 +175,14 @@ "0x000000000000000000000000195e7baea6a6c7c4c2dfeb977efac326af552d87" ], "gasLimit" : [ - "1000000" + "0x0f4240" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_ABAcalls1.json b/GeneralStateTests/stStaticCall/static_ABAcalls1.json index a3c68014f..88c350d36 100644 --- a/GeneralStateTests/stStaticCall/static_ABAcalls1.json +++ b/GeneralStateTests/stStaticCall/static_ABAcalls1.json @@ -6,111 +6,165 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_ABAcalls1Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "1000000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x3b9aca00", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : 0, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0x0c7891487363e70826d9829cf807411e9eafc7a532e825c78b281292f0ca586c", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x26" : "0x00" - } + { + "hash" : "0x0c7891487363e70826d9829cf807411e9eafc7a532e825c78b281292f0ca586c", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x01d8b81b" - } + "logs" : [ + ] + } + ], + "EIP158" : [ + { + "hash" : "0x0c7891487363e70826d9829cf807411e9eafc7a532e825c78b281292f0ca586c", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x0c7891487363e70826d9829cf807411e9eafc7a532e825c78b281292f0ca586c", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "945304eb96065b2a98b57a48a06ae28d285a71b5" : { - "storage" : { - "0x29" : "0x00" - } - } + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : 1, - "gas" : -1, - "value" : -1 + ], + "Frontier" : [ + { + "hash" : "0x786f770b5b652f16d551ce09811f32c8521bca8aa7a30c7bfb77fbe05f743368", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x786f770b5b652f16d551ce09811f32c8521bca8aa7a30c7bfb77fbe05f743368", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x786f770b5b652f16d551ce09811f32c8521bca8aa7a30c7bfb77fbe05f743368", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x26" : "0x00" - } + { + "hash" : "0x786f770b5b652f16d551ce09811f32c8521bca8aa7a30c7bfb77fbe05f743368", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xe3a16c33c297cc8e1127a49a0a679bf2a264a94955792741a2bfc98f9826b25f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x3b957609" - } + "logs" : [ + ] + }, + { + "hash" : "0x405520d48ad2b4ad3fc3ac99d0042b395f2588fcc45e1d5c9b88013cbcaee345", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "945304eb96065b2a98b57a48a06ae28d285a71b5" : { - "storage" : { - "0x29" : "0x00" - } - } + "logs" : [ + ] } - } - ], + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "1000000000000000000", - "code" : "{ [[ (PC) ]] (STATICCALL (- (GAS) 100000) 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0) }", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600060006000600073945304eb96065b2a98b57a48a06ae28d285a71b5620186a05a03fa5855", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) 0 0 0 0 0) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600060006000600060006000355af16000555a600155", + "nonce" : "0x00", "storage" : { } }, - "195e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 1 (PC)) (STATICCALL (- (GAS) 100000) 0x245304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0) }", - "nonce" : "0", + "0x195e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x58600152600060006000600073245304eb96065b2a98b57a48a06ae28d285a71b5620186a05a03fa", + "nonce" : "0x00", "storage" : { } }, - "245304eb96065b2a98b57a48a06ae28d285a71b5" : { - "balance" : "23", - "code" : " { (MSTORE (PC) (ADD 1 (STATICCALL (- (GAS) 100000) 0x195e7baea6a6c7c4c2dfeb977efac326af552d87 0 0 0 0)) ) } ", - "nonce" : "0", + "0x245304eb96065b2a98b57a48a06ae28d285a71b5" : { + "balance" : "0x17", + "code" : "0x600060006000600073195e7baea6a6c7c4c2dfeb977efac326af552d87620186a05a03fa6001015852", + "nonce" : "0x00", "storage" : { } }, - "945304eb96065b2a98b57a48a06ae28d285a71b5" : { - "balance" : "23", - "code" : " { [[ (PC) ]] (ADD 1 (STATICCALL (- (GAS) 100000) 0x095e7baea6a6c7c4c2dfeb977efac326af552d87 0 0 0 0)) } ", - "nonce" : "0", + "0x945304eb96065b2a98b57a48a06ae28d285a71b5" : { + "balance" : "0x17", + "code" : "0x600060006000600073095e7baea6a6c7c4c2dfeb977efac326af552d87620186a05a03fa6001015855", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -121,14 +175,14 @@ "0x000000000000000000000000195e7baea6a6c7c4c2dfeb977efac326af552d87" ], "gasLimit" : [ - "1000000000" + "0x3b9aca00" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_ABAcalls2.json b/GeneralStateTests/stStaticCall/static_ABAcalls2.json index 51e592d1e..410b79142 100644 --- a/GeneralStateTests/stStaticCall/static_ABAcalls2.json +++ b/GeneralStateTests/stStaticCall/static_ABAcalls2.json @@ -6,134 +6,165 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_ABAcalls2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "1000000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x3b9aca00", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0xbb7727efd4ef264c030eb0a775f9ce7b07cf68169ca515688574a4a5412a70e7", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Frontier", - "Homestead" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x" : "0" - } + { + "hash" : "0xbb7727efd4ef264c030eb0a775f9ce7b07cf68169ca515688574a4a5412a70e7", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "945304eb96065b2a98b57a48a06ae28d285a71b5" : { - "storage" : { - "0x" : "0" - } - } + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : 0, - "gas" : -1, - "value" : -1 + ], + "EIP158" : [ + { + "hash" : "0xbb7727efd4ef264c030eb0a775f9ce7b07cf68169ca515688574a4a5412a70e7", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x" : "0x01" - } + { + "hash" : "0xbb7727efd4ef264c030eb0a775f9ce7b07cf68169ca515688574a4a5412a70e7", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x01d8c976" - } + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x34dfa119149d9bf8fef1d1bbbabd52b934e26141b6046bd7ef8998e8e29b5c14", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x34dfa119149d9bf8fef1d1bbbabd52b934e26141b6046bd7ef8998e8e29b5c14", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "945304eb96065b2a98b57a48a06ae28d285a71b5" : { - "storage" : { - "0x" : "0" - } - } + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : 1, - "gas" : -1, - "value" : -1 + ], + "Homestead" : [ + { + "hash" : "0x34dfa119149d9bf8fef1d1bbbabd52b934e26141b6046bd7ef8998e8e29b5c14", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x" : "0x00" - } + { + "hash" : "0x34dfa119149d9bf8fef1d1bbbabd52b934e26141b6046bd7ef8998e8e29b5c14", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x3b955b28" - } + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x509aafd97a6a0ddbbf8ffcb740f5e8e073285758d211a169593701db4a34f8f8", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "945304eb96065b2a98b57a48a06ae28d285a71b5" : { - "storage" : { - "0x" : "0" - } - } + "logs" : [ + ] + }, + { + "hash" : "0x8c6b4f32dafc1065d9190ffb09ef3ac4468d2366020e12dcbf4179969788e3ba", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (ADD (SLOAD 0) 1) (STATICCALL (- (GAS) 100000) 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0) }", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600160005401600055600060006000600073945304eb96065b2a98b57a48a06ae28d285a71b5620186a05a03fa", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000000" : { - "balance" : "0", - "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x00", + "code" : "0x6000600060006000346000355af16000555a600155", + "nonce" : "0x00", "storage" : { } }, - "195e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "1000000000000000000", - "code" : "{ ( MSTORE 0 (ADD (MLOAD 0) 1)) (STATICCALL (- (GAS) 100000) 0x245304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0) }", - "nonce" : "0", + "0x195e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600160005101600052600060006000600073245304eb96065b2a98b57a48a06ae28d285a71b5620186a05a03fa", + "nonce" : "0x00", "storage" : { } }, - "245304eb96065b2a98b57a48a06ae28d285a71b5" : { - "balance" : "0", - "code" : " { ( MSTORE 0 (ADD (MLOAD 0) 1)) (STATICCALL (- (GAS) 100000) 0x195e7baea6a6c7c4c2dfeb977efac326af552d87 0 0 0 0) } ", - "nonce" : "0", + "0x245304eb96065b2a98b57a48a06ae28d285a71b5" : { + "balance" : "0x00", + "code" : "0x600160005101600052600060006000600073195e7baea6a6c7c4c2dfeb977efac326af552d87620186a05a03fa", + "nonce" : "0x00", "storage" : { } }, - "945304eb96065b2a98b57a48a06ae28d285a71b5" : { - "balance" : "0", - "code" : " { [[ 0 ]] (ADD (SLOAD 0) 1) (STATICCALL (- (GAS) 100000) 0x095e7baea6a6c7c4c2dfeb977efac326af552d87 0 0 0 0) } ", - "nonce" : "0", + "0x945304eb96065b2a98b57a48a06ae28d285a71b5" : { + "balance" : "0x00", + "code" : "0x600160005401600055600060006000600073095e7baea6a6c7c4c2dfeb977efac326af552d87620186a05a03fa", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -144,14 +175,14 @@ "0x000000000000000000000000195e7baea6a6c7c4c2dfeb977efac326af552d87" ], "gasLimit" : [ - "1000000000" + "0x3b9aca00" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_ABAcalls3.json b/GeneralStateTests/stStaticCall/static_ABAcalls3.json index 18ec2570e..36466f3a5 100644 --- a/GeneralStateTests/stStaticCall/static_ABAcalls3.json +++ b/GeneralStateTests/stStaticCall/static_ABAcalls3.json @@ -6,134 +6,165 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_ABAcalls3Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0x074f790d10e1e116a6426c476544b9ba4aaaf0547e6798d8a36591a5c16dec0a", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Frontier", - "Homestead" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x" : "0" - } + { + "hash" : "0x074f790d10e1e116a6426c476544b9ba4aaaf0547e6798d8a36591a5c16dec0a", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "945304eb96065b2a98b57a48a06ae28d285a71b5" : { - "storage" : { - "0x" : "0" - } - } + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : 0, - "gas" : -1, - "value" : -1 + ], + "EIP158" : [ + { + "hash" : "0x074f790d10e1e116a6426c476544b9ba4aaaf0547e6798d8a36591a5c16dec0a", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x" : "0x01" - } + { + "hash" : "0x074f790d10e1e116a6426c476544b9ba4aaaf0547e6798d8a36591a5c16dec0a", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x0467fd" - } + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x8d9bccc5ef042358e0001d66fff581f3f1b8342c81dad02ad287a0ea18b3c8d6", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x8d9bccc5ef042358e0001d66fff581f3f1b8342c81dad02ad287a0ea18b3c8d6", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "945304eb96065b2a98b57a48a06ae28d285a71b5" : { - "storage" : { - "0x" : "0" - } - } + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : 1, - "gas" : -1, - "value" : -1 + ], + "Homestead" : [ + { + "hash" : "0x8d9bccc5ef042358e0001d66fff581f3f1b8342c81dad02ad287a0ea18b3c8d6", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x95c35c" - } + { + "hash" : "0x8d9bccc5ef042358e0001d66fff581f3f1b8342c81dad02ad287a0ea18b3c8d6", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "195e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x" : "0" - } + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xedbb8b13272913d00d5bdd584be0835fbd751c1d2ac15d5f654d13ce54b5f1b7", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "245304eb96065b2a98b57a48a06ae28d285a71b5" : { - "storage" : { - "0x" : "0" - } - } + "logs" : [ + ] + }, + { + "hash" : "0x52f205a4f23f4f83d4accf5e4b5230c4189115348a83e6203ff4ad7edebce01d", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "1025000", - "code" : "{ [[ 0 ]] (ADD (SLOAD 0) 1) (STATICCALL (- (GAS) 100000) 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0) }", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x0fa3e8", + "code" : "0x600160005401600055600060006000600073945304eb96065b2a98b57a48a06ae28d285a71b5620186a05a03fa", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000000" : { - "balance" : "0", - "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x00", + "code" : "0x6000600060006000346000355af16000555a600155", + "nonce" : "0x00", "storage" : { } }, - "195e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "1025000", - "code" : "{ (MSTORE 0 (ADD (SLOAD 0) 1)) (STATICCALL (- (GAS) 100000) 0x245304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0) }", - "nonce" : "0", + "0x195e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x0fa3e8", + "code" : "0x600160005401600052600060006000600073245304eb96065b2a98b57a48a06ae28d285a71b5620186a05a03fa", + "nonce" : "0x00", "storage" : { } }, - "245304eb96065b2a98b57a48a06ae28d285a71b5" : { - "balance" : "0", - "code" : " { (MSTORE 0 (ADD (SLOAD 0) 1)) (STATICCALL (- (GAS) 100000) 0x195e7baea6a6c7c4c2dfeb977efac326af552d87 0 0 0 0) } ", - "nonce" : "0", + "0x245304eb96065b2a98b57a48a06ae28d285a71b5" : { + "balance" : "0x00", + "code" : "0x600160005401600052600060006000600073195e7baea6a6c7c4c2dfeb977efac326af552d87620186a05a03fa", + "nonce" : "0x00", "storage" : { } }, - "945304eb96065b2a98b57a48a06ae28d285a71b5" : { - "balance" : "0", - "code" : " { [[ 0 ]] (ADD (SLOAD 0) 1) (STATICCALL (- (GAS) 100000) 0x095e7baea6a6c7c4c2dfeb977efac326af552d87 0 0 0 0) } ", - "nonce" : "0", + "0x945304eb96065b2a98b57a48a06ae28d285a71b5" : { + "balance" : "0x00", + "code" : "0x600160005401600055600060006000600073095e7baea6a6c7c4c2dfeb977efac326af552d87620186a05a03fa", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -144,14 +175,14 @@ "0x000000000000000000000000195e7baea6a6c7c4c2dfeb977efac326af552d87" ], "gasLimit" : [ - "10000000" + "0x989680" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_ABAcallsSuicide0.json b/GeneralStateTests/stStaticCall/static_ABAcallsSuicide0.json index 13e8e88de..0f6cdf4c5 100644 --- a/GeneralStateTests/stStaticCall/static_ABAcallsSuicide0.json +++ b/GeneralStateTests/stStaticCall/static_ABAcallsSuicide0.json @@ -6,101 +6,165 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_ABAcallsSuicide0Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : 0, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0xffa5388f2f354f396a4b5fd50479824ecba5a05da414b74e1feb08ac768d01eb", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x962352" - } + { + "hash" : "0xffa5388f2f354f396a4b5fd50479824ecba5a05da414b74e1feb08ac768d01eb", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "945304eb96065b2a98b57a48a06ae28d285a71b5" : { - "storage" : { - "0x26" : "0" - } - } + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : 1, - "gas" : -1, - "value" : -1 + ], + "EIP158" : [ + { + "hash" : "0xffa5388f2f354f396a4b5fd50479824ecba5a05da414b74e1feb08ac768d01eb", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x96f73c" - } + { + "hash" : "0xffa5388f2f354f396a4b5fd50479824ecba5a05da414b74e1feb08ac768d01eb", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "945304eb96065b2a98b57a48a06ae28d285a71b5" : { - "storage" : { - "0x26" : "0" - } - } + "logs" : [ + ] } - } - ], + ], + "Frontier" : [ + { + "hash" : "0xcea5bb685391706db4393bf037b44d0058636483ef432bb99683db120a00359d", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xcea5bb685391706db4393bf037b44d0058636483ef432bb99683db120a00359d", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xcea5bb685391706db4393bf037b44d0058636483ef432bb99683db120a00359d", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xcea5bb685391706db4393bf037b44d0058636483ef432bb99683db120a00359d", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xa96988d765d43bf98e1e566a22c3a203691fd78b1fb08f0ed8aef219c9356d22", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x0fa4fafe1227be36b2bf9ddcd40849bcd55a93f3eb70714594bfdcf14af5eb55", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "1000000000000000000", - "code" : "{ [[ (PC) ]] (STATICCALL 100000 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0) (SELFDESTRUCT 0x945304eb96065b2a98b57a48a06ae28d285a71b5) }", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600060006000600073945304eb96065b2a98b57a48a06ae28d285a71b5620186a0fa585573945304eb96065b2a98b57a48a06ae28d285a71b5ff", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000000" : { - "balance" : "0", - "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x00", + "code" : "0x6000600060006000346000355af16000555a600155", + "nonce" : "0x00", "storage" : { } }, - "195e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE (PC) (STATICCALL 100000 0x245304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0)) (SELFDESTRUCT 0x945304eb96065b2a98b57a48a06ae28d285a71b5) }", - "nonce" : "0", + "0x195e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600060006000600073245304eb96065b2a98b57a48a06ae28d285a71b5620186a0fa585273945304eb96065b2a98b57a48a06ae28d285a71b5ff", + "nonce" : "0x00", "storage" : { } }, - "245304eb96065b2a98b57a48a06ae28d285a71b5" : { - "balance" : "23", - "code" : "{ (MSTORE (PC) (ADD 1 (STATICCALL 50000 0x195e7baea6a6c7c4c2dfeb977efac326af552d87 0 0 0 0)) ) } ", - "nonce" : "0", + "0x245304eb96065b2a98b57a48a06ae28d285a71b5" : { + "balance" : "0x17", + "code" : "0x600060006000600073195e7baea6a6c7c4c2dfeb977efac326af552d8761c350fa6001015852", + "nonce" : "0x00", "storage" : { } }, - "945304eb96065b2a98b57a48a06ae28d285a71b5" : { - "balance" : "23", - "code" : "{ [[ (PC) ]] (ADD 1 (STATICCALL 50000 0x095e7baea6a6c7c4c2dfeb977efac326af552d87 0 0 0 0)) } ", - "nonce" : "0", + "0x945304eb96065b2a98b57a48a06ae28d285a71b5" : { + "balance" : "0x17", + "code" : "0x600060006000600073095e7baea6a6c7c4c2dfeb977efac326af552d8761c350fa6001015855", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -111,14 +175,14 @@ "0x000000000000000000000000195e7baea6a6c7c4c2dfeb977efac326af552d87" ], "gasLimit" : [ - "10000000" + "0x989680" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_ABAcallsSuicide1.json b/GeneralStateTests/stStaticCall/static_ABAcallsSuicide1.json index c67373ccf..2e480f2a8 100644 --- a/GeneralStateTests/stStaticCall/static_ABAcallsSuicide1.json +++ b/GeneralStateTests/stStaticCall/static_ABAcallsSuicide1.json @@ -6,63 +6,144 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_ABAcallsSuicide1Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : 1, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0xccd4d8f4dc9f37f077981d80525df227265e9f76286a255ebe5feb27c474674e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "EIP150", - "EIP158", - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - } + { + "hash" : "0xccd4d8f4dc9f37f077981d80525df227265e9f76286a255ebe5feb27c474674e", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { - "shouldnotexist" : "1" + "logs" : [ + ] + } + ], + "EIP158" : [ + { + "hash" : "0xccd4d8f4dc9f37f077981d80525df227265e9f76286a255ebe5feb27c474674e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "945304eb96065b2a98b57a48a06ae28d285a71b5" : { - "balance" : "23", - "storage" : { - } + "logs" : [ + ] + }, + { + "hash" : "0xccd4d8f4dc9f37f077981d80525df227265e9f76286a255ebe5feb27c474674e", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "nonce" : "1" - } + "logs" : [ + ] } - } - ], + ], + "Frontier" : [ + { + "hash" : "0xccd4d8f4dc9f37f077981d80525df227265e9f76286a255ebe5feb27c474674e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xccd4d8f4dc9f37f077981d80525df227265e9f76286a255ebe5feb27c474674e", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xccd4d8f4dc9f37f077981d80525df227265e9f76286a255ebe5feb27c474674e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xccd4d8f4dc9f37f077981d80525df227265e9f76286a255ebe5feb27c474674e", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xadea7a18f356290092a47170f2f30423787d851719ae597d21ea8c949d8d3a86", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xfe615f89e81cf8b016a7433aa27c05ad0c4ee79ba39ff764492e5f4d5f5a6d6f", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) (STATICCALL (CALLDATALOAD 0) 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 32 0 0) }", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600035600052600060006020600073945304eb96065b2a98b57a48a06ae28d285a71b5600035fa", + "nonce" : "0x00", "storage" : { } }, - "945304eb96065b2a98b57a48a06ae28d285a71b5" : { - "balance" : "23", - "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) (STATICCALL (SUB (CALLDATALOAD 0) 50000) 0x095e7baea6a6c7c4c2dfeb977efac326af552d87 0 32 0 0) (SELFDESTRUCT 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6) } ", - "nonce" : "0", + "0x945304eb96065b2a98b57a48a06ae28d285a71b5" : { + "balance" : "0x17", + "code" : "0x600035600052600060006020600073095e7baea6a6c7c4c2dfeb977efac326af552d8761c35060003503fa50730f572e5295c57f15886f9b263e2f6d2d6c7b5ec6ff", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -73,14 +154,14 @@ "0x00000000000000000000000000000000000000000000000000000000000486a0" ], "gasLimit" : [ - "10000000" + "0x989680" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CALL_OneVCallSuicide.json b/GeneralStateTests/stStaticCall/static_CALL_OneVCallSuicide.json index 37a7c66b4..3f9301ccf 100644 --- a/GeneralStateTests/stStaticCall/static_CALL_OneVCallSuicide.json +++ b/GeneralStateTests/stStaticCall/static_CALL_OneVCallSuicide.json @@ -6,55 +6,94 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CALL_OneVCallSuicideFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "storage" : { - "0x00" : "0x08d5b6", - "0x64" : "0x079a61" - } + "post" : { + "EIP150" : [ + { + "hash" : "0xd9d189d55623b848db5cb84a4aa8407b25008c9c8d8ef4ff58ca4690519b306a", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1" - } + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xd9d189d55623b848db5cb84a4aa8407b25008c9c8d8ef4ff58ca4690519b306a", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xd9d189d55623b848db5cb84a4aa8407b25008c9c8d8ef4ff58ca4690519b306a", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xd9d189d55623b848db5cb84a4aa8407b25008c9c8d8ef4ff58ca4690519b306a", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x342cabfdf44012ab2d15fd0d0b37c086d887dac25ea1f21d2d31484574c08e96", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0xe8d4a51000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "100", - "code" : "{ [[0]](GAS) (STATICCALL 60000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) [[100]] (GAS) }", - "nonce" : "0", + "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x64", + "code" : "0x5a600055600060006000600073c94f5374fce5edbc8e2a8697c15331677e6ebf0b61ea60fa505a606455", + "nonce" : "0x00", "storage" : { } }, - "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1", - "code" : "{ (SELFDESTRUCT 0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b) }", - "nonce" : "0", + "0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x01", + "code" : "0x73b94f5374fce5edbc8e2a8697c15331677e6ebf0bff", + "nonce" : "0x00", "storage" : { } } @@ -64,14 +103,14 @@ "" ], "gasLimit" : [ - "600000" + "0x0927c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CALL_ZeroVCallSuicide.json b/GeneralStateTests/stStaticCall/static_CALL_ZeroVCallSuicide.json index fb11bf86d..df009e218 100644 --- a/GeneralStateTests/stStaticCall/static_CALL_ZeroVCallSuicide.json +++ b/GeneralStateTests/stStaticCall/static_CALL_ZeroVCallSuicide.json @@ -6,55 +6,94 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CALL_ZeroVCallSuicideFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "storage" : { - "0x00" : "0x00", - "0x64" : "0x00" - } + "post" : { + "EIP150" : [ + { + "hash" : "0x547505ab1a24eb2ada751603d80eecd2a47f26969fb47dbd3f9f7d78fbee1440", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0" - } + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x3da96cfeceb3cb53a36674fdb1b80cae94e862296896d19ac7aadf32a3135e7d", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x547505ab1a24eb2ada751603d80eecd2a47f26969fb47dbd3f9f7d78fbee1440", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x547505ab1a24eb2ada751603d80eecd2a47f26969fb47dbd3f9f7d78fbee1440", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x3da96cfeceb3cb53a36674fdb1b80cae94e862296896d19ac7aadf32a3135e7d", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0xe8d4a51000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0", - "code" : "{ (STATICCALL 60000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) }", - "nonce" : "0", + "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x00", + "code" : "0x600060006000600073c94f5374fce5edbc8e2a8697c15331677e6ebf0b61ea60fa", + "nonce" : "0x00", "storage" : { } }, - "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0", - "code" : "{ (SELFDESTRUCT 0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b) }", - "nonce" : "0", + "0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x00", + "code" : "0x73b94f5374fce5edbc8e2a8697c15331677e6ebf0bff", + "nonce" : "0x00", "storage" : { } } @@ -64,14 +103,14 @@ "" ], "gasLimit" : [ - "600000" + "0x0927c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "094f5374fce5edbc8e2a8697c15331677e6ebf0b", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x094f5374fce5edbc8e2a8697c15331677e6ebf0b", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CREATE_ContractSuicideDuringInit.json b/GeneralStateTests/stStaticCall/static_CREATE_ContractSuicideDuringInit.json index 154a3bc65..cdfa31223 100644 --- a/GeneralStateTests/stStaticCall/static_CREATE_ContractSuicideDuringInit.json +++ b/GeneralStateTests/stStaticCall/static_CREATE_ContractSuicideDuringInit.json @@ -6,69 +6,258 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CREATE_ContractSuicideDuringInitFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0xba5ae1e3e6d8442c50bf29604d4d96457d6b48419f056da87878e3cc83569129", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xba5ae1e3e6d8442c50bf29604d4d96457d6b48419f056da87878e3cc83569129", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : { - "shouldnotexist" : "1" - }, - "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0", - "storage" : { - "0x01" : "0x00" - } - } + { + "hash" : "0xba5ae1e3e6d8442c50bf29604d4d96457d6b48419f056da87878e3cc83569129", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xba5ae1e3e6d8442c50bf29604d4d96457d6b48419f056da87878e3cc83569129", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xba5ae1e3e6d8442c50bf29604d4d96457d6b48419f056da87878e3cc83569129", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xba5ae1e3e6d8442c50bf29604d4d96457d6b48419f056da87878e3cc83569129", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xba5ae1e3e6d8442c50bf29604d4d96457d6b48419f056da87878e3cc83569129", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xba5ae1e3e6d8442c50bf29604d4d96457d6b48419f056da87878e3cc83569129", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xba5ae1e3e6d8442c50bf29604d4d96457d6b48419f056da87878e3cc83569129", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xba5ae1e3e6d8442c50bf29604d4d96457d6b48419f056da87878e3cc83569129", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xba5ae1e3e6d8442c50bf29604d4d96457d6b48419f056da87878e3cc83569129", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xba5ae1e3e6d8442c50bf29604d4d96457d6b48419f056da87878e3cc83569129", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xba5ae1e3e6d8442c50bf29604d4d96457d6b48419f056da87878e3cc83569129", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xba5ae1e3e6d8442c50bf29604d4d96457d6b48419f056da87878e3cc83569129", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xba5ae1e3e6d8442c50bf29604d4d96457d6b48419f056da87878e3cc83569129", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xba5ae1e3e6d8442c50bf29604d4d96457d6b48419f056da87878e3cc83569129", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x5f371bb123b53255249203a7c7e2ffc5c3ae27f3e8816f53e02188c9f42f5ff1", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xa729e7decd16eb178dda568c3f383213df1d5316c4ca5b95d7512c391a10b094", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xa729e7decd16eb178dda568c3f383213df1d5316c4ca5b95d7512c391a10b094", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xa729e7decd16eb178dda568c3f383213df1d5316c4ca5b95d7512c391a10b094", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0xe8d4a51000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "11", - "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", - "nonce" : "0", + "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0b", + "code" : "0x5b61c35060805110156018576001608051016080526000565b", + "nonce" : "0x00", "storage" : { } }, - "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0", - "code" : "{ (MSTORE 1 1) }", - "nonce" : "0", + "0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x00", + "code" : "0x6001600152", + "nonce" : "0x00", "storage" : { } }, - "d94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "11", - "code" : "{ (SSTORE 1 1) }", - "nonce" : "0", + "0xd94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0b", + "code" : "0x6001600155", + "nonce" : "0x00", "storage" : { } }, - "e94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "11", - "code" : "{ (CALL 100 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 1 0 0 0 0) }", - "nonce" : "0", + "0xe94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0b", + "code" : "0x6000600060006000600173c94f5374fce5edbc8e2a8697c15331677e6ebf0b6064f1", + "nonce" : "0x00", "storage" : { } } @@ -81,14 +270,14 @@ "0x600060006000600073e94f5374fce5edbc8e2a8697c15331677e6ebf0b61ea60fa506d64600c6000556000526005601bf360005273c94f5374fce5edbc8e2a8697c15331677e6ebf0bff" ], "gasLimit" : [ - "150000" + "0x0249f0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", "to" : "", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CREATE_ContractSuicideDuringInit_ThenStoreThenReturn.json b/GeneralStateTests/stStaticCall/static_CREATE_ContractSuicideDuringInit_ThenStoreThenReturn.json index 454ce5c17..04f71c737 100644 --- a/GeneralStateTests/stStaticCall/static_CREATE_ContractSuicideDuringInit_ThenStoreThenReturn.json +++ b/GeneralStateTests/stStaticCall/static_CREATE_ContractSuicideDuringInit_ThenStoreThenReturn.json @@ -6,87 +6,158 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CREATE_ContractSuicideDuringInit_ThenStoreThenReturnFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0xac308a6d429b670ba38741ea8d3df6b5ac8a05292a857a57a53ef00dc18aeadc", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "094f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0", - "storage" : { - "0x01" : "0" - } + { + "hash" : "0xac308a6d429b670ba38741ea8d3df6b5ac8a05292a857a57a53ef00dc18aeadc", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "194f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0", - "storage" : { - "0x01" : "0" - } + "logs" : [ + ] + } + ], + "EIP158" : [ + { + "hash" : "0xac308a6d429b670ba38741ea8d3df6b5ac8a05292a857a57a53ef00dc18aeadc", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : { - "shouldnotexist" : "1" + "logs" : [ + ] + }, + { + "hash" : "0xac308a6d429b670ba38741ea8d3df6b5ac8a05292a857a57a53ef00dc18aeadc", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0", - "storage" : { - "0x01" : "0" - } + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xac308a6d429b670ba38741ea8d3df6b5ac8a05292a857a57a53ef00dc18aeadc", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "d94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "10", - "storage" : { - "0x01" : "0" - } - } + "logs" : [ + ] + }, + { + "hash" : "0xac308a6d429b670ba38741ea8d3df6b5ac8a05292a857a57a53ef00dc18aeadc", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "Homestead" : [ + { + "hash" : "0xac308a6d429b670ba38741ea8d3df6b5ac8a05292a857a57a53ef00dc18aeadc", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xac308a6d429b670ba38741ea8d3df6b5ac8a05292a857a57a53ef00dc18aeadc", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x06df263ff3ef057343ac2ec24147d5c092d10dc9cd873f111687ca575efe44c9", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x3562f98d65ea1ba4861c530d74c8ce9dbb92e41c552834193db5f9ef9fea1a57", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "094f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0", - "code" : "{ (MSTORE 1 1) }", - "nonce" : "0", + "0x094f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x00", + "code" : "0x6001600152", + "nonce" : "0x00", "storage" : { } }, - "194f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0", - "code" : "{(MSTORE 1 1) }", - "nonce" : "0", + "0x194f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x00", + "code" : "0x6001600152", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0xe8d4a51000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0", - "code" : "{[[1]]12}", - "nonce" : "0", + "0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x00", + "code" : "0x600c600155", + "nonce" : "0x00", "storage" : { } }, - "d94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0", - "code" : "{[[1]]12}", - "nonce" : "0", + "0xd94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x00", + "code" : "0x600c600155", + "nonce" : "0x00", "storage" : { } } @@ -97,14 +168,14 @@ "0x600060006000600073094f5374fce5edbc8e2a8697c15331677e6ebf0b61ea60fa506d64600c6000556000526005601bf360005273d94f5374fce5edbc8e2a8697c15331677e6ebf0bff600060006000600073194f5374fce5edbc8e2a8697c15331677e6ebf0b61ea60fa50600b600055600e6012f3" ], "gasLimit" : [ - "600000" + "0x0927c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", "to" : "", "value" : [ - "10" + "0x0a" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CREATE_ContractSuicideDuringInit_WithValue.json b/GeneralStateTests/stStaticCall/static_CREATE_ContractSuicideDuringInit_WithValue.json index 1e6877cb1..d0aa3660d 100644 --- a/GeneralStateTests/stStaticCall/static_CREATE_ContractSuicideDuringInit_WithValue.json +++ b/GeneralStateTests/stStaticCall/static_CREATE_ContractSuicideDuringInit_WithValue.json @@ -6,55 +6,144 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CREATE_ContractSuicideDuringInit_WithValueFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0xf485ec8af9bb51a5107f82c504f75a9a4f8f0631fa44d0bf5610a5aaa01079bf", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : { - "shouldnotexist" : "1" + { + "hash" : "0xf485ec8af9bb51a5107f82c504f75a9a4f8f0631fa44d0bf5610a5aaa01079bf", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "10", - "storage" : { - "0x01" : "0" - } - } + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xf485ec8af9bb51a5107f82c504f75a9a4f8f0631fa44d0bf5610a5aaa01079bf", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xf485ec8af9bb51a5107f82c504f75a9a4f8f0631fa44d0bf5610a5aaa01079bf", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xf485ec8af9bb51a5107f82c504f75a9a4f8f0631fa44d0bf5610a5aaa01079bf", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xf485ec8af9bb51a5107f82c504f75a9a4f8f0631fa44d0bf5610a5aaa01079bf", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xf485ec8af9bb51a5107f82c504f75a9a4f8f0631fa44d0bf5610a5aaa01079bf", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xf485ec8af9bb51a5107f82c504f75a9a4f8f0631fa44d0bf5610a5aaa01079bf", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xf532488f66e226bed6d8f680090a47f88e3b0c0384aee977e4db02120a2b4eab", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xda4511f7aa82e9d1f3f6c45aa38812791fe76f1927aca67165cc69363cd853bd", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0xe8d4a51000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0", - "code" : "{[[1]]12}", - "nonce" : "0", + "0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x00", + "code" : "0x600c600155", + "nonce" : "0x00", "storage" : { } }, - "d94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0", - "code" : "{ (MSTORE 1 1) }", - "nonce" : "0", + "0xd94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x00", + "code" : "0x6001600152", + "nonce" : "0x00", "storage" : { } } @@ -65,14 +154,14 @@ "0x600060006000600073d94f5374fce5edbc8e2a8697c15331677e6ebf0b61ea60fa506d64600c6000556000526005601bf360005273c94f5374fce5edbc8e2a8697c15331677e6ebf0bff" ], "gasLimit" : [ - "150000" + "0x0249f0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", "to" : "", "value" : [ - "10" + "0x0a" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CREATE_EmptyContractAndCallIt_0wei.json b/GeneralStateTests/stStaticCall/static_CREATE_EmptyContractAndCallIt_0wei.json index ca5ad965f..ecd3eb90f 100644 --- a/GeneralStateTests/stStaticCall/static_CREATE_EmptyContractAndCallIt_0wei.json +++ b/GeneralStateTests/stStaticCall/static_CREATE_EmptyContractAndCallIt_0wei.json @@ -6,51 +6,87 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CREATE_EmptyContractAndCallIt_0weiFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "storage" : { - "0x00" : "0x08d5b6", - "0x01" : "0xf1ecf98489fa9ed60a664fc4998db699cfa39d40", - "0x02" : "0x07bc62", - "0x03" : "0x01", - "0x64" : "0x071c84" - } + "post" : { + "EIP150" : [ + { + "hash" : "0x95cb95e8a45183889c6c6374095e6e5ee260cac2501bc18a7318e0e0b9b4d925", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "f1ecf98489fa9ed60a664fc4998db699cfa39d40" : { - "nonce" : "1" - } + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x95cb95e8a45183889c6c6374095e6e5ee260cac2501bc18a7318e0e0b9b4d925", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x95cb95e8a45183889c6c6374095e6e5ee260cac2501bc18a7318e0e0b9b4d925", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x95cb95e8a45183889c6c6374095e6e5ee260cac2501bc18a7318e0e0b9b4d925", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x4642341e03e4311cb73d40525960794e48197f36ae5b787a30b75c092192c91b", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0xe8d4a51000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0", - "code" : "{ [[0]](GAS) [[1]] (CREATE 0 0 32) [[2]](GAS) [[3]] (STATICCALL 60000 (SLOAD 1) 0 0 0 0) [[100]] (GAS) }", - "nonce" : "0", + "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x00", + "code" : "0x5a600055602060006000f06001555a600255600060006000600060015461ea60fa6003555a606455", + "nonce" : "0x00", "storage" : { } } @@ -60,14 +96,14 @@ "" ], "gasLimit" : [ - "600000" + "0x0927c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CREATE_EmptyContractWithStorageAndCallIt_0wei.json b/GeneralStateTests/stStaticCall/static_CREATE_EmptyContractWithStorageAndCallIt_0wei.json index 816ec1482..0cd638ea6 100644 --- a/GeneralStateTests/stStaticCall/static_CREATE_EmptyContractWithStorageAndCallIt_0wei.json +++ b/GeneralStateTests/stStaticCall/static_CREATE_EmptyContractWithStorageAndCallIt_0wei.json @@ -6,63 +6,94 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CREATE_EmptyContractWithStorageAndCallIt_0weiFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "storage" : { - "0x00" : "0x08d5b6", - "0x01" : "0xf1ecf98489fa9ed60a664fc4998db699cfa39d40", - "0x02" : "0x071d30", - "0x03" : "0x01", - "0x64" : "0x067d52" - } + "post" : { + "EIP150" : [ + { + "hash" : "0x2cddc45b4f529774b2ecddd260c63d1154971cd17b1c2ffc77e92940d8c0333e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "storage" : { - "0x01" : "12" - } + "logs" : [ + ] + } + ], + "EIP158" : [ + { + "hash" : "0x2cddc45b4f529774b2ecddd260c63d1154971cd17b1c2ffc77e92940d8c0333e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "f1ecf98489fa9ed60a664fc4998db699cfa39d40" : { - "nonce" : "1" - } + "logs" : [ + ] } - } - ], + ], + "Frontier" : [ + { + "hash" : "0x2cddc45b4f529774b2ecddd260c63d1154971cd17b1c2ffc77e92940d8c0333e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x2cddc45b4f529774b2ecddd260c63d1154971cd17b1c2ffc77e92940d8c0333e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x4bcc548cba959981ce4cc689cf3c71fc583c7e98702efb6507db8cb62dd4f8eb", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0xe8d4a51000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0", - "code" : "{ [[0]](GAS) (MSTORE 0 0x600c6000556000600060006000600073c94f5374fce5edbc8e2a8697c1533167) (MSTORE 32 0x7e6ebf0b61ea60f1000000000000000000000000000000000000000000000000) [[1]] (CREATE 0 0 64) [[2]] (GAS) [[3]] (STATICCALL 60000 (SLOAD 1) 0 0 0 0) [[100]] (GAS) }", - "nonce" : "0", + "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x00", + "code" : "0x5a6000557f600c6000556000600060006000600073c94f5374fce5edbc8e2a8697c15331676000527f7e6ebf0b61ea60f1000000000000000000000000000000000000000000000000602052604060006000f06001555a600255600060006000600060015461ea60fa6003555a606455", + "nonce" : "0x00", "storage" : { } }, - "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000", - "code" : "{[[1]]12}", - "nonce" : "0", + "0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0xe8d4a51000", + "code" : "0x600c600155", + "nonce" : "0x00", "storage" : { } } @@ -72,14 +103,14 @@ "" ], "gasLimit" : [ - "600000" + "0x0927c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_Call10.json b/GeneralStateTests/stStaticCall/static_Call10.json index f429aab00..8c76a438f 100644 --- a/GeneralStateTests/stStaticCall/static_Call10.json +++ b/GeneralStateTests/stStaticCall/static_Call10.json @@ -6,96 +6,158 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_Call10Filler.json" }, "env" : { - "currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "currentCoinbase" : "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b", "currentDifficulty" : "0x020000", "currentGasLimit" : "0x7fffffffffffffff", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : 0, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0x6fc4c3084d4c54b9eacedbad095784469b5ea16f6f2525ecd8805baf90293096", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x7ffffffffffdadb4" - } + { + "hash" : "0x6fc4c3084d4c54b9eacedbad095784469b5ea16f6f2525ecd8805baf90293096", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "storage" : { - "0x00" : "1", - "0x01" : "0x0a" - } - } + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : 1, - "gas" : -1, - "value" : -1 + ], + "EIP158" : [ + { + "hash" : "0x6fc4c3084d4c54b9eacedbad095784469b5ea16f6f2525ecd8805baf90293096", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x7ffffffffffef99b" - } + { + "hash" : "0x6fc4c3084d4c54b9eacedbad095784469b5ea16f6f2525ecd8805baf90293096", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "storage" : { - "0x00" : "0", - "0x01" : "0" - } - } + "logs" : [ + ] } - } - ], + ], + "Frontier" : [ + { + "hash" : "0x5b0b9342608439258a77989fc35e9362610b817f0f6c325bfbb113cb213b39b4", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x5b0b9342608439258a77989fc35e9362610b817f0f6c325bfbb113cb213b39b4", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x5b0b9342608439258a77989fc35e9362610b817f0f6c325bfbb113cb213b39b4", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x5b0b9342608439258a77989fc35e9362610b817f0f6c325bfbb113cb213b39b4", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x43171058d96ffb08732b0c38a6c64c5076be8b7dbe36d3ce302384210e6d741e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xa87ead574b019674d700f0c5e843668be263b3ca5770f00f791e2c09d6a09556", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "0", - "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x00", + "code" : "0x6000600060006000346000355af16000555a600155", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { "balance" : "0xffffffffffffffffffffffffffffffff", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "aaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "7000", + "0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x1b58", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000", - "code" : "{ (def 'i 0x80) (for {} (< @i 10) [i](+ @i 1) [[ 0 ]](STATICCALL 0xfffffffffff 0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b 0 50000 0 0) ) [[ 1 ]] @i}", - "nonce" : "0", + "0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x03e8", + "code" : "0x5b600a60805110156040576000600061c350600073aaaf5374fce5edbc8e2a8697c15331677e6ebf0b650ffffffffffffa6000556001608051016080526000565b608051600155", + "nonce" : "0x00", "storage" : { } }, - "cbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000", - "code" : "{ (def 'i 0x80) (for {} (< @i 10) [i](+ @i 1) (MSTORE 0 (STATICCALL 0xfffffffffff 0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b 0 50000 0 0)) ) (MSTORE 32 @i)}", - "nonce" : "0", + "0xcbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x03e8", + "code" : "0x5b600a60805110156040576000600061c350600073aaaf5374fce5edbc8e2a8697c15331677e6ebf0b650ffffffffffffa6000526001608051016080526000565b608051602052", + "nonce" : "0x00", "storage" : { } } @@ -108,12 +170,12 @@ "gasLimit" : [ "0x7ffffffffffffff0" ], - "gasPrice" : "1", - "nonce" : "", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "10" + "0x0a" ] } } diff --git a/GeneralStateTests/stStaticCall/static_Call1024BalanceTooLow.json b/GeneralStateTests/stStaticCall/static_Call1024BalanceTooLow.json index 5896a1970..8f0406af3 100644 --- a/GeneralStateTests/stStaticCall/static_Call1024BalanceTooLow.json +++ b/GeneralStateTests/stStaticCall/static_Call1024BalanceTooLow.json @@ -6,96 +6,158 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_Call1024BalanceTooLowFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", "currentGasLimit" : "0x7fffffffffffffff", - "currentNumber" : "2675000", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentNumber" : "0x28d138", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : 0, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0x65303506a22481fc271324f6e801332c20a254f5ce948e14d43f861f6439274a", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x7effff9ff4" - } + { + "hash" : "0x65303506a22481fc271324f6e801332c20a254f5ce948e14d43f861f6439274a", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x00" - } - } + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : 1, - "gas" : -1, - "value" : -1 + ], + "EIP158" : [ + { + "hash" : "0x65303506a22481fc271324f6e801332c20a254f5ce948e14d43f861f6439274a", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x0ffffff458dd" - } + { + "hash" : "0x65303506a22481fc271324f6e801332c20a254f5ce948e14d43f861f6439274a", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "cbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x00" - } - } + "logs" : [ + ] } - } - ], + ], + "Frontier" : [ + { + "hash" : "0x7195770669304046f0a56512c69b8b9f0613a2d6420474762cfc751c8d5144ed", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x7195770669304046f0a56512c69b8b9f0613a2d6420474762cfc751c8d5144ed", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x7195770669304046f0a56512c69b8b9f0613a2d6420474762cfc751c8d5144ed", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x7195770669304046f0a56512c69b8b9f0613a2d6420474762cfc751c8d5144ed", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x2f4302b5aee555ad6d3a5df4d1785e280fe9ca3b22eaa16bd88fcfc5e7610dd2", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xb02ff201d96fed0845c416053cfd28c239653041b732838ce42b0fbb954255c5", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "0", - "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x00", + "code" : "0x6000600060006000346000355af16000555a600155", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { "balance" : "0xffffffffffffffffffffffffffffffff", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "aaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "7000", + "0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x1b58", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1024", - "code" : "{ [[ 0 ]] (ADD @@0 1) [[ 1 ]] (STATICCALL 0xfffffffffff 0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b @@0 0 0 0) }", - "nonce" : "0", + "0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0400", + "code" : "0x60016000540160005560006000600060005473bbbf5374fce5edbc8e2a8697c15331677e6ebf0b650ffffffffffffa600155", + "nonce" : "0x00", "storage" : { } }, - "cbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1024", - "code" : "{ (MSTORE 0 (ADD (MLOAD 0) 1)) (MSTORE 32 (STATICCALL 0xfffffffffff 0xcbbf5374fce5edbc8e2a8697c15331677e6ebf0b (MLOAD 0) 0 0 0)) }", - "nonce" : "0", + "0xcbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0400", + "code" : "0x60016000510160005260006000600060005173cbbf5374fce5edbc8e2a8697c15331677e6ebf0b650ffffffffffffa602052", + "nonce" : "0x00", "storage" : { } } @@ -106,14 +168,14 @@ "0x000000000000000000000000cbbf5374fce5edbc8e2a8697c15331677e6ebf0b" ], "gasLimit" : [ - "17592186099592" + "0x10000000d788" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "10" + "0x0a" ] } } diff --git a/GeneralStateTests/stStaticCall/static_Call1024BalanceTooLow2.json b/GeneralStateTests/stStaticCall/static_Call1024BalanceTooLow2.json index 8742af76e..47c216fce 100644 --- a/GeneralStateTests/stStaticCall/static_Call1024BalanceTooLow2.json +++ b/GeneralStateTests/stStaticCall/static_Call1024BalanceTooLow2.json @@ -6,96 +6,158 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_Call1024BalanceTooLow2Filler.json" }, "env" : { - "currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "currentCoinbase" : "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b", "currentDifficulty" : "0x020000", "currentGasLimit" : "0x7fffffffffffffff", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : 0, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0x1fa52f1d08aaae7e5fb60a1867dc3780f8ee2f2fcc2a5c7ddce608fd3f4ccb88", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x7effff9ff4" - } + { + "hash" : "0x1fa52f1d08aaae7e5fb60a1867dc3780f8ee2f2fcc2a5c7ddce608fd3f4ccb88", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x00" - } - } + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : 1, - "gas" : -1, - "value" : -1 + ], + "EIP158" : [ + { + "hash" : "0x1fa52f1d08aaae7e5fb60a1867dc3780f8ee2f2fcc2a5c7ddce608fd3f4ccb88", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x0ffffff458dd" - } + { + "hash" : "0x1fa52f1d08aaae7e5fb60a1867dc3780f8ee2f2fcc2a5c7ddce608fd3f4ccb88", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x00" - } - } + "logs" : [ + ] } - } - ], + ], + "Frontier" : [ + { + "hash" : "0x92ce69ec0f964ece3ff69f6c3b53612967056f3038093170d49f98f4acb8b00b", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x92ce69ec0f964ece3ff69f6c3b53612967056f3038093170d49f98f4acb8b00b", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x92ce69ec0f964ece3ff69f6c3b53612967056f3038093170d49f98f4acb8b00b", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x92ce69ec0f964ece3ff69f6c3b53612967056f3038093170d49f98f4acb8b00b", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xdde94d2896244944c676e465ea156a4c2aa6a86c924fca0e1f6bde3a181b963e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x286a8f834d47eae85a92d2e14062c0d930388ac53384b1a17a9c14aec7863699", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "0", - "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x00", + "code" : "0x6000600060006000346000355af16000555a600155", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { "balance" : "0xffffffffffffffffffffffffffffffff", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "aaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "7000", + "0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x1b58", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1024", - "code" : "{ [[ 0 ]] (ADD @@0 1) [[ 1 ]] (STATICCALL 0xfffffffffff 0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b @@0 0 0 0) }", - "nonce" : "0", + "0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0400", + "code" : "0x60016000540160005560006000600060005473bbbf5374fce5edbc8e2a8697c15331677e6ebf0b650ffffffffffffa600155", + "nonce" : "0x00", "storage" : { } }, - "cbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1024", - "code" : "{ (MSTORE 0 (ADD (MLOAD 0) 1)) (MSTORE 32 (STATICCALL 0xfffffffffff 0xcbbf5374fce5edbc8e2a8697c15331677e6ebf0b (MLOAD 0) 0 0 0)) }", - "nonce" : "0", + "0xcbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0400", + "code" : "0x60016000510160005260006000600060005173cbbf5374fce5edbc8e2a8697c15331677e6ebf0b650ffffffffffffa602052", + "nonce" : "0x00", "storage" : { } } @@ -108,12 +170,12 @@ "gasLimit" : [ "0x10000000d788" ], - "gasPrice" : "1", - "nonce" : "", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "10" + "0x0a" ] } } diff --git a/GeneralStateTests/stStaticCall/static_Call1024OOG.json b/GeneralStateTests/stStaticCall/static_Call1024OOG.json index 7598f5a9f..288460599 100644 --- a/GeneralStateTests/stStaticCall/static_Call1024OOG.json +++ b/GeneralStateTests/stStaticCall/static_Call1024OOG.json @@ -6,98 +6,158 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_Call1024OOGFiller.json" }, "env" : { - "currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "currentCoinbase" : "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b", "currentDifficulty" : "0x020000", "currentGasLimit" : "0x7fffffffffffffff", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : 0, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0x377c7eb30bfd80a9144129404d73609218fa05572eab656a60f52d37a032c569", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x06ba56" - } + { + "hash" : "0x377c7eb30bfd80a9144129404d73609218fa05572eab656a60f52d37a032c569", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x00", - "0x02" : "0x03e9" - } - } + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : 1, - "gas" : -1, - "value" : -1 + ], + "EIP158" : [ + { + "hash" : "0x377c7eb30bfd80a9144129404d73609218fa05572eab656a60f52d37a032c569", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0xebe90c" - } + { + "hash" : "0x377c7eb30bfd80a9144129404d73609218fa05572eab656a60f52d37a032c569", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x00", - "0x02" : "0x00" - } - } + "logs" : [ + ] } - } - ], + ], + "Frontier" : [ + { + "hash" : "0xbeed75a2b66e2f7d9844281420694fb1f118de6673b1fd811db2380ca8a2527c", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xbeed75a2b66e2f7d9844281420694fb1f118de6673b1fd811db2380ca8a2527c", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xbeed75a2b66e2f7d9844281420694fb1f118de6673b1fd811db2380ca8a2527c", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xbeed75a2b66e2f7d9844281420694fb1f118de6673b1fd811db2380ca8a2527c", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x12252109e742ad0cab93eeb5e0555a95eae8d40ba4b26bf202962a363c9b0980", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xd979618d4b694bcf3b93ed8b0881981e421f6ef9f7b31c0ea1497624bd9271e4", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "0", - "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x00", + "code" : "0x6000600060006000346000355af16000555a600155", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { "balance" : "0xffffffffffffffffffffffffffffffff", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "aaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "7000", + "0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x1b58", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1024", - "code" : "{ [[ 0 ]] (ADD @@0 1) [[ 1 ]] (STATICCALL (MUL (SUB (GAS) 10000) (SUB 1 (DIV @@0 1025))) 0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) [[ 2 ]] (ADD 1(MUL @@0 1000)) }", - "nonce" : "0", + "0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0400", + "code" : "0x600160005401600055600060006000600073bbbf5374fce5edbc8e2a8697c15331677e6ebf0b610401600054046001036127105a0302fa6001556103e860005402600101600255", + "nonce" : "0x00", "storage" : { } }, - "cbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1024", - "code" : "{ (MSTORE 0 (ADD (MLOAD 0) 1)) (STATICCALL (MUL (SUB (GAS) 10000) (SUB 1 (DIV (MLOAD 0) 1025))) 0xcbbf5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) (MSTORE 32 (ADD 1(MUL (MLOAD 0) 1000))) }", - "nonce" : "0", + "0xcbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0400", + "code" : "0x600160005101600052600060006000600073cbbf5374fce5edbc8e2a8697c15331677e6ebf0b610401600051046001036127105a0302fa506103e860005102600101602052", + "nonce" : "0x00", "storage" : { } } @@ -108,14 +168,14 @@ "0x000000000000000000000000cbbf5374fce5edbc8e2a8697c15331677e6ebf0b" ], "gasLimit" : [ - "15720826" + "0xefe17a" ], - "gasPrice" : "1", - "nonce" : "", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "10" + "0x0a" ] } } diff --git a/GeneralStateTests/stStaticCall/static_Call1024PreCalls.json b/GeneralStateTests/stStaticCall/static_Call1024PreCalls.json index c9a1eef15..2e5b0d727 100644 --- a/GeneralStateTests/stStaticCall/static_Call1024PreCalls.json +++ b/GeneralStateTests/stStaticCall/static_Call1024PreCalls.json @@ -6,100 +6,158 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_Call1024PreCallsFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", "currentGasLimit" : "0x7fffffffffffffff", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : 0, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0x72c9194816bf3bdeea30964d4ce764517bd08e0e1b6a6850dfe32af1b6a07845", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x7fffeffffffe3617" - } + { + "hash" : "0x72c9194816bf3bdeea30964d4ce764517bd08e0e1b6a6850dfe32af1b6a07845", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x00", - "0x02" : "0x01", - "0x03" : "0x01" - } - } + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : 1, - "gas" : -1, - "value" : -1 + ], + "EIP158" : [ + { + "hash" : "0x72c9194816bf3bdeea30964d4ce764517bd08e0e1b6a6850dfe32af1b6a07845", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x7fffffffffdd3145" - } + { + "hash" : "0x72c9194816bf3bdeea30964d4ce764517bd08e0e1b6a6850dfe32af1b6a07845", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "cbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x00", - "0x02" : "0x00", - "0x03" : "0x00" - } - } + "logs" : [ + ] } - } - ], + ], + "Frontier" : [ + { + "hash" : "0xd8c1ef716b4972c223a88f5f00f7fbca98f82256a8179f0d008e4386c6a36a5d", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xd8c1ef716b4972c223a88f5f00f7fbca98f82256a8179f0d008e4386c6a36a5d", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xd8c1ef716b4972c223a88f5f00f7fbca98f82256a8179f0d008e4386c6a36a5d", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xd8c1ef716b4972c223a88f5f00f7fbca98f82256a8179f0d008e4386c6a36a5d", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x47545485af2352f55deacfb37d334fae960a6569be0376e9aeaac56c43109d65", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xc9d51252543c9fa0eb320b0a9589663000ab8135737c659d8d096f6fd5d2a9ae", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "0", - "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x00", + "code" : "0x6000600060006000346000355af16000555a600155", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xfffffffffffffffffffffffffffffffff", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0fffffffffffffffffffffffffffffffff", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "aaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "7000", + "0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x1b58", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "2024", - "code" : "{ [[ 2 ]] (STATICCALL 0xffff 0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) [[ 3 ]] (STATICCALL 0xffff 0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) [[ 0 ]] (ADD @@0 1) [[ 1 ]] (STATICCALL 0xfffffffffff 0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) }", - "nonce" : "0", + "0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x07e8", + "code" : "0x600060006000600073aaaf5374fce5edbc8e2a8697c15331677e6ebf0b61fffffa600255600060006000600073aaaf5374fce5edbc8e2a8697c15331677e6ebf0b61fffffa600355600160005401600055600060006000600073bbbf5374fce5edbc8e2a8697c15331677e6ebf0b650ffffffffffffa600155", + "nonce" : "0x00", "storage" : { } }, - "cbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "2024", - "code" : "{ (STATICCALL 0xffff 0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) (STATICCALL 0xffff 0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) (MSTORE 0 (ADD (MLOAD 0) 1)) (STATICCALL 0xfffffffffff 0xcbbf5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) }", - "nonce" : "0", + "0xcbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x07e8", + "code" : "0x600060006000600073aaaf5374fce5edbc8e2a8697c15331677e6ebf0b61fffffa50600060006000600073aaaf5374fce5edbc8e2a8697c15331677e6ebf0b61fffffa50600160005101600052600060006000600073cbbf5374fce5edbc8e2a8697c15331677e6ebf0b650ffffffffffffa", + "nonce" : "0x00", "storage" : { } } @@ -112,12 +170,12 @@ "gasLimit" : [ "0x7ffffffffffffff0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "10" + "0x0a" ] } } diff --git a/GeneralStateTests/stStaticCall/static_Call1024PreCalls2.json b/GeneralStateTests/stStaticCall/static_Call1024PreCalls2.json index b3b5cb2d5..83e3810d0 100644 --- a/GeneralStateTests/stStaticCall/static_Call1024PreCalls2.json +++ b/GeneralStateTests/stStaticCall/static_Call1024PreCalls2.json @@ -6,100 +6,158 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_Call1024PreCalls2Filler.json" }, "env" : { - "currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "currentCoinbase" : "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b", "currentDifficulty" : "0x020000", "currentGasLimit" : "0x7fffffffffffffff", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : 0, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0x84b15d76a83439d2f8b556d2790a3193aa0bc7b4b91908113a91c911b1e88e97", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x7ffffffffea056fd" - } + { + "hash" : "0x84b15d76a83439d2f8b556d2790a3193aa0bc7b4b91908113a91c911b1e88e97", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "storage" : { - "0x00" : "0x0400", - "0x01" : "0x01", - "0x02" : "0x00", - "0x03" : "0x00" - } - } + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : 1, - "gas" : -1, - "value" : -1 + ], + "EIP158" : [ + { + "hash" : "0x84b15d76a83439d2f8b556d2790a3193aa0bc7b4b91908113a91c911b1e88e97", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x7fffffffffdcd15d" - } + { + "hash" : "0x84b15d76a83439d2f8b556d2790a3193aa0bc7b4b91908113a91c911b1e88e97", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x00", - "0x02" : "0x00", - "0x03" : "0x00" - } - } + "logs" : [ + ] } - } - ], + ], + "Frontier" : [ + { + "hash" : "0x1e55307cb145f215d81a774a89864da25991de58a2a9e918c9b0df7946841997", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x1e55307cb145f215d81a774a89864da25991de58a2a9e918c9b0df7946841997", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x1e55307cb145f215d81a774a89864da25991de58a2a9e918c9b0df7946841997", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x1e55307cb145f215d81a774a89864da25991de58a2a9e918c9b0df7946841997", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xc3e703ec8eadb5f45a5be63ef75210aba7d62e94c4fff236682d23e3ab16394a", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x39ed2fb5d5606b9b81c52284938fbb0b283ad86b9bac805058f42dcb5f55fd62", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "0", - "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x00", + "code" : "0x6000600060006000346000355af16000555a600155", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xfffffffffffffffffffffffffffffffff", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0fffffffffffffffffffffffffffffffff", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "aaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "7000", - "code" : "{ (MSTORE 0 1)}", - "nonce" : "0", + "0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x1b58", + "code" : "0x6001600052", + "nonce" : "0x00", "storage" : { } }, - "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "2024", - "code" : "{ [[ 2 ]] (STATICCALL 0xffff 0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) [[ 3 ]] (STATICCALL 0xffff 0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) [[ 0 ]] (ADD @@0 1) [[ 1 ]] (DELEGATECALL 0xfffffffffff 0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) }", - "nonce" : "0", + "0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x07e8", + "code" : "0x600060006000600073aaaf5374fce5edbc8e2a8697c15331677e6ebf0b61fffffa600255600060006000600073aaaf5374fce5edbc8e2a8697c15331677e6ebf0b61fffffa600355600160005401600055600060006000600073bbbf5374fce5edbc8e2a8697c15331677e6ebf0b650ffffffffffff4600155", + "nonce" : "0x00", "storage" : { } }, - "cbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "2024", - "code" : "{ (STATICCALL 0xffff 0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) (STATICCALL 0xffff 0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) (MSTORE 0 (ADD (MLOAD 0) 1)) (DELEGATECALL 0xfffffffffff 0xcbbf5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) }", - "nonce" : "0", + "0xcbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x07e8", + "code" : "0x600060006000600073aaaf5374fce5edbc8e2a8697c15331677e6ebf0b61fffffa50600060006000600073aaaf5374fce5edbc8e2a8697c15331677e6ebf0b61fffffa50600160005101600052600060006000600073cbbf5374fce5edbc8e2a8697c15331677e6ebf0b650ffffffffffff4", + "nonce" : "0x00", "storage" : { } } @@ -112,12 +170,12 @@ "gasLimit" : [ "0x7ffffffffffffff0" ], - "gasPrice" : "1", - "nonce" : "", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "10" + "0x0a" ] } } diff --git a/GeneralStateTests/stStaticCall/static_Call1024PreCalls3.json b/GeneralStateTests/stStaticCall/static_Call1024PreCalls3.json index 37479e813..f117ebf8f 100644 --- a/GeneralStateTests/stStaticCall/static_Call1024PreCalls3.json +++ b/GeneralStateTests/stStaticCall/static_Call1024PreCalls3.json @@ -6,100 +6,158 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_Call1024PreCalls3Filler.json" }, "env" : { - "currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "currentCoinbase" : "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b", "currentDifficulty" : "0x020000", "currentGasLimit" : "0x7fffffffffffffff", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : 0, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0x43dcef1547c811367a98a58d309ff493d8da77dc809bd85be54919cc5256d31a", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x7fffeffffffe3617" - } + { + "hash" : "0x43dcef1547c811367a98a58d309ff493d8da77dc809bd85be54919cc5256d31a", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x00", - "0x02" : "0x01", - "0x03" : "0x01" - } - } + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : 1, - "gas" : -1, - "value" : -1 + ], + "EIP158" : [ + { + "hash" : "0x43dcef1547c811367a98a58d309ff493d8da77dc809bd85be54919cc5256d31a", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x7fffffffffdd3145" - } + { + "hash" : "0x43dcef1547c811367a98a58d309ff493d8da77dc809bd85be54919cc5256d31a", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "cbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x00", - "0x02" : "0x00", - "0x03" : "0x00" - } - } + "logs" : [ + ] } - } - ], + ], + "Frontier" : [ + { + "hash" : "0x0c49b7f4e9d3b5510b80e8d98d930ad870e91bcd475a0813d18e9311fd8e55cd", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x0c49b7f4e9d3b5510b80e8d98d930ad870e91bcd475a0813d18e9311fd8e55cd", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x0c49b7f4e9d3b5510b80e8d98d930ad870e91bcd475a0813d18e9311fd8e55cd", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x0c49b7f4e9d3b5510b80e8d98d930ad870e91bcd475a0813d18e9311fd8e55cd", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xb5e45c3c25b7dcdd70c888946cb41e5343a078996960b179c9b50791f4099930", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x4995b48f3bd479101b9df0d5e7b80a76ccd39d8014ea778b7b012a4b4e74de69", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "0", - "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x00", + "code" : "0x6000600060006000346000355af16000555a600155", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xfffffffffffffffffffffffffffffffff", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0fffffffffffffffffffffffffffffffff", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "aaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "7000", + "0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x1b58", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "2024", - "code" : "{ [[ 2 ]] (STATICCALL 0xffff 0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) [[ 3 ]] (STATICCALL 0xffff 0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) [[ 0 ]] (ADD @@0 1) [[ 1 ]] (STATICCALL 0xfffffffffff 0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) }", - "nonce" : "0", + "0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x07e8", + "code" : "0x600060006000600073aaaf5374fce5edbc8e2a8697c15331677e6ebf0b61fffffa600255600060006000600073aaaf5374fce5edbc8e2a8697c15331677e6ebf0b61fffffa600355600160005401600055600060006000600073bbbf5374fce5edbc8e2a8697c15331677e6ebf0b650ffffffffffffa600155", + "nonce" : "0x00", "storage" : { } }, - "cbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "2024", - "code" : "{ (STATICCALL 0xffff 0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) (STATICCALL 0xffff 0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) (MSTORE 0 (ADD (MLOAD 0) 1)) (STATICCALL 0xfffffffffff 0xcbbf5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) }", - "nonce" : "0", + "0xcbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x07e8", + "code" : "0x600060006000600073aaaf5374fce5edbc8e2a8697c15331677e6ebf0b61fffffa50600060006000600073aaaf5374fce5edbc8e2a8697c15331677e6ebf0b61fffffa50600160005101600052600060006000600073cbbf5374fce5edbc8e2a8697c15331677e6ebf0b650ffffffffffffa", + "nonce" : "0x00", "storage" : { } } @@ -112,12 +170,12 @@ "gasLimit" : [ "0x7ffffffffffffff0" ], - "gasPrice" : "1", - "nonce" : "", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "10" + "0x0a" ] } } diff --git a/GeneralStateTests/stStaticCall/static_Call1MB1024Calldepth.json b/GeneralStateTests/stStaticCall/static_Call1MB1024Calldepth.json index 559f70711..9bafc5052 100644 --- a/GeneralStateTests/stStaticCall/static_Call1MB1024Calldepth.json +++ b/GeneralStateTests/stStaticCall/static_Call1MB1024Calldepth.json @@ -6,104 +6,158 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_Call1MB1024CalldepthFiller.json" }, "env" : { - "currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "currentCoinbase" : "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b", "currentDifficulty" : "0x020000", - "currentGasLimit" : "882500000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0xcd79195900", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : 0, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0xbb49e60a0a9c224fa1ca6c5800fb429cfb15bdd05997bd22e14fd65e983d7342", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01" - } + { + "hash" : "0xbb49e60a0a9c224fa1ca6c5800fb429cfb15bdd05997bd22e14fd65e983d7342", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "340282366920938463463374606576630825020" + "logs" : [ + ] + } + ], + "EIP158" : [ + { + "hash" : "0xbb49e60a0a9c224fa1ca6c5800fb429cfb15bdd05997bd22e14fd65e983d7342", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xbb49e60a0a9c224fa1ca6c5800fb429cfb15bdd05997bd22e14fd65e983d7342", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "code" : "0x60016000540160005561040060005410601b5760016002556045565b60006000620f4240600073bbbf5374fce5edbc8e2a8697c15331677e6ebf0b620f55c85a03fa6001555b", - "nonce" : "0x00", - "storage" : { - "0x00" : "0x01", - "0x01" : "0x00" - } - } + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : 1, - "gas" : -1, - "value" : -1 + ], + "Frontier" : [ + { + "hash" : "0x5ec6d930391ee23d713ce66da97cbc366bf929411f5fb0d01c5dae5fea491455", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x5ec6d930391ee23d713ce66da97cbc366bf929411f5fb0d01c5dae5fea491455", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x5ec6d930391ee23d713ce66da97cbc366bf929411f5fb0d01c5dae5fea491455", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01" - } + { + "hash" : "0x5ec6d930391ee23d713ce66da97cbc366bf929411f5fb0d01c5dae5fea491455", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x7a6ec2437e4f7f5affb760be1ab360de5221df61fefca20d798b5ea54e738291", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "340282366920938463463374607430644755785" + "logs" : [ + ] + }, + { + "hash" : "0xde79c963e0243f89748a78f8f39040f3047c77a9d70dcecb726ae683f54f7d73", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "code" : "0x60016000540160005561040060005410601b5760016002556045565b60006000620f4240600073bbbf5374fce5edbc8e2a8697c15331677e6ebf0b620f55c85a03fa6001555b", - "nonce" : "0x00", - "storage" : { - "0x00" : "0x00", - "0x01" : "0x00" - } - } + "logs" : [ + ] } - } - ], + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "0xfffffffffffff", - "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) 0 0 0 0 0) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0fffffffffffff", + "code" : "0x600060006000600060006000355af1600055", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { "balance" : "0xffffffffffffffffffffffffffffffff", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "aaa50000fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xfffffffffffff", + "0xaaa50000fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0fffffffffffff", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xfffffffffffff", - "code" : "{ (def 'i 0x80) [[ 0 ]] (+ @@0 1) (if (LT @@0 1024) [[ 1 ]] (STATICCALL (- (GAS) 1005000) 0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b 0 1000000 0 0) [[ 2 ]] 1 ) }", - "nonce" : "0", + "0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0fffffffffffff", + "code" : "0x60016000540160005561040060005410601b5760016002556045565b60006000620f4240600073bbbf5374fce5edbc8e2a8697c15331677e6ebf0b620f55c85a03fa6001555b", + "nonce" : "0x00", "storage" : { } }, - "cbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xfffffffffffff", - "code" : "{ (def 'i 0x80) (MSTORE 0 (+ (MLOAD 0) 1)) (if (LT (MLOAD 0) 1024) (MSTORE 32 (STATICCALL (- (GAS) 1005000) 0xcbbf5374fce5edbc8e2a8697c15331677e6ebf0b 0 1000000 0 0)) (MSTORE 64 1) ) }", - "nonce" : "0", + "0xcbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0fffffffffffff", + "code" : "0x60016000510160005261040060005110601b5760016040526045565b60006000620f4240600073cbbf5374fce5edbc8e2a8697c15331677e6ebf0b620f55c85a03fa6020525b", + "nonce" : "0x00", "storage" : { } } @@ -114,14 +168,14 @@ "0x000000000000000000000000cbbf5374fce5edbc8e2a8697c15331677e6ebf0b" ], "gasLimit" : [ - "882500000000" + "0xcd79195900" ], - "gasPrice" : "1", - "nonce" : "", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "10" + "0x0a" ] } } diff --git a/GeneralStateTests/stStaticCall/static_Call50000.json b/GeneralStateTests/stStaticCall/static_Call50000.json index 434cc3781..b619efb0d 100644 --- a/GeneralStateTests/stStaticCall/static_Call50000.json +++ b/GeneralStateTests/stStaticCall/static_Call50000.json @@ -6,140 +6,158 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_Call50000Filler.json" }, "env" : { - "currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "currentCoinbase" : "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b", "currentDifficulty" : "0x020000", - "currentGasLimit" : "86000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x05204180", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : 0, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x142e79" - } + "post" : { + "EIP150" : [ + { + "hash" : "0x4d0410e141c8f943f83cc4771edff86117b741acf6954fcc3e18cf88d1e3b425", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "340282366920938463463374607431684514059", - "code" : "0x", - "nonce" : "0x01", - "storage" : { - } + "logs" : [ + ] + }, + { + "hash" : "0x4d0410e141c8f943f83cc4771edff86117b741acf6954fcc3e18cf88d1e3b425", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "aaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x1b58", - "code" : "0x", - "nonce" : "0x00", - "storage" : { - } + "logs" : [ + ] + } + ], + "EIP158" : [ + { + "hash" : "0x4d0410e141c8f943f83cc4771edff86117b741acf6954fcc3e18cf88d1e3b425", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "83697386", - "code" : "0x", - "nonce" : "0x00", - "storage" : { - } + "logs" : [ + ] + }, + { + "hash" : "0x4d0410e141c8f943f83cc4771edff86117b741acf6954fcc3e18cf88d1e3b425", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0fffffffffffff", - "code" : "0x5b61c3506080511015603d576000600061c350600073aaaf5374fce5edbc8e2a8697c15331677e6ebf0b610640fa6000556001608051016080526000565b608051600155", - "nonce" : "0x00", - "storage" : { - } - } + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : 1, - "gas" : -1, - "value" : -1 + ], + "Frontier" : [ + { + "hash" : "0xcd0460282874213b0a71f14cc7f60f4af9a1299ec9520a1b35b9b98b0cdcbecb", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x02bb7917" - } + { + "hash" : "0xcd0460282874213b0a71f14cc7f60f4af9a1299ec9520a1b35b9b98b0cdcbecb", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xcd0460282874213b0a71f14cc7f60f4af9a1299ec9520a1b35b9b98b0cdcbecb", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "340282366920938463463374607431729032105", - "code" : "0x", - "nonce" : "0x01", - "storage" : { - } + "logs" : [ + ] + }, + { + "hash" : "0xcd0460282874213b0a71f14cc7f60f4af9a1299ec9520a1b35b9b98b0cdcbecb", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "aaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x1b58", - "code" : "0x", - "nonce" : "0x00", - "storage" : { - } + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x4d0410e141c8f943f83cc4771edff86117b741acf6954fcc3e18cf88d1e3b425", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "39179340", - "code" : "0x", - "nonce" : "0x00", - "storage" : { - } + "logs" : [ + ] + }, + { + "hash" : "0xb568e43eaff561a067df321504be9c94a585f3e5c80147256cc39ce51f18dd13", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0fffffffffffff", - "code" : "0x5b61c3506080511015603d576000600061c350600073aaaf5374fce5edbc8e2a8697c15331677e6ebf0b610640fa6000556001608051016080526000565b608051600155", - "nonce" : "0x00", - "storage" : { - } - } + "logs" : [ + ] } - } - ], + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "0", - "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x00", + "code" : "0x6000600060006000346000355af16000555a600155", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { "balance" : "0xffffffffffffffffffffffffffffffff", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "aaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "7000", + "0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x1b58", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xfffffffffffff", - "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) [[ 0 ]] (STATICCALL 1600 0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b 0 50000 0 0) ) [[ 1 ]] @i}", - "nonce" : "0", + "0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0fffffffffffff", + "code" : "0x5b61c3506080511015603d576000600061c350600073aaaf5374fce5edbc8e2a8697c15331677e6ebf0b610640fa6000556001608051016080526000565b608051600155", + "nonce" : "0x00", "storage" : { } }, - "cccf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xfffffffffffff", - "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (MSTORE 0 (STATICCALL 1600 0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b 0 50000 0 0)) ) (MSTORE 32 @i ) }", - "nonce" : "0", + "0xcccf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0fffffffffffff", + "code" : "0x5b61c3506080511015603d576000600061c350600073aaaf5374fce5edbc8e2a8697c15331677e6ebf0b610640fa6000526001608051016080526000565b608051602052", + "nonce" : "0x00", "storage" : { } } @@ -150,14 +168,14 @@ "0x000000000000000000000000cccf5374fce5edbc8e2a8697c15331677e6ebf0b" ], "gasLimit" : [ - "85000000" + "0x0510ff40" ], - "gasPrice" : "1", - "nonce" : "", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "10" + "0x0a" ] } } diff --git a/GeneralStateTests/stStaticCall/static_Call50000_ecrec.json b/GeneralStateTests/stStaticCall/static_Call50000_ecrec.json index 7e15a647b..fc0ea50a7 100644 --- a/GeneralStateTests/stStaticCall/static_Call50000_ecrec.json +++ b/GeneralStateTests/stStaticCall/static_Call50000_ecrec.json @@ -6,119 +6,151 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_Call50000_ecrecFiller.json" }, "env" : { - "currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "currentCoinbase" : "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b", "currentDifficulty" : "0x020000", - "currentGasLimit" : "95000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x05a995c0", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : 0, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0x4e68c50f1d55e4eae9fc8e5ad4c7e67d11028e71c2744e198105acebc45ea6be", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x16724f" - } + { + "hash" : "0x4e68c50f1d55e4eae9fc8e5ad4c7e67d11028e71c2744e198105acebc45ea6be", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "340282366920938463463374607431675162497", - "code" : "0x", - "nonce" : "0x01", - "storage" : { - } + "logs" : [ + ] + } + ], + "EIP158" : [ + { + "hash" : "0x4e68c50f1d55e4eae9fc8e5ad4c7e67d11028e71c2744e198105acebc45ea6be", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "93048948", - "code" : "0x", - "nonce" : "0x00", - "storage" : { - } + "logs" : [ + ] + }, + { + "hash" : "0x4e68c50f1d55e4eae9fc8e5ad4c7e67d11028e71c2744e198105acebc45ea6be", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xffffffffffffffffffffffffffffffff", - "code" : "0x5b61c3506080511015602a576000600061c350600060016101f4fa6000556001608051016080526000565b608051600155", - "nonce" : "0x00", - "storage" : { - } - } + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : 1, - "gas" : -1, - "value" : -1 + ], + "Frontier" : [ + { + "hash" : "0x98a9c18380c2624cb8fc4b401420e9b185586a3d3617d8ed7a9b3177117e93b2", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x98a9c18380c2624cb8fc4b401420e9b185586a3d3617d8ed7a9b3177117e93b2", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x98a9c18380c2624cb8fc4b401420e9b185586a3d3617d8ed7a9b3177117e93b2", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x01cef637" - } + { + "hash" : "0x98a9c18380c2624cb8fc4b401420e9b185586a3d3617d8ed7a9b3177117e93b2", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "340282366920938463463374607431704032105", - "code" : "0x", - "nonce" : "0x01", - "storage" : { - } + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x4e68c50f1d55e4eae9fc8e5ad4c7e67d11028e71c2744e198105acebc45ea6be", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "64179340", - "code" : "0x", - "nonce" : "0x00", - "storage" : { - } + "logs" : [ + ] + }, + { + "hash" : "0xa6e861719720bffc51b5c19d318e904b3ca4ce0e73de561571b2995e72cedd82", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xffffffffffffffffffffffffffffffff", - "code" : "0x5b61c3506080511015602a576000600061c350600060016101f4fa6000556001608051016080526000565b608051600155", - "nonce" : "0x00", - "storage" : { - } - } + "logs" : [ + ] } - } - ], + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "0", - "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x00", + "code" : "0x6000600060006000346000355af16000555a600155", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { "balance" : "0xffffffffffffffffffffffffffffffff", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { "balance" : "0xffffffffffffffffffffffffffffffff", - "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) [[ 0 ]] (STATICCALL 500 1 0 50000 0 0) ) [[ 1 ]] @i}", - "nonce" : "0", + "code" : "0x5b61c3506080511015602a576000600061c350600060016101f4fa6000556001608051016080526000565b608051600155", + "nonce" : "0x00", "storage" : { } }, - "cccf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "0xcccf5374fce5edbc8e2a8697c15331677e6ebf0b" : { "balance" : "0xffffffffffffffffffffffffffffffff", - "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (MSTORE 0 (STATICCALL 500 1 0 50000 0 0)) ) (MSTORE 32 @i ) }", - "nonce" : "0", + "code" : "0x5b61c3506080511015602a576000600061c350600060016101f4fa6000526001608051016080526000565b608051602052", + "nonce" : "0x00", "storage" : { } } @@ -129,14 +161,14 @@ "0x000000000000000000000000cccf5374fce5edbc8e2a8697c15331677e6ebf0b" ], "gasLimit" : [ - "94500000" + "0x05a1f4a0" ], - "gasPrice" : "1", - "nonce" : "", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "10" + "0x0a" ] } } diff --git a/GeneralStateTests/stStaticCall/static_Call50000_identity.json b/GeneralStateTests/stStaticCall/static_Call50000_identity.json index 8b40a0f96..2a7a42290 100644 --- a/GeneralStateTests/stStaticCall/static_Call50000_identity.json +++ b/GeneralStateTests/stStaticCall/static_Call50000_identity.json @@ -6,119 +6,151 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_Call50000_identityFiller.json" }, "env" : { - "currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "currentCoinbase" : "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b", "currentDifficulty" : "0x020000", - "currentGasLimit" : "88250000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x05429690", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : 0, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0x950082ee6461cea4dc189c6338c60ed9c8658344c701ac25318e4701ec57b2ce", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x14f4d7" - } + { + "hash" : "0x950082ee6461cea4dc189c6338c60ed9c8658344c701ac25318e4701ec57b2ce", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "340282366920938463463374607431681314841", - "code" : "0x", - "nonce" : "0x01", - "storage" : { - } + "logs" : [ + ] + } + ], + "EIP158" : [ + { + "hash" : "0x950082ee6461cea4dc189c6338c60ed9c8658344c701ac25318e4701ec57b2ce", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "86896604", - "code" : "0x", - "nonce" : "0x00", - "storage" : { - } + "logs" : [ + ] + }, + { + "hash" : "0x950082ee6461cea4dc189c6338c60ed9c8658344c701ac25318e4701ec57b2ce", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0fffffffffffff", - "code" : "0x5b61c3506080511015602a576000600061c3506000600461061cfa6000556001608051016080526000565b608051600155", - "nonce" : "0x00", - "storage" : { - } - } + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : 1, - "gas" : -1, - "value" : -1 + ], + "Frontier" : [ + { + "hash" : "0x821b561eb2fc794a36baf2db3d7eb4d04ef9312ecea1dc270d028881c233de5c", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x821b561eb2fc794a36baf2db3d7eb4d04ef9312ecea1dc270d028881c233de5c", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x821b561eb2fc794a36baf2db3d7eb4d04ef9312ecea1dc270d028881c233de5c", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x14f4d7" - } + { + "hash" : "0x821b561eb2fc794a36baf2db3d7eb4d04ef9312ecea1dc270d028881c233de5c", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "340282366920938463463374607431681314841", - "code" : "0x", - "nonce" : "0x01", - "storage" : { - } + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x950082ee6461cea4dc189c6338c60ed9c8658344c701ac25318e4701ec57b2ce", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "86896604", - "code" : "0x", - "nonce" : "0x00", - "storage" : { - } + "logs" : [ + ] + }, + { + "hash" : "0x950082ee6461cea4dc189c6338c60ed9c8658344c701ac25318e4701ec57b2ce", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0fffffffffffff", - "code" : "0x5b61c3506080511015602a576000600061c3506000600461061cfa6000556001608051016080526000565b608051600155", - "nonce" : "0x00", - "storage" : { - } - } + "logs" : [ + ] } - } - ], + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "0", - "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x00", + "code" : "0x6000600060006000346000355af16000555a600155", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { "balance" : "0xffffffffffffffffffffffffffffffff", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xfffffffffffff", - "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) [[ 0 ]] (STATICCALL 1564 4 0 50000 0 0) ) [[ 1 ]] @i}", - "nonce" : "0", + "0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0fffffffffffff", + "code" : "0x5b61c3506080511015602a576000600061c3506000600461061cfa6000556001608051016080526000565b608051600155", + "nonce" : "0x00", "storage" : { } }, - "cccf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xfffffffffffff", - "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (MSTORE 0 (STATICCALL 1564 4 0 50000 0 0)) ) (MSTORE 32 @i ) }", - "nonce" : "0", + "0xcccf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0fffffffffffff", + "code" : "0x5b61c3506080511015602a576000600061c3506000600461061cfa6000526001608051016080526000565b608051602052", + "nonce" : "0x00", "storage" : { } } @@ -129,14 +161,14 @@ "0x000000000000000000000000cccf5374fce5edbc8e2a8697c15331677e6ebf0b" ], "gasLimit" : [ - "88250000" + "0x05429690" ], - "gasPrice" : "1", - "nonce" : "", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "10" + "0x0a" ] } } diff --git a/GeneralStateTests/stStaticCall/static_Call50000_identity2.json b/GeneralStateTests/stStaticCall/static_Call50000_identity2.json index 274e54c8d..35405e05d 100644 --- a/GeneralStateTests/stStaticCall/static_Call50000_identity2.json +++ b/GeneralStateTests/stStaticCall/static_Call50000_identity2.json @@ -6,80 +6,151 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_Call50000_identity2Filler.json" }, "env" : { - "currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "currentCoinbase" : "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b", "currentDifficulty" : "0x020000", - "currentGasLimit" : "88250000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x05429690", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0x62677a239ceaf20855a7c43165a93af54133f52a3eee2bb329b9ae644fd7e5db", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x14f4d7" - } + { + "hash" : "0x62677a239ceaf20855a7c43165a93af54133f52a3eee2bb329b9ae644fd7e5db", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "340282366920938463463374607431681314841", - "code" : "0x", - "nonce" : "0x01", - "storage" : { - } + "logs" : [ + ] + } + ], + "EIP158" : [ + { + "hash" : "0x62677a239ceaf20855a7c43165a93af54133f52a3eee2bb329b9ae644fd7e5db", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "86896604", - "code" : "0x", - "nonce" : "0x00", - "storage" : { - } + "logs" : [ + ] + }, + { + "hash" : "0x62677a239ceaf20855a7c43165a93af54133f52a3eee2bb329b9ae644fd7e5db", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0fffffffffffff", - "code" : "0x602a6001525b61c350608051101560305761c350600161c3506000600461061cfa6000556001608051016080526005565b608051600155600151600255", - "nonce" : "0x00", - "storage" : { - } - } + "logs" : [ + ] } - } - ], + ], + "Frontier" : [ + { + "hash" : "0x727d1d8785ebe9311f1d282a9c21b05b8749ed1f868733db22c70699c593a4dc", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x727d1d8785ebe9311f1d282a9c21b05b8749ed1f868733db22c70699c593a4dc", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x727d1d8785ebe9311f1d282a9c21b05b8749ed1f868733db22c70699c593a4dc", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x727d1d8785ebe9311f1d282a9c21b05b8749ed1f868733db22c70699c593a4dc", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x62677a239ceaf20855a7c43165a93af54133f52a3eee2bb329b9ae644fd7e5db", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x62677a239ceaf20855a7c43165a93af54133f52a3eee2bb329b9ae644fd7e5db", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "0", - "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x00", + "code" : "0x6000600060006000346000355af16000555a600155", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { "balance" : "0xffffffffffffffffffffffffffffffff", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xfffffffffffff", - "code" : "{ (def 'i 0x80) [ 1 ] 42 (for {} (< @i 50000) [i](+ @i 1) [[ 0 ]] (STATICCALL 1564 4 0 50000 1 50000) ) [[ 1 ]] @i [[ 2 ]] @1 }", - "nonce" : "0", + "0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0fffffffffffff", + "code" : "0x602a6001525b61c350608051101560305761c350600161c3506000600461061cfa6000556001608051016080526005565b608051600155600151600255", + "nonce" : "0x00", "storage" : { } }, - "cccf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xfffffffffffff", - "code" : "{ (def 'i 0x80) [ 1 ] 42 (for {} (< @i 50000) [i](+ @i 1) (MSTORE 0 (STATICCALL 1564 4 0 50000 1 50000)) ) (MSTORE 32 @i) (MSTORE 64 @1 ) }", - "nonce" : "0", + "0xcccf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0fffffffffffff", + "code" : "0x602a6001525b61c350608051101560305761c350600161c3506000600461061cfa6000526001608051016080526005565b608051602052600151604052", + "nonce" : "0x00", "storage" : { } } @@ -90,14 +161,14 @@ "0x000000000000000000000000cccf5374fce5edbc8e2a8697c15331677e6ebf0b" ], "gasLimit" : [ - "88250000" + "0x05429690" ], - "gasPrice" : "1", - "nonce" : "", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "10" + "0x0a" ] } } diff --git a/GeneralStateTests/stStaticCall/static_Call50000_rip160.json b/GeneralStateTests/stStaticCall/static_Call50000_rip160.json index 98a256f4f..717e4a52c 100644 --- a/GeneralStateTests/stStaticCall/static_Call50000_rip160.json +++ b/GeneralStateTests/stStaticCall/static_Call50000_rip160.json @@ -6,82 +6,151 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_Call50000_rip160Filler.json" }, "env" : { - "currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "currentCoinbase" : "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b", "currentDifficulty" : "0x020000", - "currentGasLimit" : "3925000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0xe9f2bf40", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0x2a8611d0d87e773018798469ea28e2d918a7b7a6d22922eed042c03f2d0e0970", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x03a7b579" - } + { + "hash" : "0x2a8611d0d87e773018798469ea28e2d918a7b7a6d22922eed042c03f2d0e0970", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "340282366920938463463374607427904514059", - "code" : "0x", - "nonce" : "0x01", - "storage" : { - } + "logs" : [ + ] + } + ], + "EIP158" : [ + { + "hash" : "0x2a8611d0d87e773018798469ea28e2d918a7b7a6d22922eed042c03f2d0e0970", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "3863697386", - "code" : "0x", - "nonce" : "0x00", - "storage" : { - } + "logs" : [ + ] + }, + { + "hash" : "0x2a8611d0d87e773018798469ea28e2d918a7b7a6d22922eed042c03f2d0e0970", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "4503599627370495", - "code" : "0x5b61c3506080511015602b576000600061c3506000600362013178fa6000556001608051016080526000565b608051600155", - "nonce" : "0x00", - "storage" : { - "0x00" : "0x00", - "0x01" : "0x00" - } - } + "logs" : [ + ] } - } - ], + ], + "Frontier" : [ + { + "hash" : "0xff18fc93b1ac218345d47ff468c282261a88fd4a86d356b81024535308bbb0ca", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xff18fc93b1ac218345d47ff468c282261a88fd4a86d356b81024535308bbb0ca", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xff18fc93b1ac218345d47ff468c282261a88fd4a86d356b81024535308bbb0ca", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xff18fc93b1ac218345d47ff468c282261a88fd4a86d356b81024535308bbb0ca", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x2a8611d0d87e773018798469ea28e2d918a7b7a6d22922eed042c03f2d0e0970", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x2a8611d0d87e773018798469ea28e2d918a7b7a6d22922eed042c03f2d0e0970", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "0", - "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x00", + "code" : "0x6000600060006000346000355af16000555a600155", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { "balance" : "0xffffffffffffffffffffffffffffffff", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xfffffffffffff", - "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) [[ 0 ]] (STATICCALL 78200 3 0 50000 0 0) ) [[ 1 ]] @i}", - "nonce" : "0", + "0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0fffffffffffff", + "code" : "0x5b61c3506080511015602b576000600061c3506000600362013178fa6000556001608051016080526000565b608051600155", + "nonce" : "0x00", "storage" : { } }, - "cccf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xfffffffffffff", - "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (MSTORE 0 (STATICCALL 78200 3 0 50000 0 0)) ) (MSTORE 32 @i) }", - "nonce" : "0", + "0xcccf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0fffffffffffff", + "code" : "0x5b61c3506080511015602b576000600061c3506000600362013178fa6000526001608051016080526000565b608051602052", + "nonce" : "0x00", "storage" : { } } @@ -92,14 +161,14 @@ "0x000000000000000000000000cccf5374fce5edbc8e2a8697c15331677e6ebf0b" ], "gasLimit" : [ - "3925000000" + "0xe9f2bf40" ], - "gasPrice" : "1", - "nonce" : "", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "10" + "0x0a" ] } } diff --git a/GeneralStateTests/stStaticCall/static_Call50000_sha256.json b/GeneralStateTests/stStaticCall/static_Call50000_sha256.json index 3c0752cdd..2151b255f 100644 --- a/GeneralStateTests/stStaticCall/static_Call50000_sha256.json +++ b/GeneralStateTests/stStaticCall/static_Call50000_sha256.json @@ -6,129 +6,151 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_Call50000_sha256Filler.json" }, "env" : { - "currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "currentCoinbase" : "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b", "currentDifficulty" : "0x020000", - "currentGasLimit" : "3925000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0xe9f2bf40", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : 0, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "0000000000000000000000000000000000000002" : { - "shouldnotexist" : "1" + "post" : { + "EIP150" : [ + { + "hash" : "0x567dfc141047675ba9203a79fa7b198e2d596c57c3be2f57b06350c79d170196", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0xa0a4cfd2" - } + "logs" : [ + ] + }, + { + "hash" : "0x567dfc141047675ba9203a79fa7b198e2d596c57c3be2f57b06350c79d170196", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "340282366920938463463374607430538347108", - "code" : "0x", - "nonce" : "0x01", - "storage" : { - } + "logs" : [ + ] + } + ], + "EIP158" : [ + { + "hash" : "0x567dfc141047675ba9203a79fa7b198e2d596c57c3be2f57b06350c79d170196", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1229864337", - "code" : "0x", - "nonce" : "0x00", - "storage" : { - } + "logs" : [ + ] + }, + { + "hash" : "0x567dfc141047675ba9203a79fa7b198e2d596c57c3be2f57b06350c79d170196", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "4503599627370505", - "code" : "0x5b61c3506080511015602b576000600061c3506000600262013178fa6000556001608051016080526000565b608051600155", - "nonce" : "0x00", - "storage" : { - "0x00" : "0x01", - "0x01" : "0xc350" - } - } + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : 1, - "gas" : -1, - "value" : -1 + ], + "Frontier" : [ + { + "hash" : "0x7b8fc9c5eca2d59970b573bbc1f8afbf53fc7af82823d86eee6f07cf071ed9ed", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "0000000000000000000000000000000000000002" : { - "shouldnotexist" : "1" + { + "hash" : "0x7b8fc9c5eca2d59970b573bbc1f8afbf53fc7af82823d86eee6f07cf071ed9ed", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x7b8fc9c5eca2d59970b573bbc1f8afbf53fc7af82823d86eee6f07cf071ed9ed", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0xaf89c117" - } + "logs" : [ + ] + }, + { + "hash" : "0x7b8fc9c5eca2d59970b573bbc1f8afbf53fc7af82823d86eee6f07cf071ed9ed", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "340282366920938463463374607430788232105", - "code" : "0x", - "nonce" : "0x01", - "storage" : { - } + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xaf00fbc3ebd221608c528fe17d937e0fe5d2ba954bfc81e5e13167b21aeaa27d", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "979979340", - "code" : "0x", - "nonce" : "0x00", - "storage" : { - } + "logs" : [ + ] + }, + { + "hash" : "0x8952830477bfcf66f7fdf134884f209728e591666336e55700f994e76b5b3b16", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "cccf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "4503599627370505", - "code" : "0x5b61c3506080511015602b576000600061c3506000600262013178fa6000526001608051016080526000565b608051602052", - "nonce" : "0x00", - "storage" : { - "0x00" : "0x00", - "0x01" : "0x00" - } - } + "logs" : [ + ] } - } - ], + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "0", - "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x00", + "code" : "0x6000600060006000346000355af16000555a600155", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { "balance" : "0xffffffffffffffffffffffffffffffff", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xfffffffffffff", - "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) [[ 0 ]] (STATICCALL 78200 2 0 50000 0 0) ) [[ 1 ]] @i}", - "nonce" : "0", + "0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0fffffffffffff", + "code" : "0x5b61c3506080511015602b576000600061c3506000600262013178fa6000556001608051016080526000565b608051600155", + "nonce" : "0x00", "storage" : { } }, - "cccf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xfffffffffffff", - "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (MSTORE 0 (STATICCALL 78200 2 0 50000 0 0)) ) (MSTORE 32 @i ) }", - "nonce" : "0", + "0xcccf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0fffffffffffff", + "code" : "0x5b61c3506080511015602b576000600061c3506000600262013178fa6000526001608051016080526000565b608051602052", + "nonce" : "0x00", "storage" : { } } @@ -139,14 +161,14 @@ "0x000000000000000000000000cccf5374fce5edbc8e2a8697c15331677e6ebf0b" ], "gasLimit" : [ - "3925000000" + "0xe9f2bf40" ], - "gasPrice" : "1", - "nonce" : "", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "10" + "0x0a" ] } } diff --git a/GeneralStateTests/stStaticCall/static_Call50000bytesContract50_1.json b/GeneralStateTests/stStaticCall/static_Call50000bytesContract50_1.json index 271ce3887..4e04c89a8 100644 --- a/GeneralStateTests/stStaticCall/static_Call50000bytesContract50_1.json +++ b/GeneralStateTests/stStaticCall/static_Call50000bytesContract50_1.json @@ -6,143 +6,165 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_Call50000bytesContract50_1Filler.json" }, "env" : { - "currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "currentCoinbase" : "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b", "currentDifficulty" : "0x020000", - "currentGasLimit" : "882500000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0xcd79195900", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : 0, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x0335e44fe0" - } + "post" : { + "EIP150" : [ + { + "hash" : "0x96a366cfe87cb1cb47987353e4d088bf7367830dc9b7e69fa047f9cc86856265", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "nonce" : "0x01", - "storage" : { - } + "logs" : [ + ] + }, + { + "hash" : "0x96a366cfe87cb1cb47987353e4d088bf7367830dc9b7e69fa047f9cc86856265", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "aaa50000fce5edbc8e2a8697c15331677e6ebf0b" : { - "nonce" : "0x00", - "storage" : { - "0x00" : "0" - } + "logs" : [ + ] + } + ], + "EIP158" : [ + { + "hash" : "0x96a366cfe87cb1cb47987353e4d088bf7367830dc9b7e69fa047f9cc86856265", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "868710963011", - "code" : "0x", - "nonce" : "0x00", - "storage" : { - } + "logs" : [ + ] + }, + { + "hash" : "0x96a366cfe87cb1cb47987353e4d088bf7367830dc9b7e69fa047f9cc86856265", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "4503599627370495", - "nonce" : "0x00", - "storage" : { - "0x00" : "0x00", - "0x01" : "0x00" - } - } + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : 1, - "gas" : -1, - "value" : -1 + ], + "Frontier" : [ + { + "hash" : "0xabb04dd35a37e4c301c300839a407015ab5e1653a4c35f31d5e7d8c99ae1f928", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0xcd78bc6eb4" - } + { + "hash" : "0xabb04dd35a37e4c301c300839a407015ab5e1653a4c35f31d5e7d8c99ae1f928", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xabb04dd35a37e4c301c300839a407015ab5e1653a4c35f31d5e7d8c99ae1f928", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "nonce" : "0x01", - "storage" : { - } + "logs" : [ + ] + }, + { + "hash" : "0xabb04dd35a37e4c301c300839a407015ab5e1653a4c35f31d5e7d8c99ae1f928", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "aaa50000fce5edbc8e2a8697c15331677e6ebf0b" : { - "nonce" : "0x00", - "storage" : { - "0x00" : "0" - } + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x96a366cfe87cb1cb47987353e4d088bf7367830dc9b7e69fa047f9cc86856265", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "6109295", - "code" : "0x", - "nonce" : "0x00", - "storage" : { - } + "logs" : [ + ] + }, + { + "hash" : "0xa08b43c3e259a8d3432cb92b7d2f0c640b484dfc455dc5289d1af966dca167b2", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "4503599627370495", - "nonce" : "0x00", - "storage" : { - "0x00" : "0x00", - "0x01" : "0x00" - } - } + "logs" : [ + ] } - } - ], + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "0", - "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x00", + "code" : "0x6000600060006000346000355af16000555a600155", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { "balance" : "0xffffffffffffffffffffffffffffffff", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "aaa50000fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xfffffffffffff", + "0xaaa50000fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0fffffffffffff", "code" : "0x6001600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600055", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xfffffffffffff", - "code" : "{ (def 'i 0x80) (for {} (< @i 50) [i](+ @i 1) [[ 0 ]] (STATICCALL 88250000000 0xaaa50000fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) ) [[ 1 ]] @i }", - "nonce" : "0", + "0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0fffffffffffff", + "code" : "0x5b60326080511015603e57600060006000600073aaa50000fce5edbc8e2a8697c15331677e6ebf0b64148c1c2280fa6000556001608051016080526000565b608051600155", + "nonce" : "0x00", "storage" : { } }, - "ccc50000fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xfffffffffffff", + "0xccc50000fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0fffffffffffff", "code" : "0x60016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016000", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "dddf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xfffffffffffff", - "code" : "{ (def 'i 0x80) (for {} (< @i 50) [i](+ @i 1) (MSTORE 0 (STATICCALL 88250000000 0xccc50000fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0)) ) (MSTORE 32 @i) }", - "nonce" : "0", + "0xdddf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0fffffffffffff", + "code" : "0x5b60326080511015603e57600060006000600073ccc50000fce5edbc8e2a8697c15331677e6ebf0b64148c1c2280fa6000526001608051016080526000565b608051602052", + "nonce" : "0x00", "storage" : { } } @@ -153,14 +175,14 @@ "0x000000000000000000000000dddf5374fce5edbc8e2a8697c15331677e6ebf0b" ], "gasLimit" : [ - "882500000000" + "0xcd79195900" ], - "gasPrice" : "1", - "nonce" : "", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "10" + "0x0a" ] } } diff --git a/GeneralStateTests/stStaticCall/static_Call50000bytesContract50_2.json b/GeneralStateTests/stStaticCall/static_Call50000bytesContract50_2.json index 6e5547c3f..17896c2c1 100644 --- a/GeneralStateTests/stStaticCall/static_Call50000bytesContract50_2.json +++ b/GeneralStateTests/stStaticCall/static_Call50000bytesContract50_2.json @@ -6,145 +6,165 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_Call50000bytesContract50_2Filler.json" }, "env" : { - "currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "currentCoinbase" : "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b", "currentDifficulty" : "0x020000", - "currentGasLimit" : "882500000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0xcd79195900", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : 1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0xcd78ea34de" - } + "post" : { + "EIP150" : [ + { + "hash" : "0x955239ba7847cdf99778a9da50a5de483a73660d210829f6894e5addc222aaec", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "nonce" : "0x01", - "storage" : { - } + "logs" : [ + ] + }, + { + "hash" : "0x955239ba7847cdf99778a9da50a5de483a73660d210829f6894e5addc222aaec", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "aaa50000fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0fffffffffffff", - "nonce" : "0x00", - "storage" : { - "0x00" : "0x00" - } + "logs" : [ + ] + } + ], + "EIP158" : [ + { + "hash" : "0x955239ba7847cdf99778a9da50a5de483a73660d210829f6894e5addc222aaec", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "3109445", - "code" : "0x", - "nonce" : "0x00", - "storage" : { - } + "logs" : [ + ] + }, + { + "hash" : "0x955239ba7847cdf99778a9da50a5de483a73660d210829f6894e5addc222aaec", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "4503599627370495", - "nonce" : "0x00", - "storage" : { - "0x00" : "0x00", - "0x01" : "0x00" - } - } + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : 0, - "gas" : -1, - "value" : -1 + ], + "Frontier" : [ + { + "hash" : "0xce4e697d0442234f6ec3061e9924768d192e5005fcbc0d8e10ab5906e755db4f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x0335e44fe0" - } + { + "hash" : "0xce4e697d0442234f6ec3061e9924768d192e5005fcbc0d8e10ab5906e755db4f", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xce4e697d0442234f6ec3061e9924768d192e5005fcbc0d8e10ab5906e755db4f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "nonce" : "0x01", - "storage" : { - } + "logs" : [ + ] + }, + { + "hash" : "0xce4e697d0442234f6ec3061e9924768d192e5005fcbc0d8e10ab5906e755db4f", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "aaa50000fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0fffffffffffff", - "nonce" : "0x00", - "storage" : { - "0x00" : "0x00" - } + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x955239ba7847cdf99778a9da50a5de483a73660d210829f6894e5addc222aaec", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "868710963011", - "code" : "0x", - "nonce" : "0x00", - "storage" : { - } + "logs" : [ + ] + }, + { + "hash" : "0xfa73e2e4d1985baf99d13a849df2143f6fb40276d76c2227f35db6d1fbcf4a0d", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "4503599627370495", - "nonce" : "0x00", - "storage" : { - "0x00" : "0x00", - "0x01" : "0x00" - } - } + "logs" : [ + ] } - } - ], + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "0", - "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x00", + "code" : "0x6000600060006000346000355af16000555a600155", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { "balance" : "0xffffffffffffffffffffffffffffffff", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "aaa50000fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xfffffffffffff", + "0xaaa50000fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0fffffffffffff", "code" : "0x60015b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b600101600055", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xfffffffffffff", - "code" : "{ (def 'i 0x80) (for {} (< @i 50) [i](+ @i 1) [[ 0 ]] (STATICCALL 88250000000 0xaaa50000fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) ) [[ 1 ]] @i }", - "nonce" : "0", + "0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0fffffffffffff", + "code" : "0x5b60326080511015603e57600060006000600073aaa50000fce5edbc8e2a8697c15331677e6ebf0b64148c1c2280fa6000556001608051016080526000565b608051600155", + "nonce" : "0x00", "storage" : { } }, - "ccc50000fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xfffffffffffff", + "0xccc50000fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0fffffffffffff", "code" : "0x60015b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b600101", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "dddf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xfffffffffffff", - "code" : "{ (def 'i 0x80) (for {} (< @i 50) [i](+ @i 1) (MSTORE 0 (STATICCALL 88250000000 0xccc50000fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0)) ) (MSTORE 32 @i ) }", - "nonce" : "0", + "0xdddf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0fffffffffffff", + "code" : "0x5b60326080511015603e57600060006000600073ccc50000fce5edbc8e2a8697c15331677e6ebf0b64148c1c2280fa6000526001608051016080526000565b608051602052", + "nonce" : "0x00", "storage" : { } } @@ -155,14 +175,14 @@ "0x000000000000000000000000dddf5374fce5edbc8e2a8697c15331677e6ebf0b" ], "gasLimit" : [ - "882500000000" + "0xcd79195900" ], - "gasPrice" : "1", - "nonce" : "", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "10" + "0x0a" ] } } diff --git a/GeneralStateTests/stStaticCall/static_Call50000bytesContract50_3.json b/GeneralStateTests/stStaticCall/static_Call50000bytesContract50_3.json index 4cef8e3e6..6371c6471 100644 --- a/GeneralStateTests/stStaticCall/static_Call50000bytesContract50_3.json +++ b/GeneralStateTests/stStaticCall/static_Call50000bytesContract50_3.json @@ -6,143 +6,165 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_Call50000bytesContract50_3Filler.json" }, "env" : { - "currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "currentCoinbase" : "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b", "currentDifficulty" : "0x020000", - "currentGasLimit" : "882500000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0xcd79195900", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : 0, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x0335e44fe0" - } + "post" : { + "EIP150" : [ + { + "hash" : "0x294b77ce0e9a6f9549623d925c7d6e5131a340d27326cb80fe7b86daf755c61d", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "nonce" : "0x01", - "storage" : { - } + "logs" : [ + ] + }, + { + "hash" : "0x294b77ce0e9a6f9549623d925c7d6e5131a340d27326cb80fe7b86daf755c61d", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "aaa50000fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0fffffffffffff", - "storage" : { - "0x00" : "0x00" - } + "logs" : [ + ] + } + ], + "EIP158" : [ + { + "hash" : "0x294b77ce0e9a6f9549623d925c7d6e5131a340d27326cb80fe7b86daf755c61d", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "868710963011", - "code" : "0x", - "nonce" : "0x00", - "storage" : { - } + "logs" : [ + ] + }, + { + "hash" : "0x294b77ce0e9a6f9549623d925c7d6e5131a340d27326cb80fe7b86daf755c61d", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "4503599627370495", - "nonce" : "0x00", - "storage" : { - "0x00" : "0x00", - "0x01" : "0x00" - } - } + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : 1, - "gas" : -1, - "value" : -1 + ], + "Frontier" : [ + { + "hash" : "0x4da620110450866cb2b2c45dd9ae97131fb181039c05925a3465890a30169a00", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0xcd7914e148" - } + { + "hash" : "0x4da620110450866cb2b2c45dd9ae97131fb181039c05925a3465890a30169a00", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x4da620110450866cb2b2c45dd9ae97131fb181039c05925a3465890a30169a00", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "nonce" : "0x01", - "storage" : { - } + "logs" : [ + ] + }, + { + "hash" : "0x4da620110450866cb2b2c45dd9ae97131fb181039c05925a3465890a30169a00", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "aaa50000fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0fffffffffffff", - "storage" : { - "0x00" : "0x00" - } + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x294b77ce0e9a6f9549623d925c7d6e5131a340d27326cb80fe7b86daf755c61d", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "312795", - "code" : "0x", - "nonce" : "0x00", - "storage" : { - } + "logs" : [ + ] + }, + { + "hash" : "0xbfeed8e5cef3e554409e2865e52faa420bca9eb0e8c86a5cc62d7567756357ad", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "4503599627370495", - "nonce" : "0x00", - "storage" : { - "0x00" : "0x00", - "0x01" : "0x00" - } - } + "logs" : [ + ] } - } - ], + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "0", - "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x00", + "code" : "0x6000600060006000346000355af16000555a600155", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { "balance" : "0xffffffffffffffffffffffffffffffff", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "aaa50000fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xfffffffffffff", + "0xaaa50000fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0fffffffffffff", "code" : "0x600161da8e565b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b600101600055", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xfffffffffffff", - "code" : "{ (def 'i 0x80) (for {} (< @i 50) [i](+ @i 1) [[ 0 ]] (STATICCALL 88250000000 0xaaa50000fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) ) [[ 1 ]] @i }", - "nonce" : "0", + "0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0fffffffffffff", + "code" : "0x5b60326080511015603e57600060006000600073aaa50000fce5edbc8e2a8697c15331677e6ebf0b64148c1c2280fa6000556001608051016080526000565b608051600155", + "nonce" : "0x00", "storage" : { } }, - "ccc50000fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xfffffffffffff", + "0xccc50000fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0fffffffffffff", "code" : "0x600161da8e565b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b600101", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "dddf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xfffffffffffff", - "code" : "{ (def 'i 0x80) (for {} (< @i 50) [i](+ @i 1) (MSTORE 0 (STATICCALL 88250000000 0xccc50000fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0)) ) (MSTORE 32 @i ) }", - "nonce" : "0", + "0xdddf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0fffffffffffff", + "code" : "0x5b60326080511015603e57600060006000600073ccc50000fce5edbc8e2a8697c15331677e6ebf0b64148c1c2280fa6000526001608051016080526000565b608051602052", + "nonce" : "0x00", "storage" : { } } @@ -153,14 +175,14 @@ "0x000000000000000000000000dddf5374fce5edbc8e2a8697c15331677e6ebf0b" ], "gasLimit" : [ - "882500000000" + "0xcd79195900" ], - "gasPrice" : "1", - "nonce" : "", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "10" + "0x0a" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallAndCallcodeConsumeMoreGasThenTransactionHas.json b/GeneralStateTests/stStaticCall/static_CallAndCallcodeConsumeMoreGasThenTransactionHas.json index cc5aa2f45..b35063732 100644 --- a/GeneralStateTests/stStaticCall/static_CallAndCallcodeConsumeMoreGasThenTransactionHas.json +++ b/GeneralStateTests/stStaticCall/static_CallAndCallcodeConsumeMoreGasThenTransactionHas.json @@ -6,107 +6,165 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallAndCallcodeConsumeMoreGasThenTransactionHasFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : 0, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0x0a6c3402fe06dc0e6f70af7635a3456f263510a69a6793665402501ce48e57db", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000103" : { - "code" : "0x6012600055", - "nonce" : "0x00", - "storage" : { - } + { + "hash" : "0x0a6c3402fe06dc0e6f70af7635a3456f263510a69a6793665402501ce48e57db", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "storage" : { - "0x00" : "0x00", - "0x08" : "0x00", - "0x09" : "0x00", - "0x0a" : "0x00" - } - } + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : 1, - "gas" : -1, - "value" : -1 + ], + "EIP158" : [ + { + "hash" : "0x0a6c3402fe06dc0e6f70af7635a3456f263510a69a6793665402501ce48e57db", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "2000000000000000000000000000000000000103" : { - "code" : "0x6012600052", - "nonce" : "0x00", - "storage" : { - } + { + "hash" : "0x0a6c3402fe06dc0e6f70af7635a3456f263510a69a6793665402501ce48e57db", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "storage" : { - "0x00" : "0x12", - "0x08" : "0x08aa2f", - "0x09" : "0x01", - "0x0a" : "0x01" - } - } + "logs" : [ + ] } - } - ], + ], + "Frontier" : [ + { + "hash" : "0x0a6c3402fe06dc0e6f70af7635a3456f263510a69a6793665402501ce48e57db", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x0a6c3402fe06dc0e6f70af7635a3456f263510a69a6793665402501ce48e57db", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x0a6c3402fe06dc0e6f70af7635a3456f263510a69a6793665402501ce48e57db", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x0a6c3402fe06dc0e6f70af7635a3456f263510a69a6793665402501ce48e57db", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x0a6c3402fe06dc0e6f70af7635a3456f263510a69a6793665402501ce48e57db", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x5ce6e42362f24ee3a630c7a5668b761f8d63f5e0bab65d3c0a31cf6a06877872", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "0", - "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x00", + "code" : "0x6000600060006000346000355af16000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000103" : { - "balance" : "0", - "code" : "{ (SSTORE 0 0x12) } ", - "nonce" : "0", + "0x1000000000000000000000000000000000000103" : { + "balance" : "0x00", + "code" : "0x6012600055", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000103" : { - "balance" : "0", - "code" : "{ (MSTORE 0 0x12) } ", - "nonce" : "0", + "0x2000000000000000000000000000000000000103" : { + "balance" : "0x00", + "code" : "0x6012600052", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0xe8d4a51000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0", - "code" : "{ (SSTORE 8 (GAS)) (SSTORE 9 (STATICCALL 600000 0x1000000000000000000000000000000000000103 0 0 0 0)) (SSTORE 10 (CALLCODE 600000 0x1000000000000000000000000000000000000103 0 0 0 0 0)) }", - "nonce" : "0", + "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x00", + "code" : "0x5a6008556000600060006000731000000000000000000000000000000000000103620927c0fa60095560006000600060006000731000000000000000000000000000000000000103620927c0f2600a55", + "nonce" : "0x00", "storage" : { } }, - "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0", - "code" : "{ (SSTORE 8 (GAS)) (SSTORE 9 (STATICCALL 600000 0x2000000000000000000000000000000000000103 0 0 0 0)) (SSTORE 10 (CALLCODE 600000 0x1000000000000000000000000000000000000103 0 0 0 0 0)) }", - "nonce" : "0", + "0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x00", + "code" : "0x5a6008556000600060006000732000000000000000000000000000000000000103620927c0fa60095560006000600060006000731000000000000000000000000000000000000103620927c0f2600a55", + "nonce" : "0x00", "storage" : { } } @@ -117,14 +175,14 @@ "0x000000000000000000000000c94f5374fce5edbc8e2a8697c15331677e6ebf0b" ], "gasLimit" : [ - "600000" + "0x0927c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallAskMoreGasOnDepth2ThenTransactionHas.json b/GeneralStateTests/stStaticCall/static_CallAskMoreGasOnDepth2ThenTransactionHas.json index 184e6a94f..3943b7a6f 100644 --- a/GeneralStateTests/stStaticCall/static_CallAskMoreGasOnDepth2ThenTransactionHas.json +++ b/GeneralStateTests/stStaticCall/static_CallAskMoreGasOnDepth2ThenTransactionHas.json @@ -6,139 +6,179 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallAskMoreGasOnDepth2ThenTransactionHasFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : 0, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0xee649d3b09e8d08422f2077bb50db14b623db7f02c2991e9b791206e79e5f97f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x04df0e" - } + { + "hash" : "0xee649d3b09e8d08422f2077bb50db14b623db7f02c2991e9b791206e79e5f97f", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000107" : { - "storage" : { - "0x08" : "0x00", - "0x09" : "0x00" - } + "logs" : [ + ] + } + ], + "EIP158" : [ + { + "hash" : "0xee649d3b09e8d08422f2077bb50db14b623db7f02c2991e9b791206e79e5f97f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000108" : { - "storage" : { - "0x08" : "0x00" - } + "logs" : [ + ] + }, + { + "hash" : "0xee649d3b09e8d08422f2077bb50db14b623db7f02c2991e9b791206e79e5f97f", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "storage" : { - "0x08" : "0x08aa2f", - "0x09" : "0x01" - } - } + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : 1, - "gas" : -1, - "value" : -1 + ], + "Frontier" : [ + { + "hash" : "0xee649d3b09e8d08422f2077bb50db14b623db7f02c2991e9b791206e79e5f97f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xee649d3b09e8d08422f2077bb50db14b623db7f02c2991e9b791206e79e5f97f", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xee649d3b09e8d08422f2077bb50db14b623db7f02c2991e9b791206e79e5f97f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x07dd3b" - } + { + "hash" : "0xee649d3b09e8d08422f2077bb50db14b623db7f02c2991e9b791206e79e5f97f", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "2000000000000000000000000000000000000107" : { - "storage" : { - "0x08" : "0x00", - "0x09" : "0x00" - } + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x066e481908ced482d7be5c5ac447d6b0d8ff64b7a966492005b89fb80c9f47ea", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "2000000000000000000000000000000000000108" : { - "storage" : { - "0x08" : "0x00" - } + "logs" : [ + ] + }, + { + "hash" : "0xefd7d763a79a55208a7d78abfa9b08c51adbab6d5c244817225fc13c6cbd41c6", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "storage" : { - "0x08" : "0x08aa2f", - "0x09" : "0x01" - } - } + "logs" : [ + ] } - } - ], + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "0", - "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x00", + "code" : "0x6000600060006000346000355af16000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000107" : { - "balance" : "0", - "code" : "{ (MSTORE 8 (GAS)) (MSTORE 9 (STATICCALL 600000 0x1000000000000000000000000000000000000108 0 0 0 0)) } ", - "nonce" : "0", + "0x1000000000000000000000000000000000000107" : { + "balance" : "0x00", + "code" : "0x5a6008526000600060006000731000000000000000000000000000000000000108620927c0fa600952", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000108" : { - "balance" : "0", - "code" : "{ (SSTORE 8 (GAS))} ", - "nonce" : "0", + "0x1000000000000000000000000000000000000108" : { + "balance" : "0x00", + "code" : "0x5a600855", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000107" : { - "balance" : "0", - "code" : "{ (MSTORE 8 (GAS)) (MSTORE 9 (STATICCALL 600000 0x2000000000000000000000000000000000000108 0 0 0 0)) } ", - "nonce" : "0", + "0x2000000000000000000000000000000000000107" : { + "balance" : "0x00", + "code" : "0x5a6008526000600060006000732000000000000000000000000000000000000108620927c0fa600952", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000108" : { - "balance" : "0", - "code" : "{ (MSTORE 8 (GAS))} ", - "nonce" : "0", + "0x2000000000000000000000000000000000000108" : { + "balance" : "0x00", + "code" : "0x5a600852", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0xe8d4a51000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0", - "code" : "{ (SSTORE 8 (GAS)) (SSTORE 9 (STATICCALL 200000 0x1000000000000000000000000000000000000107 0 0 0 0)) } ", - "nonce" : "0", + "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x00", + "code" : "0x5a600855600060006000600073100000000000000000000000000000000000010762030d40fa600955", + "nonce" : "0x00", "storage" : { } }, - "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0", - "code" : "{ (SSTORE 8 (GAS)) (SSTORE 9 (STATICCALL 200000 0x2000000000000000000000000000000000000107 0 0 0 0)) } ", - "nonce" : "0", + "0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x00", + "code" : "0x5a600855600060006000600073200000000000000000000000000000000000010762030d40fa600955", + "nonce" : "0x00", "storage" : { } } @@ -149,14 +189,14 @@ "0x000000000000000000000000c94f5374fce5edbc8e2a8697c15331677e6ebf0b" ], "gasLimit" : [ - "600000" + "0x0927c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallContractToCreateContractAndCallItOOG.json b/GeneralStateTests/stStaticCall/static_CallContractToCreateContractAndCallItOOG.json index 16ff1a8f4..e5d0e37cf 100644 --- a/GeneralStateTests/stStaticCall/static_CallContractToCreateContractAndCallItOOG.json +++ b/GeneralStateTests/stStaticCall/static_CallContractToCreateContractAndCallItOOG.json @@ -6,82 +6,137 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallContractToCreateContractAndCallItOOGFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "100000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x05f5e100", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : 0, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0x8f6166da7ff0b61763eb85f25c14764c14fcd106efd5f4fccc65bd6df8bb1893", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "nonce" : "1", - "storage" : { - "0x" : "0xd2571607e241ecf590ed94b12d87c94babe36db6", - "0x02" : "0x03" - } + { + "hash" : "0x4721f9884714a841d6f824afaaa45256d898c7e4ebde40e49acaeffb7b930c0b", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "EIP158" : [ + { + "hash" : "0x8f6166da7ff0b61763eb85f25c14764c14fcd106efd5f4fccc65bd6df8bb1893", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "nonce" : "1" + "logs" : [ + ] + }, + { + "hash" : "0x4721f9884714a841d6f824afaaa45256d898c7e4ebde40e49acaeffb7b930c0b", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 0 }, - "d2571607e241ecf590ed94b12d87c94babe36db6" : { - "balance" : "1", - "nonce" : "1", - "storage" : { - "0x" : "0x0c" - } - } + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : -1, - "gas" : 1, - "value" : -1 + ], + "Frontier" : [ + { + "hash" : "0x8f6166da7ff0b61763eb85f25c14764c14fcd106efd5f4fccc65bd6df8bb1893", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "nonce" : "0", - "storage" : { - "0x" : "0x00", - "0x02" : "0x00" - } + { + "hash" : "0x4721f9884714a841d6f824afaaa45256d898c7e4ebde40e49acaeffb7b930c0b", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 0 }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "nonce" : "1" + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x8f6166da7ff0b61763eb85f25c14764c14fcd106efd5f4fccc65bd6df8bb1893", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "d2571607e241ecf590ed94b12d87c94babe36db6" : { - "shouldnotexist" : "1" - } + "logs" : [ + ] + }, + { + "hash" : "0x4721f9884714a841d6f824afaaa45256d898c7e4ebde40e49acaeffb7b930c0b", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "Metropolis" : [ + { + "hash" : "0xd8d75150011d6211cef6f1e60c35a9511b8828e49bc7b5449b71c17f0a730a21", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x4721f9884714a841d6f824afaaa45256d898c7e4ebde40e49acaeffb7b930c0b", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "//" : "{[[0]] 12 (MSTORE 32 0x602060406000f0)(RETURN 57 7)}", - "balance" : "1000", - "code" : "{(MSTORE 0 0x600c60005566602060406000f060205260076039f3)[[0]](CREATE 1 11 21) (STATICCALL 1000 (SLOAD 0) 0 0 0 0) [[ 2 ]] 3 }", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x03e8", + "code" : "0x74600c60005566602060406000f060205260076039f36000526015600b6001f060005560006000600060006000546103e8fa506003600255", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "100000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x05f5e100", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -91,15 +146,15 @@ "0x00" ], "gasLimit" : [ - "203000", - "100000" + "0x0318f8", + "0x0186a0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallContractToCreateContractOOG.json b/GeneralStateTests/stStaticCall/static_CallContractToCreateContractOOG.json index e994acf53..90a880822 100644 --- a/GeneralStateTests/stStaticCall/static_CallContractToCreateContractOOG.json +++ b/GeneralStateTests/stStaticCall/static_CallContractToCreateContractOOG.json @@ -6,49 +6,137 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallContractToCreateContractOOGFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "100000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x05f5e100", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : 0 + "post" : { + "EIP150" : [ + { + "hash" : "0xe6d3e2bfd117cbb4f3e5efb274c2225866fd57d479aec8087c968c01b107a13e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "nonce" : "0", - "storage" : { - "0x00" : "0x00" - } + { + "hash" : "0xe6d3e2bfd117cbb4f3e5efb274c2225866fd57d479aec8087c968c01b107a13e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "nonce" : "1" - } + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xe6d3e2bfd117cbb4f3e5efb274c2225866fd57d479aec8087c968c01b107a13e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xe6d3e2bfd117cbb4f3e5efb274c2225866fd57d479aec8087c968c01b107a13e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xe6d3e2bfd117cbb4f3e5efb274c2225866fd57d479aec8087c968c01b107a13e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xe6d3e2bfd117cbb4f3e5efb274c2225866fd57d479aec8087c968c01b107a13e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xe6d3e2bfd117cbb4f3e5efb274c2225866fd57d479aec8087c968c01b107a13e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xe6d3e2bfd117cbb4f3e5efb274c2225866fd57d479aec8087c968c01b107a13e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x2c79134a97727093a4682fbc2e9204c3fb28e2e3903d9c4f841928fee064e9b9", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xc84a0708c5f3ddc2f1dd5b9320bd8a3efffb56263427c8a10bb4622caac36f42", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "//" : "{[[0]] 12 (MSTORE 32 0x602060406000f0)(RETURN 57 7)}", - "balance" : "0", - "code" : "{(MSTORE 0 0x600c60005566602060406000f060205260076039f3) [[0]](CREATE 1 11 21) (STATICCALL 0 (SLOAD 0) 0 0 0 0)}", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x00", + "code" : "0x74600c60005566602060406000f060205260076039f36000526015600b6001f060005560006000600060006000546000fa", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "100000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x05f5e100", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -58,15 +146,15 @@ "0x00" ], "gasLimit" : [ - "20000000" + "0x01312d00" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0", - "1" + "0x00", + "0x01" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallContractToCreateContractOOGBonusGas.json b/GeneralStateTests/stStaticCall/static_CallContractToCreateContractOOGBonusGas.json index 3a3e95208..c6a9fc1a9 100644 --- a/GeneralStateTests/stStaticCall/static_CallContractToCreateContractOOGBonusGas.json +++ b/GeneralStateTests/stStaticCall/static_CallContractToCreateContractOOGBonusGas.json @@ -6,57 +6,137 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallContractToCreateContractOOGBonusGasFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "100000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x05f5e100", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : 0, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0x1833caf5b1e23a775de29ded27015b6598b721d92a72ab1bdaa22b5491199434", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "nonce" : "1", - "storage" : { - "0x" : "0xd2571607e241ecf590ed94b12d87c94babe36db6" - } + { + "hash" : "0x6c6e760c271196e6252fda373ba04015f987efac67b193d315c29a1fc84876bf", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "EIP158" : [ + { + "hash" : "0x1833caf5b1e23a775de29ded27015b6598b721d92a72ab1bdaa22b5491199434", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "nonce" : "1" + "logs" : [ + ] + }, + { + "hash" : "0x6c6e760c271196e6252fda373ba04015f987efac67b193d315c29a1fc84876bf", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 0 }, - "d2571607e241ecf590ed94b12d87c94babe36db6" : { - "balance" : "1", - "nonce" : "1", - "storage" : { - "0x" : "0x0c", - "0x01" : "0x00" - } - } + "logs" : [ + ] } - } - ], + ], + "Frontier" : [ + { + "hash" : "0x1833caf5b1e23a775de29ded27015b6598b721d92a72ab1bdaa22b5491199434", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x6c6e760c271196e6252fda373ba04015f987efac67b193d315c29a1fc84876bf", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x1833caf5b1e23a775de29ded27015b6598b721d92a72ab1bdaa22b5491199434", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x6c6e760c271196e6252fda373ba04015f987efac67b193d315c29a1fc84876bf", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x0f69087f9bc865b8d937ded93ecbcbe2ada8f0cd6a589a46e5103ce60a47efe9", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x6c6e760c271196e6252fda373ba04015f987efac67b193d315c29a1fc84876bf", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "//" : "{[[0]] 12 (MSTORE 32 0x602060406000f0)(RETURN 57 7)}", - "balance" : "112", - "code" : "{ (MSTORE 0 0x600c60005566602060406000f060205260076039f3) [[0]](CREATE 1 11 21) [[ 1 ]] (STATICCALL 0 (SLOAD 0) 0 0 0 0)}", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x70", + "code" : "0x74600c60005566602060406000f060205260076039f36000526015600b6001f060005560006000600060006000546000fa600155", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "100000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x05f5e100", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -66,15 +146,15 @@ "0x00" ], "gasLimit" : [ - "20000000", - "80000" + "0x01312d00", + "0x013880" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallContractToCreateContractWhichWouldCreateContractIfCalled.json b/GeneralStateTests/stStaticCall/static_CallContractToCreateContractWhichWouldCreateContractIfCalled.json index e3967d1d8..bdf7aa267 100644 --- a/GeneralStateTests/stStaticCall/static_CallContractToCreateContractWhichWouldCreateContractIfCalled.json +++ b/GeneralStateTests/stStaticCall/static_CallContractToCreateContractWhichWouldCreateContractIfCalled.json @@ -6,60 +6,87 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallContractToCreateContractWhichWouldCreateContractIfCalledFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "100000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x05f5e100", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "nonce" : "1", - "storage" : { - "0x" : "0xd2571607e241ecf590ed94b12d87c94babe36db6", - "0x01" : "0x00" - } + "post" : { + "EIP150" : [ + { + "hash" : "0x4ed4b9a23923def65a28b6f44c715fdf9b1a3f502effa0d25aff3101febbc9aa", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "62c01474f089b07dae603491675dc5b5748f7049" : { - "shouldnotexist" : "1" + "logs" : [ + ] + } + ], + "EIP158" : [ + { + "hash" : "0x4ed4b9a23923def65a28b6f44c715fdf9b1a3f502effa0d25aff3101febbc9aa", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "nonce" : "1" + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x4ed4b9a23923def65a28b6f44c715fdf9b1a3f502effa0d25aff3101febbc9aa", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "d2571607e241ecf590ed94b12d87c94babe36db6" : { - "balance" : "1", - "nonce" : "1", - "storage" : { - "0x" : "0x0c" - } - } + "logs" : [ + ] } - } - ], + ], + "Homestead" : [ + { + "hash" : "0x4ed4b9a23923def65a28b6f44c715fdf9b1a3f502effa0d25aff3101febbc9aa", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x3a475fd5fd5f08047e26b671f03fa069825fd9e877c83b287c47a0a9837034be", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "//" : "{[[0]] 12 (MSTORE 32 0x602060406000f0)(RETURN 57 7)}", - "balance" : "1000", - "code" : "{(MSTORE 0 0x600c60005566602060406000f060205260076039f3) [[ 0 ]](CREATE 1 11 21) [[ 1 ]] (STATICCALL 150000 (SLOAD 0) 0 0 0 0)}", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x03e8", + "code" : "0x74600c60005566602060406000f060205260076039f36000526015600b6001f06000556000600060006000600054620249f0fa600155", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "100000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x05f5e100", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -69,14 +96,14 @@ "0x00" ], "gasLimit" : [ - "20000000" + "0x01312d00" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallEcrecover0.json b/GeneralStateTests/stStaticCall/static_CallEcrecover0.json index cadfabfa5..0e17eae13 100644 --- a/GeneralStateTests/stStaticCall/static_CallEcrecover0.json +++ b/GeneralStateTests/stStaticCall/static_CallEcrecover0.json @@ -6,46 +6,87 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecover0Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", - "0x01" : "0x01", - "0x02" : "0x01" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0xd3d0c3e0d212e68f4aaa7a62f0bb7cbe61479e8e1e12371cff0d6f197cfb0d46", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xd3d0c3e0d212e68f4aaa7a62f0bb7cbe61479e8e1e12371cff0d6f197cfb0d46", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xd3d0c3e0d212e68f4aaa7a62f0bb7cbe61479e8e1e12371cff0d6f197cfb0d46", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xd3d0c3e0d212e68f4aaa7a62f0bb7cbe61479e8e1e12371cff0d6f197cfb0d46", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xc0766cd711cce47df53c541286ef89a59c3f52b7c7fdc2850cbe9f0d15ef1713", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "20000000", - "code" : "{ (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (STATICCALL 300000 1 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) }", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x01312d00", + "code" : "0x7f18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c600052601c6020527f73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f6040527feeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c454960605260206080608060006001620493e0fa60025560a060020a608051066000556000543214600155", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -55,14 +96,14 @@ "" ], "gasLimit" : [ - "3652240" + "0x37ba90" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallEcrecover0_0input.json b/GeneralStateTests/stStaticCall/static_CallEcrecover0_0input.json index a0926ab55..61f5c4c1a 100644 --- a/GeneralStateTests/stStaticCall/static_CallEcrecover0_0input.json +++ b/GeneralStateTests/stStaticCall/static_CallEcrecover0_0input.json @@ -6,87 +6,487 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecover0_0inputFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : [ - 0, - 1, - 4, - 5, - 6, - 7 - ], - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x02" : "0x01" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", + "indexes" : { + "data" : 4, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", + "indexes" : { + "data" : 5, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", + "indexes" : { + "data" : 6, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", + "indexes" : { + "data" : 7, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", + "indexes" : { + "data" : 8, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : 2, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x00" : "0x8209944e898f69a7bd10a23c839d341e935fd5ca", - "0x02" : "0x01" - } - } + ], + "EIP158" : [ + { + "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", + "indexes" : { + "data" : 4, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", + "indexes" : { + "data" : 5, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", + "indexes" : { + "data" : 6, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", + "indexes" : { + "data" : 7, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", + "indexes" : { + "data" : 8, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : 3, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x00" : "0x4300a157335cb7c9fc9423e011d7dd51090d093f", - "0x02" : "0x01" - } - } + ], + "Frontier" : [ + { + "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", + "indexes" : { + "data" : 4, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", + "indexes" : { + "data" : 5, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", + "indexes" : { + "data" : 6, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", + "indexes" : { + "data" : 7, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", + "indexes" : { + "data" : 8, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "Homestead" : [ + { + "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", + "indexes" : { + "data" : 4, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", + "indexes" : { + "data" : 5, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", + "indexes" : { + "data" : 6, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", + "indexes" : { + "data" : 7, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", + "indexes" : { + "data" : 8, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x794950976edb121cd1626b45c4fc36f6e9c44d9e7078a0acfdcf6ef910bca734", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x7d503624720a6974d9588a28eab7896b9bc14d484c56b4538ec812e7b322adb4", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xf10664ff0a360ebb02a35201a66cfc657c05304409a40d397701ed92857980f0", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xd629f52badfd7e7e68ec7e6b5dcd80e3cb3bcc43813356a8403c3b4ff654868e", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x364749f521a758206366bbff9951ebd16918d121b934dad81afbbe6ef0aa258b", + "indexes" : { + "data" : 4, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x75887223f82ad361cc605efc418c8c6102d0e7764cebe727326e07eaa9f508cd", + "indexes" : { + "data" : 5, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xde7533eb5b5755c5716216a5af1efb01956d31c58cf0320af5a3b7459e7b8a54", + "indexes" : { + "data" : 6, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xa5e31ee199e2bcb29ec91bcdfa7f12fb60afdab24f6a603e85dcd255fa6e0878", + "indexes" : { + "data" : 7, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x9de823ff33e4edd133a73db899d5a4741c247c8c2c9f10235f4c652b6b2abb49", + "indexes" : { + "data" : 8, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "20000000", - "code" : "{ [[ 2 ]] (STATICCALL 300000 (CALLDATALOAD 0) 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) }", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x01312d00", + "code" : "0x6020608060806000600035620493e0fa60025560a060020a60805106600055", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -104,14 +504,14 @@ "0x0000000000000000000000000000000000000000000000000000000000000008" ], "gasLimit" : [ - "3652240" + "0x37ba90" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallEcrecover0_Gas2999.json b/GeneralStateTests/stStaticCall/static_CallEcrecover0_Gas2999.json index 2f6b593fe..267a73f32 100644 --- a/GeneralStateTests/stStaticCall/static_CallEcrecover0_Gas2999.json +++ b/GeneralStateTests/stStaticCall/static_CallEcrecover0_Gas2999.json @@ -6,44 +6,87 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecover0_Gas2999Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x02" : "0x00" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0xb23471978477f13dc35c7527021fd0aeacc7960276dad90167ebdd32b9397b18", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xb23471978477f13dc35c7527021fd0aeacc7960276dad90167ebdd32b9397b18", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xb23471978477f13dc35c7527021fd0aeacc7960276dad90167ebdd32b9397b18", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xb23471978477f13dc35c7527021fd0aeacc7960276dad90167ebdd32b9397b18", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x6fa90f22647b5de361cbbf884ac9371af5217e477a73a87a6de5acd4eb7d55ed", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "20000000", - "code" : "{ (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (STATICCALL 2999 1 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) }", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x01312d00", + "code" : "0x7f18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c600052601c6020527f73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f6040527feeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c454960605260206080608060006001610bb7fa60025560a060020a608051066000556000543214600155", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -53,14 +96,14 @@ "" ], "gasLimit" : [ - "365224" + "0x0592a8" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallEcrecover0_NoGas.json b/GeneralStateTests/stStaticCall/static_CallEcrecover0_NoGas.json index f0fd9ae25..763650670 100644 --- a/GeneralStateTests/stStaticCall/static_CallEcrecover0_NoGas.json +++ b/GeneralStateTests/stStaticCall/static_CallEcrecover0_NoGas.json @@ -6,42 +6,87 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecover0_NoGasFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : { - "balance" : "37063" - } + "post" : { + "EIP150" : [ + { + "hash" : "0xd55da515effa2d9ec777f9e25e7e96730b25b52037f9b1b941c2405eecaccf68", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xd55da515effa2d9ec777f9e25e7e96730b25b52037f9b1b941c2405eecaccf68", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xd55da515effa2d9ec777f9e25e7e96730b25b52037f9b1b941c2405eecaccf68", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xd55da515effa2d9ec777f9e25e7e96730b25b52037f9b1b941c2405eecaccf68", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xa3d80dd4832c8359f2fac4635f36c90b2850deba982b96eccd67a76ab0976359", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "20000000", - "code" : "{ (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (STATICCALL 0 1 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) }", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x01312d00", + "code" : "0x7f18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c600052601c6020527f73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f6040527feeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549606052602060806080600060016000fa60025560a060020a608051066000556000543214600155", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -51,14 +96,14 @@ "" ], "gasLimit" : [ - "365224" + "0x0592a8" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallEcrecover0_completeReturnValue.json b/GeneralStateTests/stStaticCall/static_CallEcrecover0_completeReturnValue.json index dd7d1981d..06747eaaa 100644 --- a/GeneralStateTests/stStaticCall/static_CallEcrecover0_completeReturnValue.json +++ b/GeneralStateTests/stStaticCall/static_CallEcrecover0_completeReturnValue.json @@ -6,45 +6,87 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecover0_completeReturnValueFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", - "0x02" : "0x01" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x7ef407e23e9b2d0af6706bad476d954944a694e6cd9b5d97fe11a0114705aee2", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x7ef407e23e9b2d0af6706bad476d954944a694e6cd9b5d97fe11a0114705aee2", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x7ef407e23e9b2d0af6706bad476d954944a694e6cd9b5d97fe11a0114705aee2", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x7ef407e23e9b2d0af6706bad476d954944a694e6cd9b5d97fe11a0114705aee2", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xbc559a36c4aadc916353ea77a592eb8543ea5e5c7dbdb503a3d5905bd23e07d9", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "20000000", - "code" : "{ (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (STATICCALL 13000 1 0 128 128 32) [[ 0 ]] (MLOAD 128) }", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x01312d00", + "code" : "0x7f18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c600052601c6020527f73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f6040527feeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549606052602060806080600060016132c8fa600255608051600055", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -54,14 +96,14 @@ "" ], "gasLimit" : [ - "365224" + "0x0592a8" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallEcrecover0_gas3000.json b/GeneralStateTests/stStaticCall/static_CallEcrecover0_gas3000.json index 758c8442b..d412a154a 100644 --- a/GeneralStateTests/stStaticCall/static_CallEcrecover0_gas3000.json +++ b/GeneralStateTests/stStaticCall/static_CallEcrecover0_gas3000.json @@ -6,46 +6,87 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecover0_gas3000Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", - "0x01" : "0x01", - "0x02" : "0x01" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x74c17117e3a62f421dab40b801e2f47b39ebb858c3019e26c686e1d3bbacbea0", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x74c17117e3a62f421dab40b801e2f47b39ebb858c3019e26c686e1d3bbacbea0", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x74c17117e3a62f421dab40b801e2f47b39ebb858c3019e26c686e1d3bbacbea0", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x74c17117e3a62f421dab40b801e2f47b39ebb858c3019e26c686e1d3bbacbea0", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x9cfc00bb65264d168cd7f2d5a3e365c9990fb3c02759217096ed0c3c98395ccb", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "20000000", - "code" : "{ (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (STATICCALL 3000 1 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) }", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x01312d00", + "code" : "0x7f18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c600052601c6020527f73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f6040527feeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c454960605260206080608060006001610bb8fa60025560a060020a608051066000556000543214600155", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -55,14 +96,14 @@ "" ], "gasLimit" : [ - "365224" + "0x0592a8" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallEcrecover0_overlappingInputOutput.json b/GeneralStateTests/stStaticCall/static_CallEcrecover0_overlappingInputOutput.json index 83b0f82aa..974b18747 100644 --- a/GeneralStateTests/stStaticCall/static_CallEcrecover0_overlappingInputOutput.json +++ b/GeneralStateTests/stStaticCall/static_CallEcrecover0_overlappingInputOutput.json @@ -6,46 +6,87 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecover0_overlappingInputOutputFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", - "0x01" : "0x01", - "0x02" : "0x01" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x4b0269553ddbb2fba201b6f7d9260956a9553f46db71647f9955ac257dff23a4", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x4b0269553ddbb2fba201b6f7d9260956a9553f46db71647f9955ac257dff23a4", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x4b0269553ddbb2fba201b6f7d9260956a9553f46db71647f9955ac257dff23a4", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x4b0269553ddbb2fba201b6f7d9260956a9553f46db71647f9955ac257dff23a4", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x5d5bf7358392768035de3ebfec5f5f4fd5ff3c43f23b06b6717c5869ec6eb39d", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "20000000", - "code" : "{ (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (STATICCALL 300000 1 0 128 64 32) [[ 0 ]] (MOD (MLOAD 64) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) }", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x01312d00", + "code" : "0x7f18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c600052601c6020527f73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f6040527feeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c454960605260206040608060006001620493e0fa60025560a060020a604051066000556000543214600155", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -55,14 +96,14 @@ "" ], "gasLimit" : [ - "365224" + "0x0592a8" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallEcrecover1.json b/GeneralStateTests/stStaticCall/static_CallEcrecover1.json index 8521500cd..92a3009d7 100644 --- a/GeneralStateTests/stStaticCall/static_CallEcrecover1.json +++ b/GeneralStateTests/stStaticCall/static_CallEcrecover1.json @@ -6,44 +6,87 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecover1Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x02" : "0x01" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0xe7403c3f365e18a1f58fe766d90a32ab499e29b3997f368f050693b491a7d8fb", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xe7403c3f365e18a1f58fe766d90a32ab499e29b3997f368f050693b491a7d8fb", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xe7403c3f365e18a1f58fe766d90a32ab499e29b3997f368f050693b491a7d8fb", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xe7403c3f365e18a1f58fe766d90a32ab499e29b3997f368f050693b491a7d8fb", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xe9fcb7c8aeb3a2eca513fd41fa5948e750bd53e52d12acd328545570f24c1621", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "20000000", - "code" : "{ (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 1) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (STATICCALL 100000 1 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) }", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x01312d00", + "code" : "0x7f18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c60005260016020527f73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f6040527feeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c454960605260206080608060006001620186a0fa60025560a060020a608051066000556000543214600155", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -53,14 +96,14 @@ "" ], "gasLimit" : [ - "365224" + "0x0592a8" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallEcrecover2.json b/GeneralStateTests/stStaticCall/static_CallEcrecover2.json index 27c52e132..fff45bfbe 100644 --- a/GeneralStateTests/stStaticCall/static_CallEcrecover2.json +++ b/GeneralStateTests/stStaticCall/static_CallEcrecover2.json @@ -6,44 +6,87 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecover2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x02" : "0x01" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x7467f46cbe95422bec05b8baf48bc85ff59ca9b5a852d41db9747f13cc2ce5d5", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x7467f46cbe95422bec05b8baf48bc85ff59ca9b5a852d41db9747f13cc2ce5d5", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x7467f46cbe95422bec05b8baf48bc85ff59ca9b5a852d41db9747f13cc2ce5d5", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x7467f46cbe95422bec05b8baf48bc85ff59ca9b5a852d41db9747f13cc2ce5d5", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x9cc5d9fe55255b87ef719275720c571563f288a3b4687af9774e848d64a26278", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "20000000", - "code" : "{ (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 33 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 65 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (STATICCALL 100000 1 0 97 97 32) [[ 0 ]] (MOD (MLOAD 97) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) }", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x01312d00", + "code" : "0x7f18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c600052601c6020527f73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f6021527feeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c454960415260206061606160006001620186a0fa60025560a060020a606151066000556000543214600155", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -53,14 +96,14 @@ "" ], "gasLimit" : [ - "365224" + "0x0592a8" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallEcrecover3.json b/GeneralStateTests/stStaticCall/static_CallEcrecover3.json index 227a11388..87fe00884 100644 --- a/GeneralStateTests/stStaticCall/static_CallEcrecover3.json +++ b/GeneralStateTests/stStaticCall/static_CallEcrecover3.json @@ -6,45 +6,87 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecover3Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x" : "0xe4319f4b631c6d0fcfc84045dbcb676865fe5e13", - "0x02" : "0x01" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0xb1eb37db02f3e7d25cf8b136924188aaf271ba3a007d51f72c972a0c1eac3ac7", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xb1eb37db02f3e7d25cf8b136924188aaf271ba3a007d51f72c972a0c1eac3ac7", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xb1eb37db02f3e7d25cf8b136924188aaf271ba3a007d51f72c972a0c1eac3ac7", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xb1eb37db02f3e7d25cf8b136924188aaf271ba3a007d51f72c972a0c1eac3ac7", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x1685532268a67f09a17e141fa589007ffa95e0f50c36eee15aeb704b338ad638", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "20000000", - "code" : "{ (MSTORE 0 0x2f380a2dea7e778d81affc2443403b8fe4644db442ae4862ff5bb3732829cdb9) (MSTORE 32 27) (MSTORE 64 0x6b65ccb0558806e9b097f27a396d08f964e37b8b7af6ceeb516ff86739fbea0a) (MSTORE 96 0x37cbc8d883e129a4b1ef9d5f1df53c4f21a3ef147cf2a50a4ede0eb06ce092d4) [[ 2 ]] (STATICCALL 100000 1 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) }", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x01312d00", + "code" : "0x7f2f380a2dea7e778d81affc2443403b8fe4644db442ae4862ff5bb3732829cdb9600052601b6020527f6b65ccb0558806e9b097f27a396d08f964e37b8b7af6ceeb516ff86739fbea0a6040527f37cbc8d883e129a4b1ef9d5f1df53c4f21a3ef147cf2a50a4ede0eb06ce092d460605260206080608060006001620186a0fa60025560a060020a608051066000556000543214600155", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -54,14 +96,14 @@ "" ], "gasLimit" : [ - "365224" + "0x0592a8" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallEcrecover80.json b/GeneralStateTests/stStaticCall/static_CallEcrecover80.json index 04d824c8e..e707ec248 100644 --- a/GeneralStateTests/stStaticCall/static_CallEcrecover80.json +++ b/GeneralStateTests/stStaticCall/static_CallEcrecover80.json @@ -6,46 +6,87 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecover80Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x" : "0x00", - "0x01" : "0x00", - "0x02" : "0x01" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x44a1b610eec16ce7ca34fa2bb4c01f130e614c433a05b0881516faed1b8e9571", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x44a1b610eec16ce7ca34fa2bb4c01f130e614c433a05b0881516faed1b8e9571", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x44a1b610eec16ce7ca34fa2bb4c01f130e614c433a05b0881516faed1b8e9571", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x44a1b610eec16ce7ca34fa2bb4c01f130e614c433a05b0881516faed1b8e9571", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xc9596250ac5dedb939b53d53c94c12f9a18c934411bc1200a50d3a2f9a992aaf", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "20000000", - "code" : "{ (MSTORE 0 0x00c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x00b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0x00b940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (STATICCALL 300000 1 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) }", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x01312d00", + "code" : "0x7ec547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c600052601c6020527eb1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f6040527eb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c454960605260206080608060006001620493e0fa60025560a060020a608051066000556000543214600155", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -55,14 +96,14 @@ "" ], "gasLimit" : [ - "3652240" + "0x37ba90" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallEcrecoverCheckLength.json b/GeneralStateTests/stStaticCall/static_CallEcrecoverCheckLength.json index 7d262ef89..88c68fb12 100644 --- a/GeneralStateTests/stStaticCall/static_CallEcrecoverCheckLength.json +++ b/GeneralStateTests/stStaticCall/static_CallEcrecoverCheckLength.json @@ -6,46 +6,87 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecoverCheckLengthFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", - "0x01" : "0xa0", - "0x02" : "0x01" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0xc4a9112f901b7345614d1a6c57ffc7537f8968d68a77bfcd9920594dab2496e0", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xc4a9112f901b7345614d1a6c57ffc7537f8968d68a77bfcd9920594dab2496e0", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xc4a9112f901b7345614d1a6c57ffc7537f8968d68a77bfcd9920594dab2496e0", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xc4a9112f901b7345614d1a6c57ffc7537f8968d68a77bfcd9920594dab2496e0", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x73cadf7d1d0827e0171a688c6719a6a59375ca75e576a20639aa7940288a0562", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "20000000", - "code" : "{ (MSTORE 128 0x1122334455667788990011223344556677889900112233445566778899001122) (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (STATICCALL 300000 1 0 128 128 32) [[ 0 ]] (MLOAD 128) [[ 1 ]] (MSIZE) }", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x01312d00", + "code" : "0x7f11223344556677889900112233445566778899001122334455667788990011226080527f18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c600052601c6020527f73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f6040527feeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c454960605260206080608060006001620493e0fa60025560805160005559600155", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -55,14 +96,14 @@ "" ], "gasLimit" : [ - "3652240" + "0x37ba90" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallEcrecoverCheckLengthWrongV.json b/GeneralStateTests/stStaticCall/static_CallEcrecoverCheckLengthWrongV.json index f8f52d981..719e1fc3e 100644 --- a/GeneralStateTests/stStaticCall/static_CallEcrecoverCheckLengthWrongV.json +++ b/GeneralStateTests/stStaticCall/static_CallEcrecoverCheckLengthWrongV.json @@ -6,46 +6,87 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecoverCheckLengthWrongVFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x" : "0x1122334455667788990011223344556677889900112233445566778899001122", - "0x01" : "0xa0", - "0x02" : "0x01" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0xd9492fcbae9f5da4bd07c2866a3f0b2925f72319d15786ce957f7aafc60b06eb", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xd9492fcbae9f5da4bd07c2866a3f0b2925f72319d15786ce957f7aafc60b06eb", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xd9492fcbae9f5da4bd07c2866a3f0b2925f72319d15786ce957f7aafc60b06eb", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xd9492fcbae9f5da4bd07c2866a3f0b2925f72319d15786ce957f7aafc60b06eb", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x87ab171207323f141ccf06a0a693079d22efa8c115e236bab3966c27e539af94", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "20000000", - "code" : "{ (MSTORE 128 0x1122334455667788990011223344556677889900112233445566778899001122) (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 29) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (STATICCALL 300000 1 0 128 128 32) [[ 0 ]] (MLOAD 128) [[ 1 ]] (MSIZE) }", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x01312d00", + "code" : "0x7f11223344556677889900112233445566778899001122334455667788990011226080527f18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c600052601d6020527f73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f6040527feeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c454960605260206080608060006001620493e0fa60025560805160005559600155", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -55,14 +96,14 @@ "" ], "gasLimit" : [ - "3652240" + "0x37ba90" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallEcrecoverH_prefixed0.json b/GeneralStateTests/stStaticCall/static_CallEcrecoverH_prefixed0.json index 0c3764512..d4302d61c 100644 --- a/GeneralStateTests/stStaticCall/static_CallEcrecoverH_prefixed0.json +++ b/GeneralStateTests/stStaticCall/static_CallEcrecoverH_prefixed0.json @@ -6,46 +6,87 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecoverH_prefixed0Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x" : "0xa0b29af6a56d6cfef6415cb195ccbe540e006d0a", - "0x01" : "0x00", - "0x02" : "0x01" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x51aa88b7ca76289d0112ae25f821b14742592e7b8af9e5fffc34259cd9e9aecf", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x51aa88b7ca76289d0112ae25f821b14742592e7b8af9e5fffc34259cd9e9aecf", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x51aa88b7ca76289d0112ae25f821b14742592e7b8af9e5fffc34259cd9e9aecf", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x51aa88b7ca76289d0112ae25f821b14742592e7b8af9e5fffc34259cd9e9aecf", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x082d7580151247cee75756efdd6fa50d8a849aac0cfebc129b09d3266832c641", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "20000000", - "code" : "{ (MSTORE 0 0x00c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (STATICCALL 300000 1 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) }", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x01312d00", + "code" : "0x7ec547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c600052601c6020527f73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f6040527feeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c454960605260206080608060006001620493e0fa60025560a060020a608051066000556000543214600155", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -55,14 +96,14 @@ "" ], "gasLimit" : [ - "3652240" + "0x37ba90" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallEcrecoverR_prefixed0.json b/GeneralStateTests/stStaticCall/static_CallEcrecoverR_prefixed0.json index c743e0979..27c0d0ced 100644 --- a/GeneralStateTests/stStaticCall/static_CallEcrecoverR_prefixed0.json +++ b/GeneralStateTests/stStaticCall/static_CallEcrecoverR_prefixed0.json @@ -6,46 +6,87 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecoverR_prefixed0Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x" : "0x00", - "0x01" : "0x00", - "0x02" : "0x01" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0xad2775bf3d515f319e463edf23d7a32584f9a2a313be644247d249b31cb0e688", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xad2775bf3d515f319e463edf23d7a32584f9a2a313be644247d249b31cb0e688", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xad2775bf3d515f319e463edf23d7a32584f9a2a313be644247d249b31cb0e688", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xad2775bf3d515f319e463edf23d7a32584f9a2a313be644247d249b31cb0e688", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x3493319c47a153a206c9ee150d17d8cdfbc8c18f8d3e0c3c947f8c2e3279e884", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "20000000", - "code" : "{ (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x00b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (STATICCALL 300000 1 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) }", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x01312d00", + "code" : "0x7f18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c600052601c6020527eb1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f6040527feeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c454960605260206080608060006001620493e0fa60025560a060020a608051066000556000543214600155", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -55,14 +96,14 @@ "" ], "gasLimit" : [ - "3652240" + "0x37ba90" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallEcrecoverS_prefixed0.json b/GeneralStateTests/stStaticCall/static_CallEcrecoverS_prefixed0.json index e3d31c72d..4ef70a543 100644 --- a/GeneralStateTests/stStaticCall/static_CallEcrecoverS_prefixed0.json +++ b/GeneralStateTests/stStaticCall/static_CallEcrecoverS_prefixed0.json @@ -6,46 +6,87 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecoverS_prefixed0Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x" : "0xb4950a7fad428434b11c357fa6d4b4bcd3096a5d", - "0x01" : "0x00", - "0x02" : "0x01" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x3879d91fd473a97fca256ab5fb364bf508072fab0ce0400de47122f08a513c28", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x3879d91fd473a97fca256ab5fb364bf508072fab0ce0400de47122f08a513c28", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x3879d91fd473a97fca256ab5fb364bf508072fab0ce0400de47122f08a513c28", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x3879d91fd473a97fca256ab5fb364bf508072fab0ce0400de47122f08a513c28", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xb1cc5901800a268c027f54d1b870bceef81d12e4cadae0a1eaf4a23184e123ba", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "20000000", - "code" : "{ (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0x00b940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (STATICCALL 300000 1 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) }", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x01312d00", + "code" : "0x7f18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c600052601c6020527f73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f6040527eb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c454960605260206080608060006001620493e0fa60025560a060020a608051066000556000543214600155", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -55,14 +96,14 @@ "" ], "gasLimit" : [ - "3652240" + "0x37ba90" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallEcrecoverV_prefixed0.json b/GeneralStateTests/stStaticCall/static_CallEcrecoverV_prefixed0.json index aca7c44b1..cee5c75be 100644 --- a/GeneralStateTests/stStaticCall/static_CallEcrecoverV_prefixed0.json +++ b/GeneralStateTests/stStaticCall/static_CallEcrecoverV_prefixed0.json @@ -6,46 +6,87 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecoverV_prefixed0Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", - "0x01" : "0x01", - "0x02" : "0x01" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0xd3d0c3e0d212e68f4aaa7a62f0bb7cbe61479e8e1e12371cff0d6f197cfb0d46", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xd3d0c3e0d212e68f4aaa7a62f0bb7cbe61479e8e1e12371cff0d6f197cfb0d46", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xd3d0c3e0d212e68f4aaa7a62f0bb7cbe61479e8e1e12371cff0d6f197cfb0d46", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xd3d0c3e0d212e68f4aaa7a62f0bb7cbe61479e8e1e12371cff0d6f197cfb0d46", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xc0766cd711cce47df53c541286ef89a59c3f52b7c7fdc2850cbe9f0d15ef1713", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "20000000", - "code" : "{ (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 0x001c) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (STATICCALL 300000 1 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) }", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x01312d00", + "code" : "0x7f18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c600052601c6020527f73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f6040527feeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c454960605260206080608060006001620493e0fa60025560a060020a608051066000556000543214600155", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -55,14 +96,14 @@ "" ], "gasLimit" : [ - "3652240" + "0x37ba90" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallGoesOOGOnSecondLevel.json b/GeneralStateTests/stStaticCall/static_CallGoesOOGOnSecondLevel.json index 37b7d3124..eb5e0ce2a 100644 --- a/GeneralStateTests/stStaticCall/static_CallGoesOOGOnSecondLevel.json +++ b/GeneralStateTests/stStaticCall/static_CallGoesOOGOnSecondLevel.json @@ -6,65 +6,101 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallGoesOOGOnSecondLevelFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000110" : { - "storage" : { - } + "post" : { + "EIP150" : [ + { + "hash" : "0xc8c5e72520501c7c79d4743428d8a56185862a68ef0effe80e329a3acce1c323", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000111" : { - "storage" : { - } + "logs" : [ + ] + } + ], + "EIP158" : [ + { + "hash" : "0xc8c5e72520501c7c79d4743428d8a56185862a68ef0effe80e329a3acce1c323", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "storage" : { - } - } + "logs" : [ + ] } - } - ], + ], + "Frontier" : [ + { + "hash" : "0xc8c5e72520501c7c79d4743428d8a56185862a68ef0effe80e329a3acce1c323", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xc8c5e72520501c7c79d4743428d8a56185862a68ef0effe80e329a3acce1c323", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xc8c5e72520501c7c79d4743428d8a56185862a68ef0effe80e329a3acce1c323", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000110" : { - "balance" : "0", - "code" : "{ (MSTORE 8 (GAS)) (MSTORE 9 (STATICCALL 600000 0x1000000000000000000000000000000000000111 0 0 0 0)) } ", - "nonce" : "0", + "0x1000000000000000000000000000000000000110" : { + "balance" : "0x00", + "code" : "0x5a6008526000600060006000731000000000000000000000000000000000000111620927c0fa600952", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000111" : { - "balance" : "0", - "code" : "{ (CREATE 0 0 0) (CREATE 0 0 0) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000111" : { + "balance" : "0x00", + "code" : "0x600060006000f050600060006000f0", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0xe8d4a51000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0", - "code" : "{ (SSTORE 9 (STATICCALL 600000 0x1000000000000000000000000000000000000110 0 0 0 0)) [[ 10 ]] (GAS) } ", - "nonce" : "0", + "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x00", + "code" : "0x6000600060006000731000000000000000000000000000000000000110620927c0fa6009555a600a55", + "nonce" : "0x00", "storage" : { } } @@ -74,14 +110,14 @@ "" ], "gasLimit" : [ - "220000" + "0x035b60" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallGoesOOGOnSecondLevel2.json b/GeneralStateTests/stStaticCall/static_CallGoesOOGOnSecondLevel2.json index 1f9578c18..c1e07c198 100644 --- a/GeneralStateTests/stStaticCall/static_CallGoesOOGOnSecondLevel2.json +++ b/GeneralStateTests/stStaticCall/static_CallGoesOOGOnSecondLevel2.json @@ -6,66 +6,158 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallGoesOOGOnSecondLevel2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0xce2efed7e8fcca50548d61fa5c1ee71d8243b2065c2339414ba4dc2af3df9246", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x00" - } - } + { + "hash" : "0xce2efed7e8fcca50548d61fa5c1ee71d8243b2065c2339414ba4dc2af3df9246", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xce2efed7e8fcca50548d61fa5c1ee71d8243b2065c2339414ba4dc2af3df9246", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xce2efed7e8fcca50548d61fa5c1ee71d8243b2065c2339414ba4dc2af3df9246", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xce2efed7e8fcca50548d61fa5c1ee71d8243b2065c2339414ba4dc2af3df9246", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xce2efed7e8fcca50548d61fa5c1ee71d8243b2065c2339414ba4dc2af3df9246", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xce2efed7e8fcca50548d61fa5c1ee71d8243b2065c2339414ba4dc2af3df9246", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xce2efed7e8fcca50548d61fa5c1ee71d8243b2065c2339414ba4dc2af3df9246", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xce2efed7e8fcca50548d61fa5c1ee71d8243b2065c2339414ba4dc2af3df9246", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xce2efed7e8fcca50548d61fa5c1ee71d8243b2065c2339414ba4dc2af3df9246", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000113" : { - "balance" : "0", - "code" : "{ (MSTORE 8 (GAS)) (MSTORE 9 (STATICCALL 600000 (CALLDATALOAD 0) 0 0 0 0)) } ", - "nonce" : "0", + "0x1000000000000000000000000000000000000113" : { + "balance" : "0x00", + "code" : "0x5a6008526000600060006000600035620927c0fa600952", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000114" : { - "balance" : "0", - "code" : "{ (SSTORE 1 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000114" : { + "balance" : "0x00", + "code" : "0x6001600155", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000114" : { - "balance" : "0", - "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000114" : { + "balance" : "0x00", + "code" : "0x5b61c35060805110156018576001608051016080526000565b", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0xe8d4a51000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0", - "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 600000 0x1000000000000000000000000000000000000113 0 32 0 0) [[ 1 ]] (GAS) } ", - "nonce" : "0", + "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x00", + "code" : "0x6000356000526000600060206000731000000000000000000000000000000000000113620927c0fa6000555a600155", + "nonce" : "0x00", "storage" : { } } @@ -76,14 +168,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000114" ], "gasLimit" : [ - "160000" + "0x027100" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallIdentitiy_1.json b/GeneralStateTests/stStaticCall/static_CallIdentitiy_1.json index 8751ed3f9..dd6345a59 100644 --- a/GeneralStateTests/stStaticCall/static_CallIdentitiy_1.json +++ b/GeneralStateTests/stStaticCall/static_CallIdentitiy_1.json @@ -6,45 +6,87 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallIdentitiy_1Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x" : "0x00", - "0x02" : "0x01" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x1b309cfbb8f1c485c76cf0521e98ed893e6f59b0f058fed1ccc7d62b26877c8f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x1b309cfbb8f1c485c76cf0521e98ed893e6f59b0f058fed1ccc7d62b26877c8f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x1b309cfbb8f1c485c76cf0521e98ed893e6f59b0f058fed1ccc7d62b26877c8f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x1b309cfbb8f1c485c76cf0521e98ed893e6f59b0f058fed1ccc7d62b26877c8f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x563561c079e52958143982b134dc2394b40365344cc662c606fc029e3fe03aef", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "20000000", - "code" : "{ [[ 2 ]] (STATICCALL 500 4 0 0 0 32) [[ 0 ]] (MLOAD 0)}", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x01312d00", + "code" : "0x602060006000600060046101f4fa600255600051600055", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -54,14 +96,14 @@ "" ], "gasLimit" : [ - "365224" + "0x0592a8" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallIdentity_1_nonzeroValue.json b/GeneralStateTests/stStaticCall/static_CallIdentity_1_nonzeroValue.json index fc3253da3..098030a3a 100644 --- a/GeneralStateTests/stStaticCall/static_CallIdentity_1_nonzeroValue.json +++ b/GeneralStateTests/stStaticCall/static_CallIdentity_1_nonzeroValue.json @@ -6,48 +6,87 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallIdentity_1_nonzeroValueFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "100000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x05f5e100", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "0000000000000000000000000000000000000004" : { - "balance" : "19" + "post" : { + "EIP150" : [ + { + "hash" : "0xdc7c1a80c53ad8ce60499122eaeacf8981d19145b7d17ac65feec14b3aea5bf4", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x" : "0x00", - "0x02" : "0x01" - } - } + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xdc7c1a80c53ad8ce60499122eaeacf8981d19145b7d17ac65feec14b3aea5bf4", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xdc7c1a80c53ad8ce60499122eaeacf8981d19145b7d17ac65feec14b3aea5bf4", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xdc7c1a80c53ad8ce60499122eaeacf8981d19145b7d17ac65feec14b3aea5bf4", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x1acc91cf37d1f793279b255ade1a18876a2ea1405507f6c41a92ec3454d9b8b9", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "200000000", - "code" : "{ [[ 2 ]] (STATICCALL 200000 4 0 0 0 32) (CALL 50000 4 0x13 0 0 0 0) [[ 0 ]] (MLOAD 0)}", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x0bebc200", + "code" : "0x6020600060006000600462030d40fa60025560006000600060006013600461c350f150600051600055", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -57,14 +96,14 @@ "" ], "gasLimit" : [ - "365224" + "0x0592a8" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallIdentity_2.json b/GeneralStateTests/stStaticCall/static_CallIdentity_2.json index 97c6ce167..fda0bf400 100644 --- a/GeneralStateTests/stStaticCall/static_CallIdentity_2.json +++ b/GeneralStateTests/stStaticCall/static_CallIdentity_2.json @@ -6,45 +6,87 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallIdentity_2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x" : "0x000000000000000000000000000000000000000000000000000000f34578907f", - "0x02" : "0x01" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x738c718ae5c02cbbae1885055503cf2cc3eb105c91ba4881fee772c7c1946403", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x738c718ae5c02cbbae1885055503cf2cc3eb105c91ba4881fee772c7c1946403", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x738c718ae5c02cbbae1885055503cf2cc3eb105c91ba4881fee772c7c1946403", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x738c718ae5c02cbbae1885055503cf2cc3eb105c91ba4881fee772c7c1946403", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x5e349a2a63c9b5d787d135c31196e9d4d372d53014c5b61d70f15b677f2de457", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "20000000", - "code" : "{ (MSTORE 0 0xf34578907f) [[ 2 ]] (STATICCALL 500 4 0 37 0 32) [[ 0 ]] (MLOAD 0)}", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x01312d00", + "code" : "0x64f34578907f600052602060006025600060046101f4fa600255600051600055", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -54,14 +96,14 @@ "" ], "gasLimit" : [ - "365224" + "0x0592a8" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallIdentity_3.json b/GeneralStateTests/stStaticCall/static_CallIdentity_3.json index c2caad7df..3d0824f27 100644 --- a/GeneralStateTests/stStaticCall/static_CallIdentity_3.json +++ b/GeneralStateTests/stStaticCall/static_CallIdentity_3.json @@ -6,45 +6,87 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallIdentity_3Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x" : "0x000000000000000000000000000000000000000000000000000000f34578907f", - "0x02" : "0x01" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x738c718ae5c02cbbae1885055503cf2cc3eb105c91ba4881fee772c7c1946403", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x738c718ae5c02cbbae1885055503cf2cc3eb105c91ba4881fee772c7c1946403", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x738c718ae5c02cbbae1885055503cf2cc3eb105c91ba4881fee772c7c1946403", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x738c718ae5c02cbbae1885055503cf2cc3eb105c91ba4881fee772c7c1946403", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x5e349a2a63c9b5d787d135c31196e9d4d372d53014c5b61d70f15b677f2de457", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "20000000", - "code" : "{ (MSTORE 0 0xf34578907f) [[ 2 ]] (STATICCALL 500 4 0 37 0 32) [[ 0 ]] (MLOAD 0)}", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x01312d00", + "code" : "0x64f34578907f600052602060006025600060046101f4fa600255600051600055", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -54,14 +96,14 @@ "" ], "gasLimit" : [ - "365224" + "0x0592a8" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallIdentity_4.json b/GeneralStateTests/stStaticCall/static_CallIdentity_4.json index 9c422bc49..e4ece3f64 100644 --- a/GeneralStateTests/stStaticCall/static_CallIdentity_4.json +++ b/GeneralStateTests/stStaticCall/static_CallIdentity_4.json @@ -6,45 +6,87 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallIdentity_4Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "0x02" : "0x01" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0xc02afa598221dfcc67b57d94392f1bdec77d6c6c97a31a688dbd77712258d49c", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xc02afa598221dfcc67b57d94392f1bdec77d6c6c97a31a688dbd77712258d49c", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xc02afa598221dfcc67b57d94392f1bdec77d6c6c97a31a688dbd77712258d49c", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xc02afa598221dfcc67b57d94392f1bdec77d6c6c97a31a688dbd77712258d49c", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x6f61a288aaa6cf0f91f5db2a208b2191bbcbbc6fae8f5a68a523f16db481e8f2", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "20000000", - "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 2 ]] (STATICCALL 100 4 0 32 0 32) [[ 0 ]] (MLOAD 0)}", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x01312d00", + "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600052602060006020600060046064fa600255600051600055", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -54,14 +96,14 @@ "" ], "gasLimit" : [ - "365224" + "0x0592a8" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallIdentity_4_gas17.json b/GeneralStateTests/stStaticCall/static_CallIdentity_4_gas17.json index 31617f965..6de7b7133 100644 --- a/GeneralStateTests/stStaticCall/static_CallIdentity_4_gas17.json +++ b/GeneralStateTests/stStaticCall/static_CallIdentity_4_gas17.json @@ -6,45 +6,87 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallIdentity_4_gas17Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "0x02" : "0x00" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x985db4a8400c02f02b535eaba85ed7cf930e13d5828d4de3a88826fcc15899a5", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x985db4a8400c02f02b535eaba85ed7cf930e13d5828d4de3a88826fcc15899a5", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x985db4a8400c02f02b535eaba85ed7cf930e13d5828d4de3a88826fcc15899a5", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x985db4a8400c02f02b535eaba85ed7cf930e13d5828d4de3a88826fcc15899a5", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x702d6ea9e171e585329073d6b660b83ac1b6e5b82bd09966240057715f726dd1", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "20000000", - "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 2 ]] (STATICCALL 17 4 0 32 0 32) [[ 0 ]] (MLOAD 0)}", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x01312d00", + "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600052602060006020600060046011fa600255600051600055", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -54,14 +96,14 @@ "" ], "gasLimit" : [ - "365224" + "0x0592a8" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallIdentity_4_gas18.json b/GeneralStateTests/stStaticCall/static_CallIdentity_4_gas18.json index 280b4c81d..26a0b3bcc 100644 --- a/GeneralStateTests/stStaticCall/static_CallIdentity_4_gas18.json +++ b/GeneralStateTests/stStaticCall/static_CallIdentity_4_gas18.json @@ -6,45 +6,87 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallIdentity_4_gas18Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "0x02" : "0x01" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0xdbfe7801bc973efa3820bbf4c87c85eea0e91a433d125011c696a0185c4847ba", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xdbfe7801bc973efa3820bbf4c87c85eea0e91a433d125011c696a0185c4847ba", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xdbfe7801bc973efa3820bbf4c87c85eea0e91a433d125011c696a0185c4847ba", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xdbfe7801bc973efa3820bbf4c87c85eea0e91a433d125011c696a0185c4847ba", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xd10cacc819efd8713aa49c1c326f9cbcdfc0ca044e4dbc66517c79d38bc88b21", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "20000000", - "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 2 ]] (STATICCALL 18 4 0 32 0 32) [[ 0 ]] (MLOAD 0)}", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x01312d00", + "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600052602060006020600060046012fa600255600051600055", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -54,14 +96,14 @@ "" ], "gasLimit" : [ - "365224" + "0x0592a8" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallIdentity_5.json b/GeneralStateTests/stStaticCall/static_CallIdentity_5.json index 7278fe9eb..90e045ccf 100644 --- a/GeneralStateTests/stStaticCall/static_CallIdentity_5.json +++ b/GeneralStateTests/stStaticCall/static_CallIdentity_5.json @@ -6,44 +6,87 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallIdentity_5Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0xac3de1b731147cf42d87c183d1ff094d9e70b182a80bc9287dc3a7661870f550", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xac3de1b731147cf42d87c183d1ff094d9e70b182a80bc9287dc3a7661870f550", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xac3de1b731147cf42d87c183d1ff094d9e70b182a80bc9287dc3a7661870f550", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xac3de1b731147cf42d87c183d1ff094d9e70b182a80bc9287dc3a7661870f550", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x7f5a835d204101b5635403c300e600e901e10f0328cc0473e5320167ef83232e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "20000000", - "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 2 ]] (STATICCALL 600 4 0 1000000 0 32) [[ 0 ]] (MLOAD 0)}", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x01312d00", + "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60005260206000620f424060006004610258fa600255600051600055", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -53,14 +96,14 @@ "" ], "gasLimit" : [ - "10000000" + "0x989680" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallLoseGasOOG.json b/GeneralStateTests/stStaticCall/static_CallLoseGasOOG.json index eab435a2a..2edad7c49 100644 --- a/GeneralStateTests/stStaticCall/static_CallLoseGasOOG.json +++ b/GeneralStateTests/stStaticCall/static_CallLoseGasOOG.json @@ -6,52 +6,94 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallLoseGasOOGFiller.json" }, "env" : { - "currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "currentCoinbase" : "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b", "currentDifficulty" : "0x020000", "currentGasLimit" : "0x7fffffffffffffff", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "storage" : { - "0x" : "0x01", - "0x02" : "0x03e9" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x4f985561c68b486a8fefad080ea5383a17cb5660282b71ec765b68651cf32aa6", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x4f985561c68b486a8fefad080ea5383a17cb5660282b71ec765b68651cf32aa6", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x4f985561c68b486a8fefad080ea5383a17cb5660282b71ec765b68651cf32aa6", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x4f985561c68b486a8fefad080ea5383a17cb5660282b71ec765b68651cf32aa6", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xe8031a5e694e8b45a6abc93652b190e8d32492fa310593ddb7e2d7819f51fe9a", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { "balance" : "0xffffffffffffffffffffffffffffffff", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "aaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "7000", + "0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x1b58", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1024", - "code" : "{ [[ 0 ]] (ADD @@0 1) [[ 1 ]] (STATICCALL (ADD 1(MUL @@0 100000)) 0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) [[ 2 ]] (ADD 1(MUL @@0 1000)) }", - "nonce" : "0", + "0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0400", + "code" : "0x600160005401600055600060006000600073bbbf5374fce5edbc8e2a8697c15331677e6ebf0b620186a060005402600101fa6001556103e860005402600101600255", + "nonce" : "0x00", "storage" : { } } @@ -63,12 +105,12 @@ "gasLimit" : [ "0x7fffffffffffffff" ], - "gasPrice" : "1", - "nonce" : "", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b", "value" : [ - "10" + "0x0a" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallRecursiveBomb0.json b/GeneralStateTests/stStaticCall/static_CallRecursiveBomb0.json index 00bd619ea..7975e8f65 100644 --- a/GeneralStateTests/stStaticCall/static_CallRecursiveBomb0.json +++ b/GeneralStateTests/stStaticCall/static_CallRecursiveBomb0.json @@ -6,55 +6,94 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallRecursiveBomb0Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x02540be400", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x025406f836" - } + "post" : { + "EIP150" : [ + { + "hash" : "0x9bacbf7461a436c8216e296ee488edd0fb155bbed9b1d136de5793a4217c480f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "nonce" : "1" - } + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x9bacbf7461a436c8216e296ee488edd0fb155bbed9b1d136de5793a4217c480f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x9bacbf7461a436c8216e296ee488edd0fb155bbed9b1d136de5793a4217c480f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x9bacbf7461a436c8216e296ee488edd0fb155bbed9b1d136de5793a4217c480f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xa90d701bed6b2ea0a80f1c099e32aa34ea1797cfe076a56d1615196b1812c7c0", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "2000000000", - "code" : "{ [[ 0 ]] (STATICCALL 100000000 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x77359400", + "code" : "0x600060006000600073945304eb96065b2a98b57a48a06ae28d285a71b56305f5e100fa6000555a600155", + "nonce" : "0x00", "storage" : { } }, - "945304eb96065b2a98b57a48a06ae28d285a71b5" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 0 (+ (MLOAD 0) 1)) (STATICCALL (- (GAS) 11000) (ADDRESS) 0 0 0 0) } ", - "nonce" : "0", + "0x945304eb96065b2a98b57a48a06ae28d285a71b5" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600160005101600052600060006000600030612af85a03fa", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -64,14 +103,14 @@ "" ], "gasLimit" : [ - "10000000000" + "0x02540be400" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallRecursiveBomb0_OOG_atMaxCallDepth.json b/GeneralStateTests/stStaticCall/static_CallRecursiveBomb0_OOG_atMaxCallDepth.json index 64a10b0b9..425ff29bb 100644 --- a/GeneralStateTests/stStaticCall/static_CallRecursiveBomb0_OOG_atMaxCallDepth.json +++ b/GeneralStateTests/stStaticCall/static_CallRecursiveBomb0_OOG_atMaxCallDepth.json @@ -6,51 +6,94 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallRecursiveBomb0_OOG_atMaxCallDepthFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "100000000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x174876e800", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "195e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x01" : "0xb8cf2d1b" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0xf5db24c4f329602358342ef3a44c8d5362d1b030afa84d4ebf67cdab7b6caa8a", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xf5db24c4f329602358342ef3a44c8d5362d1b030afa84d4ebf67cdab7b6caa8a", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x6014f82d8ead096eec81adeaae7e06f2457ef1ee19ab2ccf5e2cb5b5abdc75ec", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x6014f82d8ead096eec81adeaae7e06f2457ef1ee19ab2ccf5e2cb5b5abdc75ec", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x53d4e57c4d2c5a4e0f058f6552aee4ed8ea5751bc772eb6583e60266ba214514", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "20000000", - "code" : "{ (MSTORE 0 (+ (SLOAD 0) 1)) (MSTORE 2 (MUL (DIV (MLOAD 0) 0x0402) 0xfffffffffffffffffff)) (STATICCALL (- (GAS) 1024) (ADDRESS) 0 (MUL (DIV (MLOAD 0) 0x0402) 0xfffffffffffffffffff) 0 0) } ", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x01312d00", + "code" : "0x600160005401600052690fffffffffffffffffff610402600051040260025260006000690fffffffffffffffffff61040260005104026000306104005a03fa", + "nonce" : "0x00", "storage" : { } }, - "195e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "20000000", - "code" : "{ (CALLCODE (GAS) 0x095e7baea6a6c7c4c2dfeb977efac326af552d87 0 0 0 0 0) [[ 1 ]] (GAS) } ", - "nonce" : "0", + "0x195e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x01312d00", + "code" : "0x6000600060006000600073095e7baea6a6c7c4c2dfeb977efac326af552d875af2505a600155", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -60,14 +103,14 @@ "" ], "gasLimit" : [ - "100000000000" + "0x174876e800" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "195e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x195e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallRecursiveBomb1.json b/GeneralStateTests/stStaticCall/static_CallRecursiveBomb1.json index 9a4dd5bf7..a0b1e04bf 100644 --- a/GeneralStateTests/stStaticCall/static_CallRecursiveBomb1.json +++ b/GeneralStateTests/stStaticCall/static_CallRecursiveBomb1.json @@ -6,52 +6,94 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallRecursiveBomb1Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "100000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x05f5e100", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "195e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x09befb" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0xcb1753e7f3422605434c589a87fa72354382ea86b78fac25a6484bc06bfae257", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xcb1753e7f3422605434c589a87fa72354382ea86b78fac25a6484bc06bfae257", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xf664fa42d701c03617eba34bbd670cb7ef1e40313cedbbd60883c364c449ca2e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xf664fa42d701c03617eba34bbd670cb7ef1e40313cedbbd60883c364c449ca2e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x94a613e74461a5e8afb7a9bf2b53617944ad2fdf55ba8f900a887e63aaf19f36", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "20000000", - "code" : "{ (MSTORE 0 (+ (MLOAD 0) 1)) (STATICCALL (- (GAS) 15000) (ADDRESS) 0 0 0 0) }", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x01312d00", + "code" : "0x600160005101600052600060006000600030613a985a03fa", + "nonce" : "0x00", "storage" : { } }, - "195e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "20000000", - "code" : "{ (CALLCODE (GAS) 0x095e7baea6a6c7c4c2dfeb977efac326af552d87 0 0 0 0 0) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x195e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x01312d00", + "code" : "0x6000600060006000600073095e7baea6a6c7c4c2dfeb977efac326af552d875af2505a600155", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -61,14 +103,14 @@ "" ], "gasLimit" : [ - "20622100" + "0x013aab14" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "195e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x195e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallRecursiveBomb2.json b/GeneralStateTests/stStaticCall/static_CallRecursiveBomb2.json index 53b0a9054..ab8c3b0bc 100644 --- a/GeneralStateTests/stStaticCall/static_CallRecursiveBomb2.json +++ b/GeneralStateTests/stStaticCall/static_CallRecursiveBomb2.json @@ -6,52 +6,94 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallRecursiveBomb2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "100000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x05f5e100", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "195e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x0970da" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0xb823d538f7cc43f50bd100bace70c5b14b88d9f0214cb3386c5c043b682450b8", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xb823d538f7cc43f50bd100bace70c5b14b88d9f0214cb3386c5c043b682450b8", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x8550841f06091aa91a26e1c8c45339966a7bbb57ad5f3f1a46e89c27ace3247f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x8550841f06091aa91a26e1c8c45339966a7bbb57ad5f3f1a46e89c27ace3247f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x4ab37c9ac92df780428afd2c345b9bc3cc3a7cba4a09257273329b73ff6486db", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "20000000", - "code" : "{ (MSTORE 0 (+ (MLOAD 0) 1)) (STATICCALL (- (GAS) 15000) (ADDRESS) 0 0 0 0) }", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x01312d00", + "code" : "0x600160005101600052600060006000600030613a985a03fa", + "nonce" : "0x00", "storage" : { } }, - "195e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "20000000", - "code" : "{ [[ 0 ]] (CALLCODE (GAS) 0x095e7baea6a6c7c4c2dfeb977efac326af552d87 0 0 0 0 0) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x195e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x01312d00", + "code" : "0x6000600060006000600073095e7baea6a6c7c4c2dfeb977efac326af552d875af26000555a600155", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -61,14 +103,14 @@ "" ], "gasLimit" : [ - "20622099" + "0x013aab13" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "195e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x195e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallRecursiveBomb3.json b/GeneralStateTests/stStaticCall/static_CallRecursiveBomb3.json index dd46a10ca..58282c97b 100644 --- a/GeneralStateTests/stStaticCall/static_CallRecursiveBomb3.json +++ b/GeneralStateTests/stStaticCall/static_CallRecursiveBomb3.json @@ -6,52 +6,94 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallRecursiveBomb3Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "195e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x016b53" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x94a61490fdbf7fc6cb1a1887b27d1bbefccc657f6905d14948f5e89126fb6434", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x94a61490fdbf7fc6cb1a1887b27d1bbefccc657f6905d14948f5e89126fb6434", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x6659660e4db73207ff37c4fa00d0cd2668e561c8e175cc84d32f9054ab01b244", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x6659660e4db73207ff37c4fa00d0cd2668e561c8e175cc84d32f9054ab01b244", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x3b7e6951c651e3eff3419eea5b43cc3779902b1024b671aa51e7bc2830301e8d", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "20000000", - "code" : "{ (MSTORE 0 (+ (SLOAD 0) 1)) (STATICCALL (- (GAS) 224) (ADDRESS) 0 0 0 0) }", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x01312d00", + "code" : "0x60016000540160005260006000600060003060e05a03fa", + "nonce" : "0x00", "storage" : { } }, - "195e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "20000000", - "code" : "{ [[ 0 ]] (CALLCODE ( - (GAS) 100000) 0x095e7baea6a6c7c4c2dfeb977efac326af552d87 0 0 0 0 0) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x195e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x01312d00", + "code" : "0x6000600060006000600073095e7baea6a6c7c4c2dfeb977efac326af552d87620186a05a03f26000555a600155", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -61,14 +103,14 @@ "" ], "gasLimit" : [ - "1000000" + "0x0f4240" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "195e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x195e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallRecursiveBombLog.json b/GeneralStateTests/stStaticCall/static_CallRecursiveBombLog.json index a949b77a7..70781b1a2 100644 --- a/GeneralStateTests/stStaticCall/static_CallRecursiveBombLog.json +++ b/GeneralStateTests/stStaticCall/static_CallRecursiveBombLog.json @@ -6,52 +6,94 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallRecursiveBombLogFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x02540be400", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x09501aaf" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0xb80560ef8b9af7e51d2b933f3b9fd86be0757acb33ba62b1cf850dfeefb15310", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xb80560ef8b9af7e51d2b933f3b9fd86be0757acb33ba62b1cf850dfeefb15310", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xb80560ef8b9af7e51d2b933f3b9fd86be0757acb33ba62b1cf850dfeefb15310", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xb80560ef8b9af7e51d2b933f3b9fd86be0757acb33ba62b1cf850dfeefb15310", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x04f97b8d36405d8211fbe3b5a2ad75abb5a0a143bd5dd4d9c68844a9c20996bf", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "20000000", - "code" : "{ [[ 0 ]] (STATICCALL (- (GAS) 100000) 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x01312d00", + "code" : "0x600060006000600073945304eb96065b2a98b57a48a06ae28d285a71b5620186a05a03fa6000555a600155", + "nonce" : "0x00", "storage" : { } }, - "945304eb96065b2a98b57a48a06ae28d285a71b5" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (LOG0 0 32) (STATICCALL (- (GAS) 25000) (ADDRESS) 0 0 0 0) } ", - "nonce" : "0", + "0x945304eb96065b2a98b57a48a06ae28d285a71b5" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60005260206000a06000600060006000306161a85a03fa", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -61,14 +103,14 @@ "" ], "gasLimit" : [ - "10000000000" + "0x02540be400" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallRecursiveBombLog2.json b/GeneralStateTests/stStaticCall/static_CallRecursiveBombLog2.json index 8935be688..b1604b2ca 100644 --- a/GeneralStateTests/stStaticCall/static_CallRecursiveBombLog2.json +++ b/GeneralStateTests/stStaticCall/static_CallRecursiveBombLog2.json @@ -6,55 +6,94 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallRecursiveBombLog2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x02540be400", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x09501aaf" - } + "post" : { + "EIP150" : [ + { + "hash" : "0xeb74a51583974d9ad3cc50eafa9168c843579e6dc72adae941f05322e92ae58b", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "nonce" : "1" - } + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xeb74a51583974d9ad3cc50eafa9168c843579e6dc72adae941f05322e92ae58b", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xeb74a51583974d9ad3cc50eafa9168c843579e6dc72adae941f05322e92ae58b", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xeb74a51583974d9ad3cc50eafa9168c843579e6dc72adae941f05322e92ae58b", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xedd35d9f47f8c16676a664479f0028ccb352d1865ebcbde1a8a92fde6dd700b0", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "20000000", - "code" : "{ [[ 0 ]] (STATICCALL ( - (GAS) 100000) 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x01312d00", + "code" : "0x600060006000600073945304eb96065b2a98b57a48a06ae28d285a71b5620186a05a03fa6000555a600155", + "nonce" : "0x00", "storage" : { } }, - "945304eb96065b2a98b57a48a06ae28d285a71b5" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 0 (GAS)) (LOG0 0 32) (STATICCALL (- (GAS) 25000) (ADDRESS) 0 0 0 0) } ", - "nonce" : "0", + "0x945304eb96065b2a98b57a48a06ae28d285a71b5" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x5a60005260206000a06000600060006000306161a85a03fa", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -64,14 +103,14 @@ "" ], "gasLimit" : [ - "10000000000" + "0x02540be400" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallRecursiveBombPreCall.json b/GeneralStateTests/stStaticCall/static_CallRecursiveBombPreCall.json index b6e7e3efd..d0db2cfe6 100644 --- a/GeneralStateTests/stStaticCall/static_CallRecursiveBombPreCall.json +++ b/GeneralStateTests/stStaticCall/static_CallRecursiveBombPreCall.json @@ -6,55 +6,94 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallRecursiveBombPreCallFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", "currentGasLimit" : "0x7fffffffffffffff", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x7ffffffffff3ba25" - } + "post" : { + "EIP150" : [ + { + "hash" : "0xecfcc33227d2e221a4c09f8b78d052775e9a590207ebdbc6e20deded0aa78348", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "nonce" : "1" - } + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xecfcc33227d2e221a4c09f8b78d052775e9a590207ebdbc6e20deded0aa78348", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xecfcc33227d2e221a4c09f8b78d052775e9a590207ebdbc6e20deded0aa78348", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xecfcc33227d2e221a4c09f8b78d052775e9a590207ebdbc6e20deded0aa78348", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xff16c6db910b7056e3353e0805a640ee51a37d7189c91eaa9d72e309f7834391", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0xfffffffffffffffffffffffffffffff", - "code" : "{ (STATICCALL 100000 0xbad304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0) [[ 0 ]] (DELEGATECALL 0x7ffffffffffffff 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x0fffffffffffffffffffffffffffffff", + "code" : "0x600060006000600073bad304eb96065b2a98b57a48a06ae28d285a71b5620186a0fa50600060006000600073945304eb96065b2a98b57a48a06ae28d285a71b56707fffffffffffffff46000555a600155", + "nonce" : "0x00", "storage" : { } }, - "945304eb96065b2a98b57a48a06ae28d285a71b5" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 0 (+ (MLOAD 0) 1)) (STATICCALL (- (GAS) 224000) 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0) } ", - "nonce" : "0", + "0x945304eb96065b2a98b57a48a06ae28d285a71b5" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600160005101600052600060006000600073945304eb96065b2a98b57a48a06ae28d285a71b562036b005a03fa", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xfffffffffffffffffffffffffffffff", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0fffffffffffffffffffffffffffffff", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -66,12 +105,12 @@ "gasLimit" : [ "0x7ffffffffffffff0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallRecursiveBombPreCall2.json b/GeneralStateTests/stStaticCall/static_CallRecursiveBombPreCall2.json index 0266f3f09..6f0aa4545 100644 --- a/GeneralStateTests/stStaticCall/static_CallRecursiveBombPreCall2.json +++ b/GeneralStateTests/stStaticCall/static_CallRecursiveBombPreCall2.json @@ -6,55 +6,94 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallRecursiveBombPreCall2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", "currentGasLimit" : "0x7fffffffffffffff", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x7ffffffffff3be25" - } + "post" : { + "EIP150" : [ + { + "hash" : "0xeaccd590a93210b28c4f849d87290bc06357a6ab34cedd1d5cdc55bb0f6a7d6f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "nonce" : "1" - } + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xeaccd590a93210b28c4f849d87290bc06357a6ab34cedd1d5cdc55bb0f6a7d6f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xeaccd590a93210b28c4f849d87290bc06357a6ab34cedd1d5cdc55bb0f6a7d6f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xeaccd590a93210b28c4f849d87290bc06357a6ab34cedd1d5cdc55bb0f6a7d6f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x0904a81e43fb6c84b7bdd7d5bb8dd1a7c151830677033128852f58c789336c33", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0xfffffffffffffffffffffffffffffff", - "code" : "{ (STATICCALL 100000 0xbad304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0) [[ 0 ]] (STATICCALL 0x7ffffffffffffff 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x0fffffffffffffffffffffffffffffff", + "code" : "0x600060006000600073bad304eb96065b2a98b57a48a06ae28d285a71b5620186a0fa50600060006000600073945304eb96065b2a98b57a48a06ae28d285a71b56707fffffffffffffffa6000555a600155", + "nonce" : "0x00", "storage" : { } }, - "945304eb96065b2a98b57a48a06ae28d285a71b5" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 0 (+ (MLOAD 0) 1)) (STATICCALL (- (GAS) 224000) (ADDRESS) 0 0 0 0) } ", - "nonce" : "0", + "0x945304eb96065b2a98b57a48a06ae28d285a71b5" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60016000510160005260006000600060003062036b005a03fa", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xfffffffffffffffffffffffffffffff", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0fffffffffffffffffffffffffffffff", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -66,12 +105,12 @@ "gasLimit" : [ "0x7ffffffffffffff0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallRipemd160_1.json b/GeneralStateTests/stStaticCall/static_CallRipemd160_1.json index af9e48623..9f2cc4d2f 100644 --- a/GeneralStateTests/stStaticCall/static_CallRipemd160_1.json +++ b/GeneralStateTests/stStaticCall/static_CallRipemd160_1.json @@ -6,45 +6,87 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallRipemd160_1Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x" : "0x9c1185a5c5e9fc54612808977ee8f548b2258d31", - "0x02" : "0x01" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x749b9773e54b61f9c516cf66caf153328bc2d64c39e8169a18c6c533354ea049", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x749b9773e54b61f9c516cf66caf153328bc2d64c39e8169a18c6c533354ea049", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x749b9773e54b61f9c516cf66caf153328bc2d64c39e8169a18c6c533354ea049", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x749b9773e54b61f9c516cf66caf153328bc2d64c39e8169a18c6c533354ea049", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x61043bcf9f5d70773f9c37e56980261244dcac94479adc2c4f4dede4c2f569cb", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "20000000", - "code" : "{ [[ 2 ]] (STATICCALL 600 3 0 0 0 32) [[ 0 ]] (MLOAD 0)}", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x01312d00", + "code" : "0x60206000600060006003610258fa600255600051600055", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -54,14 +96,14 @@ "" ], "gasLimit" : [ - "365224" + "0x0592a8" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallRipemd160_2.json b/GeneralStateTests/stStaticCall/static_CallRipemd160_2.json index 8ae57e23c..44596bad5 100644 --- a/GeneralStateTests/stStaticCall/static_CallRipemd160_2.json +++ b/GeneralStateTests/stStaticCall/static_CallRipemd160_2.json @@ -6,45 +6,87 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallRipemd160_2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x00" : "0xdbc100f916bfbc53535573d98cf0cbb3a5b36124", - "0x02" : "0x01" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x97c5529870e0164a19a3f66908838f2033ff02f7de7dd5cbe00fd28426c5395a", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x97c5529870e0164a19a3f66908838f2033ff02f7de7dd5cbe00fd28426c5395a", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x97c5529870e0164a19a3f66908838f2033ff02f7de7dd5cbe00fd28426c5395a", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x97c5529870e0164a19a3f66908838f2033ff02f7de7dd5cbe00fd28426c5395a", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x064af302a6ed9d95e61e31905ab89dd1358be3b90c427fc3039c6e87ab155664", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "20000000", - "code" : "{ (MSTORE 5 0xf34578907f) [[ 2 ]] (STATICCALL 6000 3 0 37 0 32) [[ 0 ]] (MLOAD 0)}", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x01312d00", + "code" : "0x64f34578907f60055260206000602560006003611770fa600255600051600055", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -54,14 +96,14 @@ "" ], "gasLimit" : [ - "365224" + "0x0592a8" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallRipemd160_3.json b/GeneralStateTests/stStaticCall/static_CallRipemd160_3.json index 2b1d8c15b..3ea5765c8 100644 --- a/GeneralStateTests/stStaticCall/static_CallRipemd160_3.json +++ b/GeneralStateTests/stStaticCall/static_CallRipemd160_3.json @@ -6,45 +6,87 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallRipemd160_3Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x00" : "0x316750573f9be26bc17727b47cacedbd0ab3e6ca", - "0x02" : "0x01" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x8db263b83cee250e7b859185b57e73780ee870e1e6668403ef7a9a33a1e394e0", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x8db263b83cee250e7b859185b57e73780ee870e1e6668403ef7a9a33a1e394e0", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x8db263b83cee250e7b859185b57e73780ee870e1e6668403ef7a9a33a1e394e0", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x8db263b83cee250e7b859185b57e73780ee870e1e6668403ef7a9a33a1e394e0", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xc10660a8c1fd11dd43a421f0b28382319a61609ec734447e96728e76988d144c", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "20000000", - "code" : "{ (MSTORE 0 0xf34578907f) [[ 2 ]] (STATICCALL 6000 3 0 37 0 32) [[ 0 ]] (MLOAD 0)}", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x01312d00", + "code" : "0x64f34578907f60005260206000602560006003611770fa600255600051600055", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -54,14 +96,14 @@ "" ], "gasLimit" : [ - "365224" + "0x0592a8" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallRipemd160_3_postfixed0.json b/GeneralStateTests/stStaticCall/static_CallRipemd160_3_postfixed0.json index 1d5f0982c..a472435f7 100644 --- a/GeneralStateTests/stStaticCall/static_CallRipemd160_3_postfixed0.json +++ b/GeneralStateTests/stStaticCall/static_CallRipemd160_3_postfixed0.json @@ -6,45 +6,87 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallRipemd160_3_postfixed0Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x00" : "0x7730b4642169b0f16752696da8da830a4b429c9d", - "0x02" : "0x01" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x7a72191dad5ef8e6939b958e7619ba428fadff96a761d2350cd4b6744af828f8", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x7a72191dad5ef8e6939b958e7619ba428fadff96a761d2350cd4b6744af828f8", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x7a72191dad5ef8e6939b958e7619ba428fadff96a761d2350cd4b6744af828f8", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x7a72191dad5ef8e6939b958e7619ba428fadff96a761d2350cd4b6744af828f8", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x02c9a4aba02e13c0a6bab883a24becda89497b4527840ab0307bbae6fa9ad688", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "20000000", - "code" : "{ (MSTORE 0 0xf34578907f00) [[ 2 ]] (STATICCALL 6000 3 0 37 0 32) [[ 0 ]] (MLOAD 0)}", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x01312d00", + "code" : "0x65f34578907f0060005260206000602560006003611770fa600255600051600055", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -54,14 +96,14 @@ "" ], "gasLimit" : [ - "365224" + "0x0592a8" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallRipemd160_3_prefixed0.json b/GeneralStateTests/stStaticCall/static_CallRipemd160_3_prefixed0.json index 6a131f3a3..a22352033 100644 --- a/GeneralStateTests/stStaticCall/static_CallRipemd160_3_prefixed0.json +++ b/GeneralStateTests/stStaticCall/static_CallRipemd160_3_prefixed0.json @@ -6,45 +6,87 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallRipemd160_3_prefixed0Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x00" : "0x316750573f9be26bc17727b47cacedbd0ab3e6ca", - "0x02" : "0x01" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x8db263b83cee250e7b859185b57e73780ee870e1e6668403ef7a9a33a1e394e0", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x8db263b83cee250e7b859185b57e73780ee870e1e6668403ef7a9a33a1e394e0", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x8db263b83cee250e7b859185b57e73780ee870e1e6668403ef7a9a33a1e394e0", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x8db263b83cee250e7b859185b57e73780ee870e1e6668403ef7a9a33a1e394e0", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xc10660a8c1fd11dd43a421f0b28382319a61609ec734447e96728e76988d144c", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "20000000", - "code" : "{ (MSTORE 0 0x00f34578907f) [[ 2 ]] (STATICCALL 6000 3 0 37 0 32) [[ 0 ]] (MLOAD 0)}", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x01312d00", + "code" : "0x64f34578907f60005260206000602560006003611770fa600255600051600055", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -54,14 +96,14 @@ "" ], "gasLimit" : [ - "365224" + "0x0592a8" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallRipemd160_4.json b/GeneralStateTests/stStaticCall/static_CallRipemd160_4.json index 1c066bc9c..aeaab672f 100644 --- a/GeneralStateTests/stStaticCall/static_CallRipemd160_4.json +++ b/GeneralStateTests/stStaticCall/static_CallRipemd160_4.json @@ -6,45 +6,87 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallRipemd160_4Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x00" : "0x1cf4e77f5966e13e109703cd8a0df7ceda7f3dc3", - "0x02" : "0x01" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x8df919769aa65a3ccd28a9f3d16ed68cbe204001c55d885ee7745e43433915e3", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x8df919769aa65a3ccd28a9f3d16ed68cbe204001c55d885ee7745e43433915e3", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x8df919769aa65a3ccd28a9f3d16ed68cbe204001c55d885ee7745e43433915e3", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x8df919769aa65a3ccd28a9f3d16ed68cbe204001c55d885ee7745e43433915e3", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xcf6d1f6fce19d7c1027d39c26bbf392f54befc4639ad617dd2435c0e0708589c", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "20000000", - "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 2 ]] (STATICCALL 720 3 0 32 0 32) [[ 0 ]] (MLOAD 0)}", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x01312d00", + "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600052602060006020600060036102d0fa600255600051600055", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -54,14 +96,14 @@ "" ], "gasLimit" : [ - "365224" + "0x0592a8" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallRipemd160_4_gas719.json b/GeneralStateTests/stStaticCall/static_CallRipemd160_4_gas719.json index ac6525083..be68815ea 100644 --- a/GeneralStateTests/stStaticCall/static_CallRipemd160_4_gas719.json +++ b/GeneralStateTests/stStaticCall/static_CallRipemd160_4_gas719.json @@ -6,44 +6,87 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallRipemd160_4_gas719Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x75d12a7277359c45095cc0a7ae07fa9a0e8760656c4ca540f386ec374ca64959", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x75d12a7277359c45095cc0a7ae07fa9a0e8760656c4ca540f386ec374ca64959", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x75d12a7277359c45095cc0a7ae07fa9a0e8760656c4ca540f386ec374ca64959", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x75d12a7277359c45095cc0a7ae07fa9a0e8760656c4ca540f386ec374ca64959", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xb91a68b7b9560001b7a165fab38c335d23c4314010f90176df37e7afeaabd65f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "20000000", - "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 2 ]] (STATICCALL 719 3 0 32 0 32) [[ 0 ]] (MLOAD 0)}", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x01312d00", + "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600052602060006020600060036102cffa600255600051600055", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -53,14 +96,14 @@ "" ], "gasLimit" : [ - "365224" + "0x0592a8" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallRipemd160_5.json b/GeneralStateTests/stStaticCall/static_CallRipemd160_5.json index b651a6a27..29ac6a6af 100644 --- a/GeneralStateTests/stStaticCall/static_CallRipemd160_5.json +++ b/GeneralStateTests/stStaticCall/static_CallRipemd160_5.json @@ -6,44 +6,87 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallRipemd160_5Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x6ecd01d21238e49430a3a7a971a0047e2f44374c94f3c57211320b6da7ee516d", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x6ecd01d21238e49430a3a7a971a0047e2f44374c94f3c57211320b6da7ee516d", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x6ecd01d21238e49430a3a7a971a0047e2f44374c94f3c57211320b6da7ee516d", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x6ecd01d21238e49430a3a7a971a0047e2f44374c94f3c57211320b6da7ee516d", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x650a2f45d2465fbfd0ca8fcdb8943851836ac25d86dad1ae58297661796a6de2", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "20000000", - "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 2 ]] (STATICCALL 6000 3 0 1000000 0 32) [[ 0 ]] (MLOAD 0)}", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x01312d00", + "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60005260206000620f424060006003611770fa600255600051600055", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -53,14 +96,14 @@ "" ], "gasLimit" : [ - "10000000" + "0x989680" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallSha256_1.json b/GeneralStateTests/stStaticCall/static_CallSha256_1.json index 5d9864b29..7321675e4 100644 --- a/GeneralStateTests/stStaticCall/static_CallSha256_1.json +++ b/GeneralStateTests/stStaticCall/static_CallSha256_1.json @@ -6,45 +6,87 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallSha256_1Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x" : "0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "0x02" : "0x01" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x73089159c3629856ae536e337c183bce96d0ae202715756800fc980410b39c41", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x73089159c3629856ae536e337c183bce96d0ae202715756800fc980410b39c41", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x73089159c3629856ae536e337c183bce96d0ae202715756800fc980410b39c41", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x73089159c3629856ae536e337c183bce96d0ae202715756800fc980410b39c41", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x6adeda2f75851354baa87ae2b9a321a42fddced0d81d104c4dc009c33cc3e7ee", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "20000000", - "code" : "{ [[ 2 ]] (STATICCALL 500 2 0 0 0 32) [[ 0 ]] (MLOAD 0)}", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x01312d00", + "code" : "0x602060006000600060026101f4fa600255600051600055", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -54,14 +96,14 @@ "" ], "gasLimit" : [ - "365224" + "0x0592a8" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallSha256_1_nonzeroValue.json b/GeneralStateTests/stStaticCall/static_CallSha256_1_nonzeroValue.json index 50706f0f8..191403e22 100644 --- a/GeneralStateTests/stStaticCall/static_CallSha256_1_nonzeroValue.json +++ b/GeneralStateTests/stStaticCall/static_CallSha256_1_nonzeroValue.json @@ -6,48 +6,87 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallSha256_1_nonzeroValueFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "100000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x05f5e100", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "0000000000000000000000000000000000000002" : { - "balance" : "19" + "post" : { + "EIP150" : [ + { + "hash" : "0x450a0d2d8e692bf153bc83ea60178fed9552f7040a1ab4d3ec679e87df19f56a", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x" : "0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "0x02" : "0x01" - } - } + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x450a0d2d8e692bf153bc83ea60178fed9552f7040a1ab4d3ec679e87df19f56a", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x450a0d2d8e692bf153bc83ea60178fed9552f7040a1ab4d3ec679e87df19f56a", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x450a0d2d8e692bf153bc83ea60178fed9552f7040a1ab4d3ec679e87df19f56a", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xdd1737f2c49dddd6c1c9ea4f4cd7af7140c87edcc404c88f24f8eeb843054016", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "200000000", - "code" : "{ [[ 2 ]] (STATICCALL 200000 2 0 0 0 32) [[ 0 ]] (MLOAD 0) (CALL (GAS) 2 19 0 0 0 0) (CALLCODE (GAS) 2 19 0 0 0 0) }", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x0bebc200", + "code" : "0x6020600060006000600262030d40fa6002556000516000556000600060006000601360025af1506000600060006000601360025af2", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -57,14 +96,14 @@ "" ], "gasLimit" : [ - "365224" + "0x0592a8" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallSha256_2.json b/GeneralStateTests/stStaticCall/static_CallSha256_2.json index 1261a77b4..9b8ce5966 100644 --- a/GeneralStateTests/stStaticCall/static_CallSha256_2.json +++ b/GeneralStateTests/stStaticCall/static_CallSha256_2.json @@ -6,45 +6,87 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallSha256_2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x" : "0xcb39b3bde22925b2f931111130c774761d8895e0e08437c9b396c1e97d10f34d", - "0x02" : "0x01" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x74a6b4411777b997d1f4a9e31960200d3c2789d93eaf1d8f437eb6cd13cdd98a", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x74a6b4411777b997d1f4a9e31960200d3c2789d93eaf1d8f437eb6cd13cdd98a", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x74a6b4411777b997d1f4a9e31960200d3c2789d93eaf1d8f437eb6cd13cdd98a", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x74a6b4411777b997d1f4a9e31960200d3c2789d93eaf1d8f437eb6cd13cdd98a", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x2661ee4e45fc332b260e6861603ae5b0215d9a2df10241af8d8aac48f9dfd21a", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "20000000", - "code" : "{ (MSTORE 5 0xf34578907f) [[ 2 ]] (STATICCALL 500 2 0 37 0 32) [[ 0 ]] (MLOAD 0)}", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x01312d00", + "code" : "0x64f34578907f600552602060006025600060026101f4fa600255600051600055", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -54,14 +96,14 @@ "" ], "gasLimit" : [ - "365224" + "0x0592a8" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallSha256_3.json b/GeneralStateTests/stStaticCall/static_CallSha256_3.json index 18f5225c4..d88a6da7a 100644 --- a/GeneralStateTests/stStaticCall/static_CallSha256_3.json +++ b/GeneralStateTests/stStaticCall/static_CallSha256_3.json @@ -6,45 +6,87 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallSha256_3Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x" : "0x7392925565d67be8e9620aacbcfaecd8cb6ec58d709d25da9eccf1d08a41ce35", - "0x02" : "0x01" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x6406954cb1280961e4ddf35bf4203f9f151eb5ecaeb452e642fa7f85fb2ac4ac", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x6406954cb1280961e4ddf35bf4203f9f151eb5ecaeb452e642fa7f85fb2ac4ac", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x6406954cb1280961e4ddf35bf4203f9f151eb5ecaeb452e642fa7f85fb2ac4ac", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x6406954cb1280961e4ddf35bf4203f9f151eb5ecaeb452e642fa7f85fb2ac4ac", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x65b7bb557f7fdebe414b94ea96f283f743f6045531f22bacf9f78b1d70ab2377", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "20000000", - "code" : "{ (MSTORE 0 0xf34578907f) [[ 2 ]] (STATICCALL 500 2 0 37 0 32) [[ 0 ]] (MLOAD 0)}", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x01312d00", + "code" : "0x64f34578907f600052602060006025600060026101f4fa600255600051600055", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -54,14 +96,14 @@ "" ], "gasLimit" : [ - "365224" + "0x0592a8" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallSha256_3_postfix0.json b/GeneralStateTests/stStaticCall/static_CallSha256_3_postfix0.json index 528959a2c..b8f0d2f6b 100644 --- a/GeneralStateTests/stStaticCall/static_CallSha256_3_postfix0.json +++ b/GeneralStateTests/stStaticCall/static_CallSha256_3_postfix0.json @@ -6,45 +6,87 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallSha256_3_postfix0Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x" : "0x3b745a1c00d035c334f358d007a430e4cf0ae63aa0556fb05529706de546464d", - "0x02" : "0x01" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0xdfc055ad55c295259f7635d20ea798da19cb6666a2111fb1ef96786ddf4c3a92", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xdfc055ad55c295259f7635d20ea798da19cb6666a2111fb1ef96786ddf4c3a92", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xdfc055ad55c295259f7635d20ea798da19cb6666a2111fb1ef96786ddf4c3a92", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xdfc055ad55c295259f7635d20ea798da19cb6666a2111fb1ef96786ddf4c3a92", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xd44b8590a033955773bdc42d0f63b61ffe995c5c15783daa5d6898fb0bf82585", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "20000000", - "code" : "{ (MSTORE 0 0xf34578907f00) [[ 2 ]] (STATICCALL 500 2 0 37 0 32) [[ 0 ]] (MLOAD 0)}", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x01312d00", + "code" : "0x65f34578907f00600052602060006025600060026101f4fa600255600051600055", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -54,14 +96,14 @@ "" ], "gasLimit" : [ - "365224" + "0x0592a8" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallSha256_3_prefix0.json b/GeneralStateTests/stStaticCall/static_CallSha256_3_prefix0.json index 8ab4bbbdb..8cae4cf05 100644 --- a/GeneralStateTests/stStaticCall/static_CallSha256_3_prefix0.json +++ b/GeneralStateTests/stStaticCall/static_CallSha256_3_prefix0.json @@ -6,45 +6,87 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallSha256_3_prefix0Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x" : "0x7392925565d67be8e9620aacbcfaecd8cb6ec58d709d25da9eccf1d08a41ce35", - "0x02" : "0x01" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x6406954cb1280961e4ddf35bf4203f9f151eb5ecaeb452e642fa7f85fb2ac4ac", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x6406954cb1280961e4ddf35bf4203f9f151eb5ecaeb452e642fa7f85fb2ac4ac", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x6406954cb1280961e4ddf35bf4203f9f151eb5ecaeb452e642fa7f85fb2ac4ac", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x6406954cb1280961e4ddf35bf4203f9f151eb5ecaeb452e642fa7f85fb2ac4ac", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x65b7bb557f7fdebe414b94ea96f283f743f6045531f22bacf9f78b1d70ab2377", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "20000000", - "code" : "{ (MSTORE 0 0x00f34578907f) [[ 2 ]] (STATICCALL 500 2 0 37 0 32) [[ 0 ]] (MLOAD 0)}", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x01312d00", + "code" : "0x64f34578907f600052602060006025600060026101f4fa600255600051600055", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -54,14 +96,14 @@ "" ], "gasLimit" : [ - "365224" + "0x0592a8" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallSha256_4.json b/GeneralStateTests/stStaticCall/static_CallSha256_4.json index 1349b9281..a87357355 100644 --- a/GeneralStateTests/stStaticCall/static_CallSha256_4.json +++ b/GeneralStateTests/stStaticCall/static_CallSha256_4.json @@ -6,45 +6,87 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallSha256_4Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x" : "0xaf9613760f72635fbdb44a5a0a63c39f12af30f950a6ee5c971be188e89c4051", - "0x02" : "0x01" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x41192668654ff740f55eb6e7ae2989b41342372c4825ab5b414b269b98fd7da1", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x41192668654ff740f55eb6e7ae2989b41342372c4825ab5b414b269b98fd7da1", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x41192668654ff740f55eb6e7ae2989b41342372c4825ab5b414b269b98fd7da1", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x41192668654ff740f55eb6e7ae2989b41342372c4825ab5b414b269b98fd7da1", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xcbb8d4b7b0b35a41acb5188ef5ab9c162502004054448635c550c3c3df82ca1e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "20000000", - "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 2 ]] (STATICCALL 100 2 0 32 0 32) [[ 0 ]] (MLOAD 0)}", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x01312d00", + "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600052602060006020600060026064fa600255600051600055", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -54,14 +96,14 @@ "" ], "gasLimit" : [ - "365224" + "0x0592a8" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallSha256_4_gas99.json b/GeneralStateTests/stStaticCall/static_CallSha256_4_gas99.json index 128ae9cf0..fb4f6ed83 100644 --- a/GeneralStateTests/stStaticCall/static_CallSha256_4_gas99.json +++ b/GeneralStateTests/stStaticCall/static_CallSha256_4_gas99.json @@ -6,45 +6,87 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallSha256_4_gas99Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x" : "0xaf9613760f72635fbdb44a5a0a63c39f12af30f950a6ee5c971be188e89c4051", - "0x02" : "0x01" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x1ffd42c805448a3fb1f19e6e1800afad4a092a148c20df052e838e440e1eae88", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x1ffd42c805448a3fb1f19e6e1800afad4a092a148c20df052e838e440e1eae88", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x1ffd42c805448a3fb1f19e6e1800afad4a092a148c20df052e838e440e1eae88", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x1ffd42c805448a3fb1f19e6e1800afad4a092a148c20df052e838e440e1eae88", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x47d48ecedefb604bf16d204edcaf17d954489eec247aa04585a2f92ae1fe18df", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "20000000", - "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 2 ]] (STATICCALL 99 2 0 32 0 32) [[ 0 ]] (MLOAD 0)}", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x01312d00", + "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600052602060006020600060026063fa600255600051600055", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -54,14 +96,14 @@ "" ], "gasLimit" : [ - "365224" + "0x0592a8" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallSha256_5.json b/GeneralStateTests/stStaticCall/static_CallSha256_5.json index 9643fdc15..1dc4ccab0 100644 --- a/GeneralStateTests/stStaticCall/static_CallSha256_5.json +++ b/GeneralStateTests/stStaticCall/static_CallSha256_5.json @@ -6,44 +6,87 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallSha256_5Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0xfb087b1d26dc6497edc9156cfdb09ad99a0a244fa74eceffbd07888beeba2718", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xfb087b1d26dc6497edc9156cfdb09ad99a0a244fa74eceffbd07888beeba2718", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xfb087b1d26dc6497edc9156cfdb09ad99a0a244fa74eceffbd07888beeba2718", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xfb087b1d26dc6497edc9156cfdb09ad99a0a244fa74eceffbd07888beeba2718", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x7264679270dcaf4c3f6f968ffbab40b933f9df9d1b730e743145f5ef7a8b9635", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "20000000", - "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 2 ]] (STATICCALL 600 2 0 1000000 0 32) [[ 0 ]] (MLOAD 0)}", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x01312d00", + "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60005260206000620f424060006002610258fa600255600051600055", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -53,14 +96,14 @@ "" ], "gasLimit" : [ - "10000000" + "0x989680" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallToNameRegistrator0.json b/GeneralStateTests/stStaticCall/static_CallToNameRegistrator0.json index b3f07fb27..091b96b44 100644 --- a/GeneralStateTests/stStaticCall/static_CallToNameRegistrator0.json +++ b/GeneralStateTests/stStaticCall/static_CallToNameRegistrator0.json @@ -6,52 +6,94 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallToNameRegistrator0Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "nonce" : "0", - "storage" : { - "0x" : "0x00" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x2476fc941a8067d919974e5adf2bc832be56a8518cb1748b09c155fa85bc57b8", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x2476fc941a8067d919974e5adf2bc832be56a8518cb1748b09c155fa85bc57b8", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x2476fc941a8067d919974e5adf2bc832be56a8518cb1748b09c155fa85bc57b8", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x2476fc941a8067d919974e5adf2bc832be56a8518cb1748b09c155fa85bc57b8", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x1f97ffce3fd3ce2864cb616baa013f503b7886ade91270a822cbfc175eb7bfe1", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (STATICCALL 100000 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 64 64 0) }", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6000527faaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa602052600060406040600073945304eb96065b2a98b57a48a06ae28d285a71b5620186a0fa600055", + "nonce" : "0x00", "storage" : { } }, - "945304eb96065b2a98b57a48a06ae28d285a71b5" : { - "balance" : "23", + "0x945304eb96065b2a98b57a48a06ae28d285a71b5" : { + "balance" : "0x17", "code" : "0x6000355415600957005b60203560003555", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -61,14 +103,14 @@ "" ], "gasLimit" : [ - "300000" + "0x0493e0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallToReturn1.json b/GeneralStateTests/stStaticCall/static_CallToReturn1.json index f79505168..9ef6b741e 100644 --- a/GeneralStateTests/stStaticCall/static_CallToReturn1.json +++ b/GeneralStateTests/stStaticCall/static_CallToReturn1.json @@ -6,53 +6,94 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallToReturn1Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "nonce" : "0", - "storage" : { - "0x00" : "0x01", - "0x01" : "0x2a" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x889dc336a2b683bedbc77caf050d9a3130ebd5ad3079fe727f7c37a23be19f99", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x889dc336a2b683bedbc77caf050d9a3130ebd5ad3079fe727f7c37a23be19f99", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x889dc336a2b683bedbc77caf050d9a3130ebd5ad3079fe727f7c37a23be19f99", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x889dc336a2b683bedbc77caf050d9a3130ebd5ad3079fe727f7c37a23be19f99", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xfa3c8d654c593748b5eceead0c1a372c86fddba0b91a3d917ef7d341994da939", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 1000 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 0 31 1) [[ 1 ]] @0 }", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6001601f6000600073945304eb96065b2a98b57a48a06ae28d285a71b56103e8fa600055600051600155", + "nonce" : "0x00", "storage" : { } }, - "945304eb96065b2a98b57a48a06ae28d285a71b5" : { - "balance" : "23", + "0x945304eb96065b2a98b57a48a06ae28d285a71b5" : { + "balance" : "0x17", "code" : "0x602a601f536001601ff3", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -62,14 +103,14 @@ "" ], "gasLimit" : [ - "300000" + "0x0493e0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CalltoReturn2.json b/GeneralStateTests/stStaticCall/static_CalltoReturn2.json index 6d606e7a5..2a28bf88c 100644 --- a/GeneralStateTests/stStaticCall/static_CalltoReturn2.json +++ b/GeneralStateTests/stStaticCall/static_CalltoReturn2.json @@ -6,53 +6,94 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CalltoReturn2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "nonce" : "0", - "storage" : { - "0x" : "0x01", - "0x01" : "0x3700ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0xeb6801354b6d02b19a0dc149e653822d7d4b2985beb2dc2918f3640d393f3bf7", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xeb6801354b6d02b19a0dc149e653822d7d4b2985beb2dc2918f3640d393f3bf7", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xeb6801354b6d02b19a0dc149e653822d7d4b2985beb2dc2918f3640d393f3bf7", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xeb6801354b6d02b19a0dc149e653822d7d4b2985beb2dc2918f3640d393f3bf7", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x990787d2b78570f15ec2a9cc8448936f67ce292103bf505dfdacf0ea6cb79487", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (STATICCALL 5000 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 64 0 2 ) [[ 1 ]] (MLOAD 0) }", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6000527faaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa602052600260006040600073945304eb96065b2a98b57a48a06ae28d285a71b5611388fa600055600051600155", + "nonce" : "0x00", "storage" : { } }, - "945304eb96065b2a98b57a48a06ae28d285a71b5" : { - "balance" : "23", + "0x945304eb96065b2a98b57a48a06ae28d285a71b5" : { + "balance" : "0x17", "code" : "0x603760005360026000f3", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -62,14 +103,14 @@ "" ], "gasLimit" : [ - "300000" + "0x0493e0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CheckCallCostOOG.json b/GeneralStateTests/stStaticCall/static_CheckCallCostOOG.json index 95922471c..b4490e911 100644 --- a/GeneralStateTests/stStaticCall/static_CheckCallCostOOG.json +++ b/GeneralStateTests/stStaticCall/static_CheckCallCostOOG.json @@ -6,70 +6,144 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CheckCallCostOOGFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : 0, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0xcd73fcab3c89cf2f76f46d5d53599a268513c3e8db7e1e4fbd9f3ce7066aaa72", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : { - "balance" : "21700" + { + "hash" : "0xc4115b71dc009d7cedcff1fd79f30fe643d5e87f10749698fb865d8ed2fb6076", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 0 }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "nonce" : "1" - } + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : -1, - "gas" : 1, - "value" : -1 + ], + "EIP158" : [ + { + "hash" : "0xcd73fcab3c89cf2f76f46d5d53599a268513c3e8db7e1e4fbd9f3ce7066aaa72", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : { - "balance" : "21733" + { + "hash" : "0xc4115b71dc009d7cedcff1fd79f30fe643d5e87f10749698fb865d8ed2fb6076", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 0 }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "nonce" : "1" - } + "logs" : [ + ] } - } - ], + ], + "Frontier" : [ + { + "hash" : "0xcd73fcab3c89cf2f76f46d5d53599a268513c3e8db7e1e4fbd9f3ce7066aaa72", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xc4115b71dc009d7cedcff1fd79f30fe643d5e87f10749698fb865d8ed2fb6076", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xcd73fcab3c89cf2f76f46d5d53599a268513c3e8db7e1e4fbd9f3ce7066aaa72", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xc4115b71dc009d7cedcff1fd79f30fe643d5e87f10749698fb865d8ed2fb6076", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xcd73fcab3c89cf2f76f46d5d53599a268513c3e8db7e1e4fbd9f3ce7066aaa72", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xea0ba27d31ec6d0733e9ece3fc03ec693ae528a50681aee3b37f57dd923ee3d0", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "0", - "code" : "{ (STATICCALL 100 0x2000000000000000000000000000000000000000 0 0 0 0) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x00", + "code" : "0x60006000600060007320000000000000000000000000000000000000006064fa", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000000" : { - "balance" : "0", - "code" : "{ (MSTORE 1 1) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000000" : { + "balance" : "0x00", + "code" : "0x6001600152", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0xe8d4a51000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -79,15 +153,15 @@ "" ], "gasLimit" : [ - "21700", - "21800" + "0x54c4", + "0x5528" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CheckOpcodes.json b/GeneralStateTests/stStaticCall/static_CheckOpcodes.json index 7efcf80dd..da826a079 100644 --- a/GeneralStateTests/stStaticCall/static_CheckOpcodes.json +++ b/GeneralStateTests/stStaticCall/static_CheckOpcodes.json @@ -6,68 +6,458 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CheckOpcodesFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : 1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x01" : "0x01" - } - }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "nonce" : "1" - } + "post" : { + "EIP150" : [ + { + "hash" : "0x5b2ad133e3294085c264936e2ba8bd91f8eeca0243ed5633a1efba582cd84a35", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x5b2ad133e3294085c264936e2ba8bd91f8eeca0243ed5633a1efba582cd84a35", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xd4ba63488362b427d1681871e5c0ce478a1c56038a14e6abf1eb08a1e7362ecd", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xd4ba63488362b427d1681871e5c0ce478a1c56038a14e6abf1eb08a1e7362ecd", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x5b2ad133e3294085c264936e2ba8bd91f8eeca0243ed5633a1efba582cd84a35", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x5b2ad133e3294085c264936e2ba8bd91f8eeca0243ed5633a1efba582cd84a35", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xd4ba63488362b427d1681871e5c0ce478a1c56038a14e6abf1eb08a1e7362ecd", + "indexes" : { + "data" : 1, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xd4ba63488362b427d1681871e5c0ce478a1c56038a14e6abf1eb08a1e7362ecd", + "indexes" : { + "data" : 1, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x5b2ad133e3294085c264936e2ba8bd91f8eeca0243ed5633a1efba582cd84a35", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x5b2ad133e3294085c264936e2ba8bd91f8eeca0243ed5633a1efba582cd84a35", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xd4ba63488362b427d1681871e5c0ce478a1c56038a14e6abf1eb08a1e7362ecd", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xd4ba63488362b427d1681871e5c0ce478a1c56038a14e6abf1eb08a1e7362ecd", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x5b2ad133e3294085c264936e2ba8bd91f8eeca0243ed5633a1efba582cd84a35", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x5b2ad133e3294085c264936e2ba8bd91f8eeca0243ed5633a1efba582cd84a35", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xd4ba63488362b427d1681871e5c0ce478a1c56038a14e6abf1eb08a1e7362ecd", + "indexes" : { + "data" : 1, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xd4ba63488362b427d1681871e5c0ce478a1c56038a14e6abf1eb08a1e7362ecd", + "indexes" : { + "data" : 1, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x5b2ad133e3294085c264936e2ba8bd91f8eeca0243ed5633a1efba582cd84a35", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x5b2ad133e3294085c264936e2ba8bd91f8eeca0243ed5633a1efba582cd84a35", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xd4ba63488362b427d1681871e5c0ce478a1c56038a14e6abf1eb08a1e7362ecd", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xd4ba63488362b427d1681871e5c0ce478a1c56038a14e6abf1eb08a1e7362ecd", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x5b2ad133e3294085c264936e2ba8bd91f8eeca0243ed5633a1efba582cd84a35", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x5b2ad133e3294085c264936e2ba8bd91f8eeca0243ed5633a1efba582cd84a35", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xd4ba63488362b427d1681871e5c0ce478a1c56038a14e6abf1eb08a1e7362ecd", + "indexes" : { + "data" : 1, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xd4ba63488362b427d1681871e5c0ce478a1c56038a14e6abf1eb08a1e7362ecd", + "indexes" : { + "data" : 1, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x5b2ad133e3294085c264936e2ba8bd91f8eeca0243ed5633a1efba582cd84a35", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x5b2ad133e3294085c264936e2ba8bd91f8eeca0243ed5633a1efba582cd84a35", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xd4ba63488362b427d1681871e5c0ce478a1c56038a14e6abf1eb08a1e7362ecd", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xd4ba63488362b427d1681871e5c0ce478a1c56038a14e6abf1eb08a1e7362ecd", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x5b2ad133e3294085c264936e2ba8bd91f8eeca0243ed5633a1efba582cd84a35", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x5b2ad133e3294085c264936e2ba8bd91f8eeca0243ed5633a1efba582cd84a35", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xd4ba63488362b427d1681871e5c0ce478a1c56038a14e6abf1eb08a1e7362ecd", + "indexes" : { + "data" : 1, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xd4ba63488362b427d1681871e5c0ce478a1c56038a14e6abf1eb08a1e7362ecd", + "indexes" : { + "data" : 1, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xcd0bf5c8667410a60b0888ddb7da55cfe0099041c03ac5de6896a8e1c9be19f7", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x99cec9ee8168e34dca27e17bce9f493d006f43e254b636bf4934b06f2444d21f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xcd0bf5c8667410a60b0888ddb7da55cfe0099041c03ac5de6896a8e1c9be19f7", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x99cec9ee8168e34dca27e17bce9f493d006f43e254b636bf4934b06f2444d21f", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x5b2ad133e3294085c264936e2ba8bd91f8eeca0243ed5633a1efba582cd84a35", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x5b2ad133e3294085c264936e2ba8bd91f8eeca0243ed5633a1efba582cd84a35", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x0eb7478ae040cc90426dade6c3ee468d5c45e9b89274a8d5ffff5b978587575f", + "indexes" : { + "data" : 1, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x0b94298a79e1a7e5de1aded75e212679582b6df8d68f679f06ec4f208583bfb6", + "indexes" : { + "data" : 1, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "0", - "code" : "{ [[1]] (STATICCALL 100000 (CALLDATALOAD 0) 0 0 0 0) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x00", + "code" : "0x6000600060006000600035620186a0fa600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (if (= 0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b (ORIGIN)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0x1000000000000000000000000000000000000000 (CALLER)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0x1000000000000000000000000000000000000001 (ADDRESS)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0 (CALLVALUE)) (MSTORE 1 1) (SSTORE 1 2) ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x3273a94f5374fce5edbc8e2a8697c15331677e6ebf0b1460225760026001556028565b60016001525b3373100000000000000000000000000000000000000014604b5760026001556051565b60016001525b30731000000000000000000000000000000000000001146074576002600155607a565b60016001525b34600014608a5760026001556090565b60016001525b", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (STATICCALL 100000 0x1000000000000000000000000000000000000003 0 0 0 0) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x6000600060006000731000000000000000000000000000000000000003620186a0fa", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (if (= 0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b (ORIGIN)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0x1000000000000000000000000000000000000002 (CALLER)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0x1000000000000000000000000000000000000001 (ADDRESS)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0 (CALLVALUE)) (MSTORE 1 1) (SSTORE 1 2) ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x3273a94f5374fce5edbc8e2a8697c15331677e6ebf0b1460225760026001556028565b60016001525b3373100000000000000000000000000000000000000214604b5760026001556051565b60016001525b30731000000000000000000000000000000000000001146074576002600155607a565b60016001525b34600014608a5760026001556090565b60016001525b", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0xe8d4a51000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -78,16 +468,16 @@ "0x0000000000000000000000001000000000000000000000000000000000000002" ], "gasLimit" : [ - "50000", - "335000" + "0xc350", + "0x051c98" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0", - "100" + "0x00", + "0x64" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CheckOpcodes2.json b/GeneralStateTests/stStaticCall/static_CheckOpcodes2.json index d727f1ead..837f685dc 100644 --- a/GeneralStateTests/stStaticCall/static_CheckOpcodes2.json +++ b/GeneralStateTests/stStaticCall/static_CheckOpcodes2.json @@ -6,142 +6,1107 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CheckOpcodes2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : [ - 0, - 2, - 3, - 4 - ], - "gas" : 1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x01" : "0x01" - } - }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "nonce" : "1" - } + "post" : { + "EIP150" : [ + { + "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", + "indexes" : { + "data" : 1, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", + "indexes" : { + "data" : 1, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", + "indexes" : { + "data" : 2, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", + "indexes" : { + "data" : 2, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", + "indexes" : { + "data" : 3, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", + "indexes" : { + "data" : 3, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", + "indexes" : { + "data" : 4, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", + "indexes" : { + "data" : 4, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", + "indexes" : { + "data" : 4, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", + "indexes" : { + "data" : 4, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : 1, - "gas" : 1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x01" : "0x00" - } - }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "nonce" : "1" - } + ], + "EIP158" : [ + { + "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", + "indexes" : { + "data" : 1, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", + "indexes" : { + "data" : 1, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", + "indexes" : { + "data" : 2, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", + "indexes" : { + "data" : 2, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", + "indexes" : { + "data" : 3, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", + "indexes" : { + "data" : 3, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", + "indexes" : { + "data" : 4, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", + "indexes" : { + "data" : 4, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", + "indexes" : { + "data" : 4, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", + "indexes" : { + "data" : 4, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] } - } - ], + ], + "Frontier" : [ + { + "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", + "indexes" : { + "data" : 1, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", + "indexes" : { + "data" : 1, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", + "indexes" : { + "data" : 2, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", + "indexes" : { + "data" : 2, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", + "indexes" : { + "data" : 3, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", + "indexes" : { + "data" : 3, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", + "indexes" : { + "data" : 4, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", + "indexes" : { + "data" : 4, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", + "indexes" : { + "data" : 4, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", + "indexes" : { + "data" : 4, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", + "indexes" : { + "data" : 1, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", + "indexes" : { + "data" : 1, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", + "indexes" : { + "data" : 2, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", + "indexes" : { + "data" : 2, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", + "indexes" : { + "data" : 3, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", + "indexes" : { + "data" : 3, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", + "indexes" : { + "data" : 4, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", + "indexes" : { + "data" : 4, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", + "indexes" : { + "data" : 4, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", + "indexes" : { + "data" : 4, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xb3e6f9aed7d3c82d539b1b763c6a7279ebb6d7bccdb11ee489eb81fff87c6eac", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x3a5fd102a0fb99e1880efd26ffbe13bb6fbd3ea1f533e9e7302fed6acdec276c", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xb3e6f9aed7d3c82d539b1b763c6a7279ebb6d7bccdb11ee489eb81fff87c6eac", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x3a5fd102a0fb99e1880efd26ffbe13bb6fbd3ea1f533e9e7302fed6acdec276c", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xebd25cd1b32ebfbb0c2bcb1d07e9489624d0389ed7fd81e3ffd4709d9f29a6f6", + "indexes" : { + "data" : 1, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x0579ec90031ca3d0c888bf328ff46b0d5964308031563c434fafdc977de8989c", + "indexes" : { + "data" : 1, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xb3e6f9aed7d3c82d539b1b763c6a7279ebb6d7bccdb11ee489eb81fff87c6eac", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x3a5fd102a0fb99e1880efd26ffbe13bb6fbd3ea1f533e9e7302fed6acdec276c", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xb3e6f9aed7d3c82d539b1b763c6a7279ebb6d7bccdb11ee489eb81fff87c6eac", + "indexes" : { + "data" : 2, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x3a5fd102a0fb99e1880efd26ffbe13bb6fbd3ea1f533e9e7302fed6acdec276c", + "indexes" : { + "data" : 2, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xa10aafdb5c076b4008129ac242d7fd7ce8643b33f3bb1b63f3e94e41d531632d", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x18698268bd772ea3667a903927371966f86beadc8fb8210745ded2c2b36516c7", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xa10aafdb5c076b4008129ac242d7fd7ce8643b33f3bb1b63f3e94e41d531632d", + "indexes" : { + "data" : 3, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x18698268bd772ea3667a903927371966f86beadc8fb8210745ded2c2b36516c7", + "indexes" : { + "data" : 3, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x04e31e5b78b1ff332d63016be2de743ee54b77a3f182ce67bc85a081dcdb3f0d", + "indexes" : { + "data" : 4, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xfde1af4dadd2e46212071eac7d12b2534ba98a76d38d8ed86f38c799968d12a8", + "indexes" : { + "data" : 4, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x04e31e5b78b1ff332d63016be2de743ee54b77a3f182ce67bc85a081dcdb3f0d", + "indexes" : { + "data" : 4, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xfde1af4dadd2e46212071eac7d12b2534ba98a76d38d8ed86f38c799968d12a8", + "indexes" : { + "data" : 4, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "0", - "code" : "{ [[1]] (STATICCALL 100000 (CALLDATALOAD 0) 0 0 0 0) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x00", + "code" : "0x6000600060006000600035620186a0fa600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "10", - "code" : "{ (MSTORE 0 (CALL 100000 0xa100000000000000000000000000000000000001 0 0 0 0 0)) (if (= 1 (MLOAD 0)) (MSTORE 1 1) (SSTORE 1 2) ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x0a", + "code" : "0x6000600060006000600073a100000000000000000000000000000000000001620186a0f16000526000516001146038576002600155603e565b60016001525b", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000001" : { - "balance" : "10", - "code" : "{(MSTORE 0 0) (MSTORE 0 (CALL 100000 0xa200000000000000000000000000000000000001 1 0 0 0 0)) (MSTORE 1 1) (MSTORE 2 1) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000001" : { + "balance" : "0x0a", + "code" : "0x60006000526000600060006000600173a200000000000000000000000000000000000001620186a0f160005260016001526001600252", + "nonce" : "0x00", "storage" : { } }, - "3000000000000000000000000000000000000001" : { - "balance" : "10", - "code" : "{ (MSTORE 0 (CALLCODE 100000 0xa300000000000000000000000000000000000001 0 0 0 0 0)) (if (= 1 (MLOAD 0)) (MSTORE 1 1) (SSTORE 1 2)) }", - "nonce" : "0", + "0x3000000000000000000000000000000000000001" : { + "balance" : "0x0a", + "code" : "0x6000600060006000600073a300000000000000000000000000000000000001620186a0f26000526000516001146038576002600155603e565b60016001525b", + "nonce" : "0x00", "storage" : { } }, - "4000000000000000000000000000000000000001" : { - "balance" : "10", - "code" : "{ (MSTORE 0 (CALLCODE 100000 0xa400000000000000000000000000000000000001 1 0 0 0 0)) (if (= 1 (MLOAD 0)) (MSTORE 1 1) (SSTORE 1 2)) }", - "nonce" : "0", + "0x4000000000000000000000000000000000000001" : { + "balance" : "0x0a", + "code" : "0x6000600060006000600173a400000000000000000000000000000000000001620186a0f26000526000516001146038576002600155603e565b60016001525b", + "nonce" : "0x00", "storage" : { } }, - "5000000000000000000000000000000000000001" : { - "balance" : "10", - "code" : "{ (MSTORE 0 (DELEGATECALL 100000 0xa500000000000000000000000000000000000001 0 0 0 0)) (if (= 1 (MLOAD 0)) (MSTORE 1 1) (SSTORE 1 2)) }", - "nonce" : "0", + "0x5000000000000000000000000000000000000001" : { + "balance" : "0x0a", + "code" : "0x600060006000600073a500000000000000000000000000000000000001620186a0f46000526000516001146036576002600155603c565b60016001525b", + "nonce" : "0x00", "storage" : { } }, - "a100000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (if (= 0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b (ORIGIN)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0x1000000000000000000000000000000000000001 (CALLER)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0xa100000000000000000000000000000000000001 (ADDRESS)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0 (CALLVALUE)) (MSTORE 1 1) (SSTORE 1 2) ) }", - "nonce" : "0", + "0xa100000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x3273a94f5374fce5edbc8e2a8697c15331677e6ebf0b1460225760026001556028565b60016001525b3373100000000000000000000000000000000000000114604b5760026001556051565b60016001525b3073a100000000000000000000000000000000000001146074576002600155607a565b60016001525b34600014608a5760026001556090565b60016001525b", + "nonce" : "0x00", "storage" : { } }, - "a200000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (if (= 0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b (ORIGIN)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0x2000000000000000000000000000000000000001 (CALLER)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0xa200000000000000000000000000000000000001 (ADDRESS)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 1 (CALLVALUE)) (MSTORE 1 1) (SSTORE 1 2) ) }", - "nonce" : "0", + "0xa200000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x3273a94f5374fce5edbc8e2a8697c15331677e6ebf0b1460225760026001556028565b60016001525b3373200000000000000000000000000000000000000114604b5760026001556051565b60016001525b3073a200000000000000000000000000000000000001146074576002600155607a565b60016001525b34600114608a5760026001556090565b60016001525b", + "nonce" : "0x00", "storage" : { } }, - "a300000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (if (= 0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b (ORIGIN)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0x3000000000000000000000000000000000000001 (CALLER)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0x3000000000000000000000000000000000000001 (ADDRESS)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0 (CALLVALUE)) (MSTORE 1 1) (SSTORE 1 2) ) }", - "nonce" : "0", + "0xa300000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x3273a94f5374fce5edbc8e2a8697c15331677e6ebf0b1460225760026001556028565b60016001525b3373300000000000000000000000000000000000000114604b5760026001556051565b60016001525b30733000000000000000000000000000000000000001146074576002600155607a565b60016001525b34600014608a5760026001556090565b60016001525b", + "nonce" : "0x00", "storage" : { } }, - "a400000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (if (= 0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b (ORIGIN)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0x4000000000000000000000000000000000000001 (CALLER)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0x4000000000000000000000000000000000000001 (ADDRESS)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 1 (CALLVALUE)) (MSTORE 1 1) (SSTORE 1 2) ) }", - "nonce" : "0", + "0xa400000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x3273a94f5374fce5edbc8e2a8697c15331677e6ebf0b1460225760026001556028565b60016001525b3373400000000000000000000000000000000000000114604b5760026001556051565b60016001525b30734000000000000000000000000000000000000001146074576002600155607a565b60016001525b34600114608a5760026001556090565b60016001525b", + "nonce" : "0x00", "storage" : { } }, - "a500000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (if (= 0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b (ORIGIN)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0x1000000000000000000000000000000000000000 (CALLER)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0x5000000000000000000000000000000000000001 (ADDRESS)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0 (CALLVALUE)) (MSTORE 1 1) (SSTORE 1 2) ) }", - "nonce" : "0", + "0xa500000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x3273a94f5374fce5edbc8e2a8697c15331677e6ebf0b1460225760026001556028565b60016001525b3373100000000000000000000000000000000000000014604b5760026001556051565b60016001525b30735000000000000000000000000000000000000001146074576002600155607a565b60016001525b34600014608a5760026001556090565b60016001525b", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0xe8d4a51000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -155,16 +1120,16 @@ "0x0000000000000000000000005000000000000000000000000000000000000001" ], "gasLimit" : [ - "50000", - "335000" + "0xc350", + "0x051c98" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0", - "100" + "0x00", + "0x64" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CheckOpcodes3.json b/GeneralStateTests/stStaticCall/static_CheckOpcodes3.json index aa05d5d2e..742b0a466 100644 --- a/GeneralStateTests/stStaticCall/static_CheckOpcodes3.json +++ b/GeneralStateTests/stStaticCall/static_CheckOpcodes3.json @@ -6,149 +6,1114 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CheckOpcodes3Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : [ - 0, - 2, - 3, - 4 - ], - "gas" : 1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x01" : "0x01" - } - }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "nonce" : "1" - } + "post" : { + "EIP150" : [ + { + "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", + "indexes" : { + "data" : 1, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", + "indexes" : { + "data" : 1, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", + "indexes" : { + "data" : 2, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", + "indexes" : { + "data" : 2, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", + "indexes" : { + "data" : 3, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", + "indexes" : { + "data" : 3, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", + "indexes" : { + "data" : 4, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", + "indexes" : { + "data" : 4, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", + "indexes" : { + "data" : 4, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", + "indexes" : { + "data" : 4, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : 1, - "gas" : 1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x01" : "0x00" - } - }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "nonce" : "1" - } + ], + "EIP158" : [ + { + "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", + "indexes" : { + "data" : 1, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", + "indexes" : { + "data" : 1, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", + "indexes" : { + "data" : 2, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", + "indexes" : { + "data" : 2, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", + "indexes" : { + "data" : 3, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", + "indexes" : { + "data" : 3, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", + "indexes" : { + "data" : 4, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", + "indexes" : { + "data" : 4, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", + "indexes" : { + "data" : 4, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", + "indexes" : { + "data" : 4, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] } - } - ], + ], + "Frontier" : [ + { + "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", + "indexes" : { + "data" : 1, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", + "indexes" : { + "data" : 1, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", + "indexes" : { + "data" : 2, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", + "indexes" : { + "data" : 2, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", + "indexes" : { + "data" : 3, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", + "indexes" : { + "data" : 3, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", + "indexes" : { + "data" : 4, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", + "indexes" : { + "data" : 4, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", + "indexes" : { + "data" : 4, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", + "indexes" : { + "data" : 4, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", + "indexes" : { + "data" : 1, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", + "indexes" : { + "data" : 1, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", + "indexes" : { + "data" : 2, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", + "indexes" : { + "data" : 2, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", + "indexes" : { + "data" : 3, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", + "indexes" : { + "data" : 3, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", + "indexes" : { + "data" : 4, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", + "indexes" : { + "data" : 4, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", + "indexes" : { + "data" : 4, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", + "indexes" : { + "data" : 4, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x6ddfcb52786e2ed766f858567d24359f70aad4bdb165397801293c47da831db1", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xa2af7ae68e535858c283417b5d39c6707a5a9dae16a7348bdba77b09ba21f6e5", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x6ddfcb52786e2ed766f858567d24359f70aad4bdb165397801293c47da831db1", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xa2af7ae68e535858c283417b5d39c6707a5a9dae16a7348bdba77b09ba21f6e5", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x6e64dc2bda8358820ac7857d0287d54c492eb30e6e89ced9fb4736064b74ef87", + "indexes" : { + "data" : 1, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x04ba6fadce9ab1cfe52034f564cc8ea79d5a65cb341ea65ead0319f9c4dcde18", + "indexes" : { + "data" : 1, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x60c3ecd16ed3b39206e1784094270e8c8cb57224dcb4819e29db447c2be00248", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xe0aa3632a809db7d3d3de69a051d49336d1da3e4df426d0bccb1135935ac843b", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x60c3ecd16ed3b39206e1784094270e8c8cb57224dcb4819e29db447c2be00248", + "indexes" : { + "data" : 2, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xe0aa3632a809db7d3d3de69a051d49336d1da3e4df426d0bccb1135935ac843b", + "indexes" : { + "data" : 2, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x463fa0d3cf39e2f2f492d8468fa673b5b245b48dd8688d5987bb56de96bda4bc", + "indexes" : { + "data" : 3, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xce922c02fc046011fe425764c6ebc59ee4e1e6ed1bd8a29cab65a8b325f55535", + "indexes" : { + "data" : 3, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x25657af3417d0cfdcbdfcb6cfbda3be22cceb9615a5de13d635b3ce2afb60b90", + "indexes" : { + "data" : 4, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x758d8a723d5455b3a11e505985925483ae70e006f1b97a84766485cf4e2d5efb", + "indexes" : { + "data" : 4, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x25657af3417d0cfdcbdfcb6cfbda3be22cceb9615a5de13d635b3ce2afb60b90", + "indexes" : { + "data" : 4, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x758d8a723d5455b3a11e505985925483ae70e006f1b97a84766485cf4e2d5efb", + "indexes" : { + "data" : 4, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "0", - "code" : "{ [[1]] (STATICCALL 100000 (CALLDATALOAD 0) 0 0 0 0) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x00", + "code" : "0x6000600060006000600035620186a0fa600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "10", - "code" : "{ (MSTORE 0 0xa100000000000000000000000000000000000001) (MSTORE 0 (CALL 100000 0xb000000000000000000000000000000000000001 0 0 32 0 0)) (if (= 1 (MLOAD 0)) (MSTORE 1 1) (SSTORE 1 2) ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x0a", + "code" : "0x73a1000000000000000000000000000000000000016000526000600060206000600073b000000000000000000000000000000000000001620186a0f160005260005160011460505760026001556056565b60016001525b", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000001" : { - "balance" : "10", - "code" : "{(MSTORE 0 0xa100000000000000000000000000000000000001) (MSTORE 0 (CALL 100000 0xb000000000000000000000000000000000000001 1 0 32 0 0)) (MSTORE 1 1) (MSTORE 2 1) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000001" : { + "balance" : "0x0a", + "code" : "0x73a1000000000000000000000000000000000000016000526000600060206000600173b000000000000000000000000000000000000001620186a0f160005260016001526001600252", + "nonce" : "0x00", "storage" : { } }, - "3000000000000000000000000000000000000001" : { - "balance" : "10", - "code" : "{ (MSTORE 32 0xa300000000000000000000000000000000000001) (MSTORE 0 (CALLCODE 100000 0xb000000000000000000000000000000000000001 0 32 64 0 0)) (if (= 1 (MLOAD 0)) (MSTORE 1 1) (SSTORE 1 2)) }", - "nonce" : "0", + "0x3000000000000000000000000000000000000001" : { + "balance" : "0x0a", + "code" : "0x73a3000000000000000000000000000000000000016020526000600060406020600073b000000000000000000000000000000000000001620186a0f260005260005160011460505760026001556056565b60016001525b", + "nonce" : "0x00", "storage" : { } }, - "4000000000000000000000000000000000000001" : { - "balance" : "10", - "code" : "{ (MSTORE 0 0xa400000000000000000000000000000000000001) (MSTORE 0 (CALLCODE 100000 0xb000000000000000000000000000000000000001 1 0 32 0 0)) (if (= 1 (MLOAD 0)) (MSTORE 1 1) (SSTORE 1 2)) }", - "nonce" : "0", + "0x4000000000000000000000000000000000000001" : { + "balance" : "0x0a", + "code" : "0x73a4000000000000000000000000000000000000016000526000600060206000600173b000000000000000000000000000000000000001620186a0f260005260005160011460505760026001556056565b60016001525b", + "nonce" : "0x00", "storage" : { } }, - "5000000000000000000000000000000000000001" : { - "balance" : "10", - "code" : "{ (MSTORE 0 0xa500000000000000000000000000000000000001) (MSTORE 0 (DELEGATECALL 100000 0xb000000000000000000000000000000000000001 0 32 0 0)) (if (= 1 (MLOAD 0)) (MSTORE 1 1) (SSTORE 1 2)) }", - "nonce" : "0", + "0x5000000000000000000000000000000000000001" : { + "balance" : "0x0a", + "code" : "0x73a500000000000000000000000000000000000001600052600060006020600073b000000000000000000000000000000000000001620186a0f4600052600051600114604e5760026001556054565b60016001525b", + "nonce" : "0x00", "storage" : { } }, - "a100000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (if (= 0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b (ORIGIN)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0xb000000000000000000000000000000000000001 (CALLER)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0xa100000000000000000000000000000000000001 (ADDRESS)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0 (CALLVALUE)) (MSTORE 1 1) (SSTORE 1 2) ) }", - "nonce" : "0", + "0xa100000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x3273a94f5374fce5edbc8e2a8697c15331677e6ebf0b1460225760026001556028565b60016001525b3373b00000000000000000000000000000000000000114604b5760026001556051565b60016001525b3073a100000000000000000000000000000000000001146074576002600155607a565b60016001525b34600014608a5760026001556090565b60016001525b", + "nonce" : "0x00", "storage" : { } }, - "a200000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (if (= 0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b (ORIGIN)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0x2000000000000000000000000000000000000001 (CALLER)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0xa200000000000000000000000000000000000001 (ADDRESS)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 1 (CALLVALUE)) (MSTORE 1 1) (SSTORE 1 2) ) }", - "nonce" : "0", + "0xa200000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x3273a94f5374fce5edbc8e2a8697c15331677e6ebf0b1460225760026001556028565b60016001525b3373200000000000000000000000000000000000000114604b5760026001556051565b60016001525b3073a200000000000000000000000000000000000001146074576002600155607a565b60016001525b34600114608a5760026001556090565b60016001525b", + "nonce" : "0x00", "storage" : { } }, - "a300000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (if (= 0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b (ORIGIN)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0x3000000000000000000000000000000000000001 (CALLER)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0xa300000000000000000000000000000000000001 (ADDRESS)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0 (CALLVALUE)) (MSTORE 1 1) (SSTORE 1 2) ) }", - "nonce" : "0", + "0xa300000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x3273a94f5374fce5edbc8e2a8697c15331677e6ebf0b1460225760026001556028565b60016001525b3373300000000000000000000000000000000000000114604b5760026001556051565b60016001525b3073a300000000000000000000000000000000000001146074576002600155607a565b60016001525b34600014608a5760026001556090565b60016001525b", + "nonce" : "0x00", "storage" : { } }, - "a400000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (if (= 0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b (ORIGIN)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0x4000000000000000000000000000000000000001 (CALLER)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0xa400000000000000000000000000000000000001 (ADDRESS)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0 (CALLVALUE)) (MSTORE 1 1) (SSTORE 1 2) ) }", - "nonce" : "0", + "0xa400000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x3273a94f5374fce5edbc8e2a8697c15331677e6ebf0b1460225760026001556028565b60016001525b3373400000000000000000000000000000000000000114604b5760026001556051565b60016001525b3073a400000000000000000000000000000000000001146074576002600155607a565b60016001525b34600014608a5760026001556090565b60016001525b", + "nonce" : "0x00", "storage" : { } }, - "a500000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (if (= 0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b (ORIGIN)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0x5000000000000000000000000000000000000001 (CALLER)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0xa500000000000000000000000000000000000001 (ADDRESS)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0 (CALLVALUE)) (MSTORE 1 1) (SSTORE 1 2) ) }", - "nonce" : "0", + "0xa500000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x3273a94f5374fce5edbc8e2a8697c15331677e6ebf0b1460225760026001556028565b60016001525b3373500000000000000000000000000000000000000114604b5760026001556051565b60016001525b3073a500000000000000000000000000000000000001146074576002600155607a565b60016001525b34600014608a5760026001556090565b60016001525b", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0xe8d4a51000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "b000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (MSTORE 0 (STATICCALL 100000 (CALLDATALOAD 0) 0 0 0 0)) (if (= 1 (MLOAD 0)) (MSTORE 1 1) (SSTORE 1 2)) }", - "nonce" : "0", + "0xb000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x6000600060006000600035620186a0fa6000526000516001146024576002600155602a565b60016001525b", + "nonce" : "0x00", "storage" : { } } @@ -162,16 +1127,16 @@ "0x0000000000000000000000005000000000000000000000000000000000000001" ], "gasLimit" : [ - "50000", - "335000" + "0xc350", + "0x051c98" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0", - "100" + "0x00", + "0x64" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CheckOpcodes4.json b/GeneralStateTests/stStaticCall/static_CheckOpcodes4.json index 74ccb3311..0195e015e 100644 --- a/GeneralStateTests/stStaticCall/static_CheckOpcodes4.json +++ b/GeneralStateTests/stStaticCall/static_CheckOpcodes4.json @@ -6,90 +6,251 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CheckOpcodes4Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : 1, - "value" : 0 + "post" : { + "EIP150" : [ + { + "hash" : "0x34e26cce39fd7feded32b452f89afd3f4d61a0f291a0afa08c415042efc495f5", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x34e26cce39fd7feded32b452f89afd3f4d61a0f291a0afa08c415042efc495f5", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x01" : "0x01", - "0x02" : "0x01", - "0x03" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", - "0x05" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", - "0x06" : "0x1000000000000000000000000000000000000000" - } - }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "nonce" : "1" - } + { + "hash" : "0xede69fda9c1c0dcf74adce8ec2d48751400109627a3108c774db431a3f180fd6", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xede69fda9c1c0dcf74adce8ec2d48751400109627a3108c774db431a3f180fd6", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : -1, - "gas" : 1, - "value" : 1 + ], + "EIP158" : [ + { + "hash" : "0x34e26cce39fd7feded32b452f89afd3f4d61a0f291a0afa08c415042efc495f5", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x34e26cce39fd7feded32b452f89afd3f4d61a0f291a0afa08c415042efc495f5", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x01" : "0x01", - "0x02" : "0x01", - "0x03" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", - "0x04" : "0x64", - "0x05" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", - "0x06" : "0x1000000000000000000000000000000000000000" - } - }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "nonce" : "1" - } + { + "hash" : "0xede69fda9c1c0dcf74adce8ec2d48751400109627a3108c774db431a3f180fd6", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xede69fda9c1c0dcf74adce8ec2d48751400109627a3108c774db431a3f180fd6", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] } - } - ], + ], + "Frontier" : [ + { + "hash" : "0x34e26cce39fd7feded32b452f89afd3f4d61a0f291a0afa08c415042efc495f5", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x34e26cce39fd7feded32b452f89afd3f4d61a0f291a0afa08c415042efc495f5", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xede69fda9c1c0dcf74adce8ec2d48751400109627a3108c774db431a3f180fd6", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xede69fda9c1c0dcf74adce8ec2d48751400109627a3108c774db431a3f180fd6", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x34e26cce39fd7feded32b452f89afd3f4d61a0f291a0afa08c415042efc495f5", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x34e26cce39fd7feded32b452f89afd3f4d61a0f291a0afa08c415042efc495f5", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xede69fda9c1c0dcf74adce8ec2d48751400109627a3108c774db431a3f180fd6", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xede69fda9c1c0dcf74adce8ec2d48751400109627a3108c774db431a3f180fd6", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x34e26cce39fd7feded32b452f89afd3f4d61a0f291a0afa08c415042efc495f5", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x34e26cce39fd7feded32b452f89afd3f4d61a0f291a0afa08c415042efc495f5", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x5d7b74ba57578008e50ef1260ecf0b21b054b8f77a0d602f1fff7a3a19a4484d", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x43f9fb389d635b799ceeb4177488ea6a0642018e6b9d9fb0d59c19ce5de333dc", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "0", - "code" : "{ [[1]] (STATICCALL 100000 0x1000000000000000000000000000000000000001 0 0 0 0) [[2]] (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 0 0 0) [[3]] (CALLER) [[4]] (CALLVALUE) [[5]] (ORIGIN) [[6]] (ADDRESS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x00", + "code" : "0x6000600060006000731000000000000000000000000000000000000001620186a0fa6001556000600060006000731000000000000000000000000000000000000002620186a0fa60025533600355346004553260055530600655", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (if (= 0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b (ORIGIN)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0x1000000000000000000000000000000000000000 (CALLER)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0x1000000000000000000000000000000000000001 (ADDRESS)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0 (CALLVALUE)) (MSTORE 1 1) (SSTORE 1 2) ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x3273a94f5374fce5edbc8e2a8697c15331677e6ebf0b1460225760026001556028565b60016001525b3373100000000000000000000000000000000000000014604b5760026001556051565b60016001525b30731000000000000000000000000000000000000001146074576002600155607a565b60016001525b34600014608a5760026001556090565b60016001525b", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (if (= 0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b (ORIGIN)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0x1000000000000000000000000000000000000000 (CALLER)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0x1000000000000000000000000000000000000002 (ADDRESS)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0 (CALLVALUE)) (MSTORE 1 1) (SSTORE 1 2) ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x3273a94f5374fce5edbc8e2a8697c15331677e6ebf0b1460225760026001556028565b60016001525b3373100000000000000000000000000000000000000014604b5760026001556051565b60016001525b30731000000000000000000000000000000000000002146074576002600155607a565b60016001525b34600014608a5760026001556090565b60016001525b", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0xe8d4a51000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -99,16 +260,16 @@ "" ], "gasLimit" : [ - "50000", - "335000" + "0xc350", + "0x051c98" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0", - "100" + "0x00", + "0x64" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CheckOpcodes5.json b/GeneralStateTests/stStaticCall/static_CheckOpcodes5.json index 52b15fceb..bbbea2857 100644 --- a/GeneralStateTests/stStaticCall/static_CheckOpcodes5.json +++ b/GeneralStateTests/stStaticCall/static_CheckOpcodes5.json @@ -6,186 +6,1107 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CheckOpcodes5Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : [ - 0, - 1 - ], - "gas" : 1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "a000000000000000000000000000000000000002" : { - "storage" : { - "0x00" : "0x01" - } - }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "nonce" : "1" - } + "post" : { + "EIP150" : [ + { + "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x9c646b5060bcdbab2c436f7b21aac8cf5415e59914c2134d601801789302d55c", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xe4016f8d3afbae2a3d8731587a1340e91b655f9b724089b2e2eb9447e98baf3c", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xeaf931cfd8d6e40d99fc388113a5c3ef478278ca988e726d0668e848b2d6b9d6", + "indexes" : { + "data" : 1, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x1475a42ef973065b77d9c0403359f4a0e8b5b985c86d55ae92c50d7aa6e8d661", + "indexes" : { + "data" : 1, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x9c646b5060bcdbab2c436f7b21aac8cf5415e59914c2134d601801789302d55c", + "indexes" : { + "data" : 2, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xe4016f8d3afbae2a3d8731587a1340e91b655f9b724089b2e2eb9447e98baf3c", + "indexes" : { + "data" : 2, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xeaf931cfd8d6e40d99fc388113a5c3ef478278ca988e726d0668e848b2d6b9d6", + "indexes" : { + "data" : 3, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x1475a42ef973065b77d9c0403359f4a0e8b5b985c86d55ae92c50d7aa6e8d661", + "indexes" : { + "data" : 3, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", + "indexes" : { + "data" : 4, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", + "indexes" : { + "data" : 4, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xe689654d1cb1a63efebcb90fae5f2678410109439cc1d31a9b3902bedea12a1d", + "indexes" : { + "data" : 4, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xdcbf4edbf4bc40f89fcd8c442ca043d655d7112db8a10fb2b929b414ddebca10", + "indexes" : { + "data" : 4, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : [ - 2 - ], - "gas" : 1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "3000000000000000000000000000000000000001" : { - "storage" : { - "0x00" : "0x01" - } - }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "nonce" : "1" - } + ], + "EIP158" : [ + { + "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x9c646b5060bcdbab2c436f7b21aac8cf5415e59914c2134d601801789302d55c", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xe4016f8d3afbae2a3d8731587a1340e91b655f9b724089b2e2eb9447e98baf3c", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xeaf931cfd8d6e40d99fc388113a5c3ef478278ca988e726d0668e848b2d6b9d6", + "indexes" : { + "data" : 1, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x1475a42ef973065b77d9c0403359f4a0e8b5b985c86d55ae92c50d7aa6e8d661", + "indexes" : { + "data" : 1, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x9c646b5060bcdbab2c436f7b21aac8cf5415e59914c2134d601801789302d55c", + "indexes" : { + "data" : 2, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xe4016f8d3afbae2a3d8731587a1340e91b655f9b724089b2e2eb9447e98baf3c", + "indexes" : { + "data" : 2, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xeaf931cfd8d6e40d99fc388113a5c3ef478278ca988e726d0668e848b2d6b9d6", + "indexes" : { + "data" : 3, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x1475a42ef973065b77d9c0403359f4a0e8b5b985c86d55ae92c50d7aa6e8d661", + "indexes" : { + "data" : 3, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", + "indexes" : { + "data" : 4, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", + "indexes" : { + "data" : 4, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xe689654d1cb1a63efebcb90fae5f2678410109439cc1d31a9b3902bedea12a1d", + "indexes" : { + "data" : 4, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xdcbf4edbf4bc40f89fcd8c442ca043d655d7112db8a10fb2b929b414ddebca10", + "indexes" : { + "data" : 4, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : [ - 3 - ], - "gas" : 1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "4000000000000000000000000000000000000001" : { - "storage" : { - "0x00" : "0x01" - } - }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "nonce" : "1" - } + ], + "Frontier" : [ + { + "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xdc8f401dad4c55f1660edb0b86809bc155ef984e16ff0f8c1c6cfe0ddcb03467", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x45f6ccc25e8baac0824dbab2da5ede361dbca3928b60c087c0edadc22e513f9b", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x5c0e88a38b3286d9b0ce51cce68041d63313a08f1886762ab1eb4a45a3e94726", + "indexes" : { + "data" : 1, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xe7457f40d2bc050b29bf1feae895245afff8014bb52cd62dfe63d34daf59dffe", + "indexes" : { + "data" : 1, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xdc8f401dad4c55f1660edb0b86809bc155ef984e16ff0f8c1c6cfe0ddcb03467", + "indexes" : { + "data" : 2, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x45f6ccc25e8baac0824dbab2da5ede361dbca3928b60c087c0edadc22e513f9b", + "indexes" : { + "data" : 2, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x5c0e88a38b3286d9b0ce51cce68041d63313a08f1886762ab1eb4a45a3e94726", + "indexes" : { + "data" : 3, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xe7457f40d2bc050b29bf1feae895245afff8014bb52cd62dfe63d34daf59dffe", + "indexes" : { + "data" : 3, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", + "indexes" : { + "data" : 4, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", + "indexes" : { + "data" : 4, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x3ddace1a0110e18df547d7e0307c1edf5341f8a2672666f2b38c793e4d40391c", + "indexes" : { + "data" : 4, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x56c18bc2e96157d1c70358756cca5af6d7ceb4110607cceb09f7a17618d1f56a", + "indexes" : { + "data" : 4, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : [ - 4 - ], - "gas" : 1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "5000000000000000000000000000000000000001" : { - "storage" : { - "0x00" : "0x01" - } - }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "nonce" : "1" - } + ], + "Homestead" : [ + { + "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xdc8f401dad4c55f1660edb0b86809bc155ef984e16ff0f8c1c6cfe0ddcb03467", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x45f6ccc25e8baac0824dbab2da5ede361dbca3928b60c087c0edadc22e513f9b", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x5c0e88a38b3286d9b0ce51cce68041d63313a08f1886762ab1eb4a45a3e94726", + "indexes" : { + "data" : 1, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xe7457f40d2bc050b29bf1feae895245afff8014bb52cd62dfe63d34daf59dffe", + "indexes" : { + "data" : 1, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xdc8f401dad4c55f1660edb0b86809bc155ef984e16ff0f8c1c6cfe0ddcb03467", + "indexes" : { + "data" : 2, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x45f6ccc25e8baac0824dbab2da5ede361dbca3928b60c087c0edadc22e513f9b", + "indexes" : { + "data" : 2, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x5c0e88a38b3286d9b0ce51cce68041d63313a08f1886762ab1eb4a45a3e94726", + "indexes" : { + "data" : 3, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xe7457f40d2bc050b29bf1feae895245afff8014bb52cd62dfe63d34daf59dffe", + "indexes" : { + "data" : 3, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", + "indexes" : { + "data" : 4, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", + "indexes" : { + "data" : 4, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x0e1b932422abe6197e7223bd1515f38fd261cbd652a805b6e3e3ef58b8c2673c", + "indexes" : { + "data" : 4, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xc05bceac43e4c570b099df4100aadcd785ad23830f991e511b255b4ccec3c4ee", + "indexes" : { + "data" : 4, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] } - } - ], + ], + "Metropolis" : [ + { + "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xccbd3a61a4667d331890e83cff0bee1a6e52669f4e9b3ddd328b48a88e5bf1b1", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x8b17df8bae7a96f970d507e1cf0b16564bf0997fd405cd2e49a873858f782a02", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x195a5dd18655d70f4e6ddd282336bf584f0351c2bbdb269d55dcf38fc2c81a18", + "indexes" : { + "data" : 1, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x85e606aa5b0780447c4f8f92a576d9b3537f5caa2cb2291d4de999e5bd50268b", + "indexes" : { + "data" : 1, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x9e9066e75177c2dfb83d416cc21eef9c8f9d6ce7ef9808415f542c34b4f273c5", + "indexes" : { + "data" : 2, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xe666ccb6994ad4abd2ea0cfd35e78d04ee8a7c16d4ea4506820302559bbbb165", + "indexes" : { + "data" : 2, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x6cdcfe844ce215e579cc2af346dc6fc5dcf9fa1a19a86a9a904796dea69f8ce7", + "indexes" : { + "data" : 3, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xed8f184856421fbcb148f50845a1fa0ced4a30da2c9d362dd8a2f625e774e194", + "indexes" : { + "data" : 3, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", + "indexes" : { + "data" : 4, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", + "indexes" : { + "data" : 4, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xb8d91ca2d7fd7660756721f94ad0d3dc4f2bcb73b507b598bdfcd06168c62db9", + "indexes" : { + "data" : 4, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xbf7625ffbac8653e9edb903721b0b1b5e2cea9d60dce41281201e5fb1b3a8ad1", + "indexes" : { + "data" : 4, + "gas" : 1, + "value" : 1 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "0", - "code" : "{ [[1]] (CALL 250000 (CALLDATALOAD 0) 0 0 0 0 0) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x00", + "code" : "0x600060006000600060006000356203d090f1600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (MSTORE 0 0xb000000000000000000000000000000000000002) (CALL 100000 0xa000000000000000000000000000000000000002 0 0 32 0 0) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x73b0000000000000000000000000000000000000026000526000600060206000600073a000000000000000000000000000000000000002620186a0f1", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000001" : { - "balance" : "10", - "code" : "{ (MSTORE 0 0xb000000000000000000000000000000000000002) (CALL 100000 0xa000000000000000000000000000000000000002 10 0 32 0 0) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000001" : { + "balance" : "0x0a", + "code" : "0x73b0000000000000000000000000000000000000026000526000600060206000600a73a000000000000000000000000000000000000002620186a0f1", + "nonce" : "0x00", "storage" : { } }, - "3000000000000000000000000000000000000001" : { - "balance" : "10", - "code" : "{ (MSTORE 0 0xc300000000000000000000000000000000000002) (CALLCODE 100000 0xa000000000000000000000000000000000000002 0 0 32 0 0) }", - "nonce" : "0", + "0x3000000000000000000000000000000000000001" : { + "balance" : "0x0a", + "code" : "0x73c3000000000000000000000000000000000000026000526000600060206000600073a000000000000000000000000000000000000002620186a0f2", + "nonce" : "0x00", "storage" : { } }, - "4000000000000000000000000000000000000001" : { - "balance" : "10", - "code" : "{ (MSTORE 0 0xc400000000000000000000000000000000000002) (CALLCODE 100000 0xa000000000000000000000000000000000000002 1 0 32 0 0) }", - "nonce" : "0", + "0x4000000000000000000000000000000000000001" : { + "balance" : "0x0a", + "code" : "0x73c4000000000000000000000000000000000000026000526000600060206000600173a000000000000000000000000000000000000002620186a0f2", + "nonce" : "0x00", "storage" : { } }, - "5000000000000000000000000000000000000001" : { - "balance" : "10", - "code" : "{ (MSTORE 0 0xc500000000000000000000000000000000000002) (DELEGATECALL 100000 0xa000000000000000000000000000000000000002 0 32 0 0) }", - "nonce" : "0", + "0x5000000000000000000000000000000000000001" : { + "balance" : "0x0a", + "code" : "0x73c500000000000000000000000000000000000002600052600060006020600073a000000000000000000000000000000000000002620186a0f4", + "nonce" : "0x00", "storage" : { } }, - "a000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ [[ 0 ]] (STATICCALL 50000 (CALLDATALOAD 0) 0 0 0 0) }", - "nonce" : "0", + "0xa000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x600060006000600060003561c350fa600055", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0xe8d4a51000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "b000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (if (= 0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b (ORIGIN)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0xa000000000000000000000000000000000000002 (CALLER)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0xb000000000000000000000000000000000000002 (ADDRESS)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0 (CALLVALUE)) (MSTORE 1 1) (SSTORE 1 2) ) }", - "nonce" : "0", + "0xb000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x3273a94f5374fce5edbc8e2a8697c15331677e6ebf0b1460225760026001556028565b60016001525b3373a00000000000000000000000000000000000000214604b5760026001556051565b60016001525b3073b000000000000000000000000000000000000002146074576002600155607a565b60016001525b34600014608a5760026001556090565b60016001525b", + "nonce" : "0x00", "storage" : { } }, - "c300000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (if (= 0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b (ORIGIN)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0x3000000000000000000000000000000000000001 (CALLER)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0xc300000000000000000000000000000000000002 (ADDRESS)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0 (CALLVALUE)) (MSTORE 1 1) (SSTORE 1 2) ) }", - "nonce" : "0", + "0xc300000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x3273a94f5374fce5edbc8e2a8697c15331677e6ebf0b1460225760026001556028565b60016001525b3373300000000000000000000000000000000000000114604b5760026001556051565b60016001525b3073c300000000000000000000000000000000000002146074576002600155607a565b60016001525b34600014608a5760026001556090565b60016001525b", + "nonce" : "0x00", "storage" : { } }, - "c400000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (if (= 0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b (ORIGIN)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0x4000000000000000000000000000000000000001 (CALLER)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0xc400000000000000000000000000000000000002 (ADDRESS)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0 (CALLVALUE)) (MSTORE 1 1) (SSTORE 1 2) ) }", - "nonce" : "0", + "0xc400000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x3273a94f5374fce5edbc8e2a8697c15331677e6ebf0b1460225760026001556028565b60016001525b3373400000000000000000000000000000000000000114604b5760026001556051565b60016001525b3073c400000000000000000000000000000000000002146074576002600155607a565b60016001525b34600014608a5760026001556090565b60016001525b", + "nonce" : "0x00", "storage" : { } }, - "c500000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (if (= 0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b (ORIGIN)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0x5000000000000000000000000000000000000001 (CALLER)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0xc500000000000000000000000000000000000002 (ADDRESS)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0 (CALLVALUE)) (MSTORE 1 1) (SSTORE 1 2) ) }", - "nonce" : "0", + "0xc500000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x3273a94f5374fce5edbc8e2a8697c15331677e6ebf0b1460225760026001556028565b60016001525b3373500000000000000000000000000000000000000114604b5760026001556051565b60016001525b3073c500000000000000000000000000000000000002146074576002600155607a565b60016001525b34600014608a5760026001556090565b60016001525b", + "nonce" : "0x00", "storage" : { } } @@ -199,16 +1120,16 @@ "0x0000000000000000000000005000000000000000000000000000000000000001" ], "gasLimit" : [ - "50000", - "335000" + "0xc350", + "0x051c98" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0", - "100" + "0x00", + "0x64" ] } } diff --git a/GeneralStateTests/stStaticCall/static_ExecuteCallThatAskForeGasThenTrabsactionHas.json b/GeneralStateTests/stStaticCall/static_ExecuteCallThatAskForeGasThenTrabsactionHas.json index 24d46f213..b1911167c 100644 --- a/GeneralStateTests/stStaticCall/static_ExecuteCallThatAskForeGasThenTrabsactionHas.json +++ b/GeneralStateTests/stStaticCall/static_ExecuteCallThatAskForeGasThenTrabsactionHas.json @@ -6,68 +6,208 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_ExecuteCallThatAskForeGasThenTrabsactionHasFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : [ - 1, - 2 - ], - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0xba4807cce479d76f9f358c9d7308c9e7b3663ba3702d213de3593ab18697f344", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "storage" : { - "0x01" : "0x00" - } - } + { + "hash" : "0xba4807cce479d76f9f358c9d7308c9e7b3663ba3702d213de3593ab18697f344", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xba4807cce479d76f9f358c9d7308c9e7b3663ba3702d213de3593ab18697f344", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xba4807cce479d76f9f358c9d7308c9e7b3663ba3702d213de3593ab18697f344", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xba4807cce479d76f9f358c9d7308c9e7b3663ba3702d213de3593ab18697f344", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xba4807cce479d76f9f358c9d7308c9e7b3663ba3702d213de3593ab18697f344", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xba4807cce479d76f9f358c9d7308c9e7b3663ba3702d213de3593ab18697f344", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xba4807cce479d76f9f358c9d7308c9e7b3663ba3702d213de3593ab18697f344", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xba4807cce479d76f9f358c9d7308c9e7b3663ba3702d213de3593ab18697f344", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xba4807cce479d76f9f358c9d7308c9e7b3663ba3702d213de3593ab18697f344", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xba4807cce479d76f9f358c9d7308c9e7b3663ba3702d213de3593ab18697f344", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xba4807cce479d76f9f358c9d7308c9e7b3663ba3702d213de3593ab18697f344", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x90533610682f7f1fe6a3397efe1a55ce6ae7cf9dafa07008ae49a6de3ab338eb", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xba4807cce479d76f9f358c9d7308c9e7b3663ba3702d213de3593ab18697f344", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xba4807cce479d76f9f358c9d7308c9e7b3663ba3702d213de3593ab18697f344", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000001" : { - "balance" : "100000", - "code" : "{ (MSTORE 1 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x0186a0", + "code" : "0x6001600152", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000001" : { - "balance" : "100000", - "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000001" : { + "balance" : "0x0186a0", + "code" : "0x5b61c35060805110156018576001608051016080526000565b", + "nonce" : "0x00", "storage" : { } }, - "3000000000000000000000000000000000000001" : { - "balance" : "100000", - "code" : "{ (SSTORE 1 1) }", - "nonce" : "0", + "0x3000000000000000000000000000000000000001" : { + "balance" : "0x0186a0", + "code" : "0x6001600155", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "100000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0186a0", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0", - "code" : "{ [[1]] (STATICCALL 600000 (CALLDATALOAD 0) 0 0 0 0) }", - "nonce" : "0", + "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x00", + "code" : "0x6000600060006000600035620927c0fa600155", + "nonce" : "0x00", "storage" : { } } @@ -79,14 +219,14 @@ "0x0000000000000000000000003000000000000000000000000000000000000001" ], "gasLimit" : [ - "100000" + "0x0186a0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_InternalCallHittingGasLimit.json b/GeneralStateTests/stStaticCall/static_InternalCallHittingGasLimit.json index 7e5f27530..04f357fa4 100644 --- a/GeneralStateTests/stStaticCall/static_InternalCallHittingGasLimit.json +++ b/GeneralStateTests/stStaticCall/static_InternalCallHittingGasLimit.json @@ -6,49 +6,94 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_InternalCallHittingGasLimitFiller.json" }, "env" : { - "currentCoinbase" : "2adf5374fce5edbc8e2a8697c15331677e6ebf0b", + "currentCoinbase" : "0x2adf5374fce5edbc8e2a8697c15331677e6ebf0b", "currentDifficulty" : "0x020000", - "currentGasLimit" : "22000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x55f0", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "978900" - } + "post" : { + "EIP150" : [ + { + "hash" : "0xb26b5f58fec9d44f7980e9859d4a004456d0d05fc86878865e3d1349588cbca2", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xb26b5f58fec9d44f7980e9859d4a004456d0d05fc86878865e3d1349588cbca2", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xb26b5f58fec9d44f7980e9859d4a004456d0d05fc86878865e3d1349588cbca2", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xb26b5f58fec9d44f7980e9859d4a004456d0d05fc86878865e3d1349588cbca2", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xb26b5f58fec9d44f7980e9859d4a004456d0d05fc86878865e3d1349588cbca2", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0f4240", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000", - "code" : "{ (STATICCALL 5000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) }", - "nonce" : "0", + "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0f4240", + "code" : "0x600060006000600073c94f5374fce5edbc8e2a8697c15331677e6ebf0b611388fa", + "nonce" : "0x00", "storage" : { } }, - "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0", - "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", - "nonce" : "0", + "0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x00", + "code" : "0x5b61c35060805110156018576001608051016080526000565b", + "nonce" : "0x00", "storage" : { } } @@ -58,14 +103,14 @@ "" ], "gasLimit" : [ - "21100" + "0x526c" ], - "gasPrice" : "1", - "nonce" : "", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b", "value" : [ - "10" + "0x0a" ] } } diff --git a/GeneralStateTests/stStaticCall/static_InternalCallHittingGasLimit2.json b/GeneralStateTests/stStaticCall/static_InternalCallHittingGasLimit2.json index 1d786b6f7..d052da357 100644 --- a/GeneralStateTests/stStaticCall/static_InternalCallHittingGasLimit2.json +++ b/GeneralStateTests/stStaticCall/static_InternalCallHittingGasLimit2.json @@ -6,51 +6,94 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_InternalCallHittingGasLimit2Filler.json" }, "env" : { - "currentCoinbase" : "2adf5374fce5edbc8e2a8697c15331677e6ebf0b", + "currentCoinbase" : "0x2adf5374fce5edbc8e2a8697c15331677e6ebf0b", "currentDifficulty" : "0x020000", - "currentGasLimit" : "47766", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0xba96", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "storage" : { - "0x01" : "0x00" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x864a7b976668d9025f681b3270b906b7f9c360c2df8e6fabfdf2d0d01c5ea645", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x864a7b976668d9025f681b3270b906b7f9c360c2df8e6fabfdf2d0d01c5ea645", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x864a7b976668d9025f681b3270b906b7f9c360c2df8e6fabfdf2d0d01c5ea645", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x864a7b976668d9025f681b3270b906b7f9c360c2df8e6fabfdf2d0d01c5ea645", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x864a7b976668d9025f681b3270b906b7f9c360c2df8e6fabfdf2d0d01c5ea645", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0f4240", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0", - "code" : "{ [[ 1 ]] (STATICCALL 25000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) }", - "nonce" : "0", + "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x00", + "code" : "0x600060006000600073c94f5374fce5edbc8e2a8697c15331677e6ebf0b6161a8fa600155", + "nonce" : "0x00", "storage" : { } }, - "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0", - "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", - "nonce" : "0", + "0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x00", + "code" : "0x5b61c35060805110156018576001608051016080526000565b", + "nonce" : "0x00", "storage" : { } } @@ -60,14 +103,14 @@ "" ], "gasLimit" : [ - "47766" + "0xba96" ], - "gasPrice" : "1", - "nonce" : "", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b", "value" : [ - "10" + "0x0a" ] } } diff --git a/GeneralStateTests/stStaticCall/static_InternlCallStoreClearsOOG.json b/GeneralStateTests/stStaticCall/static_InternlCallStoreClearsOOG.json index 2fde1d1ed..f8541627f 100644 --- a/GeneralStateTests/stStaticCall/static_InternlCallStoreClearsOOG.json +++ b/GeneralStateTests/stStaticCall/static_InternlCallStoreClearsOOG.json @@ -6,58 +6,82 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_InternlCallStoreClearsOOGFiller.json" }, "env" : { - "currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "currentCoinbase" : "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b", "currentDifficulty" : "0x020000", - "currentGasLimit" : "1000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x0f4240", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "0000000000000000000000000000000000000000" : { - "balance" : "0", - "storage" : { - "0x" : "0x0c", - "0x01" : "0x0c", - "0x02" : "0x0c", - "0x03" : "0x0c", - "0x04" : "0x0c", - "0x05" : "0x0c", - "0x06" : "0x0c", - "0x07" : "0x0c", - "0x08" : "0x0c", - "0x09" : "0x0c" - } + "post" : { + "EIP150" : [ + { + "hash" : "0xb82cca58ebd153dfe1ff4dcfdaebe887fb254792fa4d7311778c0454774340e5", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "nonce" : "1" + "logs" : [ + ] + } + ], + "EIP158" : [ + { + "hash" : "0xb82cca58ebd153dfe1ff4dcfdaebe887fb254792fa4d7311778c0454774340e5", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "20", - "storage" : { - "0x01" : "0x00" - } - } + "logs" : [ + ] } - } - ], + ], + "Frontier" : [ + { + "hash" : "0xb82cca58ebd153dfe1ff4dcfdaebe887fb254792fa4d7311778c0454774340e5", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xb82cca58ebd153dfe1ff4dcfdaebe887fb254792fa4d7311778c0454774340e5", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xa2612c8ed14c9ebbaeeca9546f2c273abe8c71fb6d43c893bd1ac9e3f9c86370", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "0000000000000000000000000000000000000000" : { - "balance" : "0", - "code" : "{(SSTORE 0 0)(SSTORE 1 0)(SSTORE 2 0)(SSTORE 3 0)(SSTORE 4 0)(SSTORE 5 0)(SSTORE 6 0)(SSTORE 7 0)(SSTORE 8 0)(SSTORE 9 0)}", - "nonce" : "0", + "0x0000000000000000000000000000000000000000" : { + "balance" : "0x00", + "code" : "0x6000600055600060015560006002556000600355600060045560006005556000600655600060075560006008556000600955", + "nonce" : "0x00", "storage" : { - "0x" : "0x0c", + "0x00" : "0x0c", "0x01" : "0x0c", "0x02" : "0x0c", "0x03" : "0x0c", @@ -69,18 +93,17 @@ "0x09" : "0x0c" } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0f4240", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "//" : "gas = 19 going OOG, gas = 20 fine", - "balance" : "10", - "code" : "{ [[ 1 ]] (STATICCALL 40000 0 0 0 0 0) }", - "nonce" : "0", + "0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0a", + "code" : "0x60006000600060006000619c40fa600155", + "nonce" : "0x00", "storage" : { } } @@ -90,14 +113,14 @@ "" ], "gasLimit" : [ - "160000" + "0x027100" ], - "gasPrice" : "1", - "nonce" : "", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "c94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b", "value" : [ - "10" + "0x0a" ] } } diff --git a/GeneralStateTests/stStaticCall/static_LoopCallsDepthThenRevert.json b/GeneralStateTests/stStaticCall/static_LoopCallsDepthThenRevert.json index 29a5c23d0..79553ffc7 100644 --- a/GeneralStateTests/stStaticCall/static_LoopCallsDepthThenRevert.json +++ b/GeneralStateTests/stStaticCall/static_LoopCallsDepthThenRevert.json @@ -6,59 +6,101 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_LoopCallsDepthThenRevertFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : 0, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x88c8c6" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x5fd4c444b2f9281082c710d2fd94a82ede14513b458c6de033021f06b252b063", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x5fd4c444b2f9281082c710d2fd94a82ede14513b458c6de033021f06b252b063", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x59ea02d8c54b83231ae4637378a000aa6674e585d67a12db3647532b7102f6d8", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x59ea02d8c54b83231ae4637378a000aa6674e585d67a12db3647532b7102f6d8", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x5fd4c444b2f9281082c710d2fd94a82ede14513b458c6de033021f06b252b063", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "", - "code" : "{ [[ 0 ]] (CALL ( - (GAS) 100000) 0x1000000000000000000000000000000000000000 0 0 0 0 0) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x00", + "code" : "0x60006000600060006000731000000000000000000000000000000000000000620186a05a03f16000555a600155", + "nonce" : "0x00", "storage" : { } }, - "a000000000000000000000000000000000000000" : { - "balance" : "", - "code" : "{ (STATICCALL (GAS) 0xb000000000000000000000000000000000000000 0 0 0 0) }", - "nonce" : "0", + "0xa000000000000000000000000000000000000000" : { + "balance" : "0x00", + "code" : "0x600060006000600073b0000000000000000000000000000000000000005afa", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0xe8d4a51000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "b000000000000000000000000000000000000000" : { - "balance" : "", - "code" : "{ (STATICCALL (GAS) 0xa000000000000000000000000000000000000000 0 0 0 0) }", - "nonce" : "", + "0xb000000000000000000000000000000000000000" : { + "balance" : "0x00", + "code" : "0x600060006000600073a0000000000000000000000000000000000000005afa", + "nonce" : "0x00", "storage" : { } } @@ -68,14 +110,14 @@ "" ], "gasLimit" : [ - "10000000" + "0x989680" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_LoopCallsDepthThenRevert2.json b/GeneralStateTests/stStaticCall/static_LoopCallsDepthThenRevert2.json index db44126cc..6465d7521 100644 --- a/GeneralStateTests/stStaticCall/static_LoopCallsDepthThenRevert2.json +++ b/GeneralStateTests/stStaticCall/static_LoopCallsDepthThenRevert2.json @@ -6,42 +6,87 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_LoopCallsDepthThenRevert2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", "currentGasLimit" : "0x7fffffffffffffff", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "7db299e0885c85039f56fa504a13dd8ce8a56aa7" : { - "shouldnotexist" : "1" - } + "post" : { + "EIP150" : [ + { + "hash" : "0xe5e89f0ae2af162f9a67278af23a20dc65c455c8b5c5f1e0ba46c138165f84de", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xe5e89f0ae2af162f9a67278af23a20dc65c455c8b5c5f1e0ba46c138165f84de", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xe5e89f0ae2af162f9a67278af23a20dc65c455c8b5c5f1e0ba46c138165f84de", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xe5e89f0ae2af162f9a67278af23a20dc65c455c8b5c5f1e0ba46c138165f84de", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xc5ea49092dd6839ec754c99d09a161dcd272d1fd69901f000fb6028c0d260656", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "a000000000000000000000000000000000000000" : { - "balance" : "10", - "code" : "{ (JUMPI 61 (EQ (CALLDATALOAD 0) 1023)) (MSTORE 0 (+ (CALLDATALOAD 0) 1)) (STATICCALL (GAS) 0xa000000000000000000000000000000000000000 0 32 0 0) (JUMPI 81 (LT (MLOAD 0) 1050)) (JUMPDEST) (MSTORE 0 0x600060006002f0) (CREATE 3 25 7) (JUMPDEST)}", - "nonce" : "0", + "0xa000000000000000000000000000000000000000" : { + "balance" : "0x0a", + "code" : "0x6103ff60003514603d57600160003501600052600060006020600073a0000000000000000000000000000000000000005afa5061041a600051106051575b66600060006002f0600052600760196003f0505b", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "100000000000000000000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x13426172c74d822b878fe800000000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -53,12 +98,12 @@ "gasLimit" : [ "0x7ffffffffffffff0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "a000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0xa000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_LoopCallsDepthThenRevert3.json b/GeneralStateTests/stStaticCall/static_LoopCallsDepthThenRevert3.json index 4dbea799f..b58178378 100644 --- a/GeneralStateTests/stStaticCall/static_LoopCallsDepthThenRevert3.json +++ b/GeneralStateTests/stStaticCall/static_LoopCallsDepthThenRevert3.json @@ -6,45 +6,87 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_LoopCallsDepthThenRevert3Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", "currentGasLimit" : "0x7fffffffffffffff", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "7db299e0885c85039f56fa504a13dd8ce8a56aa7" : { - "shouldnotexist" : "1" + "post" : { + "EIP150" : [ + { + "hash" : "0x857411ccfd336365ffaee39d03f9a0db2780f72c9bdb79109f2e1ad6ba4a9c99", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "cd6807039caffddbd1c28a749ec91bef15f448e5" : { - "shouldnotexist" : "1" - } + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x857411ccfd336365ffaee39d03f9a0db2780f72c9bdb79109f2e1ad6ba4a9c99", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x857411ccfd336365ffaee39d03f9a0db2780f72c9bdb79109f2e1ad6ba4a9c99", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x857411ccfd336365ffaee39d03f9a0db2780f72c9bdb79109f2e1ad6ba4a9c99", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x1bf4518519a3e297eccaf0c3f51c5d7f8887e09b36be22595bdaabf5806b9f1d", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "a000000000000000000000000000000000000000" : { - "balance" : "10", - "code" : "{ (JUMPI 61 (EQ (CALLDATALOAD 0) 1022)) (MSTORE 0 (+ (CALLDATALOAD 0) 1)) (STATICCALL (GAS) 0xa000000000000000000000000000000000000000 0 32 0 0) (JUMPI 81 (LT (CALLDATALOAD 0) 1050)) (JUMPDEST) (MSTORE 0 0x600060006002f0) (CREATE 3 25 7) (JUMPDEST)}", - "nonce" : "0", + "0xa000000000000000000000000000000000000000" : { + "balance" : "0x0a", + "code" : "0x6103fe60003514603d57600160003501600052600060006020600073a0000000000000000000000000000000000000005afa5061041a600035106051575b66600060006002f0600052600760196003f0505b", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "100000000000000000000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x13426172c74d822b878fe800000000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -56,12 +98,12 @@ "gasLimit" : [ "0x7ffffffffffffff0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "a000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0xa000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_LoopCallsThenRevert.json b/GeneralStateTests/stStaticCall/static_LoopCallsThenRevert.json index 3e1e79a00..d5955090d 100644 --- a/GeneralStateTests/stStaticCall/static_LoopCallsThenRevert.json +++ b/GeneralStateTests/stStaticCall/static_LoopCallsThenRevert.json @@ -6,59 +6,152 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_LoopCallsThenRevertFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : 0, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0xb0ad60c2c3c7495515e5e3469f4e4445e56734256a6e5a4f165c23c1b83a71e9", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x01" : "0x024d79" - } - } + { + "hash" : "0x4b7b5b5964f57c178c00608be3d6ae8456df2c719c46b64d1fe6febb57b20d3a", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xb0ad60c2c3c7495515e5e3469f4e4445e56734256a6e5a4f165c23c1b83a71e9", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x4b7b5b5964f57c178c00608be3d6ae8456df2c719c46b64d1fe6febb57b20d3a", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x0732b1e42c0e34d12d683d8f10159a69e96dda70cbc0254bb070565ca8944f4a", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x25efea7c074db57384542cb5eb05389e21d11bca7a23f070d3e289fa348b5c98", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x0732b1e42c0e34d12d683d8f10159a69e96dda70cbc0254bb070565ca8944f4a", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x25efea7c074db57384542cb5eb05389e21d11bca7a23f070d3e289fa348b5c98", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xb0ad60c2c3c7495515e5e3469f4e4445e56734256a6e5a4f165c23c1b83a71e9", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x4b7b5b5964f57c178c00608be3d6ae8456df2c719c46b64d1fe6febb57b20d3a", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "", - "code" : "{ (MSTORE 0 850) [[ 0 ]] (CALL (- (GAS) 10000) 0xa000000000000000000000000000000000000000 0 0 32 0 0) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x00", + "code" : "0x6103526000526000600060206000600073a0000000000000000000000000000000000000006127105a03f16000555a600155", + "nonce" : "0x00", "storage" : { } }, - "a000000000000000000000000000000000000000" : { - "balance" : "", - "code" : "{ (JUMPDEST) (MSTORE 0 (- (CALLDATALOAD 0) 1)) (STATICCALL 50000 0xb000000000000000000000000000000000000000 0 0 0 0) (JUMPI 0 (MLOAD 0))}", - "nonce" : "0", + "0xa000000000000000000000000000000000000000" : { + "balance" : "0x00", + "code" : "0x5b600160003503600052600060006000600073b00000000000000000000000000000000000000061c350fa50600051600057", + "nonce" : "0x00", "storage" : { - "0x00" : "850" + "0x00" : "0x0352" } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0xe8d4a51000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "b000000000000000000000000000000000000000" : { - "balance" : "", - "code" : "{ (MSTORE 0 (ADD 1 (MLOAD 0))) }", - "nonce" : "", + "0xb000000000000000000000000000000000000000" : { + "balance" : "0x00", + "code" : "0x600051600101600052", + "nonce" : "0x00", "storage" : { } } @@ -68,15 +161,15 @@ "" ], "gasLimit" : [ - "10000000", - "9000000" + "0x989680", + "0x895440" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_PostToReturn1.json b/GeneralStateTests/stStaticCall/static_PostToReturn1.json index 66113ce55..df954016d 100644 --- a/GeneralStateTests/stStaticCall/static_PostToReturn1.json +++ b/GeneralStateTests/stStaticCall/static_PostToReturn1.json @@ -6,52 +6,94 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_PostToReturn1Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x01" : "0x01", - "0x02" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0xcffb8534aee4d5dfb417100188fdb0f889f4ebfac2570120d3f1d695afd5b462", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xcffb8534aee4d5dfb417100188fdb0f889f4ebfac2570120d3f1d695afd5b462", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xcffb8534aee4d5dfb417100188fdb0f889f4ebfac2570120d3f1d695afd5b462", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xcffb8534aee4d5dfb417100188fdb0f889f4ebfac2570120d3f1d695afd5b462", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x3e7057ae0f831fb6f03b52d3b8a274566526c2f29e01a28150f9ae0cae8b3344", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[1]](STATICCALL 30000 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 64 0 0 ) [[2]] (MLOAD 0) }", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6000527faaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa602052600060006040600073945304eb96065b2a98b57a48a06ae28d285a71b5617530fa600155600051600255", + "nonce" : "0x00", "storage" : { } }, - "945304eb96065b2a98b57a48a06ae28d285a71b5" : { - "balance" : "23", + "0x945304eb96065b2a98b57a48a06ae28d285a71b5" : { + "balance" : "0x17", "code" : "0x603760005360026000f3", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -61,14 +103,14 @@ "" ], "gasLimit" : [ - "300000" + "0x0493e0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_RETURN_Bounds.json b/GeneralStateTests/stStaticCall/static_RETURN_Bounds.json index c981f7ad6..485dd6f61 100644 --- a/GeneralStateTests/stStaticCall/static_RETURN_Bounds.json +++ b/GeneralStateTests/stStaticCall/static_RETURN_Bounds.json @@ -6,168 +6,199 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_RETURN_BoundsFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", "currentGasLimit" : "0x7fffffffffffffff", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1", - "storage" : { - "0x01" : "0x01", - "0x02" : "0x01", - "0x03" : "0x01", - "0x04" : "0x01", - "0x05" : "0x01", - "0x06" : "0x01", - "0x07" : "0x01", - "0x08" : "0x01", - "0x09" : "0x01", - "0x0a" : "0x01", - "0x0b" : "0x01", - "0x0c" : "0x01" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x43dea029d2a7357e2b87737684cfa8c3e8d400f9eeada7f25bb848966dae295e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x43dea029d2a7357e2b87737684cfa8c3e8d400f9eeada7f25bb848966dae295e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x43dea029d2a7357e2b87737684cfa8c3e8d400f9eeada7f25bb848966dae295e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x43dea029d2a7357e2b87737684cfa8c3e8d400f9eeada7f25bb848966dae295e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xd32a22907de3c3caf38d3a5e1c2e191e418895ca0c8408b404a59116d9a3abad", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "0", - "code" : "{ [[1]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000001 0 0 0 0) [[2]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000002 0 0 0 0) [[3]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000003 0 0 0 0) [[4]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000004 0 0 0 0) [[5]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000005 0 0 0 0) [[6]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0) [[7]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0) [[8]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0) [[9]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0) [[10]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0) [[11]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0) [[12]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0) [[13]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0) [[14]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0) [[15]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0) [[16]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0)}", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x00", + "code" : "0x60006000600060007310000000000000000000000000000000000000016707fffffffffffffffa60015560006000600060007310000000000000000000000000000000000000026707fffffffffffffffa60025560006000600060007310000000000000000000000000000000000000036707fffffffffffffffa60035560006000600060007310000000000000000000000000000000000000046707fffffffffffffffa60045560006000600060007310000000000000000000000000000000000000056707fffffffffffffffa60055560006000600060007310000000000000000000000000000000000000066707fffffffffffffffa60065560006000600060007310000000000000000000000000000000000000066707fffffffffffffffa60075560006000600060007310000000000000000000000000000000000000066707fffffffffffffffa60085560006000600060007310000000000000000000000000000000000000066707fffffffffffffffa60095560006000600060007310000000000000000000000000000000000000066707fffffffffffffffa600a5560006000600060007310000000000000000000000000000000000000066707fffffffffffffffa600b5560006000600060007310000000000000000000000000000000000000066707fffffffffffffffa600c5560006000600060", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (RETURN 0 0) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x60006000f3", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (RETURN 0xfffffff 0) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x6000630ffffffff3", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (RETURN 0xffffffff 0) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x600063fffffffff3", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000004" : { - "balance" : "0", - "code" : "{ (RETURN 0xffffffffffffffff 0) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000004" : { + "balance" : "0x00", + "code" : "0x600067fffffffffffffffff3", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000005" : { - "balance" : "0", - "code" : "{ (RETURN 0xfffffffffffffffffffffffffff 0) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000005" : { + "balance" : "0x00", + "code" : "0x60006d0ffffffffffffffffffffffffffff3", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000006" : { - "balance" : "0", - "code" : "{ (RETURN 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000006" : { + "balance" : "0x00", + "code" : "0x60007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000007" : { - "balance" : "0", - "code" : "{ (RETURN 0 0xfffffff) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000007" : { + "balance" : "0x00", + "code" : "0x630fffffff6000f3", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000008" : { - "balance" : "0", - "code" : "{ (RETURN 0 0xffffffff) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000008" : { + "balance" : "0x00", + "code" : "0x63ffffffff6000f3", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000009" : { - "balance" : "0", - "code" : "{ (RETURN 0 0xffffffffffffffff) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000009" : { + "balance" : "0x00", + "code" : "0x67ffffffffffffffff6000f3", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000010" : { - "balance" : "0", - "code" : "{ (RETURN 0 0xfffffffffffffffffffffffffff) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000010" : { + "balance" : "0x00", + "code" : "0x6d0fffffffffffffffffffffffffff6000f3", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000011" : { - "balance" : "0", - "code" : "{ (RETURN 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000011" : { + "balance" : "0x00", + "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6000f3", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000012" : { - "balance" : "0", - "code" : "{ (RETURN 0xfffffff 0xfffffff) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000012" : { + "balance" : "0x00", + "code" : "0x630fffffff630ffffffff3", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000013" : { - "balance" : "0", - "code" : "{ (RETURN 0xffffffff 0xffffffff) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000013" : { + "balance" : "0x00", + "code" : "0x63ffffffff63fffffffff3", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000014" : { - "balance" : "0", - "code" : "{ (RETURN 0xffffffffffffffff 0xffffffffffffffff) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000014" : { + "balance" : "0x00", + "code" : "0x67ffffffffffffffff67fffffffffffffffff3", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000015" : { - "balance" : "0", - "code" : "{ (RETURN 0xfffffffffffffffffffffffffff 0xfffffffffffffffffffffffffff) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000015" : { + "balance" : "0x00", + "code" : "0x6d0fffffffffffffffffffffffffff6d0ffffffffffffffffffffffffffff3", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000016" : { - "balance" : "0", - "code" : "{ (RETURN 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000016" : { + "balance" : "0x00", + "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { "balance" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -179,12 +210,12 @@ "gasLimit" : [ "0x7fffffffffffffff" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "1" + "0x01" ] } } diff --git a/GeneralStateTests/stStaticCall/static_RETURN_BoundsOOG.json b/GeneralStateTests/stStaticCall/static_RETURN_BoundsOOG.json index 96e91b38a..54161301d 100644 --- a/GeneralStateTests/stStaticCall/static_RETURN_BoundsOOG.json +++ b/GeneralStateTests/stStaticCall/static_RETURN_BoundsOOG.json @@ -6,156 +6,199 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_RETURN_BoundsOOGFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", "currentGasLimit" : "0x7fffffffffffffff", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "balance" : "0", - "storage" : { - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0xbb56dbb00d26bd94ce486da5568257d808ad511eec41aac2aa7049e190fb7e7d", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xbb56dbb00d26bd94ce486da5568257d808ad511eec41aac2aa7049e190fb7e7d", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xbb56dbb00d26bd94ce486da5568257d808ad511eec41aac2aa7049e190fb7e7d", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xbb56dbb00d26bd94ce486da5568257d808ad511eec41aac2aa7049e190fb7e7d", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xbb56dbb00d26bd94ce486da5568257d808ad511eec41aac2aa7049e190fb7e7d", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "0", - "code" : "{ [[1]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000001 0 0 0 0) [[2]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000002 0 0 0 0) [[3]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000003 0 0 0 0) [[4]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000004 0 0 0 0) [[5]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000005 0 0 0 0) [[6]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0) [[7]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0) [[8]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0) [[9]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0) [[10]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0) [[11]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0) [[12]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0) [[13]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0) [[14]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0) [[15]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0) [[16]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0)}", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x00", + "code" : "0x60006000600060007310000000000000000000000000000000000000016707fffffffffffffffa60015560006000600060007310000000000000000000000000000000000000026707fffffffffffffffa60025560006000600060007310000000000000000000000000000000000000036707fffffffffffffffa60035560006000600060007310000000000000000000000000000000000000046707fffffffffffffffa60045560006000600060007310000000000000000000000000000000000000056707fffffffffffffffa60055560006000600060007310000000000000000000000000000000000000066707fffffffffffffffa60065560006000600060007310000000000000000000000000000000000000066707fffffffffffffffa60075560006000600060007310000000000000000000000000000000000000066707fffffffffffffffa60085560006000600060007310000000000000000000000000000000000000066707fffffffffffffffa60095560006000600060007310000000000000000000000000000000000000066707fffffffffffffffa600a5560006000600060007310000000000000000000000000000000000000066707fffffffffffffffa600b5560006000600060007310000000000000000000000000000000000000066707fffffffffffffffa600c5560006000600060", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (RETURN 0 0) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x60006000f3", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (RETURN 0xfffffff 0) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x6000630ffffffff3", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (RETURN 0xffffffff 0) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x600063fffffffff3", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000004" : { - "balance" : "0", - "code" : "{ (RETURN 0xffffffffffffffff 0) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000004" : { + "balance" : "0x00", + "code" : "0x600067fffffffffffffffff3", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000005" : { - "balance" : "0", - "code" : "{ (RETURN 0xfffffffffffffffffffffffffff 0) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000005" : { + "balance" : "0x00", + "code" : "0x60006d0ffffffffffffffffffffffffffff3", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000006" : { - "balance" : "0", - "code" : "{ (RETURN 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000006" : { + "balance" : "0x00", + "code" : "0x60007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000007" : { - "balance" : "0", - "code" : "{ (RETURN 0 0xfffffff) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000007" : { + "balance" : "0x00", + "code" : "0x630fffffff6000f3", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000008" : { - "balance" : "0", - "code" : "{ (RETURN 0 0xffffffff) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000008" : { + "balance" : "0x00", + "code" : "0x63ffffffff6000f3", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000009" : { - "balance" : "0", - "code" : "{ (RETURN 0 0xffffffffffffffff) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000009" : { + "balance" : "0x00", + "code" : "0x67ffffffffffffffff6000f3", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000010" : { - "balance" : "0", - "code" : "{ (RETURN 0 0xfffffffffffffffffffffffffff) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000010" : { + "balance" : "0x00", + "code" : "0x6d0fffffffffffffffffffffffffff6000f3", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000011" : { - "balance" : "0", - "code" : "{ (RETURN 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000011" : { + "balance" : "0x00", + "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6000f3", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000012" : { - "balance" : "0", - "code" : "{ (RETURN 0xfffffff 0xfffffff) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000012" : { + "balance" : "0x00", + "code" : "0x630fffffff630ffffffff3", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000013" : { - "balance" : "0", - "code" : "{ (RETURN 0xffffffff 0xffffffff) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000013" : { + "balance" : "0x00", + "code" : "0x63ffffffff63fffffffff3", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000014" : { - "balance" : "0", - "code" : "{ (RETURN 0xffffffffffffffff 0xffffffffffffffff) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000014" : { + "balance" : "0x00", + "code" : "0x67ffffffffffffffff67fffffffffffffffff3", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000015" : { - "balance" : "0", - "code" : "{ (RETURN 0xfffffffffffffffffffffffffff 0xfffffffffffffffffffffffffff) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000015" : { + "balance" : "0x00", + "code" : "0x6d0fffffffffffffffffffffffffff6d0ffffffffffffffffffffffffffff3", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000016" : { - "balance" : "0", - "code" : "{ (RETURN 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000016" : { + "balance" : "0x00", + "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { "balance" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -165,14 +208,14 @@ "" ], "gasLimit" : [ - "150000" + "0x0249f0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "1" + "0x01" ] } } diff --git a/GeneralStateTests/stStaticCall/static_RawCallGasAsk.json b/GeneralStateTests/stStaticCall/static_RawCallGasAsk.json index 514a357c5..9aa1ad4fd 100644 --- a/GeneralStateTests/stStaticCall/static_RawCallGasAsk.json +++ b/GeneralStateTests/stStaticCall/static_RawCallGasAsk.json @@ -6,130 +6,272 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_RawCallGasAskFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : 0, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0x75f6a9df177ba6b148c256fa0063027ba7a7c8add6777053d68e9c0de7e2f9df", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000001" : { - "storage" : { - "0x01" : "0x072b3b" - } - } + { + "hash" : "0x75f6a9df177ba6b148c256fa0063027ba7a7c8add6777053d68e9c0de7e2f9df", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x75f6a9df177ba6b148c256fa0063027ba7a7c8add6777053d68e9c0de7e2f9df", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x75f6a9df177ba6b148c256fa0063027ba7a7c8add6777053d68e9c0de7e2f9df", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : 1, - "gas" : -1, - "value" : -1 + ], + "EIP158" : [ + { + "hash" : "0x75f6a9df177ba6b148c256fa0063027ba7a7c8add6777053d68e9c0de7e2f9df", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x75f6a9df177ba6b148c256fa0063027ba7a7c8add6777053d68e9c0de7e2f9df", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x75f6a9df177ba6b148c256fa0063027ba7a7c8add6777053d68e9c0de7e2f9df", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "2000000000000000000000000000000000000001" : { - "storage" : { - "0x01" : "0x072b3b" - } - } + { + "hash" : "0x75f6a9df177ba6b148c256fa0063027ba7a7c8add6777053d68e9c0de7e2f9df", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : 2, - "gas" : -1, - "value" : -1 + ], + "Frontier" : [ + { + "hash" : "0x4f7ce23b8119233d194c84f73aa5f389c1c02b913c2c2b962c2a333005442614", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x4f7ce23b8119233d194c84f73aa5f389c1c02b913c2c2b962c2a333005442614", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "3000000000000000000000000000000000000001" : { - "storage" : { - "0x01" : "0x0727d3" - } - } + { + "hash" : "0x4f7ce23b8119233d194c84f73aa5f389c1c02b913c2c2b962c2a333005442614", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x4f7ce23b8119233d194c84f73aa5f389c1c02b913c2c2b962c2a333005442614", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : 3, - "gas" : -1, - "value" : -1 + ], + "Homestead" : [ + { + "hash" : "0x4f7ce23b8119233d194c84f73aa5f389c1c02b913c2c2b962c2a333005442614", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x4f7ce23b8119233d194c84f73aa5f389c1c02b913c2c2b962c2a333005442614", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x4f7ce23b8119233d194c84f73aa5f389c1c02b913c2c2b962c2a333005442614", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "4000000000000000000000000000000000000001" : { - "storage" : { - "0x01" : "0x0727d3" - } - } + { + "hash" : "0x4f7ce23b8119233d194c84f73aa5f389c1c02b913c2c2b962c2a333005442614", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "Metropolis" : [ + { + "hash" : "0x16494cb32aad6d0e23886406c044b4b7b63f5bcbe225b64c4506ba9debed297d", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x8316edda44592e4c0c24e69a6d83779511d7ef56c32ff5248755fc977076021c", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x7a301ff20116b7ac4c1064a5e1a54117316ef3bd8a0927db9f4282f63f8cf249", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xa4607217b54124bd9e8dabecc54843222a5497383470c2fd8d2e64dede13553b", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "094f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "", - "code" : "{ (MSTORE 0 (GAS)) }", - "nonce" : "0", + "0x094f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x00", + "code" : "0x5a600052", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000", - "code" : "{ (CALL (GAS) (CALLDATALOAD 0) 0 0 0 0 0) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0xe8d4a51000", + "code" : "0x600060006000600060006000355af1", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (STATICCALL 3000000 0x094f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) [[1]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x600060006000600073094f5374fce5edbc8e2a8697c15331677e6ebf0b622dc6c0fa505a600155", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (STATICCALL 30000 0x094f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) [[1]] (GAS) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x600060006000600073094f5374fce5edbc8e2a8697c15331677e6ebf0b617530fa505a600155", + "nonce" : "0x00", "storage" : { } }, - "3000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (STATICCALL 3000000 0x094f5374fce5edbc8e2a8697c15331677e6ebf0b 0 8000 0 8000) [[1]] (GAS) }", - "nonce" : "0", + "0x3000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x611f406000611f40600073094f5374fce5edbc8e2a8697c15331677e6ebf0b622dc6c0fa505a600155", + "nonce" : "0x00", "storage" : { } }, - "4000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (STATICCALL 30000 0x094f5374fce5edbc8e2a8697c15331677e6ebf0b 0 8000 0 8000) [[1]] (GAS) }", - "nonce" : "0", + "0x4000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x611f406000611f40600073094f5374fce5edbc8e2a8697c15331677e6ebf0b617530fa505a600155", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0xe8d4a51000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -142,14 +284,14 @@ "0x0000000000000000000000004000000000000000000000000000000000000001" ], "gasLimit" : [ - "500000" + "0x07a120" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_Return50000_2.json b/GeneralStateTests/stStaticCall/static_Return50000_2.json index 874613575..07e0d2600 100644 --- a/GeneralStateTests/stStaticCall/static_Return50000_2.json +++ b/GeneralStateTests/stStaticCall/static_Return50000_2.json @@ -6,65 +6,101 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_Return50000_2Filler.json" }, "env" : { - "currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "currentCoinbase" : "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b", "currentDifficulty" : "0x020000", - "currentGasLimit" : "88250000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x05429690", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "10bf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "nonce" : "0x00", - "storage" : { - "0x01" : "0x14f579" - } + "post" : { + "EIP150" : [ + { + "hash" : "0x5ad31979dcd6c1653319398efe9368088d98de49ce56443963b7ba621d218cf9", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0fffffffffffff", - "nonce" : "0x00", - "storage" : { - } - } + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x5ad31979dcd6c1653319398efe9368088d98de49ce56443963b7ba621d218cf9", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x160d9d29c283b06c57f777be4584e229597eb9f4303941d3d5e68ac3586a3f9b", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x160d9d29c283b06c57f777be4584e229597eb9f4303941d3d5e68ac3586a3f9b", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x5ad31979dcd6c1653319398efe9368088d98de49ce56443963b7ba621d218cf9", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "10bf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xfffffffffffff", - "code" : "{ [[ 0 ]] (CALL (GAS) 0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0 0) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x10bf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0fffffffffffff", + "code" : "0x6000600060006000600073bbbf5374fce5edbc8e2a8697c15331677e6ebf0b5af16000555a600155", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { "balance" : "0xffffffffffffffffffffffffffffffff", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "aaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xfffffffffffff", - "code" : "{ (MSTORE 0 (CALLDATALOAD 49999)) (RETURN (MLOAD 0) 1) }", - "nonce" : "0", + "0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0fffffffffffff", + "code" : "0x61c34f356000526001600051f3", + "nonce" : "0x00", "storage" : { } }, - "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xfffffffffffff", - "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) [[ 0 ]] (STATICCALL 1564 0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b 0 50000 0 0) ) [[ 1 ]] @i }", - "nonce" : "0", + "0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0fffffffffffff", + "code" : "0x5b61c3506080511015603d576000600061c350600073aaaf5374fce5edbc8e2a8697c15331677e6ebf0b61061cfa6000556001608051016080526000565b608051600155", + "nonce" : "0x00", "storage" : { } } @@ -74,14 +110,14 @@ "" ], "gasLimit" : [ - "88250000" + "0x05429690" ], - "gasPrice" : "1", - "nonce" : "", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "10bf5374fce5edbc8e2a8697c15331677e6ebf0b", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x10bf5374fce5edbc8e2a8697c15331677e6ebf0b", "value" : [ - "10" + "0x0a" ] } } diff --git a/GeneralStateTests/stStaticCall/static_ReturnTest.json b/GeneralStateTests/stStaticCall/static_ReturnTest.json index a29797e69..6aaabfd18 100644 --- a/GeneralStateTests/stStaticCall/static_ReturnTest.json +++ b/GeneralStateTests/stStaticCall/static_ReturnTest.json @@ -6,51 +6,94 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_ReturnTestFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "194f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "storage" : { - "0x" : "0x15" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x1de67e15605fe857b6af95271596144b8977fa82355ac243b71dbb695b20ea82", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x1de67e15605fe857b6af95271596144b8977fa82355ac243b71dbb695b20ea82", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x1de67e15605fe857b6af95271596144b8977fa82355ac243b71dbb695b20ea82", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x1de67e15605fe857b6af95271596144b8977fa82355ac243b71dbb695b20ea82", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x1bf1cf36b2124a96efb8d31b1b47f721a804adec9b05a4b1ef4c2c6e00f3b59f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "194f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0", - "code" : "{(STATICCALL 2000 0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b 30 1 31 1) [[0]](MLOAD 0) (RETURN 30 2)}", - "nonce" : "0", + "0x194f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x00", + "code" : "0x6001601f6001601e73b94f5374fce5edbc8e2a8697c15331677e6ebf0b6107d0fa506000516000556002601ef3", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0f4240", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "100000", - "code" : "{(MSTORE 0 0x15) (RETURN 31 1)}", - "nonce" : "0", + "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0186a0", + "code" : "0x60156000526001601ff3", + "nonce" : "0x00", "storage" : { } } @@ -60,14 +103,14 @@ "" ], "gasLimit" : [ - "300000" + "0x0493e0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "194f5374fce5edbc8e2a8697c15331677e6ebf0b", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x194f5374fce5edbc8e2a8697c15331677e6ebf0b", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_ReturnTest2.json b/GeneralStateTests/stStaticCall/static_ReturnTest2.json index 1c1e95206..3af1d7c23 100644 --- a/GeneralStateTests/stStaticCall/static_ReturnTest2.json +++ b/GeneralStateTests/stStaticCall/static_ReturnTest2.json @@ -6,52 +6,94 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_ReturnTest2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "1000000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x3b9aca00", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "194f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "storage" : { - "0x00" : "0x15", - "0x01" : "0x3f" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x0f75e6b172f2fca4fb94e775cb14c0998ed358b99a14aab391f3e2594bcc1234", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x0f75e6b172f2fca4fb94e775cb14c0998ed358b99a14aab391f3e2594bcc1234", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x0f75e6b172f2fca4fb94e775cb14c0998ed358b99a14aab391f3e2594bcc1234", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x0f75e6b172f2fca4fb94e775cb14c0998ed358b99a14aab391f3e2594bcc1234", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x63f59a3efead2804981734717ced8cd6bcf040cc83a28ba756032585e4a08576", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "194f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0", - "code" : "{(MSTORE 0 0x15)(STATICCALL 7000 0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 32 32 32) [[0]](MLOAD 0) [[1]](MLOAD 32) (RETURN 0 64)}", - "nonce" : "0", + "0x194f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x00", + "code" : "0x6015600052602060206020600073b94f5374fce5edbc8e2a8697c15331677e6ebf0b611b58fa5060005160005560205160015560406000f3", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0f4240", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "100000", - "code" : "{(MSTORE 0 (MUL 3 (CALLDATALOAD 0)))(RETURN 0 32)}", - "nonce" : "0", + "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0186a0", + "code" : "0x60003560030260005260206000f3", + "nonce" : "0x00", "storage" : { } } @@ -61,14 +103,14 @@ "" ], "gasLimit" : [ - "250000" + "0x03d090" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "194f5374fce5edbc8e2a8697c15331677e6ebf0b", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x194f5374fce5edbc8e2a8697c15331677e6ebf0b", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_RevertDepth2.json b/GeneralStateTests/stStaticCall/static_RevertDepth2.json index c8d9dffb8..6283b825c 100644 --- a/GeneralStateTests/stStaticCall/static_RevertDepth2.json +++ b/GeneralStateTests/stStaticCall/static_RevertDepth2.json @@ -6,88 +6,108 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_RevertDepth2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "a000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x00", - "0x02" : "0x00" - } + "post" : { + "EIP150" : [ + { + "hash" : "0x27b3b2eac2dbfeed3d4a2c79f785636f46b6cc16395c9e7850ad0124edcb2981", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "nonce" : "1" + "logs" : [ + ] + } + ], + "EIP158" : [ + { + "hash" : "0x27b3b2eac2dbfeed3d4a2c79f785636f46b6cc16395c9e7850ad0124edcb2981", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x27b3b2eac2dbfeed3d4a2c79f785636f46b6cc16395c9e7850ad0124edcb2981", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "b000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x00" - } + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x27b3b2eac2dbfeed3d4a2c79f785636f46b6cc16395c9e7850ad0124edcb2981", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "c000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x00" - } + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x27b3b2eac2dbfeed3d4a2c79f785636f46b6cc16395c9e7850ad0124edcb2981", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "d000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x00", - "0x02" : "0x00" - } - } + "logs" : [ + ] } - } - ], + ] + }, "pre" : { - "a000000000000000000000000000000000000000" : { - "balance" : "", - "code" : "{ [[0]] (ADD 1 (SLOAD 0)) [[1]] (STATICCALL 150000 0xb000000000000000000000000000000000000000 0 0 0 0) [[2]] (STATICCALL 150000 0xd000000000000000000000000000000000000000 0 0 0 0)}", - "nonce" : "0", + "0xa000000000000000000000000000000000000000" : { + "balance" : "0x00", + "code" : "0x600054600101600055600060006000600073b000000000000000000000000000000000000000620249f0fa600155600060006000600073d000000000000000000000000000000000000000620249f0fa600255", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0xe8d4a51000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "b000000000000000000000000000000000000000" : { - "balance" : "", - "code" : "{ (STATICCALL 50000 0xc000000000000000000000000000000000000000 0 0 0 0) (MSTORE 1 1) }", - "nonce" : "", + "0xb000000000000000000000000000000000000000" : { + "balance" : "0x00", + "code" : "0x600060006000600073c00000000000000000000000000000000000000061c350fa506001600152", + "nonce" : "0x00", "storage" : { } }, - "c000000000000000000000000000000000000000" : { - "balance" : "", - "code" : "{ (MSTORE 1 1) }", - "nonce" : "0", + "0xc000000000000000000000000000000000000000" : { + "balance" : "0x00", + "code" : "0x6001600152", + "nonce" : "0x00", "storage" : { } }, - "d000000000000000000000000000000000000000" : { - "balance" : "", - "code" : "{ (STATICCALL 50000 0xc000000000000000000000000000000000000000 0 0 0 0) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0xd000000000000000000000000000000000000000" : { + "balance" : "0x00", + "code" : "0x600060006000600073c00000000000000000000000000000000000000061c350fa505a600155", + "nonce" : "0x00", "storage" : { } } @@ -97,14 +117,14 @@ "" ], "gasLimit" : [ - "170685" + "0x029abd" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "a000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0xa000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_RevertOpcodeCalls.json b/GeneralStateTests/stStaticCall/static_RevertOpcodeCalls.json index 85d52caa5..c8f142995 100644 --- a/GeneralStateTests/stStaticCall/static_RevertOpcodeCalls.json +++ b/GeneralStateTests/stStaticCall/static_RevertOpcodeCalls.json @@ -6,51 +6,144 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_RevertOpcodeCallsFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0xfb6d9aa12be05a1b97064c0917d00880c935b5049e900bed77efbfbda17b69e1", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "094f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "storage" : { - "0x01" : "0x01" - } - } + { + "hash" : "0x4b1ba524f968c6d00ad4e1168e0925a4c14037cf4ab4472b7ef817ba0ec04a71", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xfb6d9aa12be05a1b97064c0917d00880c935b5049e900bed77efbfbda17b69e1", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x4b1ba524f968c6d00ad4e1168e0925a4c14037cf4ab4472b7ef817ba0ec04a71", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xfb6d9aa12be05a1b97064c0917d00880c935b5049e900bed77efbfbda17b69e1", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x4b1ba524f968c6d00ad4e1168e0925a4c14037cf4ab4472b7ef817ba0ec04a71", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xfb6d9aa12be05a1b97064c0917d00880c935b5049e900bed77efbfbda17b69e1", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x4b1ba524f968c6d00ad4e1168e0925a4c14037cf4ab4472b7ef817ba0ec04a71", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xa7c91c25306b2a92ae0371a38c784673fd2c10bd0ded6a428b3fbb4ed39fe7a2", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xa7c91c25306b2a92ae0371a38c784673fd2c10bd0ded6a428b3fbb4ed39fe7a2", + "indexes" : { + "data" : 0, + "gas" : 1, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "094f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1", - "code" : "{ [[0]] (STATICCALL 50000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) [[1]] 1}", - "nonce" : "0", + "0x094f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x01", + "code" : "0x600060006000600073c94f5374fce5edbc8e2a8697c15331677e6ebf0b61c350fa6000556001600155", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0xe8d4a51000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1", - "code" : "{ (REVERT 0 1) }", - "nonce" : "0", + "0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x01", + "code" : "0x60016000fd", + "nonce" : "0x00", "storage" : { } } @@ -60,15 +153,15 @@ "" ], "gasLimit" : [ - "460000", - "88000" + "0x0704e0", + "0x0157c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "094f5374fce5edbc8e2a8697c15331677e6ebf0b", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x094f5374fce5edbc8e2a8697c15331677e6ebf0b", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_ZeroValue_CALL_OOGRevert.json b/GeneralStateTests/stStaticCall/static_ZeroValue_CALL_OOGRevert.json index 25ea092fd..6c4a85274 100644 --- a/GeneralStateTests/stStaticCall/static_ZeroValue_CALL_OOGRevert.json +++ b/GeneralStateTests/stStaticCall/static_ZeroValue_CALL_OOGRevert.json @@ -6,52 +6,87 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_ZeroValue_CALL_OOGRevertFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "ALL" - ], - "result" : { - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "nonce" : "1" + "post" : { + "EIP150" : [ + { + "hash" : "0xa734b9b37f727f05af41ada03ed8d58fe3ae9d3df72c91bba54ccee2a93cd1f0", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x00", - "0x64" : "0x00" - } + "logs" : [ + ] + } + ], + "EIP158" : [ + { + "hash" : "0xa734b9b37f727f05af41ada03ed8d58fe3ae9d3df72c91bba54ccee2a93cd1f0", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "shouldnotexist" : "1" - } + "logs" : [ + ] } - } - ], + ], + "Frontier" : [ + { + "hash" : "0xa734b9b37f727f05af41ada03ed8d58fe3ae9d3df72c91bba54ccee2a93cd1f0", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xa734b9b37f727f05af41ada03ed8d58fe3ae9d3df72c91bba54ccee2a93cd1f0", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xa734b9b37f727f05af41ada03ed8d58fe3ae9d3df72c91bba54ccee2a93cd1f0", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0xe8d4a51000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0", - "code" : "{ [[0]](GAS) [[1]] (STATICCALL 60000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) [[2]]12 [[3]]12 [[4]]12 [[100]] (GAS) }", - "nonce" : "0", + "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x00", + "code" : "0x5a600055600060006000600073c94f5374fce5edbc8e2a8697c15331677e6ebf0b61ea60fa600155600c600255600c600355600c6004555a606455", + "nonce" : "0x00", "storage" : { } } @@ -61,14 +96,14 @@ "" ], "gasLimit" : [ - "135000" + "0x020f58" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_ZeroValue_SUICIDE_OOGRevert.json b/GeneralStateTests/stStaticCall/static_ZeroValue_SUICIDE_OOGRevert.json index 3e655f4fa..325ba25a2 100644 --- a/GeneralStateTests/stStaticCall/static_ZeroValue_SUICIDE_OOGRevert.json +++ b/GeneralStateTests/stStaticCall/static_ZeroValue_SUICIDE_OOGRevert.json @@ -6,57 +6,94 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_ZeroValue_SUICIDE_OOGRevertFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "ALL" - ], - "result" : { - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "nonce" : "1" + "post" : { + "EIP150" : [ + { + "hash" : "0x6194eebfb41678807de678a238c07a79cfe19bd51e65bf6e81a2e1a472ce4ec5", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "storage" : { - } + "logs" : [ + ] + } + ], + "EIP158" : [ + { + "hash" : "0x6194eebfb41678807de678a238c07a79cfe19bd51e65bf6e81a2e1a472ce4ec5", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "storage" : { - } - } + "logs" : [ + ] } - } - ], + ], + "Frontier" : [ + { + "hash" : "0x6194eebfb41678807de678a238c07a79cfe19bd51e65bf6e81a2e1a472ce4ec5", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x6194eebfb41678807de678a238c07a79cfe19bd51e65bf6e81a2e1a472ce4ec5", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x6194eebfb41678807de678a238c07a79cfe19bd51e65bf6e81a2e1a472ce4ec5", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0xe8d4a51000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0", - "code" : "{ (STATICCALL 40000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) [[2]]12 [[3]]12 [[4]]12 [[100]](GAS) }", - "nonce" : "0", + "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x00", + "code" : "0x600060006000600073c94f5374fce5edbc8e2a8697c15331677e6ebf0b619c40fa50600c600255600c600355600c6004555a606455", + "nonce" : "0x00", "storage" : { } }, - "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0", - "code" : "{ (SELFDESTRUCT 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b) }", - "nonce" : "0", + "0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x00", + "code" : "0x73c94f5374fce5edbc8e2a8697c15331677e6ebf0bff", + "nonce" : "0x00", "storage" : { } } @@ -66,14 +103,14 @@ "" ], "gasLimit" : [ - "100000" + "0x0186a0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callBasic.json b/GeneralStateTests/stStaticCall/static_callBasic.json index 6d34a94e4..f1d5d1b53 100644 --- a/GeneralStateTests/stStaticCall/static_callBasic.json +++ b/GeneralStateTests/stStaticCall/static_callBasic.json @@ -6,135 +6,280 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callBasicFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : [ - 0, - 1 - ], - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0x878b80add1abb7af8d96df83bce06145d9fb66fa717d2cc1287f1b6c79bd2e9e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x878b80add1abb7af8d96df83bce06145d9fb66fa717d2cc1287f1b6c79bd2e9e", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x0d523a" - } - } + { + "hash" : "0x878b80add1abb7af8d96df83bce06145d9fb66fa717d2cc1287f1b6c79bd2e9e", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x878b80add1abb7af8d96df83bce06145d9fb66fa717d2cc1287f1b6c79bd2e9e", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : [ - 2 - ], - "gas" : -1, - "value" : -1 + ], + "EIP158" : [ + { + "hash" : "0x878b80add1abb7af8d96df83bce06145d9fb66fa717d2cc1287f1b6c79bd2e9e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x878b80add1abb7af8d96df83bce06145d9fb66fa717d2cc1287f1b6c79bd2e9e", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x0dff20" - } - } + { + "hash" : "0x878b80add1abb7af8d96df83bce06145d9fb66fa717d2cc1287f1b6c79bd2e9e", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x878b80add1abb7af8d96df83bce06145d9fb66fa717d2cc1287f1b6c79bd2e9e", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : [ - 3 - ], - "gas" : -1, - "value" : -1 + ], + "Frontier" : [ + { + "hash" : "0x878b80add1abb7af8d96df83bce06145d9fb66fa717d2cc1287f1b6c79bd2e9e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x0e8125" - } - }, - "3000000000000000000000000000000000000003" : { - "balance" : "23" - } + { + "hash" : "0x878b80add1abb7af8d96df83bce06145d9fb66fa717d2cc1287f1b6c79bd2e9e", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x878b80add1abb7af8d96df83bce06145d9fb66fa717d2cc1287f1b6c79bd2e9e", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x878b80add1abb7af8d96df83bce06145d9fb66fa717d2cc1287f1b6c79bd2e9e", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "Homestead" : [ + { + "hash" : "0x878b80add1abb7af8d96df83bce06145d9fb66fa717d2cc1287f1b6c79bd2e9e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x878b80add1abb7af8d96df83bce06145d9fb66fa717d2cc1287f1b6c79bd2e9e", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x878b80add1abb7af8d96df83bce06145d9fb66fa717d2cc1287f1b6c79bd2e9e", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x878b80add1abb7af8d96df83bce06145d9fb66fa717d2cc1287f1b6c79bd2e9e", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x9e7aa1a7c5c8d833eddc371a7f345164c71f351cdec57f88694a43e9808cb266", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x9e7aa1a7c5c8d833eddc371a7f345164c71f351cdec57f88694a43e9808cb266", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xa36b307bf39fda51ee5d0e625576b54edffce138c72af2ac59ad89933af2f486", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x9de54a362f7300bda55c9888c94c4b822c3db8a1a4913698622a63fbd629ec56", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 100000 (CALLDATALOAD 0) 0 0 0 0) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000600060006000600035620186a0fa6000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "23", - "code" : " { [[ 1 ]] 1 } ", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x17", + "code" : "0x6001600155", + "nonce" : "0x00", "storage" : { "0x01" : "0x01" } }, - "1000000000000000000000000000000000000002" : { - "balance" : "23", - "code" : " { [[ 1 ]] 0 } ", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x17", + "code" : "0x6000600155", + "nonce" : "0x00", "storage" : { - "0x01" : "0x00" } }, - "1000000000000000000000000000000000000003" : { - "balance" : "23", - "code" : " { (CALL 40000 0x2000000000000000000000000000000000000003 0 0 0 0 0) (MSTORE 1 1) } ", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x17", + "code" : "0x60006000600060006000732000000000000000000000000000000000000003619c40f1506001600152", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000004" : { - "balance" : "23", - "code" : " { (CALLCODE 40000 0x3000000000000000000000000000000000000003 1 0 0 0 0) (MSTORE 1 1) } ", - "nonce" : "0", + "0x1000000000000000000000000000000000000004" : { + "balance" : "0x17", + "code" : "0x60006000600060006001733000000000000000000000000000000000000003619c40f2506001600152", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000003" : { - "balance" : "23", - "code" : " { (LOG0 1 10) (MSTORE 1 1) } ", - "nonce" : "0", + "0x2000000000000000000000000000000000000003" : { + "balance" : "0x17", + "code" : "0x600a6001a06001600152", + "nonce" : "0x00", "storage" : { } }, - "3000000000000000000000000000000000000003" : { - "balance" : "23", - "code" : " { (MSTORE 1 1) } ", - "nonce" : "0", + "0x3000000000000000000000000000000000000003" : { + "balance" : "0x17", + "code" : "0x6001600152", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -147,14 +292,14 @@ "0x0000000000000000000000001000000000000000000000000000000000000004" ], "gasLimit" : [ - "1000000" + "0x0f4240" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callChangeRevert.json b/GeneralStateTests/stStaticCall/static_callChangeRevert.json index 973cb5212..d0d736d59 100644 --- a/GeneralStateTests/stStaticCall/static_callChangeRevert.json +++ b/GeneralStateTests/stStaticCall/static_callChangeRevert.json @@ -6,128 +6,222 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callChangeRevertFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : 0, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0x9862bd7f7e41739567c0fcf373a643e02199a8f8221784b8015d796d5cfa80b0", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x9862bd7f7e41739567c0fcf373a643e02199a8f8221784b8015d796d5cfa80b0", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x01", - "0x02" : "0x01" - } + { + "hash" : "0x9862bd7f7e41739567c0fcf373a643e02199a8f8221784b8015d796d5cfa80b0", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000001" : { - "balance" : "0x02" - } + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : 1, - "gas" : -1, - "value" : -1 + ], + "EIP158" : [ + { + "hash" : "0x9862bd7f7e41739567c0fcf373a643e02199a8f8221784b8015d796d5cfa80b0", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x9862bd7f7e41739567c0fcf373a643e02199a8f8221784b8015d796d5cfa80b0", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000001" : { - "balance" : "0x00" + { + "hash" : "0x9862bd7f7e41739567c0fcf373a643e02199a8f8221784b8015d796d5cfa80b0", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 }, - "2000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x00", - "0x02" : "0x00" - } - } + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : 2, - "gas" : -1, - "value" : -1 + ], + "Frontier" : [ + { + "hash" : "0xa1a814154ba9bf8d4c027fe43f5216dae1123bd2f70e94296b71adf31884bf27", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000002" : { - "balance" : "0x02" + { + "hash" : "0xa1a814154ba9bf8d4c027fe43f5216dae1123bd2f70e94296b71adf31884bf27", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "3000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x00", - "0x02" : "0x01" - } - } + "logs" : [ + ] + }, + { + "hash" : "0xa1a814154ba9bf8d4c027fe43f5216dae1123bd2f70e94296b71adf31884bf27", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "Homestead" : [ + { + "hash" : "0xa1a814154ba9bf8d4c027fe43f5216dae1123bd2f70e94296b71adf31884bf27", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xa1a814154ba9bf8d4c027fe43f5216dae1123bd2f70e94296b71adf31884bf27", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xa1a814154ba9bf8d4c027fe43f5216dae1123bd2f70e94296b71adf31884bf27", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xedf534c3449840273633f020f057b42f6c24bffece5c4d8fd22acd6d3906c703", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x9862bd7f7e41739567c0fcf373a643e02199a8f8221784b8015d796d5cfa80b0", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xa38f4ab3a7fd701ac24ddf0c98be0a785709205e54754414d389a5560e686727", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (CALL 100000 0x1000000000000000000000000000000000000001 1 0 0 0 0) [[ 1 ]] (STATICCALL 100000 0x1000000000000000000000000000000000000001 0 0 0 0) [[ 2 ]] (CALL 100000 0x1000000000000000000000000000000000000001 1 0 0 0 0) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60006000600060006001731000000000000000000000000000000000000001620186a0f16000556000600060006000731000000000000000000000000000000000000001620186a0fa60015560006000600060006001731000000000000000000000000000000000000001620186a0f1600255", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "", - "code" : "{ (MSTORE 1 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x6001600152", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "", - "code" : "{ (MSTORE 1 1) (SSTORE 1 (SLOAD 1)) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x6001600152600154600155", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (CALL 100000 0x1000000000000000000000000000000000000001 1 0 0 0 0) [[ 1 ]] (STATICCALL 100000 0x1000000000000000000000000000000000000001 0 0 0 0) [[ 2 ]] (CALL 100000 0x1000000000000000000000000000000000000001 1 0 0 0 0) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60006000600060006001731000000000000000000000000000000000000001620186a0f16000556000600060006000731000000000000000000000000000000000000001620186a0fa60015560006000600060006001731000000000000000000000000000000000000001620186a0f16002555b61c3506080511015608b576001608051016080526073565b", + "nonce" : "0x00", "storage" : { } }, - "3000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (CALL 100000 0x1000000000000000000000000000000000000002 1 0 0 0 0) [[ 1 ]] (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 0 0 0) [[ 2 ]] (CALL 100000 0x1000000000000000000000000000000000000002 1 0 0 0 0) }", - "nonce" : "0", + "0x3000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60006000600060006001731000000000000000000000000000000000000002620186a0f16000556000600060006000731000000000000000000000000000000000000002620186a0fa60015560006000600060006001731000000000000000000000000000000000000002620186a0f1600255", + "nonce" : "0x00", "storage" : { } }, - "a000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ (CALL 350000 (CALLDATALOAD 0) 0 0 0 0 0) }", - "nonce" : "0", + "0xa000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000600060006000600060003562055730f1", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -139,14 +233,14 @@ "0x0000000000000000000000003000000000000000000000000000000000000000" ], "gasLimit" : [ - "1000000" + "0x0f4240" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "a000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0xa000000000000000000000000000000000000000", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callCreate.json b/GeneralStateTests/stStaticCall/static_callCreate.json index 6bae04ec2..fb3733381 100644 --- a/GeneralStateTests/stStaticCall/static_callCreate.json +++ b/GeneralStateTests/stStaticCall/static_callCreate.json @@ -6,95 +6,265 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callCreateFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : [ - 0, - 2, - 3 - ], - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0x458708119c90c61ffa99d27a92b8c1b9936d3f86c1cf410ca36b494f677bc3b4", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01" - } - } + { + "hash" : "0x458708119c90c61ffa99d27a92b8c1b9936d3f86c1cf410ca36b494f677bc3b4", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x458708119c90c61ffa99d27a92b8c1b9936d3f86c1cf410ca36b494f677bc3b4", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x458708119c90c61ffa99d27a92b8c1b9936d3f86c1cf410ca36b494f677bc3b4", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : [ - 1 - ], - "gas" : -1, - "value" : -1 + ], + "EIP158" : [ + { + "hash" : "0x458708119c90c61ffa99d27a92b8c1b9936d3f86c1cf410ca36b494f677bc3b4", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x458708119c90c61ffa99d27a92b8c1b9936d3f86c1cf410ca36b494f677bc3b4", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x458708119c90c61ffa99d27a92b8c1b9936d3f86c1cf410ca36b494f677bc3b4", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x00" - } - } + { + "hash" : "0x458708119c90c61ffa99d27a92b8c1b9936d3f86c1cf410ca36b494f677bc3b4", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "Frontier" : [ + { + "hash" : "0x458708119c90c61ffa99d27a92b8c1b9936d3f86c1cf410ca36b494f677bc3b4", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x458708119c90c61ffa99d27a92b8c1b9936d3f86c1cf410ca36b494f677bc3b4", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x458708119c90c61ffa99d27a92b8c1b9936d3f86c1cf410ca36b494f677bc3b4", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x458708119c90c61ffa99d27a92b8c1b9936d3f86c1cf410ca36b494f677bc3b4", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x458708119c90c61ffa99d27a92b8c1b9936d3f86c1cf410ca36b494f677bc3b4", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x458708119c90c61ffa99d27a92b8c1b9936d3f86c1cf410ca36b494f677bc3b4", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x458708119c90c61ffa99d27a92b8c1b9936d3f86c1cf410ca36b494f677bc3b4", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x458708119c90c61ffa99d27a92b8c1b9936d3f86c1cf410ca36b494f677bc3b4", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x4913a843fbbb28522841c365fda4cc864fe0289326d4b3818fa411e69a48056a", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x572451704b993036d72ba5e2fbce35551573d5750623101e23c06c501ab45ce0", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x9b5302ee01f42b5282b0a0f4daf587e3e19797b71c1838524e0abb9daca74a79", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x9b5302ee01f42b5282b0a0f4daf587e3e19797b71c1838524e0abb9daca74a79", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 300000 (CALLDATALOAD 0) 0 0 0 0) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000600060006000600035620493e0fa600055", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "1000000000000000000", - "code" : "{ (CALL 150000 0x1000000000000000000000000000000000000002 0 0 0 0 0) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60006000600060006000731000000000000000000000000000000000000002620249f0f1", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "1000000000000000000", - "code" : "{ (CREATE 0 1 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600160016000f0", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "1000000000000000000", - "code" : "{ (DELEGATECALL 150000 0x1000000000000000000000000000000000000002 0 0 0 0) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000600060006000731000000000000000000000000000000000000002620249f0f4", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000004" : { - "balance" : "1000000000000000000", - "code" : "{ (STATICCALL 150000 0x1000000000000000000000000000000000000002 0 0 0 0) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000004" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000600060006000731000000000000000000000000000000000000002620249f0fa", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -107,14 +277,14 @@ "0x0000000000000000000000001000000000000000000000000000000000000004" ], "gasLimit" : [ - "1000000" + "0x0f4240" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callCreate2.json b/GeneralStateTests/stStaticCall/static_callCreate2.json index 2fbb4ee6b..0e558fd04 100644 --- a/GeneralStateTests/stStaticCall/static_callCreate2.json +++ b/GeneralStateTests/stStaticCall/static_callCreate2.json @@ -6,107 +6,208 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callCreate2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : 0, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0x10b8cf99d89c7993a5c2162c68114522ddc549018f0512e9e96a1cee6c1d3ed6", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x5fab2061f493c9343bbee1e7edc78914311aa34878145bc249c4e996bf7faf54", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x13136008b64ff592819b2fa6d43f2835c452020e", - "0x01" : "0x01" - } - } + { + "hash" : "0x5fab2061f493c9343bbee1e7edc78914311aa34878145bc249c4e996bf7faf54", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : 1, - "gas" : -1, - "value" : -1 + ], + "EIP158" : [ + { + "hash" : "0x10b8cf99d89c7993a5c2162c68114522ddc549018f0512e9e96a1cee6c1d3ed6", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x5fab2061f493c9343bbee1e7edc78914311aa34878145bc249c4e996bf7faf54", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000001" : { - "storage" : { - "0x00" : "0x5dddfce53ee040d9eb21afbc0ae1bb4dbb0ba643", - "0x01" : "0x00" - } + { + "hash" : "0x5fab2061f493c9343bbee1e7edc78914311aa34878145bc249c4e996bf7faf54", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 }, - "5dddfce53ee040d9eb21afbc0ae1bb4dbb0ba643" : { - "code" : "0x6001600155", - "storage" : { - } - } + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : 2, - "gas" : -1, - "value" : -1 + ], + "Frontier" : [ + { + "hash" : "0xd059e3df4c5983e3eb2aefe4e21ddec38cfb7e50985722e901cb284cfafdc821", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000001" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x00" - } - } + { + "hash" : "0x4f054fdf16893de1522c1f59ec9a4fd439ae5d7589f782a97b1b42d7d9624efb", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x4f054fdf16893de1522c1f59ec9a4fd439ae5d7589f782a97b1b42d7d9624efb", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "Homestead" : [ + { + "hash" : "0xd059e3df4c5983e3eb2aefe4e21ddec38cfb7e50985722e901cb284cfafdc821", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x4f054fdf16893de1522c1f59ec9a4fd439ae5d7589f782a97b1b42d7d9624efb", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x4f054fdf16893de1522c1f59ec9a4fd439ae5d7589f782a97b1b42d7d9624efb", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x3a8606384958c04ab62190291bd59e34e7027ba675e7030167d6414465d3ff0e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x9edc7af189337cc08709e50b3b1ebc8a57a6edb67681602c3aae95837708fae8", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x5fab2061f493c9343bbee1e7edc78914311aa34878145bc249c4e996bf7faf54", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (CREATE 1 0 0) [[ 1 ]] (STATICCALL 300000 (SLOAD 0) 0 0 0 0) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600060006001f06000556000600060006000600054620493e0fa600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 0 0x6460016001556000526005601bf3 ) [[ 0 ]] (CREATE 1 18 14) [[ 1 ]] (STATICCALL 300000 (SLOAD 0) 0 0 0 0) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6d6460016001556000526005601bf3600052600e60126001f06000556000600060006000600054620493e0fa600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 0 0x6460016001556000526005601bf3 ) [[ 0 ]] (CREATE 1 18 14) [[ 1 ]] (STATICCALL 300000 (SLOAD 0) 0 0 0 0) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6d6460016001556000526005601bf3600052600e60126001f06000556000600060006000600054620493e0fa6001555b61c3506080511015604757600160805101608052602f565b", + "nonce" : "0x00", "storage" : { } }, - "a000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ (CALL 600000 (CALLDATALOAD 0) 0 0 0 0 0) }", - "nonce" : "0", + "0xa000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60006000600060006000600035620927c0f1", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -118,14 +219,14 @@ "0x0000000000000000000000001000000000000000000000000000000000000002" ], "gasLimit" : [ - "1000000" + "0x0f4240" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "a000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0xa000000000000000000000000000000000000000", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callCreate3.json b/GeneralStateTests/stStaticCall/static_callCreate3.json index 7d885c338..3aba35996 100644 --- a/GeneralStateTests/stStaticCall/static_callCreate3.json +++ b/GeneralStateTests/stStaticCall/static_callCreate3.json @@ -6,53 +6,94 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callCreate3Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : 0, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x13136008b64ff592819b2fa6d43f2835c452020e", - "0x01" : "0x01", - "0x02" : "0x07a52c" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x6667373379d90d12444e57a2f1d8ebd76e77f5b0f4728528af7db63656f73abf", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x6667373379d90d12444e57a2f1d8ebd76e77f5b0f4728528af7db63656f73abf", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xbb4a6205f5e3b59953b554d0e9f501f1cd0869cb1d0a7fb2d2f30047b4ae617f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xbb4a6205f5e3b59953b554d0e9f501f1cd0869cb1d0a7fb2d2f30047b4ae617f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xa2655cccdd6db292d3ca596efcec973c768c33a68f99e6edda1fe2c6f024dc94", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 0 0x6d600060006000600030620186a0fa600052600e6012f3) [[ 0 ]] (CREATE 1 9 23) [[ 1 ]] (STATICCALL 30000 (SLOAD 0) 0 0 0 0) [[ 2 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x766d600060006000600030620186a0fa600052600e6012f3600052601760096001f06000556000600060006000600054617530fa6001555a600255", + "nonce" : "0x00", "storage" : { } }, - "a000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ (CALL 600000 (CALLDATALOAD 0) 0 0 0 0 0) }", - "nonce" : "0", + "0xa000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60006000600060006000600035620927c0f1", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -62,14 +103,14 @@ "0x0000000000000000000000001000000000000000000000000000000000000000" ], "gasLimit" : [ - "1000000" + "0x0f4240" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "a000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0xa000000000000000000000000000000000000000", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callOutput1.json b/GeneralStateTests/stStaticCall/static_callOutput1.json index c28c2393c..db5007810 100644 --- a/GeneralStateTests/stStaticCall/static_callOutput1.json +++ b/GeneralStateTests/stStaticCall/static_callOutput1.json @@ -6,51 +6,94 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callOutput1Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "1000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x0f4240", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x00" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0xdcda2f2506d8ab12525df357269e67542e003479bb625dc3daf0372a799c39a9", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xf57cc3cc70e027eeaae84a16969e046b31dac683e63ff8fc008489564833fadf", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xdcda2f2506d8ab12525df357269e67542e003479bb625dc3daf0372a799c39a9", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xdcda2f2506d8ab12525df357269e67542e003479bb625dc3daf0372a799c39a9", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xcca6c7bacf50f319336fdbcf913372f7e77d4d6aea7affe3d6d7227efb6fe15a", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 0 0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6) (STATICCALL 50000 0xaaae7baea6a6c7c4c2dfeb977efac326af552d87 0 0 0 0) [[ 0 ]] (MLOAD 0) }", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x7f5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6600052600060006000600073aaae7baea6a6c7c4c2dfeb977efac326af552d8761c350fa50600051600055", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", - "code" : "0x", - "nonce" : "0", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "", + "nonce" : "0x00", "storage" : { } }, - "aaae7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "1000000000000000000", + "0xaaae7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x0de0b6b3a7640000", "code" : "0x6001600101600055", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -60,14 +103,14 @@ "" ], "gasLimit" : [ - "1000000" + "0x0f4240" ], - "gasPrice" : "0", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x00", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callOutput2.json b/GeneralStateTests/stStaticCall/static_callOutput2.json index 001c97cee..701d4dcd2 100644 --- a/GeneralStateTests/stStaticCall/static_callOutput2.json +++ b/GeneralStateTests/stStaticCall/static_callOutput2.json @@ -6,51 +6,94 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callOutput2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "1000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x0f4240", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x00" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x74fb1943ccac07624e78e0095e705ae443a4b63808612ffcda05ff65c7641017", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x4b8ba8a78ccb66a9cdc5121a3c9583cfead49dda36d95742c7d3c834bb98bcbf", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x74fb1943ccac07624e78e0095e705ae443a4b63808612ffcda05ff65c7641017", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x74fb1943ccac07624e78e0095e705ae443a4b63808612ffcda05ff65c7641017", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x98397672a9ff65d8aac09897a5b84ec04723504cfe7f46e23b5a84683c0c8d3d", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 0 0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6) (STATICCALL 50000 0xaaae7baea6a6c7c4c2dfeb977efac326af552d87 0 32 0 0) [[ 0 ]] (MLOAD 0)}", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x7f5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6600052600060006020600073aaae7baea6a6c7c4c2dfeb977efac326af552d8761c350fa50600051600055", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", - "code" : "0x", - "nonce" : "0", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "", + "nonce" : "0x00", "storage" : { } }, - "aaae7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "1000000000000000000", + "0xaaae7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x0de0b6b3a7640000", "code" : "0x6001600101600055", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -60,14 +103,14 @@ "" ], "gasLimit" : [ - "1000000" + "0x0f4240" ], - "gasPrice" : "0", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x00", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callOutput3.json b/GeneralStateTests/stStaticCall/static_callOutput3.json index f506ab962..7227abe59 100644 --- a/GeneralStateTests/stStaticCall/static_callOutput3.json +++ b/GeneralStateTests/stStaticCall/static_callOutput3.json @@ -6,51 +6,94 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callOutput3Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "1000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x0f4240", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x00" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x94b2e25ea06e61afec651fc72c881f748d12df0a85a0b59e90cd045c95b39098", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x5bb10fa4353d6532f637333c2ab5f0c534049c8e72715b11b6194a170cfe826e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x94b2e25ea06e61afec651fc72c881f748d12df0a85a0b59e90cd045c95b39098", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x94b2e25ea06e61afec651fc72c881f748d12df0a85a0b59e90cd045c95b39098", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x7351d755bcda41e65209ea35b96115142fc1dd817a2a84b3bdb3ea309b20ede8", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 0 0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6) (STATICCALL 50000 0xaaae7baea6a6c7c4c2dfeb977efac326af552d87 0 0 0 32) [[ 0 ]] (MLOAD 0)}", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x7f5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6600052602060006000600073aaae7baea6a6c7c4c2dfeb977efac326af552d8761c350fa50600051600055", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", - "code" : "0x", - "nonce" : "0", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "", + "nonce" : "0x00", "storage" : { } }, - "aaae7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "1000000000000000000", + "0xaaae7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x0de0b6b3a7640000", "code" : "0x6001600101600055", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -60,14 +103,14 @@ "" ], "gasLimit" : [ - "1000000" + "0x0f4240" ], - "gasPrice" : "0", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x00", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callOutput3Fail.json b/GeneralStateTests/stStaticCall/static_callOutput3Fail.json index 8cb27d560..eba4d5301 100644 --- a/GeneralStateTests/stStaticCall/static_callOutput3Fail.json +++ b/GeneralStateTests/stStaticCall/static_callOutput3Fail.json @@ -6,51 +6,94 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callOutput3FailFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "1000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x0f4240", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x00" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x66a39518ae7bcd6103fe0a7afb975949ad2f9385c4ff9ac51f9787c9c40ab736", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x7678f54fad56cc9150c2be153fad75b3a4aa7fe8e65d00154a8376cb55a037a0", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x66a39518ae7bcd6103fe0a7afb975949ad2f9385c4ff9ac51f9787c9c40ab736", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x66a39518ae7bcd6103fe0a7afb975949ad2f9385c4ff9ac51f9787c9c40ab736", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x7c04be3b67c508c3748e758fc3311369f6e60db8a7e0063977643e234a269aea", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 0 0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6) (STATICCALL 50000 0xaaae7baea6a6c7c4c2dfeb977efac326af552d87 0 0 0 32) [[ 0 ]] (MLOAD 0)}", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x7f5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6600052602060006000600073aaae7baea6a6c7c4c2dfeb977efac326af552d8761c350fa50600051600055", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", - "code" : "0x", - "nonce" : "0", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "", + "nonce" : "0x00", "storage" : { } }, - "aaae7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "1000000000000000000", + "0xaaae7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x0de0b6b3a7640000", "code" : "0x016001600101600055", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -60,14 +103,14 @@ "" ], "gasLimit" : [ - "1000000" + "0x0f4240" ], - "gasPrice" : "0", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x00", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callOutput3partial.json b/GeneralStateTests/stStaticCall/static_callOutput3partial.json index 980bcc2e2..f069522ac 100644 --- a/GeneralStateTests/stStaticCall/static_callOutput3partial.json +++ b/GeneralStateTests/stStaticCall/static_callOutput3partial.json @@ -6,51 +6,94 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callOutput3partialFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "1000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x0f4240", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x00" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x43e4e92dfaf950b23a61a44e194fffa52bd9ee18821d8c735d915a117021f4ab", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x64d7853e9540e2e989967df6097d95ddfdb1e1350d948667a4e663f98292fcfc", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x43e4e92dfaf950b23a61a44e194fffa52bd9ee18821d8c735d915a117021f4ab", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x43e4e92dfaf950b23a61a44e194fffa52bd9ee18821d8c735d915a117021f4ab", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x2bd4fde32fa0decdf81d844f06c8c7ee39638c5ebaa30cb08cc80e7eaf95a1b0", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 0 0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6) (STATICCALL 50000 0xaaae7baea6a6c7c4c2dfeb977efac326af552d87 0 0 0 10) [[ 0 ]] (MLOAD 0)}", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x7f5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6600052600a60006000600073aaae7baea6a6c7c4c2dfeb977efac326af552d8761c350fa50600051600055", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", - "code" : "0x", - "nonce" : "0", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "", + "nonce" : "0x00", "storage" : { } }, - "aaae7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "1000000000000000000", + "0xaaae7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x0de0b6b3a7640000", "code" : "0x6001600101600055", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -60,14 +103,14 @@ "" ], "gasLimit" : [ - "1000000" + "0x0f4240" ], - "gasPrice" : "0", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x00", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callOutput3partialFail.json b/GeneralStateTests/stStaticCall/static_callOutput3partialFail.json index 6c4c8c189..a486a3369 100644 --- a/GeneralStateTests/stStaticCall/static_callOutput3partialFail.json +++ b/GeneralStateTests/stStaticCall/static_callOutput3partialFail.json @@ -6,51 +6,94 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callOutput3partialFailFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "1000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x0f4240", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x00" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x363c99ea485be79f75665c2e2163fec499d65c1144b405209d88c989f451d3ea", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xa24047f1310c69b4bd35bf0ef83d84cfa1998109834c3f85eb57c5b2d05b321f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x363c99ea485be79f75665c2e2163fec499d65c1144b405209d88c989f451d3ea", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x363c99ea485be79f75665c2e2163fec499d65c1144b405209d88c989f451d3ea", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x5146b697f8ab39ea6fdc15ed2d8e55dabd0797e21c8f277c1d1c2e239c620edf", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 0 0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6) (STATICCALL 50000 0xaaae7baea6a6c7c4c2dfeb977efac326af552d87 0 0 0 10) [[ 0 ]] (MLOAD 0)}", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x7f5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6600052600a60006000600073aaae7baea6a6c7c4c2dfeb977efac326af552d8761c350fa50600051600055", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", - "code" : "0x", - "nonce" : "0", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "", + "nonce" : "0x00", "storage" : { } }, - "aaae7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "1000000000000000000", + "0xaaae7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x0de0b6b3a7640000", "code" : "0x016001600101600055", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -60,14 +103,14 @@ "" ], "gasLimit" : [ - "1000000" + "0x0f4240" ], - "gasPrice" : "0", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x00", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callToCallCodeOpCodeCheck.json b/GeneralStateTests/stStaticCall/static_callToCallCodeOpCodeCheck.json index 998ed8e13..e4a873680 100644 --- a/GeneralStateTests/stStaticCall/static_callToCallCodeOpCodeCheck.json +++ b/GeneralStateTests/stStaticCall/static_callToCallCodeOpCodeCheck.json @@ -6,58 +6,101 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callToCallCodeOpCodeCheckFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0xbe52a420010514c20a0755b3a4848f702ca9dc6622dcd487f173e53b5362079e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xbe52a420010514c20a0755b3a4848f702ca9dc6622dcd487f173e53b5362079e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xbe52a420010514c20a0755b3a4848f702ca9dc6622dcd487f173e53b5362079e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xbe52a420010514c20a0755b3a4848f702ca9dc6622dcd487f173e53b5362079e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x9ee4a79f211e99a66a190f1ee07b9d8e55f8268da4e4d3bd8d1432f8044b40e5", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 100000 (CALLDATALOAD 0) 0 0 0 0) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000600060006000600035620186a0fa600055", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 0 (CALLCODE 100000 0x1000000000000000000000000000000000000002 0 0 0 0 0)) (if (= 1 (MLOAD 0)) (MSTORE 1 1) (SSTORE 1 1) ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60006000600060006000731000000000000000000000000000000000000002620186a0f26000526000516001146038576001600155603e565b60016001525b", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "1000000000000000000", - "code" : "{ (if (= 0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b (ORIGIN)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0x1000000000000000000000000000000000000001 (CALLER)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0x1000000000000000000000000000000000000001 (ADDRESS)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0 (CALLVALUE)) (MSTORE 1 1) (SSTORE 1 2) ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x3273a94f5374fce5edbc8e2a8697c15331677e6ebf0b1460225760026001556028565b60016001525b3373100000000000000000000000000000000000000114604b5760026001556051565b60016001525b30731000000000000000000000000000000000000001146074576002600155607a565b60016001525b34600014608a5760026001556090565b60016001525b", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -67,14 +110,14 @@ "0x0000000000000000000000001000000000000000000000000000000000000001" ], "gasLimit" : [ - "1000000" + "0x0f4240" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callToCallOpCodeCheck.json b/GeneralStateTests/stStaticCall/static_callToCallOpCodeCheck.json index 841369550..5bfd1c169 100644 --- a/GeneralStateTests/stStaticCall/static_callToCallOpCodeCheck.json +++ b/GeneralStateTests/stStaticCall/static_callToCallOpCodeCheck.json @@ -6,58 +6,101 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callToCallOpCodeCheckFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x48144ffd7a138f29a04d4982125f32049c1955c0689656d410f4c5c42ff1e9a4", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x48144ffd7a138f29a04d4982125f32049c1955c0689656d410f4c5c42ff1e9a4", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x48144ffd7a138f29a04d4982125f32049c1955c0689656d410f4c5c42ff1e9a4", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x48144ffd7a138f29a04d4982125f32049c1955c0689656d410f4c5c42ff1e9a4", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xa1263f951927904a54d7e668e89eb03b4cb2b173275f3db7bd77982aec9c4057", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 100000 (CALLDATALOAD 0) 0 0 0 0) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000600060006000600035620186a0fa600055", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 0 (CALL 100000 0x1000000000000000000000000000000000000002 0 0 0 0 0)) (if (= 1 (MLOAD 0)) (MSTORE 1 1) (SSTORE 1 1) ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60006000600060006000731000000000000000000000000000000000000002620186a0f16000526000516001146038576001600155603e565b60016001525b", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "1000000000000000000", - "code" : "{ (if (= 0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b (ORIGIN)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0x1000000000000000000000000000000000000001 (CALLER)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0x1000000000000000000000000000000000000002 (ADDRESS)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0 (CALLVALUE)) (MSTORE 1 1) (SSTORE 1 2) ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x3273a94f5374fce5edbc8e2a8697c15331677e6ebf0b1460225760026001556028565b60016001525b3373100000000000000000000000000000000000000114604b5760026001556051565b60016001525b30731000000000000000000000000000000000000002146074576002600155607a565b60016001525b34600014608a5760026001556090565b60016001525b", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -67,14 +110,14 @@ "0x0000000000000000000000001000000000000000000000000000000000000001" ], "gasLimit" : [ - "1000000" + "0x0f4240" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callToDelCallOpCodeCheck.json b/GeneralStateTests/stStaticCall/static_callToDelCallOpCodeCheck.json index c9bec3461..206d8a1b1 100644 --- a/GeneralStateTests/stStaticCall/static_callToDelCallOpCodeCheck.json +++ b/GeneralStateTests/stStaticCall/static_callToDelCallOpCodeCheck.json @@ -6,58 +6,101 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callToDelCallOpCodeCheckFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x4a05e190ca9b2aa6ea6bb26553943e38bc7d0fc5720214d0cede65006c02c5b3", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x4a05e190ca9b2aa6ea6bb26553943e38bc7d0fc5720214d0cede65006c02c5b3", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x4a05e190ca9b2aa6ea6bb26553943e38bc7d0fc5720214d0cede65006c02c5b3", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x4a05e190ca9b2aa6ea6bb26553943e38bc7d0fc5720214d0cede65006c02c5b3", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xf27b07631e1e35993285fd56e6e21dc79b16c4aa0710c20334773f1b9a4dc624", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 100000 (CALLDATALOAD 0) 0 0 0 0) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000600060006000600035620186a0fa600055", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 0 (DELEGATECALL 100000 0x1000000000000000000000000000000000000002 0 0 0 0)) (if (= 1 (MLOAD 0)) (MSTORE 1 1) (SSTORE 1 1) ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000600060006000731000000000000000000000000000000000000002620186a0f46000526000516001146036576001600155603c565b60016001525b", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "1000000000000000000", - "code" : "{ (if (= 0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b (ORIGIN)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0x1000000000000000000000000000000000000000 (CALLER)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0x1000000000000000000000000000000000000001 (ADDRESS)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0 (CALLVALUE)) (MSTORE 1 1) (SSTORE 1 2) ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x3273a94f5374fce5edbc8e2a8697c15331677e6ebf0b1460225760026001556028565b60016001525b3373100000000000000000000000000000000000000014604b5760026001556051565b60016001525b30731000000000000000000000000000000000000001146074576002600155607a565b60016001525b34600014608a5760026001556090565b60016001525b", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -67,14 +110,14 @@ "0x0000000000000000000000001000000000000000000000000000000000000001" ], "gasLimit" : [ - "1000000" + "0x0f4240" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callToStaticOpCodeCheck.json b/GeneralStateTests/stStaticCall/static_callToStaticOpCodeCheck.json index 4ad81a3a3..b26a67340 100644 --- a/GeneralStateTests/stStaticCall/static_callToStaticOpCodeCheck.json +++ b/GeneralStateTests/stStaticCall/static_callToStaticOpCodeCheck.json @@ -6,58 +6,101 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callToStaticOpCodeCheckFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0xf4fae6c9153d7bc9db07d90c1481e2d04fee420a1f5ce32eeeed2480907f7b1c", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xf4fae6c9153d7bc9db07d90c1481e2d04fee420a1f5ce32eeeed2480907f7b1c", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xf4fae6c9153d7bc9db07d90c1481e2d04fee420a1f5ce32eeeed2480907f7b1c", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xf4fae6c9153d7bc9db07d90c1481e2d04fee420a1f5ce32eeeed2480907f7b1c", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x84398cb8003abdfdfe57ab2377b14dbd83e4f7633e04f72784e45a387d5998c7", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 100000 (CALLDATALOAD 0) 0 0 0 0) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000600060006000600035620186a0fa600055", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 0 (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 0 0 0)) (if (= 1 (MLOAD 0)) (MSTORE 1 1) (SSTORE 1 1) ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000600060006000731000000000000000000000000000000000000002620186a0fa6000526000516001146036576001600155603c565b60016001525b", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "1000000000000000000", - "code" : "{ (if (= 0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b (ORIGIN)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0x1000000000000000000000000000000000000001 (CALLER)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0x1000000000000000000000000000000000000002 (ADDRESS)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0 (CALLVALUE)) (MSTORE 1 1) (SSTORE 1 2) ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x3273a94f5374fce5edbc8e2a8697c15331677e6ebf0b1460225760026001556028565b60016001525b3373100000000000000000000000000000000000000114604b5760026001556051565b60016001525b30731000000000000000000000000000000000000002146074576002600155607a565b60016001525b34600014608a5760026001556090565b60016001525b", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -67,14 +110,14 @@ "0x0000000000000000000000001000000000000000000000000000000000000001" ], "gasLimit" : [ - "1000000" + "0x0f4240" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callWithHighValue.json b/GeneralStateTests/stStaticCall/static_callWithHighValue.json index eedf5dec9..a6fc880a2 100644 --- a/GeneralStateTests/stStaticCall/static_callWithHighValue.json +++ b/GeneralStateTests/stStaticCall/static_callWithHighValue.json @@ -6,52 +6,94 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callWithHighValueFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x2d23ad" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x8f6045c603354ac947928942738084e0abca2b07d45b7a0b43cd805fb4d6846b", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x8f6045c603354ac947928942738084e0abca2b07d45b7a0b43cd805fb4d6846b", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x8f6045c603354ac947928942738084e0abca2b07d45b7a0b43cd805fb4d6846b", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x8f6045c603354ac947928942738084e0abca2b07d45b7a0b43cd805fb4d6846b", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x43f0bce54ba1b951c95f5c63d0583047a777f150fb4bf9c4b3b45227d5c34a4b", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 50000 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 64 0 2 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600260006040600073945304eb96065b2a98b57a48a06ae28d285a71b561c350fa6000555a600155", + "nonce" : "0x00", "storage" : { } }, - "945304eb96065b2a98b57a48a06ae28d285a71b5" : { - "balance" : "23", + "0x945304eb96065b2a98b57a48a06ae28d285a71b5" : { + "balance" : "0x17", "code" : "0x603760005360026000f3", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -61,14 +103,14 @@ "" ], "gasLimit" : [ - "3000000" + "0x2dc6c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callWithHighValueAndGasOOG.json b/GeneralStateTests/stStaticCall/static_callWithHighValueAndGasOOG.json index 44a4de3f6..721d0dbfc 100644 --- a/GeneralStateTests/stStaticCall/static_callWithHighValueAndGasOOG.json +++ b/GeneralStateTests/stStaticCall/static_callWithHighValueAndGasOOG.json @@ -6,52 +6,94 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callWithHighValueAndGasOOGFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x3700ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x84929503ecc3a6ca10a1363609e30a3dbe5c30dba222949c206e4e5e795b7583", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x84929503ecc3a6ca10a1363609e30a3dbe5c30dba222949c206e4e5e795b7583", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x84929503ecc3a6ca10a1363609e30a3dbe5c30dba222949c206e4e5e795b7583", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x84929503ecc3a6ca10a1363609e30a3dbe5c30dba222949c206e4e5e795b7583", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x2dc5f18cf4be4b9d74d62fa5cd928596a3ee658b4cc84fa2462f1017d5a2a846", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (STATICCALL 0xffffffffffffffffffffffff 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 64 0 2 ) [[ 1 ]] (MLOAD 0)}", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6000527faaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa602052600260006040600073945304eb96065b2a98b57a48a06ae28d285a71b56bfffffffffffffffffffffffffa600055600051600155", + "nonce" : "0x00", "storage" : { } }, - "945304eb96065b2a98b57a48a06ae28d285a71b5" : { - "balance" : "23", + "0x945304eb96065b2a98b57a48a06ae28d285a71b5" : { + "balance" : "0x17", "code" : "0x603760005360026000f3", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -61,14 +103,14 @@ "" ], "gasLimit" : [ - "3000000" + "0x2dc6c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callWithHighValueAndOOGatTxLevel.json b/GeneralStateTests/stStaticCall/static_callWithHighValueAndOOGatTxLevel.json index ae8f04fc5..3453a57ae 100644 --- a/GeneralStateTests/stStaticCall/static_callWithHighValueAndOOGatTxLevel.json +++ b/GeneralStateTests/stStaticCall/static_callWithHighValueAndOOGatTxLevel.json @@ -6,54 +6,94 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callWithHighValueAndOOGatTxLevelFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x00" : "0x01" - } + "post" : { + "EIP150" : [ + { + "hash" : "0xc632274ed416f6b4e1c235e385b68b35b4a5de30439b29022b44ae82ef5739b0", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : { - "balance" : "46751" - } + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xc632274ed416f6b4e1c235e385b68b35b4a5de30439b29022b44ae82ef5739b0", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xc632274ed416f6b4e1c235e385b68b35b4a5de30439b29022b44ae82ef5739b0", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xc632274ed416f6b4e1c235e385b68b35b4a5de30439b29022b44ae82ef5739b0", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x0e1e66ad160afa3d483690630b23d6322d2e5593a300637fffa265251977df82", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "100000", - "code" : "{ [[ 0 ]] (STATICCALL 3000001 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0 ) [[ 1 ]] (MLOAD 0) }", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x0186a0", + "code" : "0x600060006000600073945304eb96065b2a98b57a48a06ae28d285a71b5622dc6c1fa600055600051600155", + "nonce" : "0x00", "storage" : { } }, - "945304eb96065b2a98b57a48a06ae28d285a71b5" : { - "balance" : "23", + "0x945304eb96065b2a98b57a48a06ae28d285a71b5" : { + "balance" : "0x17", "code" : "0x603760005360026000f3", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -63,14 +103,14 @@ "" ], "gasLimit" : [ - "3000000" + "0x2dc6c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callWithHighValueOOGinCall.json b/GeneralStateTests/stStaticCall/static_callWithHighValueOOGinCall.json index 5f7f748e0..081e87748 100644 --- a/GeneralStateTests/stStaticCall/static_callWithHighValueOOGinCall.json +++ b/GeneralStateTests/stStaticCall/static_callWithHighValueOOGinCall.json @@ -6,51 +6,94 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callWithHighValueOOGinCallFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x00" : "0x01" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x866830f0ed3b6a92449b793e9dbbcb46a989e0a0213fa3ac379ac2e7ba5c89e3", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x866830f0ed3b6a92449b793e9dbbcb46a989e0a0213fa3ac379ac2e7ba5c89e3", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x866830f0ed3b6a92449b793e9dbbcb46a989e0a0213fa3ac379ac2e7ba5c89e3", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x866830f0ed3b6a92449b793e9dbbcb46a989e0a0213fa3ac379ac2e7ba5c89e3", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xf46d27e071984a9d34e79b8eff431c47ea75a4016ef8aff6b4895fe7fe2374ce", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "100000", - "code" : "{ [[ 0 ]] (ADD (STATICCALL 10 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0 ) 1) [[ 1 ]] (MLOAD 0) }", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x0186a0", + "code" : "0x6001600060006000600073945304eb96065b2a98b57a48a06ae28d285a71b5600afa01600055600051600155", + "nonce" : "0x00", "storage" : { } }, - "945304eb96065b2a98b57a48a06ae28d285a71b5" : { - "balance" : "23", + "0x945304eb96065b2a98b57a48a06ae28d285a71b5" : { + "balance" : "0x17", "code" : "0x603760005360026000f3", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -60,14 +103,14 @@ "" ], "gasLimit" : [ - "3000000" + "0x2dc6c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_call_OOG_additionalGasCosts1.json b/GeneralStateTests/stStaticCall/static_call_OOG_additionalGasCosts1.json index 525e9b4bb..22d44ffb9 100644 --- a/GeneralStateTests/stStaticCall/static_call_OOG_additionalGasCosts1.json +++ b/GeneralStateTests/stStaticCall/static_call_OOG_additionalGasCosts1.json @@ -6,42 +6,87 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_call_OOG_additionalGasCosts1Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "3000000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0xb2d05e00", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : { - "balance" : "30000" - } + "post" : { + "EIP150" : [ + { + "hash" : "0x0a39a026a13e02b20833e7367fec666478b287a88cfdb85c18453705f8d23452", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x0a39a026a13e02b20833e7367fec666478b287a88cfdb85c18453705f8d23452", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x0a39a026a13e02b20833e7367fec666478b287a88cfdb85c18453705f8d23452", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x0a39a026a13e02b20833e7367fec666478b287a88cfdb85c18453705f8d23452", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x0a39a026a13e02b20833e7367fec666478b287a88cfdb85c18453705f8d23452", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 6000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6040600060406000731000000000000000000000000000000000000001611770fa6000555a600155", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -51,14 +96,14 @@ "" ], "gasLimit" : [ - "30000" + "0x7530" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_call_OOG_additionalGasCosts2.json b/GeneralStateTests/stStaticCall/static_call_OOG_additionalGasCosts2.json index 657cddfb7..82090c0ba 100644 --- a/GeneralStateTests/stStaticCall/static_call_OOG_additionalGasCosts2.json +++ b/GeneralStateTests/stStaticCall/static_call_OOG_additionalGasCosts2.json @@ -6,56 +6,94 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_call_OOG_additionalGasCosts2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "3000000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0xb2d05e00", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - } + "post" : { + "EIP150" : [ + { + "hash" : "0xf240ca301e6fa6308b5c40ba6a0a2be9fd078fa1dd1b3d6c9570a7c0934239eb", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000001" : { - "balance" : "0" + "logs" : [ + ] + } + ], + "EIP158" : [ + { + "hash" : "0xf240ca301e6fa6308b5c40ba6a0a2be9fd078fa1dd1b3d6c9570a7c0934239eb", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : { - "balance" : "0x7530" - } + "logs" : [ + ] } - } - ], + ], + "Frontier" : [ + { + "hash" : "0xf240ca301e6fa6308b5c40ba6a0a2be9fd078fa1dd1b3d6c9570a7c0934239eb", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xf240ca301e6fa6308b5c40ba6a0a2be9fd078fa1dd1b3d6c9570a7c0934239eb", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xf240ca301e6fa6308b5c40ba6a0a2be9fd078fa1dd1b3d6c9570a7c0934239eb", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 6000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6040600060406000731000000000000000000000000000000000000001611770fa6000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -65,14 +103,14 @@ "" ], "gasLimit" : [ - "30000" + "0x7530" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_call_value_inherit.json b/GeneralStateTests/stStaticCall/static_call_value_inherit.json index e9d3160e4..0324ad04e 100644 --- a/GeneralStateTests/stStaticCall/static_call_value_inherit.json +++ b/GeneralStateTests/stStaticCall/static_call_value_inherit.json @@ -6,53 +6,95 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_call_value_inheritFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "094f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "storage" : { - "0x0" : "0x1", - "0x1" : "0x0" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0xc5d9e23a003e568560c82fdfd24f2bf6d127c46de7f72c54d9f778d62fa74fbf", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xc5d9e23a003e568560c82fdfd24f2bf6d127c46de7f72c54d9f778d62fa74fbf", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xc5d9e23a003e568560c82fdfd24f2bf6d127c46de7f72c54d9f778d62fa74fbf", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xc5d9e23a003e568560c82fdfd24f2bf6d127c46de7f72c54d9f778d62fa74fbf", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x89ea1ffb32a55407e6ad55d9ec39a8a27edb0397a3c3a40ac2b84072cdea6f78", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "094f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1", - "code" : "{ [[0]] (STATICCALL 50000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 32) [[1]] (MLOAD 0) }", - "nonce" : "0", + "0x094f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x01", + "code" : "0x602060006000600073c94f5374fce5edbc8e2a8697c15331677e6ebf0b61c350fa600055600051600155", + "nonce" : "0x00", "storage" : { - "0x1" : "1" + "0x01" : "0x01" } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0xe8d4a51000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1", - "code" : "{ (MSTORE 0 (CALLVALUE)) (RETURN 0 32) }", - "nonce" : "0", + "0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x01", + "code" : "0x3460005260206000f3", + "nonce" : "0x00", "storage" : { } } @@ -62,14 +104,14 @@ "" ], "gasLimit" : [ - "460000" + "0x0704e0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "094f5374fce5edbc8e2a8697c15331677e6ebf0b", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x094f5374fce5edbc8e2a8697c15331677e6ebf0b", "value" : [ - "10" + "0x0a" ] } } diff --git a/GeneralStateTests/stStaticCall/static_call_value_inherit_from_call.json b/GeneralStateTests/stStaticCall/static_call_value_inherit_from_call.json index 9beca7a04..5b1b39872 100644 --- a/GeneralStateTests/stStaticCall/static_call_value_inherit_from_call.json +++ b/GeneralStateTests/stStaticCall/static_call_value_inherit_from_call.json @@ -6,60 +6,102 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_call_value_inherit_from_callFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "094f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "storage" : { - "0x0" : "0x1", - "0x1" : "0x0" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x68a0e8cef995f94a37114ca57ad3b172c6de346f3cb333a806ebb7a0cd2b6005", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x68a0e8cef995f94a37114ca57ad3b172c6de346f3cb333a806ebb7a0cd2b6005", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x7fe3f4754897e3ffa189561ff6d94e43c6dc2fbaffa299037c73740099d9100f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x7fe3f4754897e3ffa189561ff6d94e43c6dc2fbaffa299037c73740099d9100f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xa029c69b1ece1e1d9b91446b4029a16f25e89aca3c78e66a39d16cf8ee71ad66", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "094f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1", - "code" : "{ [[0]] (STATICCALL 50000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 32) [[1]] (MLOAD 0) }", - "nonce" : "0", + "0x094f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x01", + "code" : "0x602060006000600073c94f5374fce5edbc8e2a8697c15331677e6ebf0b61c350fa600055600051600155", + "nonce" : "0x00", "storage" : { - "0x1" : "1" + "0x01" : "0x01" } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0xe8d4a51000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "c8b90f8d999d9d9988209481999a9889098a89a0" : { - "balance" : "0", - "code" : "{ (CALL 100000 0x094f5374fce5edbc8e2a8697c15331677e6ebf0b 10 0 0 0 0) }", - "nonce" : "0", + "0xc8b90f8d999d9d9988209481999a9889098a89a0" : { + "balance" : "0x00", + "code" : "0x6000600060006000600a73094f5374fce5edbc8e2a8697c15331677e6ebf0b620186a0f1", + "nonce" : "0x00", "storage" : { } }, - "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1", - "code" : "{ (MSTORE 0 (CALLVALUE)) (RETURN 0 32) }", - "nonce" : "0", + "0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x01", + "code" : "0x3460005260206000f3", + "nonce" : "0x00", "storage" : { } } @@ -69,14 +111,14 @@ "" ], "gasLimit" : [ - "460000" + "0x0704e0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "c8b90f8d999d9d9988209481999a9889098a89a0", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0xc8b90f8d999d9d9988209481999a9889098a89a0", "value" : [ - "10" + "0x0a" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcall_00.json b/GeneralStateTests/stStaticCall/static_callcall_00.json index 277069709..cbe7e394b 100644 --- a/GeneralStateTests/stStaticCall/static_callcall_00.json +++ b/GeneralStateTests/stStaticCall/static_callcall_00.json @@ -6,139 +6,179 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcall_00Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : 0, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0xa56f03e8f4202c99bd39219b63a6b4b7998005401bb2d9d6a06b3b9a7b289dfc", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01" - } + { + "hash" : "0xa56f03e8f4202c99bd39219b63a6b4b7998005401bb2d9d6a06b3b9a7b289dfc", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000002" : { - "storage" : { - "0x02" : "0x00", - "0x04" : "0x00", - "0x07" : "0x00", - "0xe6" : "0x00", - "0xe8" : "0x00", - "0xec" : "0x00", - "0xee" : "0x00", - "0xf0" : "0x00" - } + "logs" : [ + ] + } + ], + "EIP158" : [ + { + "hash" : "0xa56f03e8f4202c99bd39219b63a6b4b7998005401bb2d9d6a06b3b9a7b289dfc", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xa56f03e8f4202c99bd39219b63a6b4b7998005401bb2d9d6a06b3b9a7b289dfc", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "a000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x28fea6" - } - } + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : 1, - "gas" : -1, - "value" : -1 + ], + "Frontier" : [ + { + "hash" : "0x8bcc5b5581f6ee23ddbbd5a93f1f4588826db595e695e98eabe8444f4a339b3a", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x8bcc5b5581f6ee23ddbbd5a93f1f4588826db595e695e98eabe8444f4a339b3a", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x8bcc5b5581f6ee23ddbbd5a93f1f4588826db595e695e98eabe8444f4a339b3a", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "2000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01" - } + { + "hash" : "0x8bcc5b5581f6ee23ddbbd5a93f1f4588826db595e695e98eabe8444f4a339b3a", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xd6f289168402ca1dfbb871fe608ed3096126165304d525f91c7c8d18148e9eca", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "2000000000000000000000000000000000000002" : { - "storage" : { - "0x02" : "0x00", - "0x04" : "0x00", - "0x07" : "0x00", - "0xe6" : "0x00", - "0xe8" : "0x00", - "0xec" : "0x00", - "0xee" : "0x00", - "0xf0" : "0x00" - } + "logs" : [ + ] + }, + { + "hash" : "0x77399cc4286fe72df69cceb346f61cc2e15ef10efb4ea597735bc149ccd9908d", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "a000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x2ccedd" - } - } + "logs" : [ + ] } - } - ], + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 350000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x604060006040600073100000000000000000000000000000000000000162055730fa600055", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "1000000000000000000", - "code" : "{ (STATICCALL 250000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60406000604060007310000000000000000000000000000000000000026203d090fa", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (SSTORE 2 1) (SSTORE 4 (CALLER)) (SSTORE 7 (CALLVALUE)) (SSTORE 230 (ADDRESS)) (SSTORE 232 (ORIGIN)) (SSTORE 236 (CALLDATASIZE)) (SSTORE 238 (CODESIZE)) (SSTORE 240 (GASPRICE))}", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x600160025533600455346007553060e6553260e8553660ec553860ee553a60f055", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 350000 0x2000000000000000000000000000000000000001 0 64 0 64 ) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x604060006040600073200000000000000000000000000000000000000162055730fa600055", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000001" : { - "balance" : "1000000000000000000", - "code" : "{ (STATICCALL 250000 0x2000000000000000000000000000000000000002 0 64 0 64 ) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000001" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60406000604060007320000000000000000000000000000000000000026203d090fa", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (MSTORE 0 1) (MSTORE 32 (CALLER)) (MSTORE 64 (CALLVALUE)) (MSTORE 96 (ADDRESS)) (MSTORE 128 (ORIGIN)) (MSTORE 160 (CALLDATASIZE)) (MSTORE 192 (CODESIZE)) (MSTORE 224 (GASPRICE))}", - "nonce" : "0", + "0x2000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x6001600052336020523460405230606052326080523660a0523860c0523a60e052", + "nonce" : "0x00", "storage" : { } }, - "a000000000000000000000000000000000000000" : { - "balance" : "0", - "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0xa000000000000000000000000000000000000000" : { + "balance" : "0x00", + "code" : "0x6000600060006000346000355af16000555a600155", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -149,14 +189,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000000" ], "gasLimit" : [ - "3000000" + "0x2dc6c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "a000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0xa000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcall_00_OOGE.json b/GeneralStateTests/stStaticCall/static_callcall_00_OOGE.json index c71fa37f5..501d54150 100644 --- a/GeneralStateTests/stStaticCall/static_callcall_00_OOGE.json +++ b/GeneralStateTests/stStaticCall/static_callcall_00_OOGE.json @@ -6,141 +6,179 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcall_00_OOGEFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : 0, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0xadf82e6d41108122b66a95932bb0897772c3e2674625830012fc3401a7d33a06", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x00", - "0x02" : "0x00" - } + { + "hash" : "0xadf82e6d41108122b66a95932bb0897772c3e2674625830012fc3401a7d33a06", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000001" : { - "storage" : { - "0x01" : "0x00", - "0x02" : "0x00" - } + "logs" : [ + ] + } + ], + "EIP158" : [ + { + "hash" : "0xadf82e6d41108122b66a95932bb0897772c3e2674625830012fc3401a7d33a06", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000002" : { - "storage" : { - "0x02" : "0x00" - } + "logs" : [ + ] + }, + { + "hash" : "0xadf82e6d41108122b66a95932bb0897772c3e2674625830012fc3401a7d33a06", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "a000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x015a0e" - } - } + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : 1, - "gas" : -1, - "value" : -1 + ], + "Frontier" : [ + { + "hash" : "0xadf82e6d41108122b66a95932bb0897772c3e2674625830012fc3401a7d33a06", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xadf82e6d41108122b66a95932bb0897772c3e2674625830012fc3401a7d33a06", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xadf82e6d41108122b66a95932bb0897772c3e2674625830012fc3401a7d33a06", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "2000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x00", - "0x02" : "0x00" - } + { + "hash" : "0xadf82e6d41108122b66a95932bb0897772c3e2674625830012fc3401a7d33a06", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "2000000000000000000000000000000000000001" : { - "storage" : { - "0x01" : "0x00", - "0x02" : "0x00" - } + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xf1a37027d9a02feb0d3656e3be65843a243640769eb15407306b5432373cb0de", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "2000000000000000000000000000000000000002" : { - "storage" : { - "0x02" : "0x00" - } + "logs" : [ + ] + }, + { + "hash" : "0x64f889d7d71c70266fcfa9146f0a850556ca1e93b01d5ce6e3f2b24b8621128a", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "a000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x015a0e" - } - } + "logs" : [ + ] } - } - ], + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0fa600055", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (MSTORE 2 1) (STATICCALL 20020 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 32 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x60016002526040600060406000731000000000000000000000000000000000000002614e34fa506001602052", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (SSTORE 2 1) (MSTORE 2 1)}", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x60016002556001600252", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 150000 0x2000000000000000000000000000000000000001 0 64 0 64 ) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6040600060406000732000000000000000000000000000000000000001620249f0fa600055", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (MSTORE 2 1) (STATICCALL 20020 0x2000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 32 1) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x60016002526040600060406000732000000000000000000000000000000000000002614e34fa506001602052", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1) )}", - "nonce" : "0", + "0x2000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x5b61c35060805110156018576001608051016080526000565b", + "nonce" : "0x00", "storage" : { } }, - "a000000000000000000000000000000000000000" : { - "balance" : "0", - "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0xa000000000000000000000000000000000000000" : { + "balance" : "0x00", + "code" : "0x6000600060006000346000355af16000555a600155", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -151,14 +189,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000000" ], "gasLimit" : [ - "172000" + "0x029fe0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "a000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0xa000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcall_00_OOGE_1.json b/GeneralStateTests/stStaticCall/static_callcall_00_OOGE_1.json index 671ebfd0c..689419bcd 100644 --- a/GeneralStateTests/stStaticCall/static_callcall_00_OOGE_1.json +++ b/GeneralStateTests/stStaticCall/static_callcall_00_OOGE_1.json @@ -6,127 +6,179 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcall_00_OOGE_1Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : 0, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0x583ce657ea168b99f3821753ea1e1ba4244a2dc96f3a142105e845c60ebc7650", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01" - } + { + "hash" : "0x583ce657ea168b99f3821753ea1e1ba4244a2dc96f3a142105e845c60ebc7650", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000002" : { - "storage" : { - "0x02" : "0x00", - "0x05" : "0x00" - } + "logs" : [ + ] + } + ], + "EIP158" : [ + { + "hash" : "0x583ce657ea168b99f3821753ea1e1ba4244a2dc96f3a142105e845c60ebc7650", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x583ce657ea168b99f3821753ea1e1ba4244a2dc96f3a142105e845c60ebc7650", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "a000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x034e64" - } - } + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : 1, - "gas" : -1, - "value" : -1 + ], + "Frontier" : [ + { + "hash" : "0x583ce657ea168b99f3821753ea1e1ba4244a2dc96f3a142105e845c60ebc7650", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x583ce657ea168b99f3821753ea1e1ba4244a2dc96f3a142105e845c60ebc7650", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x583ce657ea168b99f3821753ea1e1ba4244a2dc96f3a142105e845c60ebc7650", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "2000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01" - } + { + "hash" : "0x583ce657ea168b99f3821753ea1e1ba4244a2dc96f3a142105e845c60ebc7650", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xafba521c7aa8b1f1c0666422eae13c531f805c64b378486df33bc5d7e2a0219a", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "2000000000000000000000000000000000000002" : { - "storage" : { - "0x02" : "0x00", - "0x05" : "0x00" - } + "logs" : [ + ] + }, + { + "hash" : "0x6b0ccc961d5fd86789f4d793e52c0d201392db30060390b8139aaf624f7456b7", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "a000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x034e64" - } - } + "logs" : [ + ] } - } - ], + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0fa600055", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 2 1) (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 32 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60016002526040600060406000731000000000000000000000000000000000000002620186a0fa506001602052", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (SSTORE 2 1) (SSTORE 5 (CALLVALUE)) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x600160025534600555", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 150000 0x2000000000000000000000000000000000000001 0 64 0 64 ) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6040600060406000732000000000000000000000000000000000000001620249f0fa600055", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000001" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 2 1) (STATICCALL 100000 0x2000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 32 1) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000001" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60016002526040600060406000732000000000000000000000000000000000000002620186a0fa506001602052", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1) ) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x5b61c35060805110156018576001608051016080526000565b", + "nonce" : "0x00", "storage" : { } }, - "a000000000000000000000000000000000000000" : { - "balance" : "0", - "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0xa000000000000000000000000000000000000000" : { + "balance" : "0x00", + "code" : "0x6000600060006000346000355af16000555a600155", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -137,14 +189,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000000" ], "gasLimit" : [ - "380066" + "0x05cca2" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "a000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0xa000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcall_00_OOGE_2.json b/GeneralStateTests/stStaticCall/static_callcall_00_OOGE_2.json index d7a3d5879..d341436fc 100644 --- a/GeneralStateTests/stStaticCall/static_callcall_00_OOGE_2.json +++ b/GeneralStateTests/stStaticCall/static_callcall_00_OOGE_2.json @@ -6,98 +6,179 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcall_00_OOGE_2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0xdf8c2e3b01aa4e523579122fd06555eca734937a5f45f7a2c428996d30ce4235", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x00" - } + { + "hash" : "0xdf8c2e3b01aa4e523579122fd06555eca734937a5f45f7a2c428996d30ce4235", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "EIP158" : [ + { + "hash" : "0xdf8c2e3b01aa4e523579122fd06555eca734937a5f45f7a2c428996d30ce4235", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000002" : { - "storage" : { - "0x02" : "0x00", - "0x05" : "0x00" - } + "logs" : [ + ] + }, + { + "hash" : "0xdf8c2e3b01aa4e523579122fd06555eca734937a5f45f7a2c428996d30ce4235", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "a000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x00" - } - } + "logs" : [ + ] } - } - ], + ], + "Frontier" : [ + { + "hash" : "0xdf8c2e3b01aa4e523579122fd06555eca734937a5f45f7a2c428996d30ce4235", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xdf8c2e3b01aa4e523579122fd06555eca734937a5f45f7a2c428996d30ce4235", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xdf8c2e3b01aa4e523579122fd06555eca734937a5f45f7a2c428996d30ce4235", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xdf8c2e3b01aa4e523579122fd06555eca734937a5f45f7a2c428996d30ce4235", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xdf8c2e3b01aa4e523579122fd06555eca734937a5f45f7a2c428996d30ce4235", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xdf8c2e3b01aa4e523579122fd06555eca734937a5f45f7a2c428996d30ce4235", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0fa600055", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 2 1) (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 32 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60016002526040600060406000731000000000000000000000000000000000000002620186a0fa506001602052", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (SSTORE 2 1) (SSTORE 5 (CALLVALUE)) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x600160025534600555", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 150000 0x2000000000000000000000000000000000000001 0 64 0 64 ) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6040600060406000732000000000000000000000000000000000000001620249f0fa600055", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000001" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 2 1) (STATICCALL 100000 0x2000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 32 1) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000001" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60016002526040600060406000732000000000000000000000000000000000000002620186a0fa506001602052", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1) ) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x5b61c35060805110156018576001608051016080526000565b", + "nonce" : "0x00", "storage" : { } }, - "a000000000000000000000000000000000000000" : { - "balance" : "0", - "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0xa000000000000000000000000000000000000000" : { + "balance" : "0x00", + "code" : "0x6000600060006000346000355af16000555a600155", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -108,14 +189,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000000" ], "gasLimit" : [ - "150066" + "0x024a32" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "a000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0xa000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcall_00_SuicideEnd.json b/GeneralStateTests/stStaticCall/static_callcall_00_SuicideEnd.json index 3069a9318..0d5fc134c 100644 --- a/GeneralStateTests/stStaticCall/static_callcall_00_SuicideEnd.json +++ b/GeneralStateTests/stStaticCall/static_callcall_00_SuicideEnd.json @@ -6,65 +6,101 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcall_00_SuicideEndFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "ALL" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "storage" : { - "0x00" : "0x00" - } + "post" : { + "EIP150" : [ + { + "hash" : "0x7148f4c9a4da248151f24ada15e9c6a9c0b09fb2f92ed9ee6908edebd81454c7", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000002" : { - "balance" : "10000000000", - "storage" : { - "0x02" : "0x00" - } - } + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x7148f4c9a4da248151f24ada15e9c6a9c0b09fb2f92ed9ee6908edebd81454c7", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x7148f4c9a4da248151f24ada15e9c6a9c0b09fb2f92ed9ee6908edebd81454c7", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x7148f4c9a4da248151f24ada15e9c6a9c0b09fb2f92ed9ee6908edebd81454c7", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x7335c77db0b249f557e0346c7f7e732c58d8895334cbb8727dbede8ae5c8bff7", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0fa600055", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "10000000000", - "code" : "{ (MSTORE 32 1) (STATICCALL 50000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000000) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x02540be400", + "code" : "0x6001602052604060006040600073100000000000000000000000000000000000000261c350fa50731000000000000000000000000000000000000000ff", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "10000000000", - "code" : "{ (MSTORE 2 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x02540be400", + "code" : "0x6001600252", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -74,14 +110,14 @@ "" ], "gasLimit" : [ - "3000000" + "0x2dc6c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcall_000.json b/GeneralStateTests/stStaticCall/static_callcallcall_000.json index 540cffa1d..abe3b440b 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcall_000.json +++ b/GeneralStateTests/stStaticCall/static_callcallcall_000.json @@ -6,169 +6,193 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcall_000Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : 0, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01" - } + "post" : { + "EIP150" : [ + { + "hash" : "0x2366cc1425f25a94027ba85103786087aada2ba103c56840dfd16238c88c9423", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000001" : { - "storage" : { - } + "logs" : [ + ] + }, + { + "hash" : "0x2366cc1425f25a94027ba85103786087aada2ba103c56840dfd16238c88c9423", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000002" : { - "storage" : { - } + "logs" : [ + ] + } + ], + "EIP158" : [ + { + "hash" : "0x2366cc1425f25a94027ba85103786087aada2ba103c56840dfd16238c88c9423", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000003" : { - "storage" : { - "0x014a" : "0x00", - "0x014c" : "0x00", - "0x0150" : "0x00", - "0x0152" : "0x00", - "0x0154" : "0x00", - "0x03" : "0x00", - "0x04" : "0x00", - "0x07" : "0x00" - } + "logs" : [ + ] + }, + { + "hash" : "0x2366cc1425f25a94027ba85103786087aada2ba103c56840dfd16238c88c9423", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "a000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x28fbaa" - } - } + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : 1, - "gas" : -1, - "value" : -1 + ], + "Frontier" : [ + { + "hash" : "0x29731d5bd892c9c659d856da2810960cecc7b37afacbe1700c43ed5ec0e786cf", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "2000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01" - } + { + "hash" : "0x29731d5bd892c9c659d856da2810960cecc7b37afacbe1700c43ed5ec0e786cf", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x29731d5bd892c9c659d856da2810960cecc7b37afacbe1700c43ed5ec0e786cf", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "2000000000000000000000000000000000000001" : { - "storage" : { - } + "logs" : [ + ] + }, + { + "hash" : "0x29731d5bd892c9c659d856da2810960cecc7b37afacbe1700c43ed5ec0e786cf", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "2000000000000000000000000000000000000002" : { - "storage" : { - } + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x869d1e38e0df70852bb9b7d1bce10247bf70998a291c86fb0763e1e744c23e34", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "2000000000000000000000000000000000000003" : { - "storage" : { - "0x014a" : "0x00", - "0x014c" : "0x00", - "0x0150" : "0x00", - "0x0152" : "0x00", - "0x0154" : "0x00", - "0x03" : "0x00", - "0x04" : "0x00", - "0x07" : "0x00" - } + "logs" : [ + ] + }, + { + "hash" : "0x9c6e09a5bcec1aff2eae576af0a35a2955adc8fce906e914744fb14c07b5021d", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "a000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x2ccc2b" - } - } + "logs" : [ + ] } - } - ], + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 350000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x604060006040600073100000000000000000000000000000000000000162055730fa600055", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 3 1) (STATICCALL 300000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 32 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60016003526040600060406000731000000000000000000000000000000000000002620493e0fa506001602052", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 3 1) (STATICCALL 250000 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 32 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600160035260406000604060007310000000000000000000000000000000000000036203d090fa506001602052", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (SSTORE 3 1) (SSTORE 4 (CALLER)) (SSTORE 7 (CALLVALUE)) (SSTORE 330 (ADDRESS)) (SSTORE 332 (ORIGIN)) (SSTORE 336 (CALLDATASIZE)) (SSTORE 338 (CODESIZE)) (SSTORE 340 (GASPRICE))}", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x600160035533600455346007553061014a553261014c55366101505538610152553a61015455", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 350000 0x2000000000000000000000000000000000000001 0 64 0 64 ) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x604060006040600073200000000000000000000000000000000000000162055730fa600055", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000001" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 3 1) (STATICCALL 300000 0x2000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 32 1) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000001" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60016003526040600060406000732000000000000000000000000000000000000002620493e0fa506001602052", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000002" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 3 1) (STATICCALL 250000 0x2000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 32 1) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000002" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600160035260406000604060007320000000000000000000000000000000000000036203d090fa506001602052", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "a000000000000000000000000000000000000000" : { - "balance" : "0", - "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0xa000000000000000000000000000000000000000" : { + "balance" : "0x00", + "code" : "0x6000600060006000346000355af16000555a600155", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -179,14 +203,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000000" ], "gasLimit" : [ - "3000000" + "0x2dc6c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "a000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0xa000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcall_000_OOGE.json b/GeneralStateTests/stStaticCall/static_callcallcall_000_OOGE.json index 64dc52186..6dd0d5cce 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcall_000_OOGE.json +++ b/GeneralStateTests/stStaticCall/static_callcallcall_000_OOGE.json @@ -6,145 +6,193 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcall_000_OOGEFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : 0, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0xa3530bdf22c8772863e71533e619318c8f387e76916082cc18a520299467654f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x00", - "0x02" : "0x00", - "0x03" : "0x00" - } + { + "hash" : "0xa3530bdf22c8772863e71533e619318c8f387e76916082cc18a520299467654f", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000001" : { - "storage" : { - "0x01" : "0x00", - "0x02" : "0x00", - "0x03" : "0x00" - } + "logs" : [ + ] + } + ], + "EIP158" : [ + { + "hash" : "0xa3530bdf22c8772863e71533e619318c8f387e76916082cc18a520299467654f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xa3530bdf22c8772863e71533e619318c8f387e76916082cc18a520299467654f", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000002" : { - "storage" : { - "0x02" : "0x00", - "0x03" : "0x00" - } + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xa3530bdf22c8772863e71533e619318c8f387e76916082cc18a520299467654f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000003" : { - "storage" : { - "0x03" : "0x00" - } + "logs" : [ + ] + }, + { + "hash" : "0xa3530bdf22c8772863e71533e619318c8f387e76916082cc18a520299467654f", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "a000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x015726" - } - } + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : 1, - "gas" : -1, - "value" : -1 + ], + "Homestead" : [ + { + "hash" : "0xa3530bdf22c8772863e71533e619318c8f387e76916082cc18a520299467654f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "a000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x015726" - } - } + { + "hash" : "0xa3530bdf22c8772863e71533e619318c8f387e76916082cc18a520299467654f", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "Metropolis" : [ + { + "hash" : "0xd8fe67263fd0cc3b2a1e6693d3aa4122d37cbafba291234b5a6ff6aec6b5cbeb", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xb73ede6594f5493b7497123a7456ab8748407c03fb24fb7f8d1e7b725e26e993", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0fa600055", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 32 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x60016003526040600060406000731000000000000000000000000000000000000002620186a0fa506001602052", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 32 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x60016003526040600060406000731000000000000000000000000000000000000003614e34fa506001602052", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (SSTORE 3 1) (MSTORE 3 1)}", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x60016003556001600352", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0fa600055", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) (STATICCALL 100000 0x2000000000000000000000000000000000000002 0 64 0 64 )(MSTORE 32 1) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x60016003526040600060406000732000000000000000000000000000000000000002620186a0fa506001602052", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) (STATICCALL 20020 0x2000000000000000000000000000000000000003 0 64 0 64 )(MSTORE 32 1) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x60016003526040600060406000732000000000000000000000000000000000000003614e34fa506001602052", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1) ) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x5b61c35060805110156018576001608051016080526000565b", + "nonce" : "0x00", "storage" : { } }, - "a000000000000000000000000000000000000000" : { - "balance" : "0", - "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0xa000000000000000000000000000000000000000" : { + "balance" : "0x00", + "code" : "0x6000600060006000346000355af16000555a600155", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -155,14 +203,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000000" ], "gasLimit" : [ - "172000" + "0x029fe0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "a000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0xa000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcall_000_OOGMAfter.json b/GeneralStateTests/stStaticCall/static_callcallcall_000_OOGMAfter.json index 8c17f33b0..2d19adeaa 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcall_000_OOGMAfter.json +++ b/GeneralStateTests/stStaticCall/static_callcallcall_000_OOGMAfter.json @@ -6,87 +6,108 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcall_000_OOGMAfterFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x00", - "0x02" : "0x00", - "0x03" : "0x00", - "0x6f" : "0x014c81" - } + "post" : { + "EIP150" : [ + { + "hash" : "0x4240c591732bb7ed797065bf0028004a169a98e1293410af92929568626f491f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000001" : { - "storage" : { - "0x01" : "0x00", - "0x02" : "0x00", - "0x03" : "0x00" - } + "logs" : [ + ] + } + ], + "EIP158" : [ + { + "hash" : "0x4240c591732bb7ed797065bf0028004a169a98e1293410af92929568626f491f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000002" : { - "storage" : { - "0x02" : "0x00", - "0x03" : "0x00" - } + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x4240c591732bb7ed797065bf0028004a169a98e1293410af92929568626f491f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000003" : { - "storage" : { - "0x03" : "0x00" - } - } + "logs" : [ + ] } - } - ], + ], + "Homestead" : [ + { + "hash" : "0x4240c591732bb7ed797065bf0028004a169a98e1293410af92929568626f491f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xb241a39f96e796d108bb0808ab0d49d8ed3ad5514e0a808cfc95c92bf96810f3", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 60150 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 111 ]] (GAS)}", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x604060006040600073100000000000000000000000000000000000000161eaf6fa6000555a606f55", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) (STATICCALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (SSTORE 3 1)}", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x60016003526040600060406000731000000000000000000000000000000000000002619c90fa506001600355", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 32 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x60016003526040600060406000731000000000000000000000000000000000000003614e34fa506001602052", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -96,14 +117,14 @@ "" ], "gasLimit" : [ - "172000" + "0x029fe0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcall_000_OOGMAfter2.json b/GeneralStateTests/stStaticCall/static_callcallcall_000_OOGMAfter2.json index 82d9b374a..7f4a59984 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcall_000_OOGMAfter2.json +++ b/GeneralStateTests/stStaticCall/static_callcallcall_000_OOGMAfter2.json @@ -6,87 +6,108 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcall_000_OOGMAfter2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x00", - "0x02" : "0x00", - "0x03" : "0x00", - "0x6f" : "0x015cb7" - } + "post" : { + "EIP150" : [ + { + "hash" : "0xaf98968a4687e41eaa772578166ec5978438340ad3ab158e6b82b0b6201a9367", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000001" : { - "storage" : { - "0x01" : "0x00", - "0x02" : "0x00", - "0x03" : "0x00" - } + "logs" : [ + ] + } + ], + "EIP158" : [ + { + "hash" : "0xaf98968a4687e41eaa772578166ec5978438340ad3ab158e6b82b0b6201a9367", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000002" : { - "storage" : { - "0x02" : "0x00", - "0x03" : "0x00" - } + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xaf98968a4687e41eaa772578166ec5978438340ad3ab158e6b82b0b6201a9367", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000003" : { - "storage" : { - "0x03" : "0x00" - } - } + "logs" : [ + ] } - } - ], + ], + "Homestead" : [ + { + "hash" : "0xaf98968a4687e41eaa772578166ec5978438340ad3ab158e6b82b0b6201a9367", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x9ed47cfe74b12b48b6a6990fadfdc54914aa7e8de0fb203550d1487cec729f82", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 56000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 111 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x604060006040600073100000000000000000000000000000000000000161dac0fa6000555a606f55", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) (STATICCALL 45000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1) ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x6001600352604060006040600073100000000000000000000000000000000000000261afc8fa505b61c3506080511015603f576001608051016080526027565b", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 32 1)}", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x60016003526040600060406000731000000000000000000000000000000000000003614e34fa506001602052", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -96,14 +117,14 @@ "" ], "gasLimit" : [ - "172000" + "0x029fe0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcall_000_OOGMBefore.json b/GeneralStateTests/stStaticCall/static_callcallcall_000_OOGMBefore.json index c5413677e..11ad172a6 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcall_000_OOGMBefore.json +++ b/GeneralStateTests/stStaticCall/static_callcallcall_000_OOGMBefore.json @@ -6,86 +6,108 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcall_000_OOGMBeforeFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x015d7b", - "0x02" : "0x00", - "0x03" : "0x00" - } + "post" : { + "EIP150" : [ + { + "hash" : "0x2cc0620f5eac6c033ec1433c0fac283edf9255c862ed5943ad55424cae28cf50", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000001" : { - "storage" : { - "0x01" : "0x00", - "0x02" : "0x00", - "0x03" : "0x00" - } + "logs" : [ + ] + } + ], + "EIP158" : [ + { + "hash" : "0x2cc0620f5eac6c033ec1433c0fac283edf9255c862ed5943ad55424cae28cf50", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000002" : { - "storage" : { - "0x02" : "0x00", - "0x03" : "0x00" - } + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x2cc0620f5eac6c033ec1433c0fac283edf9255c862ed5943ad55424cae28cf50", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000003" : { - "storage" : { - "0x03" : "0x00" - } - } + "logs" : [ + ] } - } - ], + ], + "Homestead" : [ + { + "hash" : "0x2cc0620f5eac6c033ec1433c0fac283edf9255c862ed5943ad55424cae28cf50", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xe84edc686e05c13c364bd2742cc23c9f0e2e667403a56a29de8e9da54a758fce", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0fa6000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (STATICCALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x6040600060406000731000000000000000000000000000000000000002619c90fa", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1) ) (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x5b61c35060805110156018576001608051016080526000565b6040600060406000731000000000000000000000000000000000000003614e34fa", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -95,14 +117,14 @@ "" ], "gasLimit" : [ - "172000" + "0x029fe0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcall_000_SuicideEnd.json b/GeneralStateTests/stStaticCall/static_callcallcall_000_SuicideEnd.json index 2bcd713c3..426614858 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcall_000_SuicideEnd.json +++ b/GeneralStateTests/stStaticCall/static_callcallcall_000_SuicideEnd.json @@ -6,69 +6,108 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcall_000_SuicideEndFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x2b9a37" - } + "post" : { + "EIP150" : [ + { + "hash" : "0x926dea784e772825bf7a1881c82ab2b4780f12ba57234839f3d9e1f0c89b8240", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000002" : { - "balance" : "10000000000" - } + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x926dea784e772825bf7a1881c82ab2b4780f12ba57234839f3d9e1f0c89b8240", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x926dea784e772825bf7a1881c82ab2b4780f12ba57234839f3d9e1f0c89b8240", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x926dea784e772825bf7a1881c82ab2b4780f12ba57234839f3d9e1f0c89b8240", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x5312ba91585f159d984e36cceb3a019652a7516a3a8e78a64e11488305a10caa", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS)}", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0fa6000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "10000000000", - "code" : "{ (MSTORE 3 1) (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 32 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x02540be400", + "code" : "0x60016003526040600060406000731000000000000000000000000000000000000002620186a0fa506001602052", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "10000000000", - "code" : "{ (MSTORE 3 1) (STATICCALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000001) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x02540be400", + "code" : "0x6001600352604060006040600073100000000000000000000000000000000000000361c350fa50731000000000000000000000000000000000000001ff", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "10000000000", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x02540be400", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -78,14 +117,14 @@ "" ], "gasLimit" : [ - "3000000" + "0x2dc6c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcall_000_SuicideMiddle.json b/GeneralStateTests/stStaticCall/static_callcallcall_000_SuicideMiddle.json index eabbe487f..20d8b65ae 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcall_000_SuicideMiddle.json +++ b/GeneralStateTests/stStaticCall/static_callcallcall_000_SuicideMiddle.json @@ -6,73 +6,108 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcall_000_SuicideMiddleFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "storage" : { - "0x00" : "0x01", - "0x01" : "0x2b9a37" - } + "post" : { + "EIP150" : [ + { + "hash" : "0xbb35ca677e4ff8b6aa1ff1ada4b98c1938f01c170bbc081e151cbd23bae75727", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000001" : { - "balance" : "10000000000", - "storage" : { - "0x01" : "0x00" - } - } + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xbb35ca677e4ff8b6aa1ff1ada4b98c1938f01c170bbc081e151cbd23bae75727", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xbb35ca677e4ff8b6aa1ff1ada4b98c1938f01c170bbc081e151cbd23bae75727", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xbb35ca677e4ff8b6aa1ff1ada4b98c1938f01c170bbc081e151cbd23bae75727", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x2bc88ae82918fe1e2a1fa1c091ecabbbd33f679050a924a6a6d130e8203c3857", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0fa6000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "10000000000", - "code" : "{ (MSTORE 3 1) (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 32 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x02540be400", + "code" : "0x60016003526040600060406000731000000000000000000000000000000000000002620186a0fa506001602052", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "10000000000", - "code" : "{ (SELFDESTRUCT 0x1000000000000000000000000000000000000000) (STATICCALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x02540be400", + "code" : "0x731000000000000000000000000000000000000000ff", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "10000000000", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x02540be400", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -82,14 +117,14 @@ "" ], "gasLimit" : [ - "3000000" + "0x2dc6c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcall_ABCB_RECURSIVE.json b/GeneralStateTests/stStaticCall/static_callcallcall_ABCB_RECURSIVE.json index 833358673..8025ba8f9 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcall_ABCB_RECURSIVE.json +++ b/GeneralStateTests/stStaticCall/static_callcallcall_ABCB_RECURSIVE.json @@ -6,74 +6,101 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcall_ABCB_RECURSIVEFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "3000000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0xb2d05e00", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x00" - } + "post" : { + "EIP150" : [ + { + "hash" : "0x36a4b476a03b3ed0952af53f0284afc3ac9e3a7737db2b3f1a5f9594c9a9cb88", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000001" : { - "storage" : { - "0x01" : "0x00", - "0x02" : "0x00" - } + "logs" : [ + ] + } + ], + "EIP158" : [ + { + "hash" : "0x36a4b476a03b3ed0952af53f0284afc3ac9e3a7737db2b3f1a5f9594c9a9cb88", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000002" : { - "storage" : { - "0x01" : "0x00", - "0x02" : "0x00" - } + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x36a4b476a03b3ed0952af53f0284afc3ac9e3a7737db2b3f1a5f9594c9a9cb88", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : { - "balance" : "139959" - } + "logs" : [ + ] } - } - ], + ], + "Homestead" : [ + { + "hash" : "0x36a4b476a03b3ed0952af53f0284afc3ac9e3a7737db2b3f1a5f9594c9a9cb88", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x1681a7d9af60c72fcb6a0aa0daea9e63929ccce3348654a5fcdb85234b75fad4", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 1 1) (STATICCALL 25000000 0x1000000000000000000000000000000000000001 0 64 0 64 ) (MSTORE 2 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6001600152604060006040600073100000000000000000000000000000000000000163017d7840fa506001600252", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "10000000000", - "code" : "{ (MSTORE 3 1) (STATICCALL 1000000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 4 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x02540be400", + "code" : "0x60016003526040600060406000731000000000000000000000000000000000000002620f4240fa506001600452", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "10000000000", - "code" : "{ (MSTORE 5 1) (STATICCALL 500000 0x1000000000000000000000000000000000000001 0 64 0 64 ) (MSTORE 6 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x02540be400", + "code" : "0x600160055260406000604060007310000000000000000000000000000000000000016207a120fa506001600652", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -83,14 +110,14 @@ "" ], "gasLimit" : [ - "30000000" + "0x01c9c380" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcallcode_001.json b/GeneralStateTests/stStaticCall/static_callcallcallcode_001.json index 03e2dcd12..894393c34 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcallcode_001.json +++ b/GeneralStateTests/stStaticCall/static_callcallcallcode_001.json @@ -6,147 +6,193 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcallcode_001Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : 0, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0x9a7dbe753d2ce75d005292229e73c1a929e864563760e7316747148d7109d0eb", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x00", - "0x03" : "0x00", - "0x04" : "0x00" - } + { + "hash" : "0x9a7dbe753d2ce75d005292229e73c1a929e864563760e7316747148d7109d0eb", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000001" : { - "storage" : { - "0x01" : "0x00", - "0x03" : "0x00", - "0x04" : "0x00" - } + "logs" : [ + ] + } + ], + "EIP158" : [ + { + "hash" : "0x9a7dbe753d2ce75d005292229e73c1a929e864563760e7316747148d7109d0eb", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000002" : { - "storage" : { - "0x014a" : "0x00", - "0x014c" : "0x00", - "0x0150" : "0x00", - "0x0152" : "0x00", - "0x0154" : "0x00", - "0x02" : "0x00", - "0x03" : "0x00", - "0x04" : "0x00", - "0x07" : "0x00" - } + "logs" : [ + ] + }, + { + "hash" : "0x9a7dbe753d2ce75d005292229e73c1a929e864563760e7316747148d7109d0eb", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "a000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x28fba1" - } - } + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : 1, - "gas" : -1, - "value" : -1 + ], + "Frontier" : [ + { + "hash" : "0xf9f8939922358633f7cf0ddc94ba066f6596ab0c6b9a134a2b553645e4230367", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "a000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x2ccc2b" - } - } + { + "hash" : "0xf9f8939922358633f7cf0ddc94ba066f6596ab0c6b9a134a2b553645e4230367", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "Homestead" : [ + { + "hash" : "0xf9f8939922358633f7cf0ddc94ba066f6596ab0c6b9a134a2b553645e4230367", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xf9f8939922358633f7cf0ddc94ba066f6596ab0c6b9a134a2b553645e4230367", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x2111fd91ff1fa787bb7c11fdce5ab28fa34d7c795d48a20bc08a4d7a9b890472", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x25c4c1852e1d42e8739fec6ce21fa50b8aa7b09509c19f4d1012d6f81383aa97", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 350000 0x1000000000000000000000000000000000000001 0 64 0 64 ) (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x604060006040600073100000000000000000000000000000000000000162055730fa6000556001600352", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 3 1) (STATICCALL 300000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60016003526040600060406000731000000000000000000000000000000000000002620493e0fa506001600352", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 3 1) (DELEGATECALL 250000 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600160035260406000604060007310000000000000000000000000000000000000036203d090f4506001600352", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (SSTORE 3 1) (SSTORE 4 (CALLER)) (SSTORE 7 (CALLVALUE)) (SSTORE 330 (ADDRESS)) (SSTORE 332 (ORIGIN)) (SSTORE 336 (CALLDATASIZE)) (SSTORE 338 (CODESIZE)) (SSTORE 340 (GASPRICE)) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x600160035533600455346007553061014a553261014c55366101505538610152553a61015455", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 350000 0x2000000000000000000000000000000000000001 0 64 0 64 ) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x604060006040600073200000000000000000000000000000000000000162055730fa600055", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000001" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 3 1) (STATICCALL 300000 0x2000000000000000000000000000000000000002 0 64 0 64 )(MSTORE 3 1) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000001" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60016003526040600060406000732000000000000000000000000000000000000002620493e0fa506001600352", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000002" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 3 1) (DELEGATECALL 250000 0x2000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 3 1) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000002" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600160035260406000604060007320000000000000000000000000000000000000036203d090f4506001600352", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "a000000000000000000000000000000000000000" : { - "balance" : "0", - "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0xa000000000000000000000000000000000000000" : { + "balance" : "0x00", + "code" : "0x6000600060006000346000355af16000555a600155", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -157,14 +203,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000000" ], "gasLimit" : [ - "3000000" + "0x2dc6c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "a000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0xa000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcallcode_001_2.json b/GeneralStateTests/stStaticCall/static_callcallcallcode_001_2.json index b705ac823..ec112cab9 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcallcode_001_2.json +++ b/GeneralStateTests/stStaticCall/static_callcallcallcode_001_2.json @@ -6,145 +6,193 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcallcode_001_2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : 0, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0x97799f7a5177b653c25550364a342bc10c570e9a736539248d6d163f6b991230", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000002" : { - "storage" : { - "0x014a" : "0x00", - "0x014c" : "0x00", - "0x0150" : "0x00", - "0x0152" : "0x00", - "0x0154" : "0x00", - "0x02" : "0x00", - "0x03" : "0x00", - "0x04" : "0x00", - "0x07" : "0x00" - } + { + "hash" : "0x97799f7a5177b653c25550364a342bc10c570e9a736539248d6d163f6b991230", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "a000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x283b4b" - } - } + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : 1, - "gas" : -1, - "value" : -1 + ], + "EIP158" : [ + { + "hash" : "0x97799f7a5177b653c25550364a342bc10c570e9a736539248d6d163f6b991230", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000002" : { - "storage" : { - "0x014a" : "0x00", - "0x014c" : "0x00", - "0x0150" : "0x00", - "0x0152" : "0x00", - "0x0154" : "0x00", - "0x02" : "0x00", - "0x03" : "0x00", - "0x04" : "0x00", - "0x07" : "0x00" - } + { + "hash" : "0x97799f7a5177b653c25550364a342bc10c570e9a736539248d6d163f6b991230", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "a000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x2ccc31" - } - } + "logs" : [ + ] } - } - ], + ], + "Frontier" : [ + { + "hash" : "0x332fd63f02a7f7415132635f9f614f7a3a816738c2dfa4525b609cd607a87b3d", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x332fd63f02a7f7415132635f9f614f7a3a816738c2dfa4525b609cd607a87b3d", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x332fd63f02a7f7415132635f9f614f7a3a816738c2dfa4525b609cd607a87b3d", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x332fd63f02a7f7415132635f9f614f7a3a816738c2dfa4525b609cd607a87b3d", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xb07cec95a0495a4f2810c43812055985d7230bf8fc67d10496a860bb65baf1f7", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xfbc632522d0711451a77628031c7d8d5d8f7af19b6406eae571e13f56372b929", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 350000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x604060006040600073100000000000000000000000000000000000000162055730fa600055", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "1000000000000000000", - "code" : "{ (STATICCALL 300000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6040600060406000731000000000000000000000000000000000000002620493e0fa506001600352", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 2 ]] (CALLCODE 250000 0x1000000000000000000000000000000000000003 3 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x604060006040600060037310000000000000000000000000000000000000036203d090f2600255", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (MSTORE 1 0x11223344) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x6311223344600152", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 350000 0x2000000000000000000000000000000000000001 0 64 0 64 ) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x604060006040600073200000000000000000000000000000000000000162055730fa600055", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000001" : { - "balance" : "1000000000000000000", - "code" : "{ (STATICCALL 300000 0x2000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 3 1) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000001" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6040600060406000732000000000000000000000000000000000000002620493e0fa506001600352", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000002" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 4 1) (CALLCODE 250000 0x2000000000000000000000000000000000000003 0 0 64 0 64 ) (MSTORE 6 1) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000002" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6001600452604060006040600060007320000000000000000000000000000000000000036203d090f2506001600652", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "a000000000000000000000000000000000000000" : { - "balance" : "0", - "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0xa000000000000000000000000000000000000000" : { + "balance" : "0x00", + "code" : "0x6000600060006000346000355af16000555a600155", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -155,14 +203,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000000" ], "gasLimit" : [ - "3000000" + "0x2dc6c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "a000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0xa000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGE.json b/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGE.json index 5d83055af..238c1ad61 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGE.json +++ b/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGE.json @@ -6,90 +6,108 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcallcode_001_OOGEFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x02" : "0x00", - "0x03" : "0x00" - } + "post" : { + "EIP150" : [ + { + "hash" : "0x7bad62c431176a980943cbf2b89474c29a4c6a67f713a73ecdbb755e25c62aa1", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000001" : { - "storage" : { - "0x01" : "0x00", - "0x02" : "0x00", - "0x03" : "0x00" - } + "logs" : [ + ] + } + ], + "EIP158" : [ + { + "hash" : "0x7bad62c431176a980943cbf2b89474c29a4c6a67f713a73ecdbb755e25c62aa1", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x7bad62c431176a980943cbf2b89474c29a4c6a67f713a73ecdbb755e25c62aa1", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000002" : { - "storage" : { - "0x02" : "0x00", - "0x03" : "0x00" - } + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x7bad62c431176a980943cbf2b89474c29a4c6a67f713a73ecdbb755e25c62aa1", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000003" : { - "storage" : { - "0x03" : "0x00" - } + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x07e9b887a4b100353858904d7c2ccbd145e3ca4bfe34536b914e450499a86e04", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "storage" : { - "0x01" : "0x00" - } - } + "logs" : [ + ] } - } - ], + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) (MSTORE 3 1)}", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0fa6000556001600352", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 3 1)}", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x60016003526040600060406000731000000000000000000000000000000000000002620186a0fa506001600352", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) (DELEGATECALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 3 1)}", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x60016003526040600060406000731000000000000000000000000000000000000003614e34f4506001600352", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1) )}", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x5b61c35060805110156018576001608051016080526000565b", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -99,14 +117,14 @@ "" ], "gasLimit" : [ - "172000" + "0x029fe0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGE_2.json b/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGE_2.json index 494c4d481..9a05a7154 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGE_2.json +++ b/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGE_2.json @@ -6,101 +6,193 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcallcode_001_OOGE_2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0x0d309fbde7bbd1b313b77cf726decc45d23db3493fb3edb465472666e2d75cfb", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "a000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x01574b" - } - } + { + "hash" : "0x0d309fbde7bbd1b313b77cf726decc45d23db3493fb3edb465472666e2d75cfb", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x0d309fbde7bbd1b313b77cf726decc45d23db3493fb3edb465472666e2d75cfb", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x0d309fbde7bbd1b313b77cf726decc45d23db3493fb3edb465472666e2d75cfb", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x0d309fbde7bbd1b313b77cf726decc45d23db3493fb3edb465472666e2d75cfb", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x0d309fbde7bbd1b313b77cf726decc45d23db3493fb3edb465472666e2d75cfb", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x0d309fbde7bbd1b313b77cf726decc45d23db3493fb3edb465472666e2d75cfb", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x0d309fbde7bbd1b313b77cf726decc45d23db3493fb3edb465472666e2d75cfb", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x34940f80a25b12138b462eba1629a2801ec1868cfd5c6298fa7773ed899d4352", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x53b2e90449f26d9938aa38b1c7bbcd3c9dba9c33e1c50b1110263309172ee401", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0fa600055", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x6040600060406000731000000000000000000000000000000000000002620186a0fa", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (CALLCODE 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x60406000604060006000731000000000000000000000000000000000000003614e34f2", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (SSTORE 3 1) (MSTORE 3 1)}", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x60016003556001600352", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 150000 0x2000000000000000000000000000000000000001 0 64 0 64 ) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6040600060406000732000000000000000000000000000000000000001620249f0fa600055", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (STATICCALL 100000 0x2000000000000000000000000000000000000002 0 64 0 64 ) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x6040600060406000732000000000000000000000000000000000000002620186a0fa", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (CALLCODE 20020 0x2000000000000000000000000000000000000003 0 0 64 0 64 ) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x60406000604060006000732000000000000000000000000000000000000003614e34f2", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1) ) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x5b61c35060805110156018576001608051016080526000565b", + "nonce" : "0x00", "storage" : { } }, - "a000000000000000000000000000000000000000" : { - "balance" : "0", - "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0xa000000000000000000000000000000000000000" : { + "balance" : "0x00", + "code" : "0x6000600060006000346000355af16000555a600155", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -111,14 +203,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000000" ], "gasLimit" : [ - "172000" + "0x029fe0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "a000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0xa000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGMAfter.json b/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGMAfter.json index 9b51972ef..254417aeb 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGMAfter.json +++ b/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGMAfter.json @@ -6,101 +6,165 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcallcode_001_OOGMAfterFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0xdc2ce909e1717191fbd281dfc4eabfe9a80691a91adce90abd08c104bebd4d3d", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x014b7e", - "0x02" : "0x00" - } + { + "hash" : "0xdc2ce909e1717191fbd281dfc4eabfe9a80691a91adce90abd08c104bebd4d3d", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000001" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x00", - "0x02" : "0x00" - } + "logs" : [ + ] + } + ], + "EIP158" : [ + { + "hash" : "0xdc2ce909e1717191fbd281dfc4eabfe9a80691a91adce90abd08c104bebd4d3d", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000002" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x00", - "0x02" : "0x00" - } + "logs" : [ + ] + }, + { + "hash" : "0xdc2ce909e1717191fbd281dfc4eabfe9a80691a91adce90abd08c104bebd4d3d", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000003" : { - "storage" : { - "0x01" : "0x00", - "0x02" : "0x00", - "0x03" : "0x00" - } + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xdc2ce909e1717191fbd281dfc4eabfe9a80691a91adce90abd08c104bebd4d3d", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "storage" : { - "0x01" : "0x00", - "0x02" : "0x00" - } - } + "logs" : [ + ] + }, + { + "hash" : "0xdc2ce909e1717191fbd281dfc4eabfe9a80691a91adce90abd08c104bebd4d3d", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "Homestead" : [ + { + "hash" : "0xdc2ce909e1717191fbd281dfc4eabfe9a80691a91adce90abd08c104bebd4d3d", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xdc2ce909e1717191fbd281dfc4eabfe9a80691a91adce90abd08c104bebd4d3d", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x674f946803713aef66e4586b62e973028f98fb66cc1520096bddcea0c4eb3599", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x674f946803713aef66e4586b62e973028f98fb66cc1520096bddcea0c4eb3599", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 60150 (CALLDATALOAD 0) 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x604060006040600060003561eaf6fa6000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) (STATICCALL 40085 0x1000000000000000000000000000000000000002 0 64 0 64 ) (SSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x60016003526040600060406000731000000000000000000000000000000000000002619c95fa506001600355", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) (DELEGATECALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 32 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x60016003526040600060406000731000000000000000000000000000000000000003614e34f4506001602052", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) (STATICCALL 40085 0x1000000000000000000000000000000000000002 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1) ) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x60016003526040600060406000731000000000000000000000000000000000000002619c95fa505b61c3506080511015603f576001608051016080526027565b", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -111,14 +175,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000001" ], "gasLimit" : [ - "172000" + "0x029fe0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGMAfter2.json b/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGMAfter2.json index f152b54be..00baeec30 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGMAfter2.json +++ b/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGMAfter2.json @@ -6,93 +6,165 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcallcode_001_OOGMAfter2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0xe363e4573510e78a1bd5b55a66d45d8143f57df76c03da8784da17a91905f002", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x014b7e", - "0x02" : "0x00", - "0x03" : "0x00" - } + { + "hash" : "0xe363e4573510e78a1bd5b55a66d45d8143f57df76c03da8784da17a91905f002", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000001" : { - "storage" : { - "0x01" : "0x00", - "0x02" : "0x00", - "0x03" : "0x00" - } + "logs" : [ + ] + } + ], + "EIP158" : [ + { + "hash" : "0xe363e4573510e78a1bd5b55a66d45d8143f57df76c03da8784da17a91905f002", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000002" : { - "storage" : { - "0x02" : "0x00", - "0x03" : "0x00" - } + "logs" : [ + ] + }, + { + "hash" : "0xe363e4573510e78a1bd5b55a66d45d8143f57df76c03da8784da17a91905f002", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000003" : { - "storage" : { - "0x03" : "0x00" - } - } + "logs" : [ + ] } - } - ], + ], + "Frontier" : [ + { + "hash" : "0xe363e4573510e78a1bd5b55a66d45d8143f57df76c03da8784da17a91905f002", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xe363e4573510e78a1bd5b55a66d45d8143f57df76c03da8784da17a91905f002", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xe363e4573510e78a1bd5b55a66d45d8143f57df76c03da8784da17a91905f002", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xe363e4573510e78a1bd5b55a66d45d8143f57df76c03da8784da17a91905f002", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xf4d6dc015a845d2d14e0787617217e447ee740f4bba1254d4cd9202169834dc2", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xf4d6dc015a845d2d14e0787617217e447ee740f4bba1254d4cd9202169834dc2", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 60150 (CALLDATALOAD 0) 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x604060006040600060003561eaf6fa6000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (STATICCALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (SSTORE 3 1)}", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x6040600060406000731000000000000000000000000000000000000002619c90fa506001600355", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (CALLCODE 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x60406000604060006000731000000000000000000000000000000000000003614e34f2", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (STATICCALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1) ) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x6040600060406000731000000000000000000000000000000000000002619c90fa505b61c3506080511015603a576001608051016080526022565b", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -103,14 +175,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000001" ], "gasLimit" : [ - "172000" + "0x029fe0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGMAfter_2.json b/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGMAfter_2.json index 0bec07982..56abcd223 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGMAfter_2.json +++ b/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGMAfter_2.json @@ -6,101 +6,165 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcallcode_001_OOGMAfter_2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0x126073c2113620386bafa76775e3852cc6ce2dd5737457fc5c340d948619a439", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x014b7e", - "0x02" : "0x00" - } + { + "hash" : "0x126073c2113620386bafa76775e3852cc6ce2dd5737457fc5c340d948619a439", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000001" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x00", - "0x02" : "0x00" - } + "logs" : [ + ] + } + ], + "EIP158" : [ + { + "hash" : "0x126073c2113620386bafa76775e3852cc6ce2dd5737457fc5c340d948619a439", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000002" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x00", - "0x02" : "0x00" - } + "logs" : [ + ] + }, + { + "hash" : "0x126073c2113620386bafa76775e3852cc6ce2dd5737457fc5c340d948619a439", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000003" : { - "storage" : { - "0x01" : "0x00", - "0x02" : "0x00", - "0x03" : "0x00" - } + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x126073c2113620386bafa76775e3852cc6ce2dd5737457fc5c340d948619a439", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "storage" : { - "0x01" : "0x00", - "0x02" : "0x00" - } - } + "logs" : [ + ] + }, + { + "hash" : "0x126073c2113620386bafa76775e3852cc6ce2dd5737457fc5c340d948619a439", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "Homestead" : [ + { + "hash" : "0x126073c2113620386bafa76775e3852cc6ce2dd5737457fc5c340d948619a439", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x126073c2113620386bafa76775e3852cc6ce2dd5737457fc5c340d948619a439", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x9f627989d639a3707837a025a270b8fd5c26c3fcb05720551868ca83b8479daa", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x9f627989d639a3707837a025a270b8fd5c26c3fcb05720551868ca83b8479daa", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 60150 (CALLDATALOAD 0) 0 64 0 64 ) [[ 1 ]] (GAS)}", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x604060006040600060003561eaf6fa6000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (STATICCALL 40085 0x1000000000000000000000000000000000000002 0 64 0 64 ) (SSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x6040600060406000731000000000000000000000000000000000000002619c95fa506001600355", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (DELEGATECALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x6040600060406000731000000000000000000000000000000000000003614e34f4", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (STATICCALL 40085 0x1000000000000000000000000000000000000002 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1) ) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x6040600060406000731000000000000000000000000000000000000002619c95fa505b61c3506080511015603a576001608051016080526022565b", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -111,14 +175,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000001" ], "gasLimit" : [ - "172000" + "0x029fe0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGMAfter_3.json b/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGMAfter_3.json index 2693eb086..9b451677e 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGMAfter_3.json +++ b/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGMAfter_3.json @@ -6,93 +6,165 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcallcode_001_OOGMAfter_3Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0xe363e4573510e78a1bd5b55a66d45d8143f57df76c03da8784da17a91905f002", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x014b7e", - "0x02" : "0x00", - "0x03" : "0x00" - } + { + "hash" : "0xe363e4573510e78a1bd5b55a66d45d8143f57df76c03da8784da17a91905f002", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000001" : { - "storage" : { - "0x01" : "0x00", - "0x02" : "0x00", - "0x03" : "0x00" - } + "logs" : [ + ] + } + ], + "EIP158" : [ + { + "hash" : "0xe363e4573510e78a1bd5b55a66d45d8143f57df76c03da8784da17a91905f002", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000002" : { - "storage" : { - "0x02" : "0x00", - "0x03" : "0x00" - } + "logs" : [ + ] + }, + { + "hash" : "0xe363e4573510e78a1bd5b55a66d45d8143f57df76c03da8784da17a91905f002", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000003" : { - "storage" : { - "0x03" : "0x00" - } - } + "logs" : [ + ] } - } - ], + ], + "Frontier" : [ + { + "hash" : "0xe363e4573510e78a1bd5b55a66d45d8143f57df76c03da8784da17a91905f002", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xe363e4573510e78a1bd5b55a66d45d8143f57df76c03da8784da17a91905f002", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xe363e4573510e78a1bd5b55a66d45d8143f57df76c03da8784da17a91905f002", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xe363e4573510e78a1bd5b55a66d45d8143f57df76c03da8784da17a91905f002", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xf4d6dc015a845d2d14e0787617217e447ee740f4bba1254d4cd9202169834dc2", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xf4d6dc015a845d2d14e0787617217e447ee740f4bba1254d4cd9202169834dc2", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 60150 (CALLDATALOAD 0) 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x604060006040600060003561eaf6fa6000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (STATICCALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (SSTORE 3 1)}", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x6040600060406000731000000000000000000000000000000000000002619c90fa506001600355", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (CALLCODE 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x60406000604060006000731000000000000000000000000000000000000003614e34f2", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (STATICCALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1) )}", - "nonce" : "0", + "0x2000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x6040600060406000731000000000000000000000000000000000000002619c90fa505b61c3506080511015603a576001608051016080526022565b", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -103,14 +175,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000001" ], "gasLimit" : [ - "172000" + "0x029fe0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGMBefore.json b/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGMBefore.json index bbf97e9de..c7835db0c 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGMBefore.json +++ b/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGMBefore.json @@ -6,99 +6,165 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcallcode_001_OOGMBeforeFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0xae77ac71b36f040e02e42c4cf7289b9ffd28ce45700a7bdc291c356300a3a5c7", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x015c58", - "0x02" : "0x00", - "0x03" : "0x00" - } + { + "hash" : "0xae77ac71b36f040e02e42c4cf7289b9ffd28ce45700a7bdc291c356300a3a5c7", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000001" : { - "storage" : { - "0x01" : "0x00", - "0x02" : "0x00", - "0x03" : "0x00" - } + "logs" : [ + ] + } + ], + "EIP158" : [ + { + "hash" : "0xae77ac71b36f040e02e42c4cf7289b9ffd28ce45700a7bdc291c356300a3a5c7", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000002" : { - "storage" : { - "0x02" : "0x00", - "0x03" : "0x00" - } + "logs" : [ + ] + }, + { + "hash" : "0xae77ac71b36f040e02e42c4cf7289b9ffd28ce45700a7bdc291c356300a3a5c7", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000003" : { - "storage" : { - "0x03" : "0x00" - } + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xae77ac71b36f040e02e42c4cf7289b9ffd28ce45700a7bdc291c356300a3a5c7", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "storage" : { - "0x01" : "0x00", - "0x02" : "0x00" - } - } + "logs" : [ + ] + }, + { + "hash" : "0xae77ac71b36f040e02e42c4cf7289b9ffd28ce45700a7bdc291c356300a3a5c7", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "Homestead" : [ + { + "hash" : "0xae77ac71b36f040e02e42c4cf7289b9ffd28ce45700a7bdc291c356300a3a5c7", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xae77ac71b36f040e02e42c4cf7289b9ffd28ce45700a7bdc291c356300a3a5c7", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xb6cd20e5f1cc773105b5be2729e9500a3d51f1c3fa33922acdaebcabea8e2374", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xb6cd20e5f1cc773105b5be2729e9500a3d51f1c3fa33922acdaebcabea8e2374", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 32 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000356000526040600060206000731000000000000000000000000000000000000001620249f0fa6000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) (STATICCALL 40080 (CALLDATALOAD 0) 0 64 0 64 ) (MSTORE 32 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x60016003526040600060406000600035619c90fa506001602052", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1) ) (DELEGATECALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x5b61c35060805110156018576001608051016080526000565b6040600060406000731000000000000000000000000000000000000003614e34f4506001600352", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (SSTORE 1 1) (DELEGATECALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 3 1) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x60016001556040600060406000731000000000000000000000000000000000000003614e34f4506001600352", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -109,14 +175,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000002" ], "gasLimit" : [ - "172000" + "0x029fe0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGMBefore2.json b/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGMBefore2.json index 73640ec26..c8e8ef017 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGMBefore2.json +++ b/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGMBefore2.json @@ -6,93 +6,165 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcallcode_001_OOGMBefore2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0xe0cc2d9cd94f3662e51a2000224a7991ab14dc1e4b94aeeda1862753361f1956", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x015c55", - "0x02" : "0x00", - "0x03" : "0x00" - } + { + "hash" : "0xe0cc2d9cd94f3662e51a2000224a7991ab14dc1e4b94aeeda1862753361f1956", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000001" : { - "storage" : { - "0x01" : "0x00", - "0x02" : "0x00", - "0x03" : "0x00" - } + "logs" : [ + ] + } + ], + "EIP158" : [ + { + "hash" : "0xe0cc2d9cd94f3662e51a2000224a7991ab14dc1e4b94aeeda1862753361f1956", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000002" : { - "storage" : { - "0x02" : "0x00", - "0x03" : "0x00" - } + "logs" : [ + ] + }, + { + "hash" : "0xe0cc2d9cd94f3662e51a2000224a7991ab14dc1e4b94aeeda1862753361f1956", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000003" : { - "storage" : { - "0x03" : "0x00" - } - } + "logs" : [ + ] } - } - ], + ], + "Frontier" : [ + { + "hash" : "0xe0cc2d9cd94f3662e51a2000224a7991ab14dc1e4b94aeeda1862753361f1956", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xe0cc2d9cd94f3662e51a2000224a7991ab14dc1e4b94aeeda1862753361f1956", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xe0cc2d9cd94f3662e51a2000224a7991ab14dc1e4b94aeeda1862753361f1956", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xe0cc2d9cd94f3662e51a2000224a7991ab14dc1e4b94aeeda1862753361f1956", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x2a0be2c682295ada1e084123ab1880ff8211f9982f258d01ee15348c0e8a0b59", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x2a0be2c682295ada1e084123ab1880ff8211f9982f258d01ee15348c0e8a0b59", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 32 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000356000526040600060206000731000000000000000000000000000000000000001620249f0fa6000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) (STATICCALL 40080 (CALLDATALOAD 0) 0 64 0 64 ) (MSTORE 32 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x6000356000526040600060406000600035619c90fa506001602052", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (SSTORE 1 1) (CALLCODE 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x600160015560406000604060006000731000000000000000000000000000000000000003614e34f2", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) (CALLCODE 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x5b61c35060805110156018576001608051016080526000565b60406000604060006000731000000000000000000000000000000000000003614e34f2", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -103,14 +175,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000002" ], "gasLimit" : [ - "172000" + "0x029fe0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcallcode_001_SuicideEnd.json b/GeneralStateTests/stStaticCall/static_callcallcallcode_001_SuicideEnd.json index 111134817..66b0a0717 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcallcode_001_SuicideEnd.json +++ b/GeneralStateTests/stStaticCall/static_callcallcallcode_001_SuicideEnd.json @@ -6,88 +6,108 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcallcode_001_SuicideEndFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x2b9a4b", - "0x02" : "0x00" - } + "post" : { + "EIP150" : [ + { + "hash" : "0x3a83d03a5d6e798e46ce043350668f4173d8d98e28ca7bd49fb2bab0712a03d2", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000001" : { - "balance" : "10000000000", - "storage" : { - "0x01" : "0x00", - "0x03" : "0x00" - } + "logs" : [ + ] + } + ], + "EIP158" : [ + { + "hash" : "0x3a83d03a5d6e798e46ce043350668f4173d8d98e28ca7bd49fb2bab0712a03d2", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x3a83d03a5d6e798e46ce043350668f4173d8d98e28ca7bd49fb2bab0712a03d2", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000002" : { - "balance" : "10000000000" + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x3a83d03a5d6e798e46ce043350668f4173d8d98e28ca7bd49fb2bab0712a03d2", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000003" : { - "storage" : { - "0x03" : "0x00" - } + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xbbcbb746125c2d1783de56d6b6ad27fe8a5b70b8c939a3ed073deccdeb88a688", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "storage" : { - "0x01" : "0x00", - "0x02" : "0x00" - } - } + "logs" : [ + ] } - } - ], + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0fa6000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "10000000000", - "code" : "{ (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x02540be400", + "code" : "0x6040600060406000731000000000000000000000000000000000000002620186a0fa", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "10000000000", - "code" : "{ (DELEGATECALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000001) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x02540be400", + "code" : "0x604060006040600073100000000000000000000000000000000000000361c350f450731000000000000000000000000000000000000001ff", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "10000000000", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x02540be400", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -97,14 +117,14 @@ "" ], "gasLimit" : [ - "3000000" + "0x2dc6c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcallcode_001_SuicideEnd2.json b/GeneralStateTests/stStaticCall/static_callcallcallcode_001_SuicideEnd2.json index 4647d73e8..c6e28d48c 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcallcode_001_SuicideEnd2.json +++ b/GeneralStateTests/stStaticCall/static_callcallcallcode_001_SuicideEnd2.json @@ -6,75 +6,108 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcallcode_001_SuicideEnd2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x2b9a4b" - } + "post" : { + "EIP150" : [ + { + "hash" : "0x4858fd53150c3bc6ba65c82782803c563e5b06f56f446250992aaafc3d4aa4e0", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000001" : { - "balance" : "10000000000" + "logs" : [ + ] + } + ], + "EIP158" : [ + { + "hash" : "0x4858fd53150c3bc6ba65c82782803c563e5b06f56f446250992aaafc3d4aa4e0", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000003" : { - "balance" : "10000000000", - "storage" : { - "0x03" : "0x00" - } - } + "logs" : [ + ] } - } - ], + ], + "Frontier" : [ + { + "hash" : "0x4858fd53150c3bc6ba65c82782803c563e5b06f56f446250992aaafc3d4aa4e0", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x4858fd53150c3bc6ba65c82782803c563e5b06f56f446250992aaafc3d4aa4e0", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x88d11775248bb20a87f1a5d91fda1c9eaa8b83139fe64f91c02ba266db8592f8", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0fa6000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "10000000000", - "code" : "{ (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x02540be400", + "code" : "0x6040600060406000731000000000000000000000000000000000000002620186a0fa", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "10000000000", - "code" : "{ (CALLCODE 50000 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000001) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x02540be400", + "code" : "0x6040600060406000600073100000000000000000000000000000000000000361c350f250731000000000000000000000000000000000000001ff", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "10000000000", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x02540be400", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -84,14 +117,14 @@ "" ], "gasLimit" : [ - "3000000" + "0x2dc6c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcallcode_001_SuicideMiddle.json b/GeneralStateTests/stStaticCall/static_callcallcallcode_001_SuicideMiddle.json index 1e5e82f2b..17486151c 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcallcode_001_SuicideMiddle.json +++ b/GeneralStateTests/stStaticCall/static_callcallcallcode_001_SuicideMiddle.json @@ -6,87 +6,108 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcallcode_001_SuicideMiddleFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "storage" : { - "0x00" : "0x01", - "0x01" : "0x2b9a37" - } + "post" : { + "EIP150" : [ + { + "hash" : "0xbb35ca677e4ff8b6aa1ff1ada4b98c1938f01c170bbc081e151cbd23bae75727", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000001" : { - "balance" : "10000000000", - "storage" : { - "0x01" : "0x00", - "0x02" : "0x00" - } + "logs" : [ + ] + } + ], + "EIP158" : [ + { + "hash" : "0xbb35ca677e4ff8b6aa1ff1ada4b98c1938f01c170bbc081e151cbd23bae75727", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000003" : { - "balance" : "10000000000", - "storage" : { - "0x02" : "0x00", - "0x03" : "0x00" - } + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xbb35ca677e4ff8b6aa1ff1ada4b98c1938f01c170bbc081e151cbd23bae75727", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "storage" : { - "0x02" : "0x00", - "0x03" : "0x00" - } - } + "logs" : [ + ] } - } - ], + ], + "Homestead" : [ + { + "hash" : "0xbb35ca677e4ff8b6aa1ff1ada4b98c1938f01c170bbc081e151cbd23bae75727", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x2bc88ae82918fe1e2a1fa1c091ecabbbd33f679050a924a6a6d130e8203c3857", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0fa6000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "10000000000", - "code" : "{ (MSTORE 3 1) (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 32 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x02540be400", + "code" : "0x60016003526040600060406000731000000000000000000000000000000000000002620186a0fa506001602052", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "10000000000", - "code" : "{ (SELFDESTRUCT 0x1000000000000000000000000000000000000000) (DELEGATECALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x02540be400", + "code" : "0x731000000000000000000000000000000000000000ff", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "10000000000", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x02540be400", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -96,14 +117,14 @@ "" ], "gasLimit" : [ - "3000000" + "0x2dc6c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcallcode_001_SuicideMiddle2.json b/GeneralStateTests/stStaticCall/static_callcallcallcode_001_SuicideMiddle2.json index 922f302b9..9c596b2e9 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcallcode_001_SuicideMiddle2.json +++ b/GeneralStateTests/stStaticCall/static_callcallcallcode_001_SuicideMiddle2.json @@ -6,74 +6,108 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcallcode_001_SuicideMiddle2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "storage" : { - "0x00" : "0x01", - "0x01" : "0x2b9a37" - } + "post" : { + "EIP150" : [ + { + "hash" : "0xbb35ca677e4ff8b6aa1ff1ada4b98c1938f01c170bbc081e151cbd23bae75727", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000003" : { - "balance" : "10000000000", - "storage" : { - "0x02" : "0x00", - "0x03" : "0x00" - } - } + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xbb35ca677e4ff8b6aa1ff1ada4b98c1938f01c170bbc081e151cbd23bae75727", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xbb35ca677e4ff8b6aa1ff1ada4b98c1938f01c170bbc081e151cbd23bae75727", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xbb35ca677e4ff8b6aa1ff1ada4b98c1938f01c170bbc081e151cbd23bae75727", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x2bc88ae82918fe1e2a1fa1c091ecabbbd33f679050a924a6a6d130e8203c3857", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0fa6000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "10000000000", - "code" : "{ (MSTORE 3 1) (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 32 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x02540be400", + "code" : "0x60016003526040600060406000731000000000000000000000000000000000000002620186a0fa506001602052", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "10000000000", - "code" : "{ (SELFDESTRUCT 0x1000000000000000000000000000000000000000) (CALLCODE 50000 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x02540be400", + "code" : "0x731000000000000000000000000000000000000000ff", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "10000000000", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x02540be400", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -83,14 +117,14 @@ "" ], "gasLimit" : [ - "3000000" + "0x2dc6c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcallcode_ABCB_RECURSIVE.json b/GeneralStateTests/stStaticCall/static_callcallcallcode_ABCB_RECURSIVE.json index c084124c4..8ebc90fe8 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcallcode_ABCB_RECURSIVE.json +++ b/GeneralStateTests/stStaticCall/static_callcallcallcode_ABCB_RECURSIVE.json @@ -6,74 +6,101 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcallcode_ABCB_RECURSIVEFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "3000000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0xb2d05e00", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x00" - } + "post" : { + "EIP150" : [ + { + "hash" : "0x66d8615df303bbf2ad618ad7c9fd606a6e2b6e17c32d929d3ad53722f7ed8ed1", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000001" : { - "storage" : { - "0x01" : "0x00", - "0x02" : "0x00" - } + "logs" : [ + ] + } + ], + "EIP158" : [ + { + "hash" : "0x66d8615df303bbf2ad618ad7c9fd606a6e2b6e17c32d929d3ad53722f7ed8ed1", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000002" : { - "storage" : { - "0x01" : "0x00", - "0x02" : "0x00" - } + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x66d8615df303bbf2ad618ad7c9fd606a6e2b6e17c32d929d3ad53722f7ed8ed1", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : { - "balance" : "139959" - } + "logs" : [ + ] } - } - ], + ], + "Homestead" : [ + { + "hash" : "0x66d8615df303bbf2ad618ad7c9fd606a6e2b6e17c32d929d3ad53722f7ed8ed1", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x8f7ccd06cd76b57d3bf346cc59f553a1bf5b0a03e254cf9db4ebe2f7235daa2d", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 1 1) (STATICCALL 25000000 0x1000000000000000000000000000000000000001 0 64 0 64 ) (MSTORE 31 1)}", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6001600152604060006040600073100000000000000000000000000000000000000163017d7840fa506001601f52", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "10000000000", - "code" : "{ (MSTORE 1 1) (STATICCALL 1000000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 31 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x02540be400", + "code" : "0x60016001526040600060406000731000000000000000000000000000000000000002620f4240fa506001601f52", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "10000000000", - "code" : "{ (MSTORE 1 1) (DELEGATECALL 500000 0x1000000000000000000000000000000000000001 0 64 0 64 ) (MSTORE 21 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x02540be400", + "code" : "0x600160015260406000604060007310000000000000000000000000000000000000016207a120f4506001601552", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -83,14 +110,14 @@ "" ], "gasLimit" : [ - "30000000" + "0x01c9c380" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcallcode_ABCB_RECURSIVE2.json b/GeneralStateTests/stStaticCall/static_callcallcallcode_ABCB_RECURSIVE2.json index 0a65d91a7..a6200fb4f 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcallcode_ABCB_RECURSIVE2.json +++ b/GeneralStateTests/stStaticCall/static_callcallcallcode_ABCB_RECURSIVE2.json @@ -6,74 +6,101 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcallcode_ABCB_RECURSIVE2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "3000000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0xb2d05e00", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x00" - } + "post" : { + "EIP150" : [ + { + "hash" : "0xf5f8a4f289c379e7292b4c19226669c764f0d4d168aa38f3d729c38f30972d7e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000001" : { - "storage" : { - "0x01" : "0x00", - "0x02" : "0x00" - } + "logs" : [ + ] + } + ], + "EIP158" : [ + { + "hash" : "0xf5f8a4f289c379e7292b4c19226669c764f0d4d168aa38f3d729c38f30972d7e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000002" : { - "storage" : { - "0x01" : "0x00", - "0x02" : "0x00" - } + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xf5f8a4f289c379e7292b4c19226669c764f0d4d168aa38f3d729c38f30972d7e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : { - "balance" : "140109" - } + "logs" : [ + ] } - } - ], + ], + "Homestead" : [ + { + "hash" : "0xf5f8a4f289c379e7292b4c19226669c764f0d4d168aa38f3d729c38f30972d7e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x3761603f85c680252812d11eec371eb9d1df16995dca1b8675d8832979a6554e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 1 1) (STATICCALL 25000000 0x1000000000000000000000000000000000000001 0 64 0 64 ) (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6001600152604060006040600073100000000000000000000000000000000000000163017d7840fa506001600352", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "10000000000", - "code" : "{ (MSTORE 1 1) (STATICCALL 1000000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 2 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x02540be400", + "code" : "0x60016001526040600060406000731000000000000000000000000000000000000002620f4240fa506001600252", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "10000000000", - "code" : "{ (MSTORE 1 1) (CALLCODE 500000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) (MSTORE 2 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x02540be400", + "code" : "0x6001600152604060006040600060007310000000000000000000000000000000000000016207a120f2506001600252", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -83,14 +110,14 @@ "" ], "gasLimit" : [ - "30000000" + "0x01c9c380" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcode_01_2.json b/GeneralStateTests/stStaticCall/static_callcallcode_01_2.json index e59fd8f10..17905eaf0 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcode_01_2.json +++ b/GeneralStateTests/stStaticCall/static_callcallcode_01_2.json @@ -6,105 +6,179 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcode_01_2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : 0, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0x594ebd435584f249cbd5b895c7760711ad029a6758eb785640f6160979b89737", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "a000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x2d031d" - } - } + { + "hash" : "0x594ebd435584f249cbd5b895c7760711ad029a6758eb785640f6160979b89737", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : 1, - "gas" : -1, - "value" : -1 + ], + "EIP158" : [ + { + "hash" : "0x594ebd435584f249cbd5b895c7760711ad029a6758eb785640f6160979b89737", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "a000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x2d1d3d" - } - } + { + "hash" : "0x594ebd435584f249cbd5b895c7760711ad029a6758eb785640f6160979b89737", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "Frontier" : [ + { + "hash" : "0x0cb8bc57ed5b190c0b9fe8b5562a351bdbb04064744b8757b7083d33b264c0bb", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x0cb8bc57ed5b190c0b9fe8b5562a351bdbb04064744b8757b7083d33b264c0bb", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x0cb8bc57ed5b190c0b9fe8b5562a351bdbb04064744b8757b7083d33b264c0bb", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x0cb8bc57ed5b190c0b9fe8b5562a351bdbb04064744b8757b7083d33b264c0bb", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x0784a9e6d88b864d09e6f783f739742232c5c3998cfa5ef76744a58002e224a8", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x66c43e7cfde8bd572acc81b2c58660a73051a7ad6f52e2cc0a7b93d3dc0f1a24", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ (STATICCALL 350000 0x1000000000000000000000000000000000000001 0 32 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x604060006020600073100000000000000000000000000000000000000162055730fa", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "1000000000000000000", - "code" : "{ (CALLCODE 250000 0x1000000000000000000000000000000000000002 2 0 32 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x604060006020600060027310000000000000000000000000000000000000026203d090f2", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (MSTORE 0 0x11223344) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x6311223344600052", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ (STATICCALL 350000 0x2000000000000000000000000000000000000001 0 32 0 64 ) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x604060006020600073200000000000000000000000000000000000000162055730fa", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000001" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) (CALLCODE 250000 0x2000000000000000000000000000000000000002 0 0 32 0 64 ) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000001" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600035600052604060006020600060007320000000000000000000000000000000000000026203d090f2", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (MSTORE 0 0x11223344) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x6311223344600052", + "nonce" : "0x00", "storage" : { } }, - "a000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (CALLCODE (GAS) (CALLDATALOAD 0) 0 0 0 0 0) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0xa000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600060006000600060006000355af26000555a600155", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -115,14 +189,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000000" ], "gasLimit" : [ - "3000000" + "0x2dc6c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "a000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0xa000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcode_01_OOGE_2.json b/GeneralStateTests/stStaticCall/static_callcallcode_01_OOGE_2.json index fc96dc740..5061ff92c 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcode_01_OOGE_2.json +++ b/GeneralStateTests/stStaticCall/static_callcallcode_01_OOGE_2.json @@ -6,66 +6,158 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcode_01_OOGE_2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0x1407b9c03da3345804a18797652af629fa1243352796cf9b13f9a043df6da8d7", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x01aac5" - } - } + { + "hash" : "0x1407b9c03da3345804a18797652af629fa1243352796cf9b13f9a043df6da8d7", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x1407b9c03da3345804a18797652af629fa1243352796cf9b13f9a043df6da8d7", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x1407b9c03da3345804a18797652af629fa1243352796cf9b13f9a043df6da8d7", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x1407b9c03da3345804a18797652af629fa1243352796cf9b13f9a043df6da8d7", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x1407b9c03da3345804a18797652af629fa1243352796cf9b13f9a043df6da8d7", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x1407b9c03da3345804a18797652af629fa1243352796cf9b13f9a043df6da8d7", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x1407b9c03da3345804a18797652af629fa1243352796cf9b13f9a043df6da8d7", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x3d82e124a977488711e9709bb12b0c4347d710b85218f65b8f237dfb29152257", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x3d82e124a977488711e9709bb12b0c4347d710b85218f65b8f237dfb29152257", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 32 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000356000526040600060206000731000000000000000000000000000000000000001620249f0fa6000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (CALLCODE 20020 (CALLDATALOAD 0) 0 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x60406000604060006000600035614e34f2", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (SSTORE 2 1) (MSTORE 2 1)}", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x60016002556001600252", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1) ) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x5b61c35060805110156018576001608051016080526000565b", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -76,14 +168,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000002" ], "gasLimit" : [ - "172000" + "0x029fe0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcode_01_SuicideEnd.json b/GeneralStateTests/stStaticCall/static_callcallcode_01_SuicideEnd.json index 23eeb35cb..9336bfad5 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcode_01_SuicideEnd.json +++ b/GeneralStateTests/stStaticCall/static_callcallcode_01_SuicideEnd.json @@ -6,75 +6,101 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcode_01_SuicideEndFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x2b1467" - } + "post" : { + "EIP150" : [ + { + "hash" : "0x4e76e41cc3995aa5f5f6e1c8c10063eee9a7209857fdcf8107975b4839b8ee68", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000001" : { - "balance" : "10000000000" + "logs" : [ + ] + } + ], + "EIP158" : [ + { + "hash" : "0x4e76e41cc3995aa5f5f6e1c8c10063eee9a7209857fdcf8107975b4839b8ee68", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000002" : { - "storage" : { - "0x02" : "0x00", - "0x03" : "0x00" - } + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x4e76e41cc3995aa5f5f6e1c8c10063eee9a7209857fdcf8107975b4839b8ee68", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "storage" : { - "0x01" : "0x00", - "0x02" : "0x00", - "0x03" : "0x00" - } - } + "logs" : [ + ] } - } - ], + ], + "Homestead" : [ + { + "hash" : "0x4e76e41cc3995aa5f5f6e1c8c10063eee9a7209857fdcf8107975b4839b8ee68", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xfe435b870026aed7290a642ea587e86bfaecd163cac83874c60c20e3d25dd7d4", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0fa6000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "10000000000", - "code" : "{ (DELEGATECALL 50000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000000) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x02540be400", + "code" : "0x604060006040600073100000000000000000000000000000000000000261c350f450731000000000000000000000000000000000000000ff", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "10000000000", - "code" : "{ (MSTORE 2 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x02540be400", + "code" : "0x6001600252", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -84,14 +110,14 @@ "" ], "gasLimit" : [ - "3000000" + "0x2dc6c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcode_01_SuicideEnd2.json b/GeneralStateTests/stStaticCall/static_callcallcode_01_SuicideEnd2.json index c5b92142b..7afe09257 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcode_01_SuicideEnd2.json +++ b/GeneralStateTests/stStaticCall/static_callcallcode_01_SuicideEnd2.json @@ -6,66 +6,101 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcode_01_SuicideEnd2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "storage" : { - "0x00" : "0x00", - "0x01" : "0x2b1467" - } + "post" : { + "EIP150" : [ + { + "hash" : "0xe3175d64e4c57c37e20048da023ef77fbeb46329c5225c9b3c405137b9f332cc", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000002" : { - "balance" : "10000000000", - "storage" : { - "0x02" : "0x00" - } - } + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xe3175d64e4c57c37e20048da023ef77fbeb46329c5225c9b3c405137b9f332cc", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xe3175d64e4c57c37e20048da023ef77fbeb46329c5225c9b3c405137b9f332cc", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xe3175d64e4c57c37e20048da023ef77fbeb46329c5225c9b3c405137b9f332cc", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x413f0bad7754114b8bb7a697b7a9bae8f71c70e1e11cd662a20e7701b9754561", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0fa6000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "10000000000", - "code" : "{ (CALLCODE 50000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000000) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x02540be400", + "code" : "0x6040600060406000600073100000000000000000000000000000000000000261c350f250731000000000000000000000000000000000000000ff", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "10000000000", - "code" : "{ (MSTORE 2 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x02540be400", + "code" : "0x6001600252", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -75,14 +110,14 @@ "" ], "gasLimit" : [ - "3000000" + "0x2dc6c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecall_010.json b/GeneralStateTests/stStaticCall/static_callcallcodecall_010.json index ccb599ab7..9b8785dd3 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecall_010.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecall_010.json @@ -6,66 +6,108 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecall_010Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x2d1de0" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x0d5191cb21dc297831b31b8181cecf57e2f6b194a7970ce673d65bc71290f8cb", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x0d5191cb21dc297831b31b8181cecf57e2f6b194a7970ce673d65bc71290f8cb", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x0d5191cb21dc297831b31b8181cecf57e2f6b194a7970ce673d65bc71290f8cb", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x0d5191cb21dc297831b31b8181cecf57e2f6b194a7970ce673d65bc71290f8cb", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x2975f889a2aaf4fa003a30643719fb300590003629a77e6ede028226cd6d4a9a", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 350000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x604060006040600073100000000000000000000000000000000000000162055730fa6000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 3 1) (DELEGATECALL 300000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60016003526040600060406000731000000000000000000000000000000000000002620493e0f4506001600352", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 3 1) (STATICCALL 250000 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 3 1)}", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600160035260406000604060007310000000000000000000000000000000000000036203d090fa506001600352", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (MSTORE 1 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x6001600152", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -75,14 +117,14 @@ "" ], "gasLimit" : [ - "3000000" + "0x2dc6c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecall_010_2.json b/GeneralStateTests/stStaticCall/static_callcallcodecall_010_2.json index 9aade6ade..51a3c7b72 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecall_010_2.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecall_010_2.json @@ -6,91 +6,165 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecall_010_2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : 0, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0x61808db9a063b2f26d8a295db3cf2695c994db27c9f7ca5fc10e001bc0046849", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x2d02d6" - } - } + { + "hash" : "0x61808db9a063b2f26d8a295db3cf2695c994db27c9f7ca5fc10e001bc0046849", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : 1, - "gas" : -1, - "value" : -1 + ], + "EIP158" : [ + { + "hash" : "0x61808db9a063b2f26d8a295db3cf2695c994db27c9f7ca5fc10e001bc0046849", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x2d1d02" - } - } + { + "hash" : "0x61808db9a063b2f26d8a295db3cf2695c994db27c9f7ca5fc10e001bc0046849", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "Frontier" : [ + { + "hash" : "0x61808db9a063b2f26d8a295db3cf2695c994db27c9f7ca5fc10e001bc0046849", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x61808db9a063b2f26d8a295db3cf2695c994db27c9f7ca5fc10e001bc0046849", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x61808db9a063b2f26d8a295db3cf2695c994db27c9f7ca5fc10e001bc0046849", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x61808db9a063b2f26d8a295db3cf2695c994db27c9f7ca5fc10e001bc0046849", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x3a1cda6eeffac017da91b3b9f7be5f504955fc838304e9d4f825c329e5d99051", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x047c3f135c097ae6bbd50b85bdbdfa8ba35babf4dbf970981679861bd05faab7", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 350000 (CALLDATALOAD 0) 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x604060006040600060003562055730fa6000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "1000000000000000000", - "code" : "{ (CALLCODE 300000 0x1000000000000000000000000000000000000002 2 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60406000604060006002731000000000000000000000000000000000000002620493e0f2", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "1000000000000000000", - "code" : "{ (STATICCALL 250000 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60406000604060007310000000000000000000000000000000000000036203d090fa", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000001" : { - "balance" : "1000000000000000000", - "code" : "{ (CALLCODE 300000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000001" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60406000604060006000731000000000000000000000000000000000000002620493e0f2", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -101,14 +175,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000001" ], "gasLimit" : [ - "3000000" + "0x2dc6c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGE.json b/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGE.json index 28dd6e694..30e9b07e1 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGE.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGE.json @@ -6,73 +6,165 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecall_010_OOGEFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0xed25db39ebd4a42bde4b277f9693f36995acb314d85fc2ec6d3f46730dbe5fba", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x7251" - } - } + { + "hash" : "0xed25db39ebd4a42bde4b277f9693f36995acb314d85fc2ec6d3f46730dbe5fba", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xed25db39ebd4a42bde4b277f9693f36995acb314d85fc2ec6d3f46730dbe5fba", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xed25db39ebd4a42bde4b277f9693f36995acb314d85fc2ec6d3f46730dbe5fba", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xed25db39ebd4a42bde4b277f9693f36995acb314d85fc2ec6d3f46730dbe5fba", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xed25db39ebd4a42bde4b277f9693f36995acb314d85fc2ec6d3f46730dbe5fba", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xed25db39ebd4a42bde4b277f9693f36995acb314d85fc2ec6d3f46730dbe5fba", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xed25db39ebd4a42bde4b277f9693f36995acb314d85fc2ec6d3f46730dbe5fba", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x595df75375ca6e963d5666da6985728a7a7e0d418ba854bd6febc259ddde263e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x595df75375ca6e963d5666da6985728a7a7e0d418ba854bd6febc259ddde263e", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000356000526040600060406000731000000000000000000000000000000000000001620249f0fa6000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (DELEGATECALL 100000 (CALLDATALOAD 0) 0 64 0 64 ) (MSTORE 1 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x6040600060406000600035620186a0f4506001600152", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x6040600060406000731000000000000000000000000000000000000003614e34fa505b61c3506080511015603a576001608051016080526022565b", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) (SSTORE 1 1) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x6040600060406000731000000000000000000000000000000000000003614e34fa506001600155", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -83,14 +175,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000002" ], "gasLimit" : [ - "172000" + "0x029fe0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGE_2.json b/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGE_2.json index c99822278..ded05429c 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGE_2.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGE_2.json @@ -6,73 +6,165 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecall_010_OOGE_2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0xf135c91e03115f15fb71a6d8adc4509119fe4d7be0697dee1e38878f5715e462", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x01a7e5" - } - } + { + "hash" : "0xf135c91e03115f15fb71a6d8adc4509119fe4d7be0697dee1e38878f5715e462", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xf135c91e03115f15fb71a6d8adc4509119fe4d7be0697dee1e38878f5715e462", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xf135c91e03115f15fb71a6d8adc4509119fe4d7be0697dee1e38878f5715e462", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xf135c91e03115f15fb71a6d8adc4509119fe4d7be0697dee1e38878f5715e462", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xf135c91e03115f15fb71a6d8adc4509119fe4d7be0697dee1e38878f5715e462", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xf135c91e03115f15fb71a6d8adc4509119fe4d7be0697dee1e38878f5715e462", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xf135c91e03115f15fb71a6d8adc4509119fe4d7be0697dee1e38878f5715e462", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x8c283b491cfb0dbd6a11a53e55b6c27501f8c12f02bcb2d5d3c42dcad358bec7", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x8c283b491cfb0dbd6a11a53e55b6c27501f8c12f02bcb2d5d3c42dcad358bec7", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 32 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000356000526040600060206000731000000000000000000000000000000000000001620249f0fa6000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) (CALLCODE 100000 0x1000000000000000000000000000000000000002 0 0 32 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x60003560005260406000602060006000731000000000000000000000000000000000000002620186a0f2", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (STATICCALL 20020 (CALLDATALOAD 0) 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x6040600060406000600035614e34fa", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (SSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x6001600355", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x5b61c35060805110156018576001608051016080526000565b", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -83,14 +175,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000003" ], "gasLimit" : [ - "172000" + "0x029fe0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGMAfter.json b/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGMAfter.json index b272b89bd..5fdb27b9a 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGMAfter.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGMAfter.json @@ -6,75 +6,165 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecall_010_OOGMAfterFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0xe30eacc3c2c6cbdb91057adbaac53768546552d6d0dcc6ef95e182e95ec0f2c6", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x014b7e", - "0x02" : "0x00", - "0x03" : "0x00" - } - } + { + "hash" : "0xe30eacc3c2c6cbdb91057adbaac53768546552d6d0dcc6ef95e182e95ec0f2c6", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xe30eacc3c2c6cbdb91057adbaac53768546552d6d0dcc6ef95e182e95ec0f2c6", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xe30eacc3c2c6cbdb91057adbaac53768546552d6d0dcc6ef95e182e95ec0f2c6", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xe30eacc3c2c6cbdb91057adbaac53768546552d6d0dcc6ef95e182e95ec0f2c6", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xe30eacc3c2c6cbdb91057adbaac53768546552d6d0dcc6ef95e182e95ec0f2c6", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xe30eacc3c2c6cbdb91057adbaac53768546552d6d0dcc6ef95e182e95ec0f2c6", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xe30eacc3c2c6cbdb91057adbaac53768546552d6d0dcc6ef95e182e95ec0f2c6", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x6332d2b26543f5b5c66a0b39aae2bfe466532e049bfe712dc7a5bc12f3733107", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x6332d2b26543f5b5c66a0b39aae2bfe466532e049bfe712dc7a5bc12f3733107", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 60150 (CALLDATALOAD 0) 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x604060006040600060003561eaf6fa6000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (DELEGATECALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (SSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x6040600060406000731000000000000000000000000000000000000002619c90f4506001600355", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (STATICCALL 20040 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x6040600060406000731000000000000000000000000000000000000003614e48fa", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (DELEGATECALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x6040600060406000731000000000000000000000000000000000000002619c90f4505b61c3506080511015603a576001608051016080526022565b", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -85,14 +175,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000001" ], "gasLimit" : [ - "172000" + "0x029fe0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGMAfter2.json b/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGMAfter2.json index 6ef98c374..ce689a04f 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGMAfter2.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGMAfter2.json @@ -6,73 +6,165 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecall_010_OOGMAfter2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0x2cb3a04bc44ae222261063500becc688502079630781375b1ae85be17cba39f3", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x014b7e" - } - } + { + "hash" : "0x2cb3a04bc44ae222261063500becc688502079630781375b1ae85be17cba39f3", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x2cb3a04bc44ae222261063500becc688502079630781375b1ae85be17cba39f3", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x2cb3a04bc44ae222261063500becc688502079630781375b1ae85be17cba39f3", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x2cb3a04bc44ae222261063500becc688502079630781375b1ae85be17cba39f3", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x2cb3a04bc44ae222261063500becc688502079630781375b1ae85be17cba39f3", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x2cb3a04bc44ae222261063500becc688502079630781375b1ae85be17cba39f3", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x2cb3a04bc44ae222261063500becc688502079630781375b1ae85be17cba39f3", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x5389515c345bbc74db5091a0de832aa7fc002e89f54e776a22aa067ee1923a8b", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x5389515c345bbc74db5091a0de832aa7fc002e89f54e776a22aa067ee1923a8b", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 60150 (CALLDATALOAD 0) 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x604060006040600060003561eaf6fa6000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (CALLCODE 40080 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x60406000604060006000731000000000000000000000000000000000000002619c90f2505b61c3506080511015603c576001608051016080526024565b", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x6040600060406000731000000000000000000000000000000000000003614e34fa", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (CALLCODE 40080 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) (SSTORE 1 1) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x60406000604060006000731000000000000000000000000000000000000002619c90f2506001600155", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -83,14 +175,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000001" ], "gasLimit" : [ - "172000" + "0x029fe0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGMAfter_2.json b/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGMAfter_2.json index 122753a5d..724a8cbb8 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGMAfter_2.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGMAfter_2.json @@ -6,75 +6,165 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecall_010_OOGMAfter_2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0xe30eacc3c2c6cbdb91057adbaac53768546552d6d0dcc6ef95e182e95ec0f2c6", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x014b7e", - "0x02" : "0x00", - "0x03" : "0x00" - } - } + { + "hash" : "0xe30eacc3c2c6cbdb91057adbaac53768546552d6d0dcc6ef95e182e95ec0f2c6", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xe30eacc3c2c6cbdb91057adbaac53768546552d6d0dcc6ef95e182e95ec0f2c6", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xe30eacc3c2c6cbdb91057adbaac53768546552d6d0dcc6ef95e182e95ec0f2c6", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xe30eacc3c2c6cbdb91057adbaac53768546552d6d0dcc6ef95e182e95ec0f2c6", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xe30eacc3c2c6cbdb91057adbaac53768546552d6d0dcc6ef95e182e95ec0f2c6", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xe30eacc3c2c6cbdb91057adbaac53768546552d6d0dcc6ef95e182e95ec0f2c6", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xe30eacc3c2c6cbdb91057adbaac53768546552d6d0dcc6ef95e182e95ec0f2c6", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x6332d2b26543f5b5c66a0b39aae2bfe466532e049bfe712dc7a5bc12f3733107", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x6332d2b26543f5b5c66a0b39aae2bfe466532e049bfe712dc7a5bc12f3733107", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 60150 (CALLDATALOAD 0) 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x604060006040600060003561eaf6fa6000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (DELEGATECALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (SSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x6040600060406000731000000000000000000000000000000000000002619c90f4506001600355", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (STATICCALL 20040 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x6040600060406000731000000000000000000000000000000000000003614e48fa", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (DELEGATECALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x6040600060406000731000000000000000000000000000000000000002619c90f4505b61c3506080511015603a576001608051016080526022565b", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -85,14 +175,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000001" ], "gasLimit" : [ - "172000" + "0x029fe0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGMAfter_3.json b/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGMAfter_3.json index 755c4bd91..590dd3b60 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGMAfter_3.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGMAfter_3.json @@ -6,75 +6,165 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecall_010_OOGMAfter_3Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0x68829e4a6e38e3771085934e0572538d3da2e9f0375b1797c639a0162624de54", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x014b7e", - "0x02" : "0x00", - "0x03" : "0x00" - } - } + { + "hash" : "0x68829e4a6e38e3771085934e0572538d3da2e9f0375b1797c639a0162624de54", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x68829e4a6e38e3771085934e0572538d3da2e9f0375b1797c639a0162624de54", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x68829e4a6e38e3771085934e0572538d3da2e9f0375b1797c639a0162624de54", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x68829e4a6e38e3771085934e0572538d3da2e9f0375b1797c639a0162624de54", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x68829e4a6e38e3771085934e0572538d3da2e9f0375b1797c639a0162624de54", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x68829e4a6e38e3771085934e0572538d3da2e9f0375b1797c639a0162624de54", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x68829e4a6e38e3771085934e0572538d3da2e9f0375b1797c639a0162624de54", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xd62e6638d73cae56f010fc1e87bf62ffd483892080c36625d85091d01b78e783", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xd62e6638d73cae56f010fc1e87bf62ffd483892080c36625d85091d01b78e783", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 60150 (CALLDATALOAD 0) 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x604060006040600060003561eaf6fa6000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (CALLCODE 40080 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) (SSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x60406000604060006000731000000000000000000000000000000000000002619c90f2506001600355", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x6040600060406000731000000000000000000000000000000000000003614e34fa", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (CALLCODE 40080 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x60406000604060006000731000000000000000000000000000000000000002619c90f2505b61c3506080511015603c576001608051016080526024565b", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -85,14 +175,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000001" ], "gasLimit" : [ - "172000" + "0x029fe0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGMBefore.json b/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGMBefore.json index 740a60e86..420e565c8 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGMBefore.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGMBefore.json @@ -6,75 +6,165 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecall_010_OOGMBeforeFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0x540e8d14ae7d4273fe9695c00d066eefcadede311aa021922c9fe1f2f3dca99c", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x015c6c", - "0x02" : "0x00", - "0x03" : "0x00" - } - } + { + "hash" : "0x540e8d14ae7d4273fe9695c00d066eefcadede311aa021922c9fe1f2f3dca99c", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x540e8d14ae7d4273fe9695c00d066eefcadede311aa021922c9fe1f2f3dca99c", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x540e8d14ae7d4273fe9695c00d066eefcadede311aa021922c9fe1f2f3dca99c", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x540e8d14ae7d4273fe9695c00d066eefcadede311aa021922c9fe1f2f3dca99c", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x540e8d14ae7d4273fe9695c00d066eefcadede311aa021922c9fe1f2f3dca99c", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x540e8d14ae7d4273fe9695c00d066eefcadede311aa021922c9fe1f2f3dca99c", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x540e8d14ae7d4273fe9695c00d066eefcadede311aa021922c9fe1f2f3dca99c", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x447e0f22190f9bb1dbb05774ba3e736a57c00706a7cd77910e8ccabe73a9cf83", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x447e0f22190f9bb1dbb05774ba3e736a57c00706a7cd77910e8ccabe73a9cf83", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS)}", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000356000526040600060406000731000000000000000000000000000000000000001620249f0fa6000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (DELEGATECALL 40080 (CALLDATALOAD 0) 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x6040600060406000600035619c90f4", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (SSTORE 3 1) (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x60016003556040600060406000731000000000000000000000000000000000000003614e34fa", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x5b61c35060805110156018576001608051016080526000565b6040600060406000731000000000000000000000000000000000000003614e34fa", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -85,14 +175,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000002" ], "gasLimit" : [ - "172000" + "0x029fe0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGMBefore2.json b/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGMBefore2.json index c3d59cd48..46f507ee4 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGMBefore2.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGMBefore2.json @@ -6,75 +6,165 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecall_010_OOGMBefore2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0x57d703fa56d7ffe17864243cf80092518b074863778e2c823b8b40695fda674f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x015c69", - "0x02" : "0x00", - "0x03" : "0x00" - } - } + { + "hash" : "0x57d703fa56d7ffe17864243cf80092518b074863778e2c823b8b40695fda674f", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x57d703fa56d7ffe17864243cf80092518b074863778e2c823b8b40695fda674f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x57d703fa56d7ffe17864243cf80092518b074863778e2c823b8b40695fda674f", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x57d703fa56d7ffe17864243cf80092518b074863778e2c823b8b40695fda674f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x57d703fa56d7ffe17864243cf80092518b074863778e2c823b8b40695fda674f", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x57d703fa56d7ffe17864243cf80092518b074863778e2c823b8b40695fda674f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x57d703fa56d7ffe17864243cf80092518b074863778e2c823b8b40695fda674f", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x1a62c3878fd456b21d63afd2b38087ee231aaad964665769171e18f7d6f73990", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x1a62c3878fd456b21d63afd2b38087ee231aaad964665769171e18f7d6f73990", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000356000526040600060406000731000000000000000000000000000000000000001620249f0fa6000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (CALLCODE 40080 (CALLDATALOAD 0) 0 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x60406000604060006000600035619c90f2", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x5b61c35060805110156018576001608051016080526000565b6040600060406000731000000000000000000000000000000000000003614e34fa", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (SSTORE 3 1) (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x60016003556040600060406000731000000000000000000000000000000000000003614e34fa", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -85,14 +175,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000002" ], "gasLimit" : [ - "172000" + "0x029fe0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecall_010_SuicideEnd.json b/GeneralStateTests/stStaticCall/static_callcallcodecall_010_SuicideEnd.json index 5ede200ab..9811f0ba9 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecall_010_SuicideEnd.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecall_010_SuicideEnd.json @@ -6,81 +6,108 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecall_010_SuicideEndFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x2b9a4b", - "0x03" : "0x00" - } + "post" : { + "EIP150" : [ + { + "hash" : "0x4dc754dfdfb0af30cd83411ff9b98c2a32104dfdb287644220972889119f30c1", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000001" : { - "balance" : "10000000000" + "logs" : [ + ] + } + ], + "EIP158" : [ + { + "hash" : "0x4dc754dfdfb0af30cd83411ff9b98c2a32104dfdb287644220972889119f30c1", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000003" : { - "storage" : { - "0x03" : "0x00" - } + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x4dc754dfdfb0af30cd83411ff9b98c2a32104dfdb287644220972889119f30c1", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "storage" : { - "0x01" : "0x00", - "0x02" : "0x00" - } - } + "logs" : [ + ] } - } - ], + ], + "Homestead" : [ + { + "hash" : "0x4dc754dfdfb0af30cd83411ff9b98c2a32104dfdb287644220972889119f30c1", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xb926376fff8fb99ba0fa81eab355ab3e11256ed00352f658108e8a18bc9d092b", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0fa6000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "10000000000", - "code" : "{ (DELEGATECALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x02540be400", + "code" : "0x6040600060406000731000000000000000000000000000000000000002620186a0f4", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "10000000000", - "code" : "{ (STATICCALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000001) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x02540be400", + "code" : "0x604060006040600073100000000000000000000000000000000000000361c350fa50731000000000000000000000000000000000000001ff", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "10000000000", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x02540be400", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -90,14 +117,14 @@ "" ], "gasLimit" : [ - "3000000" + "0x2dc6c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecall_010_SuicideEnd2.json b/GeneralStateTests/stStaticCall/static_callcallcodecall_010_SuicideEnd2.json index 8d784d963..d1e0f1d2a 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecall_010_SuicideEnd2.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecall_010_SuicideEnd2.json @@ -6,72 +6,108 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecall_010_SuicideEnd2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x2b9a48" - } + "post" : { + "EIP150" : [ + { + "hash" : "0xb27f3b646f796869d105f89d84bc273ca9922ee152f611cfa97280427ced7895", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000003" : { - "balance" : "10000000000", - "storage" : { - "0x03" : "0x00" - } - } + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xb27f3b646f796869d105f89d84bc273ca9922ee152f611cfa97280427ced7895", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xb27f3b646f796869d105f89d84bc273ca9922ee152f611cfa97280427ced7895", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xb27f3b646f796869d105f89d84bc273ca9922ee152f611cfa97280427ced7895", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x897dc775ba11fca972cf1a718bf7db4af5a95d99af46301b8e6251792ea06bdf", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0fa6000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "10000000000", - "code" : "{ (CALLCODE 100000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x02540be400", + "code" : "0x60406000604060006000731000000000000000000000000000000000000002620186a0f2", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "10000000000", - "code" : "{ (STATICCALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000001) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x02540be400", + "code" : "0x604060006040600073100000000000000000000000000000000000000361c350fa50731000000000000000000000000000000000000001ff", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "10000000000", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x02540be400", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -81,14 +117,14 @@ "" ], "gasLimit" : [ - "3000000" + "0x2dc6c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecall_010_SuicideMiddle.json b/GeneralStateTests/stStaticCall/static_callcallcodecall_010_SuicideMiddle.json index 757940aec..a64a9b38d 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecall_010_SuicideMiddle.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecall_010_SuicideMiddle.json @@ -6,66 +6,108 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecall_010_SuicideMiddleFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x2b9a4b" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x59d3f1c3d6468bd6ab594a573ac4f799545e10065f70e6ec04facd62e57d86d7", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x59d3f1c3d6468bd6ab594a573ac4f799545e10065f70e6ec04facd62e57d86d7", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x59d3f1c3d6468bd6ab594a573ac4f799545e10065f70e6ec04facd62e57d86d7", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x59d3f1c3d6468bd6ab594a573ac4f799545e10065f70e6ec04facd62e57d86d7", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xea783d37d42e6ecd24e892886df355ba6d51587e01c149d24fc153db261f5bdb", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0fa6000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "10000000000", - "code" : "{ (DELEGATECALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x02540be400", + "code" : "0x6040600060406000731000000000000000000000000000000000000002620186a0f4", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "10000000000", - "code" : "{ (SELFDESTRUCT 0x1000000000000000000000000000000000000000) (STATICCALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x02540be400", + "code" : "0x731000000000000000000000000000000000000000ff", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "10000000000", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x02540be400", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -75,14 +117,14 @@ "" ], "gasLimit" : [ - "3000000" + "0x2dc6c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecall_010_SuicideMiddle2.json b/GeneralStateTests/stStaticCall/static_callcallcodecall_010_SuicideMiddle2.json index 63fed5ebf..fd2e6127e 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecall_010_SuicideMiddle2.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecall_010_SuicideMiddle2.json @@ -6,79 +6,108 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecall_010_SuicideMiddle2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x2b9a48" - } + "post" : { + "EIP150" : [ + { + "hash" : "0xf673e75a7903269b3f0930f908dc792c4c34c0602746d8b7f4d34f0ad32358ce", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000002" : { - "balance" : "10000000000", - "storage" : { - "0x01" : "0x00", - "0x02" : "0x00" - } + "logs" : [ + ] + } + ], + "EIP158" : [ + { + "hash" : "0xf673e75a7903269b3f0930f908dc792c4c34c0602746d8b7f4d34f0ad32358ce", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000003" : { - "balance" : "10000000000", - "storage" : { - "0x03" : "0x00" - } - } + "logs" : [ + ] } - } - ], + ], + "Frontier" : [ + { + "hash" : "0xf673e75a7903269b3f0930f908dc792c4c34c0602746d8b7f4d34f0ad32358ce", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xf673e75a7903269b3f0930f908dc792c4c34c0602746d8b7f4d34f0ad32358ce", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xf07644cc5749fdb124dc06126a62b44551ed28eda44d5eb3cc75549a1891ecfb", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0fa6000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "10000000000", - "code" : "{ (CALLCODE 100000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x02540be400", + "code" : "0x60406000604060006000731000000000000000000000000000000000000002620186a0f2", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "10000000000", - "code" : "{ (SELFDESTRUCT 0x1000000000000000000000000000000000000000) (STATICCALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x02540be400", + "code" : "0x731000000000000000000000000000000000000000ff", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "10000000000", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x02540be400", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -88,14 +117,14 @@ "" ], "gasLimit" : [ - "3000000" + "0x2dc6c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecall_ABCB_RECURSIVE.json b/GeneralStateTests/stStaticCall/static_callcallcodecall_ABCB_RECURSIVE.json index 6c2b8a9af..1c3a2230c 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecall_ABCB_RECURSIVE.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecall_ABCB_RECURSIVE.json @@ -6,71 +6,101 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecall_ABCB_RECURSIVEFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "3000000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0xb2d05e00", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x01c75d11" - } + "post" : { + "EIP150" : [ + { + "hash" : "0x49f3a5850045604875b3ee7f2ebf235952a601f8d6aa4021b7f08f5661894092", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000001" : { - "storage" : { - "0x01" : "0x00", - "0x02" : "0x00" - } + "logs" : [ + ] + } + ], + "EIP158" : [ + { + "hash" : "0x49f3a5850045604875b3ee7f2ebf235952a601f8d6aa4021b7f08f5661894092", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000002" : { - "storage" : { - "0x01" : "0x00", - "0x02" : "0x00" - } - } + "logs" : [ + ] } - } - ], + ], + "Frontier" : [ + { + "hash" : "0x49f3a5850045604875b3ee7f2ebf235952a601f8d6aa4021b7f08f5661894092", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x49f3a5850045604875b3ee7f2ebf235952a601f8d6aa4021b7f08f5661894092", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x13778c562ea9af15cf107860c2ed51034bb91b7e28229a31f2b839c0e06cdf0e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 25000000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x604060006040600073100000000000000000000000000000000000000163017d7840fa6000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "10000000000", - "code" : "{ (DELEGATECALL 1000000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x02540be400", + "code" : "0x6040600060406000731000000000000000000000000000000000000002620f4240f4", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "10000000000", - "code" : "{ (STATICCALL 500000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x02540be400", + "code" : "0x60406000604060007310000000000000000000000000000000000000016207a120fa", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -80,14 +110,14 @@ "" ], "gasLimit" : [ - "30000000" + "0x01c9c380" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecall_ABCB_RECURSIVE2.json b/GeneralStateTests/stStaticCall/static_callcallcodecall_ABCB_RECURSIVE2.json index 518ec8467..a86948aa9 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecall_ABCB_RECURSIVE2.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecall_ABCB_RECURSIVE2.json @@ -6,71 +6,101 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecall_ABCB_RECURSIVE2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "3000000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0xb2d05e00", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x01c75c78" - } + "post" : { + "EIP150" : [ + { + "hash" : "0x76f93e5709b70048ac48bce27e5c57a7e6b79c5abebc7c7017c0f22297464d17", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000001" : { - "storage" : { - "0x01" : "0x00", - "0x02" : "0x00" - } + "logs" : [ + ] + } + ], + "EIP158" : [ + { + "hash" : "0x76f93e5709b70048ac48bce27e5c57a7e6b79c5abebc7c7017c0f22297464d17", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000002" : { - "storage" : { - "0x01" : "0x00", - "0x02" : "0x00" - } - } + "logs" : [ + ] } - } - ], + ], + "Frontier" : [ + { + "hash" : "0x76f93e5709b70048ac48bce27e5c57a7e6b79c5abebc7c7017c0f22297464d17", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x76f93e5709b70048ac48bce27e5c57a7e6b79c5abebc7c7017c0f22297464d17", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x40b39cda5afb0a2b56a572668d01f831fa58ac06273653a63591a5f0a13a3142", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 25000000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x604060006040600073100000000000000000000000000000000000000163017d7840fa6000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "10000000000", - "code" : "{ (CALLCODE 1000000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x02540be400", + "code" : "0x60406000604060006000731000000000000000000000000000000000000002620f4240f2", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "10000000000", - "code" : "{ (STATICCALL 500000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x02540be400", + "code" : "0x60406000604060007310000000000000000000000000000000000000016207a120fa", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -80,14 +110,14 @@ "" ], "gasLimit" : [ - "30000000" + "0x01c9c380" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011.json b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011.json index e9564f19b..b800ba221 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011.json @@ -6,68 +6,108 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x2d1de0", - "0x03" : "0x00", - "0x04" : "0x00" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x2fd75751e2840030fd525e367b76078a473d3b453743658bb32f61985ebdd3c9", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x2fd75751e2840030fd525e367b76078a473d3b453743658bb32f61985ebdd3c9", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x2fd75751e2840030fd525e367b76078a473d3b453743658bb32f61985ebdd3c9", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x2fd75751e2840030fd525e367b76078a473d3b453743658bb32f61985ebdd3c9", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x19cb8862259737713de891945c4c19bfb69b0562a44b08bc871398c3a8f79918", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 350000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x604060006040600073100000000000000000000000000000000000000162055730fa6000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 1 1) (DELEGATECALL 300000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 1 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60016001526040600060406000731000000000000000000000000000000000000002620493e0f4506001600152", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 11 1) (DELEGATECALL 250000 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 11 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6001600b5260406000604060007310000000000000000000000000000000000000036203d090f4506001600b52", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (MSTORE 1 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x6001600152", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -77,14 +117,14 @@ "" ], "gasLimit" : [ - "3000000" + "0x2dc6c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_2.json b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_2.json index 314eff335..4a96a4fbb 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_2.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_2.json @@ -6,91 +6,165 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : 0, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0x2ef4ce9928e12ef46bd37c473fa224226d6f4893ea7b94346c23e573e32eefbd", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x2d1cf3" - } - } + { + "hash" : "0x2ef4ce9928e12ef46bd37c473fa224226d6f4893ea7b94346c23e573e32eefbd", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : 1, - "gas" : -1, - "value" : -1 + ], + "EIP158" : [ + { + "hash" : "0x2ef4ce9928e12ef46bd37c473fa224226d6f4893ea7b94346c23e573e32eefbd", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x2d02c7" - } - } + { + "hash" : "0x2ef4ce9928e12ef46bd37c473fa224226d6f4893ea7b94346c23e573e32eefbd", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "Frontier" : [ + { + "hash" : "0x2ef4ce9928e12ef46bd37c473fa224226d6f4893ea7b94346c23e573e32eefbd", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x2ef4ce9928e12ef46bd37c473fa224226d6f4893ea7b94346c23e573e32eefbd", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x2ef4ce9928e12ef46bd37c473fa224226d6f4893ea7b94346c23e573e32eefbd", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x2ef4ce9928e12ef46bd37c473fa224226d6f4893ea7b94346c23e573e32eefbd", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x9db7831768f2ee813548e2ef021daf6ad66d2703c19342c41f8839efaaeb0767", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x3e51020794ae37feb46ed74fb683949978ebf620609e854fdae15cb5a7e8cc00", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 350000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600035600052604060006040600073100000000000000000000000000000000000000162055730fa6000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "1000000000000000000", - "code" : "{ (CALLCODE 300000 (CALLDATALOAD 0) 0 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60406000604060006000600035620493e0f2", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "1000000000000000000", - "code" : "{ (CALLCODE 250000 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x604060006040600060007310000000000000000000000000000000000000036203d090f2", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (MSTORE 1 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x6001600152", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000002" : { - "balance" : "1000000000000000000", - "code" : "{ (CALLCODE 250000 0x1000000000000000000000000000000000000003 1 0 64 0 64 ) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000002" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x604060006040600060017310000000000000000000000000000000000000036203d090f2", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -101,14 +175,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000002" ], "gasLimit" : [ - "3000000" + "0x2dc6c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGE.json b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGE.json index 4867d3608..9bb7e3a3e 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGE.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGE.json @@ -6,73 +6,165 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_OOGEFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0x4daa489c6b3aabf48d863c99f9e2a26afdd0a99d943a0c791d0529f5180c4bb3", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x01a7e8" - } - } + { + "hash" : "0x4daa489c6b3aabf48d863c99f9e2a26afdd0a99d943a0c791d0529f5180c4bb3", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x4daa489c6b3aabf48d863c99f9e2a26afdd0a99d943a0c791d0529f5180c4bb3", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x4daa489c6b3aabf48d863c99f9e2a26afdd0a99d943a0c791d0529f5180c4bb3", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x4daa489c6b3aabf48d863c99f9e2a26afdd0a99d943a0c791d0529f5180c4bb3", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x4daa489c6b3aabf48d863c99f9e2a26afdd0a99d943a0c791d0529f5180c4bb3", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x4daa489c6b3aabf48d863c99f9e2a26afdd0a99d943a0c791d0529f5180c4bb3", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x4daa489c6b3aabf48d863c99f9e2a26afdd0a99d943a0c791d0529f5180c4bb3", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x0af81d323116a22531bb4d7fa04c8ac27e8044ae1e98b6c1668ef4955ebed727", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x0af81d323116a22531bb4d7fa04c8ac27e8044ae1e98b6c1668ef4955ebed727", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000356000526040600060406000731000000000000000000000000000000000000001620249f0fa6000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) (DELEGATECALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x6000356000526040600060406000731000000000000000000000000000000000000002620186a0f4", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (DELEGATECALL 20020 (CALLDATALOAD 0) 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x6040600060406000600035614e34f4", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (SSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x6001600355", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x5b61c35060805110156018576001608051016080526000565b", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -83,14 +175,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000003" ], "gasLimit" : [ - "172000" + "0x029fe0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGE_2.json b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGE_2.json index 05584dcfb..ae7919872 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGE_2.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGE_2.json @@ -6,91 +6,165 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_OOGE_2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : 0, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0x242220bfa3ff7bdb870f22f1b6711ca133c612c37846f536cb13e7069bebdb4c", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x01f5eb" - } - } + { + "hash" : "0x242220bfa3ff7bdb870f22f1b6711ca133c612c37846f536cb13e7069bebdb4c", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : 1, - "gas" : -1, - "value" : -1 + ], + "EIP158" : [ + { + "hash" : "0x242220bfa3ff7bdb870f22f1b6711ca133c612c37846f536cb13e7069bebdb4c", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x01dbce" - } - } + { + "hash" : "0x242220bfa3ff7bdb870f22f1b6711ca133c612c37846f536cb13e7069bebdb4c", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "Frontier" : [ + { + "hash" : "0x242220bfa3ff7bdb870f22f1b6711ca133c612c37846f536cb13e7069bebdb4c", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x242220bfa3ff7bdb870f22f1b6711ca133c612c37846f536cb13e7069bebdb4c", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x242220bfa3ff7bdb870f22f1b6711ca133c612c37846f536cb13e7069bebdb4c", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x242220bfa3ff7bdb870f22f1b6711ca133c612c37846f536cb13e7069bebdb4c", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xc50926fa7b3798228ab87b4e6caef6880835e1f473776bc5942ab9cfb6067fb0", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x16776fdb7a0c07720faf28c0c3a68e7231f9b9a00de3cff098c1bccd8671568c", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000356000526040600060406000731000000000000000000000000000000000000001620249f0fa6000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) (CALLCODE 100000 (CALLDATALOAD 0) 0 0 64 0 64 ) (MSTORE 3 1)}", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x600160035260406000604060006000600035620186a0f2506001600352", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (MSTORE 3 11) (CALLCODE 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) (MSTORE 13 1)}", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x600b60035260406000604060006000731000000000000000000000000000000000000003614e34f2506001600d52", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (MSTORE 3 11) (CALLCODE 20020 0x1000000000000000000000000000000000000003 1 0 64 0 64 ) (MSTORE 13 1)}", - "nonce" : "0", + "0x2000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x600b60035260406000604060006001731000000000000000000000000000000000000003614e34f2506001600d52", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -101,14 +175,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000002" ], "gasLimit" : [ - "172000" + "0x029fe0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGMAfter.json b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGMAfter.json index de666396a..66827802b 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGMAfter.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGMAfter.json @@ -6,73 +6,165 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_OOGMAfterFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0x2e194b3f2ad4b733dae1bd053e9686b9c6b677325326aa1811572d2016645dbe", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x014b88" - } - } + { + "hash" : "0x2e194b3f2ad4b733dae1bd053e9686b9c6b677325326aa1811572d2016645dbe", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x2e194b3f2ad4b733dae1bd053e9686b9c6b677325326aa1811572d2016645dbe", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x2e194b3f2ad4b733dae1bd053e9686b9c6b677325326aa1811572d2016645dbe", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x2e194b3f2ad4b733dae1bd053e9686b9c6b677325326aa1811572d2016645dbe", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x2e194b3f2ad4b733dae1bd053e9686b9c6b677325326aa1811572d2016645dbe", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x2e194b3f2ad4b733dae1bd053e9686b9c6b677325326aa1811572d2016645dbe", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x2e194b3f2ad4b733dae1bd053e9686b9c6b677325326aa1811572d2016645dbe", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xbd5d7bfff973258610c0c91f936cfac39cbfa43b4d4036e8207b856412d5e7d8", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xbd5d7bfff973258610c0c91f936cfac39cbfa43b4d4036e8207b856412d5e7d8", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 60140 (CALLDATALOAD 0) 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x604060006040600060003561eaecfa6000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (MSTORE 1 1) (DELEGATECALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (SSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x60016001526040600060406000731000000000000000000000000000000000000002619c90f4506001600355", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (MSTORE 1 1) (DELEGATECALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 1 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x60016001526040600060406000731000000000000000000000000000000000000003614e34f4506001600152", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (MSTORE 1 1) (DELEGATECALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x60016001526040600060406000731000000000000000000000000000000000000002619c90f4505b61c3506080511015603f576001608051016080526027565b", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -83,14 +175,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000001" ], "gasLimit" : [ - "172000" + "0x029fe0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGMAfter2.json b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGMAfter2.json index a3d8f9dd2..ddca3f5da 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGMAfter2.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGMAfter2.json @@ -6,73 +6,165 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_OOGMAfter2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0xd7f9bc5887e48f150f206c043834da84c98c0819b6616a02abbd3f170d97e048", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x014b7e" - } - } + { + "hash" : "0xd7f9bc5887e48f150f206c043834da84c98c0819b6616a02abbd3f170d97e048", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xd7f9bc5887e48f150f206c043834da84c98c0819b6616a02abbd3f170d97e048", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xd7f9bc5887e48f150f206c043834da84c98c0819b6616a02abbd3f170d97e048", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xd7f9bc5887e48f150f206c043834da84c98c0819b6616a02abbd3f170d97e048", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xd7f9bc5887e48f150f206c043834da84c98c0819b6616a02abbd3f170d97e048", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xd7f9bc5887e48f150f206c043834da84c98c0819b6616a02abbd3f170d97e048", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xd7f9bc5887e48f150f206c043834da84c98c0819b6616a02abbd3f170d97e048", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xe17e78baf0baf3baa33b7c07e6a27a4b26bfa0da315cd2fdd7f78b852ac319fe", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xe17e78baf0baf3baa33b7c07e6a27a4b26bfa0da315cd2fdd7f78b852ac319fe", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 60150 (CALLDATALOAD 0) 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x604060006040600060003561eaf6fa6000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (CALLCODE 40080 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) (SSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x60406000604060006000731000000000000000000000000000000000000002619c90f2506001600355", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (CALLCODE 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x60406000604060006000731000000000000000000000000000000000000003614e34f2", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (CALLCODE 40080 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x60406000604060006000731000000000000000000000000000000000000002619c90f2505b61c3506080511015603c576001608051016080526024565b", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -83,14 +175,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000001" ], "gasLimit" : [ - "172000" + "0x029fe0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGMAfter_1.json b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGMAfter_1.json index 870ebafbb..5b40b988a 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGMAfter_1.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGMAfter_1.json @@ -6,73 +6,165 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_OOGMAfter_1Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0x37b05b2b1694e267a17fa8d8b8a8d34c9f110bdb64dbb9bb587672ed83a922bb", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x014b88" - } - } + { + "hash" : "0x37b05b2b1694e267a17fa8d8b8a8d34c9f110bdb64dbb9bb587672ed83a922bb", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x37b05b2b1694e267a17fa8d8b8a8d34c9f110bdb64dbb9bb587672ed83a922bb", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x37b05b2b1694e267a17fa8d8b8a8d34c9f110bdb64dbb9bb587672ed83a922bb", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x37b05b2b1694e267a17fa8d8b8a8d34c9f110bdb64dbb9bb587672ed83a922bb", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x37b05b2b1694e267a17fa8d8b8a8d34c9f110bdb64dbb9bb587672ed83a922bb", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x37b05b2b1694e267a17fa8d8b8a8d34c9f110bdb64dbb9bb587672ed83a922bb", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x37b05b2b1694e267a17fa8d8b8a8d34c9f110bdb64dbb9bb587672ed83a922bb", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x990af95a71b3118f69c426277add38bbc58de02a9e26bff7eb0ebf4bbf7ae599", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x990af95a71b3118f69c426277add38bbc58de02a9e26bff7eb0ebf4bbf7ae599", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 60140 (CALLDATALOAD 0) 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x604060006040600060003561eaecfa6000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) (DELEGATECALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (SSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x60016003526040600060406000731000000000000000000000000000000000000002619c90f4506001600355", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) (DELEGATECALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x60016003526040600060406000731000000000000000000000000000000000000003614e34f4506001600352", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) (DELEGATECALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x60016003526040600060406000731000000000000000000000000000000000000002619c90f4505b61c3506080511015603f576001608051016080526027565b", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -83,14 +175,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000001" ], "gasLimit" : [ - "172000" + "0x029fe0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGMAfter_2.json b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGMAfter_2.json index ae18ec3b8..b637abf20 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGMAfter_2.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGMAfter_2.json @@ -6,73 +6,165 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_OOGMAfter_2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0xc03c499e2a3c34e4c26beadf863c506258ab497dc402f2f6a757045ed7f3b080", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x014b7e" - } - } + { + "hash" : "0xc03c499e2a3c34e4c26beadf863c506258ab497dc402f2f6a757045ed7f3b080", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xc03c499e2a3c34e4c26beadf863c506258ab497dc402f2f6a757045ed7f3b080", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xc03c499e2a3c34e4c26beadf863c506258ab497dc402f2f6a757045ed7f3b080", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xc03c499e2a3c34e4c26beadf863c506258ab497dc402f2f6a757045ed7f3b080", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xc03c499e2a3c34e4c26beadf863c506258ab497dc402f2f6a757045ed7f3b080", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xc03c499e2a3c34e4c26beadf863c506258ab497dc402f2f6a757045ed7f3b080", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xc03c499e2a3c34e4c26beadf863c506258ab497dc402f2f6a757045ed7f3b080", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xfa050b11a89e2a9f7c305d45fbe82d342206c1c7a1a4c6f3bbc1f8d93d752ef9", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xfa050b11a89e2a9f7c305d45fbe82d342206c1c7a1a4c6f3bbc1f8d93d752ef9", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 60150 (CALLDATALOAD 0) 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x604060006040600060003561eaf6fa6000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) (CALLCODE 40080 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) (SSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x600160035260406000604060006000731000000000000000000000000000000000000002619c90f2506001600355", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) (CALLCODE 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) (MSTORE 32 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x600160035260406000604060006000731000000000000000000000000000000000000003614e34f2506001602052", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) (CALLCODE 40080 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x600160035260406000604060006000731000000000000000000000000000000000000002619c90f2505b61c35060805110156041576001608051016080526029565b", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -83,14 +175,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000001" ], "gasLimit" : [ - "172000" + "0x029fe0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGMBefore.json b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGMBefore.json index ca7d71b4b..1f794cd97 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGMBefore.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGMBefore.json @@ -6,71 +6,165 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_OOGMBeforeFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0x2ad20090e1224b29415993bf5bd03758d712b8193e795a912eabed4d2604d345", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : "Metropolis", - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x015c58" - } - } + { + "hash" : "0x2ad20090e1224b29415993bf5bd03758d712b8193e795a912eabed4d2604d345", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x2ad20090e1224b29415993bf5bd03758d712b8193e795a912eabed4d2604d345", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x2ad20090e1224b29415993bf5bd03758d712b8193e795a912eabed4d2604d345", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x2ad20090e1224b29415993bf5bd03758d712b8193e795a912eabed4d2604d345", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x2ad20090e1224b29415993bf5bd03758d712b8193e795a912eabed4d2604d345", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x2ad20090e1224b29415993bf5bd03758d712b8193e795a912eabed4d2604d345", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x2ad20090e1224b29415993bf5bd03758d712b8193e795a912eabed4d2604d345", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xd6541ea5354201a48bd0f70f2f332dd4531fa85f8bb7d071781c438303fa64d0", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xd6541ea5354201a48bd0f70f2f332dd4531fa85f8bb7d071781c438303fa64d0", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000356000526040600060406000731000000000000000000000000000000000000001620249f0fa6000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) (DELEGATECALL 40080 (CALLDATALOAD 0) 0 64 0 64 ) (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x60016003526040600060406000600035619c90f4506001600352", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (SSTORE 3 1) (DELEGATECALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x60016003556040600060406000731000000000000000000000000000000000000003614e34f4506001600352", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) (DELEGATECALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 3 1) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x5b61c35060805110156018576001608051016080526000565b6040600060406000731000000000000000000000000000000000000003614e34f4506001600352", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -81,14 +175,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000002" ], "gasLimit" : [ - "172000" + "0x029fe0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGMBefore2.json b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGMBefore2.json index 33be6467f..234d88b5b 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGMBefore2.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGMBefore2.json @@ -6,103 +6,222 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_OOGMBefore2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : [ - 0, - 1 - ], - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0x9ed73ce69ea182a3c3951a9afc1f43cb659b78f9218037269f67acb4c15fc080", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x015c55" - } - } + { + "hash" : "0x9ed73ce69ea182a3c3951a9afc1f43cb659b78f9218037269f67acb4c15fc080", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x9ed73ce69ea182a3c3951a9afc1f43cb659b78f9218037269f67acb4c15fc080", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : [ - 2 - ], - "gas" : -1, - "value" : -1 + ], + "EIP158" : [ + { + "hash" : "0x9ed73ce69ea182a3c3951a9afc1f43cb659b78f9218037269f67acb4c15fc080", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x01dbd7" - } - } + { + "hash" : "0x9ed73ce69ea182a3c3951a9afc1f43cb659b78f9218037269f67acb4c15fc080", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x9ed73ce69ea182a3c3951a9afc1f43cb659b78f9218037269f67acb4c15fc080", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "Frontier" : [ + { + "hash" : "0x9ed73ce69ea182a3c3951a9afc1f43cb659b78f9218037269f67acb4c15fc080", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x9ed73ce69ea182a3c3951a9afc1f43cb659b78f9218037269f67acb4c15fc080", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x9ed73ce69ea182a3c3951a9afc1f43cb659b78f9218037269f67acb4c15fc080", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x9ed73ce69ea182a3c3951a9afc1f43cb659b78f9218037269f67acb4c15fc080", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x9ed73ce69ea182a3c3951a9afc1f43cb659b78f9218037269f67acb4c15fc080", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x9ed73ce69ea182a3c3951a9afc1f43cb659b78f9218037269f67acb4c15fc080", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x5b1d00a06a0a036104cbba95bdb5cbafcbf87dc8211748891feaa97e38d6e8d1", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x5b1d00a06a0a036104cbba95bdb5cbafcbf87dc8211748891feaa97e38d6e8d1", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xfc2dce01185c4c215d30367575141e646f1a5db292112040331e5018a8ffcdd5", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000356000526040600060406000731000000000000000000000000000000000000001620249f0fa6000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (MSTORE 32 1) (CALLCODE 40080 (CALLDATALOAD 0) 0 0 64 0 64 ) (MSTORE 32 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x600160205260406000604060006000600035619c90f2506001602052", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (SSTORE 3 1) (CALLCODE 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) (MSTORE 32 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x600160035560406000604060006000731000000000000000000000000000000000000003614e34f2506001602052", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (MSTORE 32 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x6001602052", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) (CALLCODE 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) (MSTORE 32 1) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x5b61c35060805110156018576001608051016080526000565b60406000604060006000731000000000000000000000000000000000000003614e34f2506001602052", + "nonce" : "0x00", "storage" : { } }, - "3000000000000000000000000000000000000002" : { - "balance" : "10", - "code" : "{ (CALLCODE 20020 0x1000000000000000000000000000000000000003 1 0 64 0 64 ) (MSTORE 32 1) }", - "nonce" : "0", + "0x3000000000000000000000000000000000000002" : { + "balance" : "0x0a", + "code" : "0x60406000604060006001731000000000000000000000000000000000000003614e34f2506001602052", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -114,14 +233,14 @@ "0x0000000000000000000000003000000000000000000000000000000000000002" ], "gasLimit" : [ - "172000" + "0x029fe0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_SuicideEnd.json b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_SuicideEnd.json index 1f48259b6..08ce835f4 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_SuicideEnd.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_SuicideEnd.json @@ -6,67 +6,108 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_SuicideEndFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : "Metropolis", - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x2b9a4b" - } + "post" : { + "EIP150" : [ + { + "hash" : "0x61348e42b14d35d4eef7d5956eeffb19517a6fbf0a94e1ab3eb4dcf35855c89c", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000002" : { - "balance" : "10000000000" - } + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x61348e42b14d35d4eef7d5956eeffb19517a6fbf0a94e1ab3eb4dcf35855c89c", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x61348e42b14d35d4eef7d5956eeffb19517a6fbf0a94e1ab3eb4dcf35855c89c", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x61348e42b14d35d4eef7d5956eeffb19517a6fbf0a94e1ab3eb4dcf35855c89c", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xb67aa4247e88c4d122fb9eeef8124903887c155478891526a791052f6d3bd021", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0fa6000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "10000000000", - "code" : "{ (DELEGATECALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x02540be400", + "code" : "0x6040600060406000731000000000000000000000000000000000000002620186a0f4", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "10000000000", - "code" : "{ (DELEGATECALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000001) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x02540be400", + "code" : "0x604060006040600073100000000000000000000000000000000000000361c350f450731000000000000000000000000000000000000001ff", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "10000000000", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x02540be400", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -76,14 +117,14 @@ "" ], "gasLimit" : [ - "3000000" + "0x2dc6c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_SuicideEnd2.json b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_SuicideEnd2.json index b7a333e87..1937bee40 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_SuicideEnd2.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_SuicideEnd2.json @@ -6,66 +6,108 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_SuicideEnd2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x2b9a3f" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x22516f9d8f7a7932fb00d5b49968d602ec3ae02aa8271296b42286d2b7e0ea36", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x22516f9d8f7a7932fb00d5b49968d602ec3ae02aa8271296b42286d2b7e0ea36", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x22516f9d8f7a7932fb00d5b49968d602ec3ae02aa8271296b42286d2b7e0ea36", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x22516f9d8f7a7932fb00d5b49968d602ec3ae02aa8271296b42286d2b7e0ea36", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xcabc8e8c5f4501f7883829cfce035018e718565b59a34c135a3c027311098777", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0fa6000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "10000000000", - "code" : "{ (MSTORE 3 1) (CALLCODE 100000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x02540be400", + "code" : "0x600160035260406000604060006000731000000000000000000000000000000000000002620186a0f2", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "10000000000", - "code" : "{ (MSTORE 3 1) (CALLCODE 50000 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000001) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x02540be400", + "code" : "0x60016003526040600060406000600073100000000000000000000000000000000000000361c350f250731000000000000000000000000000000000000001ff", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "10000000000", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x02540be400", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -75,14 +117,14 @@ "" ], "gasLimit" : [ - "3000000" + "0x2dc6c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_SuicideMiddle.json b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_SuicideMiddle.json index c30ec91ba..4bd427207 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_SuicideMiddle.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_SuicideMiddle.json @@ -6,69 +6,108 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_SuicideMiddleFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x2b9a4b" - } + "post" : { + "EIP150" : [ + { + "hash" : "0x59d3f1c3d6468bd6ab594a573ac4f799545e10065f70e6ec04facd62e57d86d7", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000002" : { - "balance" : "10000000000" - } + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x59d3f1c3d6468bd6ab594a573ac4f799545e10065f70e6ec04facd62e57d86d7", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x59d3f1c3d6468bd6ab594a573ac4f799545e10065f70e6ec04facd62e57d86d7", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x59d3f1c3d6468bd6ab594a573ac4f799545e10065f70e6ec04facd62e57d86d7", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xea783d37d42e6ecd24e892886df355ba6d51587e01c149d24fc153db261f5bdb", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0fa6000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "10000000000", - "code" : "{ (DELEGATECALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x02540be400", + "code" : "0x6040600060406000731000000000000000000000000000000000000002620186a0f4", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "10000000000", - "code" : "{ (SELFDESTRUCT 0x1000000000000000000000000000000000000000) (DELEGATECALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x02540be400", + "code" : "0x731000000000000000000000000000000000000000ff", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "10000000000", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x02540be400", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -78,14 +117,14 @@ "" ], "gasLimit" : [ - "3000000" + "0x2dc6c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_SuicideMiddle2.json b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_SuicideMiddle2.json index 511ff1ac1..de8f7b63a 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_SuicideMiddle2.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_SuicideMiddle2.json @@ -6,69 +6,108 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_SuicideMiddle2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x00" - } + "post" : { + "EIP150" : [ + { + "hash" : "0x9bfdf19cb71a48380c3c874c6acb8d2d44f1f91b865a5392b5b8daa85eadc66f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000002" : { - "balance" : "10000000000" - } + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x9bfdf19cb71a48380c3c874c6acb8d2d44f1f91b865a5392b5b8daa85eadc66f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x9bfdf19cb71a48380c3c874c6acb8d2d44f1f91b865a5392b5b8daa85eadc66f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x9bfdf19cb71a48380c3c874c6acb8d2d44f1f91b865a5392b5b8daa85eadc66f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x5390e5b561f9b0603dec17d274e19b996d1ac37a789533458cb553b032b5bf33", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0fa600055", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "10000000000", - "code" : "{ (MSTORE 3 1) (CALLCODE 100000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x02540be400", + "code" : "0x600160035260406000604060006000731000000000000000000000000000000000000002620186a0f2506001600352", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "10000000000", - "code" : "{ (SELFDESTRUCT 0x1000000000000000000000000000000000000000) (CALLCODE 50000 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x02540be400", + "code" : "0x731000000000000000000000000000000000000000ff", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "10000000000", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x02540be400", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -78,14 +117,14 @@ "" ], "gasLimit" : [ - "3000000" + "0x2dc6c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_ABCB_RECURSIVE.json b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_ABCB_RECURSIVE.json index d8e6703d1..d3464bd8a 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_ABCB_RECURSIVE.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_ABCB_RECURSIVE.json @@ -6,71 +6,101 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_ABCB_RECURSIVEFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "3000000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0xb2d05e00", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x01c75d11" - } + "post" : { + "EIP150" : [ + { + "hash" : "0x12b627c26a82e8c21433e04e7ceea3b207387ee8847483c067dcf8fa8949aefe", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000001" : { - "storage" : { - "0x01" : "0x00", - "0x02" : "0x00" - } + "logs" : [ + ] + } + ], + "EIP158" : [ + { + "hash" : "0x12b627c26a82e8c21433e04e7ceea3b207387ee8847483c067dcf8fa8949aefe", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000002" : { - "storage" : { - "0x01" : "0x00", - "0x02" : "0x00" - } - } + "logs" : [ + ] } - } - ], + ], + "Frontier" : [ + { + "hash" : "0x12b627c26a82e8c21433e04e7ceea3b207387ee8847483c067dcf8fa8949aefe", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x12b627c26a82e8c21433e04e7ceea3b207387ee8847483c067dcf8fa8949aefe", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xc096d4dd7261d8bc4b3bd8886fd1330c3d60d2587024dcfb04cb1a10f747d090", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 25000000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x604060006040600073100000000000000000000000000000000000000163017d7840fa6000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "10000000000", - "code" : "{ (DELEGATECALL 1000000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x02540be400", + "code" : "0x6040600060406000731000000000000000000000000000000000000002620f4240f4", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "10000000000", - "code" : "{ (DELEGATECALL 500000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x02540be400", + "code" : "0x60406000604060007310000000000000000000000000000000000000016207a120f4", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -80,14 +110,14 @@ "" ], "gasLimit" : [ - "30000000" + "0x01c9c380" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_ABCB_RECURSIVE2.json b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_ABCB_RECURSIVE2.json index 0998edb06..5050f6803 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_ABCB_RECURSIVE2.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_ABCB_RECURSIVE2.json @@ -6,71 +6,101 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_ABCB_RECURSIVE2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "3000000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0xb2d05e00", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x01c75bde" - } + "post" : { + "EIP150" : [ + { + "hash" : "0xe996ed842257c5008ab91eedcb96fff401eeb3fb48de4cb136e546e3d6c486d4", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000001" : { - "storage" : { - "0x01" : "0x00", - "0x02" : "0x00" - } + "logs" : [ + ] + } + ], + "EIP158" : [ + { + "hash" : "0xe996ed842257c5008ab91eedcb96fff401eeb3fb48de4cb136e546e3d6c486d4", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000002" : { - "storage" : { - "0x01" : "0x00", - "0x02" : "0x00" - } - } + "logs" : [ + ] } - } - ], + ], + "Frontier" : [ + { + "hash" : "0xe996ed842257c5008ab91eedcb96fff401eeb3fb48de4cb136e546e3d6c486d4", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xe996ed842257c5008ab91eedcb96fff401eeb3fb48de4cb136e546e3d6c486d4", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xba06a47690366b597d449738417960f12cf8dc4b75b9376ceb636ac32ecf9c7c", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 25000000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x604060006040600073100000000000000000000000000000000000000163017d7840fa6000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "10000000000", - "code" : "{ (CALLCODE 1000000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x02540be400", + "code" : "0x60406000604060006000731000000000000000000000000000000000000002620f4240f2", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "10000000000", - "code" : "{ (CALLCODE 500000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x02540be400", + "code" : "0x604060006040600060007310000000000000000000000000000000000000016207a120f2", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -80,14 +110,14 @@ "" ], "gasLimit" : [ - "30000000" + "0x01c9c380" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcode_checkPC.json b/GeneralStateTests/stStaticCall/static_callcode_checkPC.json index b19b7fc9d..fda946f16 100644 --- a/GeneralStateTests/stStaticCall/static_callcode_checkPC.json +++ b/GeneralStateTests/stStaticCall/static_callcode_checkPC.json @@ -6,51 +6,94 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcode_checkPCFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "3000000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0xb2d05e00", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x03" : "0x23" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x8d83f83f293820bb058b8492273f04a6ad304cd2417792399a40ef728098101f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x8d83f83f293820bb058b8492273f04a6ad304cd2417792399a40ef728098101f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x8d83f83f293820bb058b8492273f04a6ad304cd2417792399a40ef728098101f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x8d83f83f293820bb058b8492273f04a6ad304cd2417792399a40ef728098101f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x4d18190108f60337bbbcf5b57137b320bf906dcff70c45dae03ea2b1c308ffb4", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ (STATICCALL 1000000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[3]] (PC)}", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6040600060406000731000000000000000000000000000000000000001620f4240fa5058600355", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "10000000000", - "code" : "{}", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x02540be400", + "code" : "", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -60,14 +103,14 @@ "" ], "gasLimit" : [ - "30000000" + "0x01c9c380" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecall_10.json b/GeneralStateTests/stStaticCall/static_callcodecall_10.json index ad83f330a..447fafd53 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecall_10.json +++ b/GeneralStateTests/stStaticCall/static_callcodecall_10.json @@ -6,59 +6,101 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecall_10Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x2d20c8" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x40d04fef0f0ed5089c0e02eca18e8aeabac20d4e13aff19833883a15c3abe706", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x40d04fef0f0ed5089c0e02eca18e8aeabac20d4e13aff19833883a15c3abe706", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x4005a7e73385bdbb25efaa7c4b47907bd64d8e4588a328b9e1ed1a095450c39a", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x8ca8708210d53c84e4ccfc81a2993e508240687b7907d52d5a53be9a32d7c966", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xb76a7f0ba3d09df577b8dc17c26e65e3208da54317e3e79896b5c5d28152a54d", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (DELEGATECALL 350000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x604060006040600073100000000000000000000000000000000000000162055730f46000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 1 1) (STATICCALL 250000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 1 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600160015260406000604060007310000000000000000000000000000000000000026203d090fa506001600152", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (MSTORE 1 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x6001600152", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -68,14 +110,14 @@ "" ], "gasLimit" : [ - "3000000" + "0x2dc6c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecall_10_2.json b/GeneralStateTests/stStaticCall/static_callcodecall_10_2.json index 4579941db..5eb89a3a9 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecall_10_2.json +++ b/GeneralStateTests/stStaticCall/static_callcodecall_10_2.json @@ -6,59 +6,101 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecall_10_2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x2d06ad" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0xcaef428f02c7bb1fe166c3e7f57f72798642c2ab14933054431c6f9752463961", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xcaef428f02c7bb1fe166c3e7f57f72798642c2ab14933054431c6f9752463961", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xe46db475f4a34f99a95707007e4f41388e506493bf8fc0636dc5505dde2278cb", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xe46db475f4a34f99a95707007e4f41388e506493bf8fc0636dc5505dde2278cb", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xf00df8758426e896e6c0ce7481eef0f1fb78ccb694d41b8098c4454a7bafcf80", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (CALLCODE 350000 0x1000000000000000000000000000000000000001 1 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6040600060406000600173100000000000000000000000000000000000000162055730f26000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "1000000000000000000", - "code" : "{ (STATICCALL 250000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60406000604060007310000000000000000000000000000000000000026203d090fa", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (MSTORE 1 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x6001600152", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -68,14 +110,14 @@ "" ], "gasLimit" : [ - "3000000" + "0x2dc6c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecall_10_OOGE.json b/GeneralStateTests/stStaticCall/static_callcodecall_10_OOGE.json index 6d00b056a..37f705e7c 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecall_10_OOGE.json +++ b/GeneralStateTests/stStaticCall/static_callcodecall_10_OOGE.json @@ -6,66 +6,158 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecall_10_OOGEFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0x7c71255332e7a4e5f2242fab0159d493c3b35e3583b987b1ce91f3be3617ca80", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x01aac8" - } - } + { + "hash" : "0x7c71255332e7a4e5f2242fab0159d493c3b35e3583b987b1ce91f3be3617ca80", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x7c71255332e7a4e5f2242fab0159d493c3b35e3583b987b1ce91f3be3617ca80", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x7c71255332e7a4e5f2242fab0159d493c3b35e3583b987b1ce91f3be3617ca80", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x7c71255332e7a4e5f2242fab0159d493c3b35e3583b987b1ce91f3be3617ca80", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x7c71255332e7a4e5f2242fab0159d493c3b35e3583b987b1ce91f3be3617ca80", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x7c71255332e7a4e5f2242fab0159d493c3b35e3583b987b1ce91f3be3617ca80", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x7c71255332e7a4e5f2242fab0159d493c3b35e3583b987b1ce91f3be3617ca80", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x19b6480506e75ce4c686d0383c6cb2b4adfb756ef953fdf3df311f49805ad649", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x19b6480506e75ce4c686d0383c6cb2b4adfb756ef953fdf3df311f49805ad649", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000356000526040600060406000731000000000000000000000000000000000000001620249f0f46000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (STATICCALL 20020 (CALLDATALOAD 0) 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x6040600060406000600035614e34fa", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (SSTORE 2 1)}", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x6001600255", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x5b61c35060805110156018576001608051016080526000565b", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -76,14 +168,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000002" ], "gasLimit" : [ - "172000" + "0x029fe0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecall_10_OOGE_2.json b/GeneralStateTests/stStaticCall/static_callcodecall_10_OOGE_2.json index 365d0ebb1..b16198fff 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecall_10_OOGE_2.json +++ b/GeneralStateTests/stStaticCall/static_callcodecall_10_OOGE_2.json @@ -6,79 +6,158 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecall_10_OOGE_2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0xb197c4442d69a868c8659a3d50654c4a629537a047bdab998c2745bad40ba33b", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x01aab1", - "0x02" : "0x00" - } + { + "hash" : "0xb197c4442d69a868c8659a3d50654c4a629537a047bdab998c2745bad40ba33b", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "EIP158" : [ + { + "hash" : "0xb197c4442d69a868c8659a3d50654c4a629537a047bdab998c2745bad40ba33b", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000001" : { - "storage" : { - "0x01" : "0x00", - "0x02" : "0x00" - } + "logs" : [ + ] + }, + { + "hash" : "0xb197c4442d69a868c8659a3d50654c4a629537a047bdab998c2745bad40ba33b", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "1000000000000000000000000000000000000002" : { - "storage" : { - "0x01" : "0x00", - "0x02" : "0x00" - } - } + "logs" : [ + ] } - } - ], + ], + "Frontier" : [ + { + "hash" : "0xb197c4442d69a868c8659a3d50654c4a629537a047bdab998c2745bad40ba33b", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xb197c4442d69a868c8659a3d50654c4a629537a047bdab998c2745bad40ba33b", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xb197c4442d69a868c8659a3d50654c4a629537a047bdab998c2745bad40ba33b", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xb197c4442d69a868c8659a3d50654c4a629537a047bdab998c2745bad40ba33b", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x0af7e238f853cb81bc29728025f5c999e953b36d8a5f132a0c4c66818c9154b4", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x0af7e238f853cb81bc29728025f5c999e953b36d8a5f132a0c4c66818c9154b4", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60003560005260406000604060006000731000000000000000000000000000000000000001620249f0f26000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (MSTORE 2 1) (STATICCALL 20020 (CALLDATALOAD 0) 0 64 0 64 ) (MSTORE 32 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x60016002526040600060406000600035614e34fa506001602052", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (SSTORE 2 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x6001600255", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x5b61c35060805110156018576001608051016080526000565b", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -89,14 +168,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000002" ], "gasLimit" : [ - "172000" + "0x029fe0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecall_10_SuicideEnd.json b/GeneralStateTests/stStaticCall/static_callcodecall_10_SuicideEnd.json index 85f5b9061..5f818c079 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecall_10_SuicideEnd.json +++ b/GeneralStateTests/stStaticCall/static_callcodecall_10_SuicideEnd.json @@ -6,63 +6,158 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecall_10_SuicideEndFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0xffb10331a4b64cc4bcd130b9d14d20044bd9dc060aa9b90208352cdd798cb42e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "shouldnotexist" : "1" - } + { + "hash" : "0xffb10331a4b64cc4bcd130b9d14d20044bd9dc060aa9b90208352cdd798cb42e", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xffb10331a4b64cc4bcd130b9d14d20044bd9dc060aa9b90208352cdd798cb42e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xffb10331a4b64cc4bcd130b9d14d20044bd9dc060aa9b90208352cdd798cb42e", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xa5c92ddc578bac4041bcf00e6f5f8c8797630a18c8cfeb61e8ce492bb2537a98", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xa5c92ddc578bac4041bcf00e6f5f8c8797630a18c8cfeb61e8ce492bb2537a98", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x5fab1652410c514f5ab0d93fe429e3ef683009e262b5c7b04f16049833ac252b", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x5fab1652410c514f5ab0d93fe429e3ef683009e262b5c7b04f16049833ac252b", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x455b47cabeed4cb5fc4cb50474c3382679f4b66e1f300824548db5e8e74f932b", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x54f6798e80aa6993988d14777e80074576047b55c89c420324cc580868d9669d", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000356000526040600060406000731000000000000000000000000000000000000001620249f0f46000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "10000000000", - "code" : "{ (STATICCALL 50000 (CALLDATALOAD 0) 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000000) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x02540be400", + "code" : "0x604060006040600060003561c350fa50731000000000000000000000000000000000000000ff", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "10000000000", - "code" : "{ (MSTORE 2 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x02540be400", + "code" : "0x6001600252", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000002" : { - "balance" : "10000000000", - "code" : "{ (SSTORE 2 1) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000002" : { + "balance" : "0x02540be400", + "code" : "0x6001600255", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -73,14 +168,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000002" ], "gasLimit" : [ - "3000000" + "0x2dc6c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecall_10_SuicideEnd2.json b/GeneralStateTests/stStaticCall/static_callcodecall_10_SuicideEnd2.json index dd395cdae..875e55b9f 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecall_10_SuicideEnd2.json +++ b/GeneralStateTests/stStaticCall/static_callcodecall_10_SuicideEnd2.json @@ -6,56 +6,151 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecall_10_SuicideEnd2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0xb1f79d64a427855e6542a8b149d2101512f2982a0e6bddc413d0a1c150368f6a", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "shouldnotexist" : "1" - } + { + "hash" : "0xfb1724ceb6b4d1963ad896eb0bfefa54f538b85d04bdba49b0ec97f9a6cd5081", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xb1f79d64a427855e6542a8b149d2101512f2982a0e6bddc413d0a1c150368f6a", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xfb1724ceb6b4d1963ad896eb0bfefa54f538b85d04bdba49b0ec97f9a6cd5081", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xcb2611e4431a6cf6a749b0bb81cc79d7adde161488fec22721e05e19e4c6d3af", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x3c0af4fd0d68067a34b91c574453e7900e3330d63be4d13b7bf7a728bdaf355b", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xcb2611e4431a6cf6a749b0bb81cc79d7adde161488fec22721e05e19e4c6d3af", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x3c0af4fd0d68067a34b91c574453e7900e3330d63be4d13b7bf7a728bdaf355b", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x757164264cd4323998e716d132550c10cf0cc623815257199c218b1b473b7555", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xf85d747b2fdbbeea4366755fd4a835b694effbebfe28189d941d3ca429fa1034", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x604060006040600034731000000000000000000000000000000000000001620249f0f26000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "10000000000", - "code" : "{ (STATICCALL 50000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000000) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x02540be400", + "code" : "0x604060006040600073100000000000000000000000000000000000000261c350fa50731000000000000000000000000000000000000000ff", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "10000000000", - "code" : "{ (MSTORE 2 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x02540be400", + "code" : "0x6001600252", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -65,15 +160,15 @@ "" ], "gasLimit" : [ - "3000000" + "0x2dc6c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0", - "1" + "0x00", + "0x01" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcall_100.json b/GeneralStateTests/stStaticCall/static_callcodecallcall_100.json index d30543ce3..391fc41e4 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcall_100.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcall_100.json @@ -6,66 +6,108 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x2d1dfe" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x4126e8a9ffab70c125d27eda12cc08b4b42117bb5eef34e7025af771ebe5863c", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x4126e8a9ffab70c125d27eda12cc08b4b42117bb5eef34e7025af771ebe5863c", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x10ae69062b7397b67941366bb23a6653632c94faafdcbab9fc51c8e81dc1362e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xba19c18ac02fc6cef9dddcf13ec4678f302aa87e5283ea9e8a251fdcaa3cd398", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xc62c52a9e623752e2ea8831e92e3bc361534fe50423463a5bb2cf961cea54996", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (DELEGATECALL 350000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x604060006040600073100000000000000000000000000000000000000162055730f46000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "1000000000000000000", - "code" : "{ (STATICCALL 300000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 5 (CALLER))}", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6040600060406000731000000000000000000000000000000000000002620493e0fa5033600552", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "1000000000000000000", - "code" : "{ (STATICCALL 250000 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60406000604060007310000000000000000000000000000000000000036203d090fa", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (MSTORE 1 1)}", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x6001600152", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -75,14 +117,14 @@ "" ], "gasLimit" : [ - "3000000" + "0x2dc6c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcall_100_2.json b/GeneralStateTests/stStaticCall/static_callcodecallcall_100_2.json index 913299d62..76f03a31f 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcall_100_2.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcall_100_2.json @@ -6,88 +6,158 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : [ - 0 + "post" : { + "EIP150" : [ + { + "hash" : "0x7d27ae5179addae420f8848bf939d89218cf768eece86e0d7b914027e02e4ffe", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x2d1e06" - } - } + { + "hash" : "0xb6a4fe6026a17a81c53d8f2d3ed8ee914cbaa78f282631f5b76b7d3be26adc38", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : [ - 1 + ], + "EIP158" : [ + { + "hash" : "0x7d27ae5179addae420f8848bf939d89218cf768eece86e0d7b914027e02e4ffe", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x2d03da" - } - } + { + "hash" : "0xb6a4fe6026a17a81c53d8f2d3ed8ee914cbaa78f282631f5b76b7d3be26adc38", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] } - } - ], + ], + "Frontier" : [ + { + "hash" : "0x78d9ec15bf63501294f6754e1c9165bf7c2dcad9415b23d74d1d2900f3cdedf7", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xcf204b2d5d6c368c2d727515a8838ae3ed4fb407d8a87d92ef6208fa48915aea", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x78d9ec15bf63501294f6754e1c9165bf7c2dcad9415b23d74d1d2900f3cdedf7", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xcf204b2d5d6c368c2d727515a8838ae3ed4fb407d8a87d92ef6208fa48915aea", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xbd13070b0612e42bd01a5e31294f621ab8658413d58dba4e5bed87b40b2aa179", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x1b9fd1a49cdf2ee3e9f27bf2c112ec869734f94f216bc0cb2088fb9ed693de73", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (CALLCODE 350000 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60406000604060003473100000000000000000000000000000000000000162055730f26000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "1000000000000000000", - "code" : "{ (STATICCALL 300000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6040600060406000731000000000000000000000000000000000000002620493e0fa", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "1000000000000000000", - "code" : "{ (STATICCALL 250000 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60406000604060007310000000000000000000000000000000000000036203d090fa", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (MSTORE 1 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x6001600152", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -97,15 +167,15 @@ "" ], "gasLimit" : [ - "3000000" + "0x2dc6c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0", - "1" + "0x00", + "0x01" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGE.json b/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGE.json index a58121b3c..095f4f373 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGE.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGE.json @@ -6,73 +6,165 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_OOGEFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0xb3dab5bdbf866f226d9af71b1d937c9935df118637701183c5621ac66889444c", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x01a7d2" - } - } + { + "hash" : "0xb3dab5bdbf866f226d9af71b1d937c9935df118637701183c5621ac66889444c", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xb3dab5bdbf866f226d9af71b1d937c9935df118637701183c5621ac66889444c", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xb3dab5bdbf866f226d9af71b1d937c9935df118637701183c5621ac66889444c", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xb3dab5bdbf866f226d9af71b1d937c9935df118637701183c5621ac66889444c", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xb3dab5bdbf866f226d9af71b1d937c9935df118637701183c5621ac66889444c", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xb3dab5bdbf866f226d9af71b1d937c9935df118637701183c5621ac66889444c", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xb3dab5bdbf866f226d9af71b1d937c9935df118637701183c5621ac66889444c", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x715ef654deaac774408495d6645be7258c20881c38e2d35b8d3c4b240d05395d", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x715ef654deaac774408495d6645be7258c20881c38e2d35b8d3c4b240d05395d", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000356000526040600060406000731000000000000000000000000000000000000001620249f0f46000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (MSTORE 32 (CALLDATALOAD 0)) (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x6000356020526040600060406000731000000000000000000000000000000000000002620186a0fa506001600352", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (STATICCALL 20020 (CALLDATALOAD 32) 0 64 0 64 ) (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x6040600060406000602035614e34fa506001600352", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (SSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x6001600355", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x5b61c35060805110156018576001608051016080526000565b", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -83,14 +175,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000003" ], "gasLimit" : [ - "172000" + "0x029fe0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGE2.json b/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGE2.json index b06a69c35..d10bbfbfe 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGE2.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGE2.json @@ -6,73 +6,165 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_OOGE2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0x433effffa866f63e0e2d70539bffa3db837d99206170c69be3adaaf1c6be9c54", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x01a7e6" - } - } + { + "hash" : "0x433effffa866f63e0e2d70539bffa3db837d99206170c69be3adaaf1c6be9c54", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x433effffa866f63e0e2d70539bffa3db837d99206170c69be3adaaf1c6be9c54", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x433effffa866f63e0e2d70539bffa3db837d99206170c69be3adaaf1c6be9c54", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x433effffa866f63e0e2d70539bffa3db837d99206170c69be3adaaf1c6be9c54", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x433effffa866f63e0e2d70539bffa3db837d99206170c69be3adaaf1c6be9c54", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x433effffa866f63e0e2d70539bffa3db837d99206170c69be3adaaf1c6be9c54", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x433effffa866f63e0e2d70539bffa3db837d99206170c69be3adaaf1c6be9c54", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xe99222321b714f8aebe46a42a115aa0eddc49470280f3ab69083192d8672faf8", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xe99222321b714f8aebe46a42a115aa0eddc49470280f3ab69083192d8672faf8", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600035600052604060006040600034731000000000000000000000000000000000000001620249f0f26000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x6000356000526040600060406000731000000000000000000000000000000000000002620186a0fa", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (STATICCALL 20020 (CALLDATALOAD 0) 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x6040600060406000600035614e34fa", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (SSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x6001600355", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x5b61c35060805110156018576001608051016080526000565b", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -83,14 +175,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000003" ], "gasLimit" : [ - "172000" + "0x029fe0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGMAfter.json b/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGMAfter.json index ff1aa5d5b..a694b4010 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGMAfter.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGMAfter.json @@ -6,66 +6,108 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_OOGMAfterFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x014c81" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x7ed6fb7fbf8ba61fbf761ec28fc435b190d602acb59c1f43043df1d345558d4b", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x7ed6fb7fbf8ba61fbf761ec28fc435b190d602acb59c1f43043df1d345558d4b", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x630945025221b7f2924f3e7ab5dc5d929c1dd0e6d6f153ae126b0cf50a91ea1e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x2f1d473019a782dcf23e816269991191f90e96bd302ae4952965fa86b216cd3d", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x7ed6fb7fbf8ba61fbf761ec28fc435b190d602acb59c1f43043df1d345558d4b", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (DELEGATECALL 60150 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x604060006040600073100000000000000000000000000000000000000161eaf6f46000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) (STATICCALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x60016003526040600060406000731000000000000000000000000000000000000002619c90fa505b61c3506080511015603f576001608051016080526027565b", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 32 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x60016003526040600060406000731000000000000000000000000000000000000003614e34fa506001602052", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -75,14 +117,14 @@ "" ], "gasLimit" : [ - "172000" + "0x029fe0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGMAfter2.json b/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGMAfter2.json index 09346fe23..11445717e 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGMAfter2.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGMAfter2.json @@ -6,88 +6,158 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_OOGMAfter2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : [ - 0 + "post" : { + "EIP150" : [ + { + "hash" : "0x361bc34a5d6c0b721abe43a859dc2993ee14ff7c8768845d2286a2949962f489", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x014b7c" - } - } + { + "hash" : "0xbd9b3a8fb7bf910f918fa5ee72b73e54f1e0a38f7e07910d57cf8e29c7bd7002", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : [ - 1 + ], + "EIP158" : [ + { + "hash" : "0x361bc34a5d6c0b721abe43a859dc2993ee14ff7c8768845d2286a2949962f489", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x012854" - } - } + { + "hash" : "0xbd9b3a8fb7bf910f918fa5ee72b73e54f1e0a38f7e07910d57cf8e29c7bd7002", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] } - } - ], + ], + "Frontier" : [ + { + "hash" : "0xecd4b2775f4a1a42e5d93a13cd13090d3473fb795b072ecc92bbfb3cc69a279c", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x0de76bcd2f4505d9e8d256178cfbd8240f855fac9536ef612a64f4ac93b5c7ed", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xecd4b2775f4a1a42e5d93a13cd13090d3473fb795b072ecc92bbfb3cc69a279c", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x0de76bcd2f4505d9e8d256178cfbd8240f855fac9536ef612a64f4ac93b5c7ed", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x361bc34a5d6c0b721abe43a859dc2993ee14ff7c8768845d2286a2949962f489", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xbd9b3a8fb7bf910f918fa5ee72b73e54f1e0a38f7e07910d57cf8e29c7bd7002", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (CALLCODE 60150 (CALLDATALOAD 0) (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60406000604060003460003561eaf6f26000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (STATICCALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x6040600060406000731000000000000000000000000000000000000002619c90fa505b61c3506080511015603a576001608051016080526022565b", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x6040600060406000731000000000000000000000000000000000000003614e34fa", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -97,15 +167,15 @@ "0x0000000000000000000000001000000000000000000000000000000000000001" ], "gasLimit" : [ - "172000" + "0x029fe0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0", - "1" + "0x00", + "0x01" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGMAfter_2.json b/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGMAfter_2.json index 8e2980f5d..c41ade54a 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGMAfter_2.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGMAfter_2.json @@ -6,66 +6,108 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_OOGMAfter_2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x014c81" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x91932b8773a7a1b19b0a3dbd48bd59fb81903e403659f143776042ed44e1b8ba", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x91932b8773a7a1b19b0a3dbd48bd59fb81903e403659f143776042ed44e1b8ba", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xa9f68926d2ac9312b29fb8cc877b30030a903fbb5b0529c6280d5b0e7e0c73df", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xb7f9c6b66d22428eae876dacfd2801a5d9f35059d4e8c3fa28497d5f72b6bf21", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x91932b8773a7a1b19b0a3dbd48bd59fb81903e403659f143776042ed44e1b8ba", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (DELEGATECALL 60150 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x604060006040600073100000000000000000000000000000000000000161eaf6f46000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) (STATICCALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x60016003526040600060406000731000000000000000000000000000000000000002619c90fa505b61c3506080511015603f576001608051016080526027565b", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x60016003526040600060406000731000000000000000000000000000000000000003614e34fa506001600352", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -75,14 +117,14 @@ "" ], "gasLimit" : [ - "172000" + "0x029fe0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGMAfter_3.json b/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGMAfter_3.json index ff0988181..55242ddb0 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGMAfter_3.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGMAfter_3.json @@ -6,88 +6,158 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_OOGMAfter_3Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : [ - 0 + "post" : { + "EIP150" : [ + { + "hash" : "0x5c64d4cbc7a50462807c8179150c79764c9754f5f43ea435c5ccb6627682ad8a", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x014c7f" - } - } + { + "hash" : "0xbbb7e4d41448f83a20526be7fa5afb6e88543644bb4d9e4d1f0457028710f9f2", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : [ - 1 + ], + "EIP158" : [ + { + "hash" : "0x5c64d4cbc7a50462807c8179150c79764c9754f5f43ea435c5ccb6627682ad8a", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x012957" - } - } + { + "hash" : "0xbbb7e4d41448f83a20526be7fa5afb6e88543644bb4d9e4d1f0457028710f9f2", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] } - } - ], + ], + "Frontier" : [ + { + "hash" : "0x2e6da8e4e77bb0814e1db36c518793bdab38ecead044f0f04bc82502b23238ae", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xd0af5616c05f500643f04841f4a29494885f0743ba37e4eaff752e8f31ab84b7", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x2e6da8e4e77bb0814e1db36c518793bdab38ecead044f0f04bc82502b23238ae", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xd0af5616c05f500643f04841f4a29494885f0743ba37e4eaff752e8f31ab84b7", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x5c64d4cbc7a50462807c8179150c79764c9754f5f43ea435c5ccb6627682ad8a", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xbbb7e4d41448f83a20526be7fa5afb6e88543644bb4d9e4d1f0457028710f9f2", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (CALLCODE 60150 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60406000604060003473100000000000000000000000000000000000000161eaf6f26000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) (STATICCALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x60016003526040600060406000731000000000000000000000000000000000000002619c90fa505b61c3506080511015603f576001608051016080526027565b", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 32 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x60016003526040600060406000731000000000000000000000000000000000000003614e34fa506001602052", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -97,15 +167,15 @@ "" ], "gasLimit" : [ - "172000" + "0x029fe0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0", - "1" + "0x00", + "0x01" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGMBefore.json b/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGMBefore.json index e0cf4f704..02c78a412 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGMBefore.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGMBefore.json @@ -6,73 +6,165 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_OOGMBeforeFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0x4c5b595198073a5b8e5cbb82d5f28dc9055dd22f91de3d977cc3dd5d294dd7bd", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x015c61" - } - } + { + "hash" : "0x4c5b595198073a5b8e5cbb82d5f28dc9055dd22f91de3d977cc3dd5d294dd7bd", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x4c5b595198073a5b8e5cbb82d5f28dc9055dd22f91de3d977cc3dd5d294dd7bd", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x4c5b595198073a5b8e5cbb82d5f28dc9055dd22f91de3d977cc3dd5d294dd7bd", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x4c5b595198073a5b8e5cbb82d5f28dc9055dd22f91de3d977cc3dd5d294dd7bd", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x4c5b595198073a5b8e5cbb82d5f28dc9055dd22f91de3d977cc3dd5d294dd7bd", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x4c5b595198073a5b8e5cbb82d5f28dc9055dd22f91de3d977cc3dd5d294dd7bd", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x4c5b595198073a5b8e5cbb82d5f28dc9055dd22f91de3d977cc3dd5d294dd7bd", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xfbf86edcc876a51f3dd424eeac7749736ca4c8d23762881f623479686b98003b", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xfbf86edcc876a51f3dd424eeac7749736ca4c8d23762881f623479686b98003b", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000356000526040600060406000731000000000000000000000000000000000000001620249f0f46000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (STATICCALL 40080 (CALLDATALOAD 0) 0 64 0 64 ) (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x6040600060406000600035619c90fa506001600352", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x5b61c35060805110156018576001608051016080526000565b6040600060406000731000000000000000000000000000000000000003614e34fa", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (SSTORE 3 1) (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 3 1) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x60016003556040600060406000731000000000000000000000000000000000000003614e34fa506001600352", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -83,14 +175,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000002" ], "gasLimit" : [ - "172000" + "0x029fe0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGMBefore2.json b/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGMBefore2.json index 7cb58d273..c743e798d 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGMBefore2.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGMBefore2.json @@ -6,91 +6,265 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_OOGMBefore2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : 0 + "post" : { + "EIP150" : [ + { + "hash" : "0x85fdb3c4a8e99e4454d4eb74500cc97638129f9500349bd67db3ec220d8d5cc2", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x015c61" - } - } + { + "hash" : "0x85fdb3c4a8e99e4454d4eb74500cc97638129f9500349bd67db3ec220d8d5cc2", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x85fdb3c4a8e99e4454d4eb74500cc97638129f9500349bd67db3ec220d8d5cc2", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x85fdb3c4a8e99e4454d4eb74500cc97638129f9500349bd67db3ec220d8d5cc2", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : 1 + ], + "EIP158" : [ + { + "hash" : "0x85fdb3c4a8e99e4454d4eb74500cc97638129f9500349bd67db3ec220d8d5cc2", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x85fdb3c4a8e99e4454d4eb74500cc97638129f9500349bd67db3ec220d8d5cc2", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x85fdb3c4a8e99e4454d4eb74500cc97638129f9500349bd67db3ec220d8d5cc2", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x014235" - } - } + { + "hash" : "0x85fdb3c4a8e99e4454d4eb74500cc97638129f9500349bd67db3ec220d8d5cc2", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] } - } - ], + ], + "Frontier" : [ + { + "hash" : "0x85fdb3c4a8e99e4454d4eb74500cc97638129f9500349bd67db3ec220d8d5cc2", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x85fdb3c4a8e99e4454d4eb74500cc97638129f9500349bd67db3ec220d8d5cc2", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x85fdb3c4a8e99e4454d4eb74500cc97638129f9500349bd67db3ec220d8d5cc2", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x85fdb3c4a8e99e4454d4eb74500cc97638129f9500349bd67db3ec220d8d5cc2", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x85fdb3c4a8e99e4454d4eb74500cc97638129f9500349bd67db3ec220d8d5cc2", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x85fdb3c4a8e99e4454d4eb74500cc97638129f9500349bd67db3ec220d8d5cc2", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x85fdb3c4a8e99e4454d4eb74500cc97638129f9500349bd67db3ec220d8d5cc2", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x85fdb3c4a8e99e4454d4eb74500cc97638129f9500349bd67db3ec220d8d5cc2", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x1f1621e269baeac7c15594563deae26289bb3b6d50cb41c75b746844e06bb99e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x1662ed027e5f2f84723de20723a9f0c82c5863c771fcf56515e354d1253d7933", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x1f1621e269baeac7c15594563deae26289bb3b6d50cb41c75b746844e06bb99e", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x1662ed027e5f2f84723de20723a9f0c82c5863c771fcf56515e354d1253d7933", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600035600052604060006040600034731000000000000000000000000000000000000001620249f0f26000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) (STATICCALL 40080 (CALLDATALOAD 0) 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x60016003526040600060406000600035619c90fa", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x5b61c35060805110156018576001608051016080526000565b6040600060406000731000000000000000000000000000000000000003614e34fa", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (SSTORE 3 1) (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x60016003556040600060406000731000000000000000000000000000000000000003614e34fa", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -101,15 +275,15 @@ "0x0000000000000000000000002000000000000000000000000000000000000002" ], "gasLimit" : [ - "172000" + "0x029fe0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0", - "1" + "0x00", + "0x01" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcall_100_SuicideEnd.json b/GeneralStateTests/stStaticCall/static_callcodecallcall_100_SuicideEnd.json index 645392ddd..e96bb1a7b 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcall_100_SuicideEnd.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcall_100_SuicideEnd.json @@ -6,66 +6,108 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_SuicideEndFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x2b9a37" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x381a11d6a13b7c402d5d243385918f2ace199b526d2159e9983ec60c353911dd", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x381a11d6a13b7c402d5d243385918f2ace199b526d2159e9983ec60c353911dd", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x85521a09b79fc6e3760d4613985c647c76bfb39bc87c9268d88e8067ad030fa0", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x463741f4265524b715ce6f7acb54b73695e53ea3e14e9f7ad20d2a482f1a83a4", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xa96ac5df61af15013c4bb7b8e0e282665e3d9cad37e1d240e371cd40bc0e78de", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0f46000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "10000000000", - "code" : "{ (MSTORE 3 1) (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 32 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x02540be400", + "code" : "0x60016003526040600060406000731000000000000000000000000000000000000002620186a0fa506001602052", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "10000000000", - "code" : "{ (MSTORE 3 1) (STATICCALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000001) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x02540be400", + "code" : "0x6001600352604060006040600073100000000000000000000000000000000000000361c350fa50731000000000000000000000000000000000000001ff", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "10000000000", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x02540be400", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -75,14 +117,14 @@ "" ], "gasLimit" : [ - "3000000" + "0x2dc6c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcall_100_SuicideEnd2.json b/GeneralStateTests/stStaticCall/static_callcodecallcall_100_SuicideEnd2.json index 1814f54dc..5bd8d866d 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcall_100_SuicideEnd2.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcall_100_SuicideEnd2.json @@ -6,66 +6,108 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_SuicideEnd2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x2b9a34" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x471bc64538a4c74b21171995bf3703400b180c599c5945413528fd7777a306d1", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x471bc64538a4c74b21171995bf3703400b180c599c5945413528fd7777a306d1", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xb093583b2aa91178b0c01c3680a0dd3d3293bf841f1114a1d2971e72a6a8a223", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xb093583b2aa91178b0c01c3680a0dd3d3293bf841f1114a1d2971e72a6a8a223", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xf385336e7b0b36c330b7408c759061fbb889e19331fbc5ab6dec499ed6ad1be2", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60406000604060006000731000000000000000000000000000000000000001620249f0f26000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "10000000000", - "code" : "{ (MSTORE 3 1) (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 32 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x02540be400", + "code" : "0x60016003526040600060406000731000000000000000000000000000000000000002620186a0fa506001602052", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "10000000000", - "code" : "{ (MSTORE 3 1) (STATICCALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000001) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x02540be400", + "code" : "0x6001600352604060006040600073100000000000000000000000000000000000000361c350fa50731000000000000000000000000000000000000001ff", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "10000000000", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x02540be400", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -75,14 +117,14 @@ "" ], "gasLimit" : [ - "3000000" + "0x2dc6c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcall_100_SuicideMiddle.json b/GeneralStateTests/stStaticCall/static_callcodecallcall_100_SuicideMiddle.json index f18d49569..b2f2ef774 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcall_100_SuicideMiddle.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcall_100_SuicideMiddle.json @@ -6,66 +6,108 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_SuicideMiddleFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x2b9a37" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x40165974086de2646f2d11027dd5f3bbcb914f71af136316fc9a71611679a8b2", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x40165974086de2646f2d11027dd5f3bbcb914f71af136316fc9a71611679a8b2", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x927477316bf74d67e7ef3c7ec3052c4859b577244dc38fe99cbf806f7e6e4cb7", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xe576612682d495ae873a36b85ead4b5f06a429b634444af1b62176d9c5064c70", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x353b93f5c6b28c35a58a4eeb67bc8b070cabf3c6cfc975b298151f5c66968d69", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0f46000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "10000000000", - "code" : "{ (MSTORE 3 1) (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 32 1)}", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x02540be400", + "code" : "0x60016003526040600060406000731000000000000000000000000000000000000002620186a0fa506001602052", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "10000000000", - "code" : "{ (SELFDESTRUCT 0x1000000000000000000000000000000000000000) (STATICCALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x02540be400", + "code" : "0x731000000000000000000000000000000000000000ff", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "10000000000", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x02540be400", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -75,14 +117,14 @@ "" ], "gasLimit" : [ - "3000000" + "0x2dc6c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcall_100_SuicideMiddle2.json b/GeneralStateTests/stStaticCall/static_callcodecallcall_100_SuicideMiddle2.json index db418f287..5e42a91e0 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcall_100_SuicideMiddle2.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcall_100_SuicideMiddle2.json @@ -6,66 +6,158 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_SuicideMiddle2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : 0 + "post" : { + "EIP150" : [ + { + "hash" : "0x4e013f56210747102d856d53704231ab6912d2c7a5bd2f19fd3cdab34ee72432", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x2b9a49" - } - } + { + "hash" : "0x92b8752204b66885c46b3d896ddc6585ab9e16b911028e8b6fb2e50792279a5b", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x4e013f56210747102d856d53704231ab6912d2c7a5bd2f19fd3cdab34ee72432", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x92b8752204b66885c46b3d896ddc6585ab9e16b911028e8b6fb2e50792279a5b", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x6dc5c230add1362038a52ce7178a56c255dee37ee217ebdb1184d5fbb9894f47", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x2564491adae12e8989f2ce88e9a4bfcab47523cd4bb860738fcb168371370739", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x6dc5c230add1362038a52ce7178a56c255dee37ee217ebdb1184d5fbb9894f47", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x2564491adae12e8989f2ce88e9a4bfcab47523cd4bb860738fcb168371370739", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x36e301fa26348213d8fa7f671f6dac92cebcf1ea069d26ca907ef9f127ddefe4", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x870ec88644936106ee61100bc2780a4496a5f7caab76d6846904fcf586781384", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x604060006040600034731000000000000000000000000000000000000001620249f0f26000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "10000000000", - "code" : "{ (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x02540be400", + "code" : "0x6040600060406000731000000000000000000000000000000000000002620186a0fa", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "10000000000", - "code" : "{ (SELFDESTRUCT 0x1000000000000000000000000000000000000000) (STATICCALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x02540be400", + "code" : "0x731000000000000000000000000000000000000000ff", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "10000000000", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x02540be400", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -75,15 +167,15 @@ "" ], "gasLimit" : [ - "3000000" + "0x2dc6c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0", - "1" + "0x00", + "0x01" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcall_ABCB_RECURSIVE.json b/GeneralStateTests/stStaticCall/static_callcodecallcall_ABCB_RECURSIVE.json index 44944855b..cd12e8770 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcall_ABCB_RECURSIVE.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcall_ABCB_RECURSIVE.json @@ -6,59 +6,101 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_ABCB_RECURSIVEFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "3000000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0xb2d05e00", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x01c75d11" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x36da9b0b5f7f1feb4192490cfff4d4c334931669611775218046032daa8460ff", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x36da9b0b5f7f1feb4192490cfff4d4c334931669611775218046032daa8460ff", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x7628f8b7e05eb3979ecc8cc9f3701aeedc280fbea14ed67f26a288f01a32c327", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x99da5ab6960b519b76a046d5190940d58cf386021b88f604d2b2e9c0acb01554", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x3145fce9c07fa9dbfd6d4a45ecb9d1f48797a8658e30f51c38d2f8796d407805", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (DELEGATECALL 25000000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x604060006040600073100000000000000000000000000000000000000163017d7840f46000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "10000000000", - "code" : "{ (STATICCALL 1000000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x02540be400", + "code" : "0x6040600060406000731000000000000000000000000000000000000002620f4240fa", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "10000000000", - "code" : "{ (STATICCALL 500000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x02540be400", + "code" : "0x60406000604060007310000000000000000000000000000000000000016207a120fa", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -68,14 +110,14 @@ "" ], "gasLimit" : [ - "30000000" + "0x01c9c380" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcall_ABCB_RECURSIVE2.json b/GeneralStateTests/stStaticCall/static_callcodecallcall_ABCB_RECURSIVE2.json index e0199216c..66b1d3199 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcall_ABCB_RECURSIVE2.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcall_ABCB_RECURSIVE2.json @@ -6,77 +6,151 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_ABCB_RECURSIVE2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "3000000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0xb2d05e00", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : 0 + "post" : { + "EIP150" : [ + { + "hash" : "0xdaec2429abc968a1a0a02b6de21a2e280a98fef33079e4ca66f3fea06451edd1", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x01c75d0f" - } - } + { + "hash" : "0x555dce538c2924e38b5d3f36ae9097918d30e263b00220ae2dee9bc86bab8d99", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : 1 + ], + "EIP158" : [ + { + "hash" : "0xdaec2429abc968a1a0a02b6de21a2e280a98fef33079e4ca66f3fea06451edd1", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x01c742e3" - } - } + { + "hash" : "0x555dce538c2924e38b5d3f36ae9097918d30e263b00220ae2dee9bc86bab8d99", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] } - } - ], + ], + "Frontier" : [ + { + "hash" : "0x9a39915490356f421a4939f8eaa62d87e9ce7aff77693daa5fc13bb7bd154e3e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x1d8a35f73e0f289797967898a662f6c2567c12f30818fbcebeae4cd212bc9bce", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x9a39915490356f421a4939f8eaa62d87e9ce7aff77693daa5fc13bb7bd154e3e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x1d8a35f73e0f289797967898a662f6c2567c12f30818fbcebeae4cd212bc9bce", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x39328772b3aad90d51ddde3bf1d5875ed2f7c9be9f617bfc4fd057e138d2da0e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x9849178ca639e5dba82b6277068bb65704153ccd4fb2b4746873549cec2a66ea", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (CALLCODE 25000000 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60406000604060003473100000000000000000000000000000000000000163017d7840f26000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "10000000000", - "code" : "{ (STATICCALL 1000000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x02540be400", + "code" : "0x6040600060406000731000000000000000000000000000000000000002620f4240fa", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "10000000000", - "code" : "{ (STATICCALL 500000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x02540be400", + "code" : "0x60406000604060007310000000000000000000000000000000000000016207a120fa", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -86,15 +160,15 @@ "" ], "gasLimit" : [ - "30000000" + "0x01c9c380" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0", - "1" + "0x00", + "0x01" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101.json b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101.json index d3c81827b..304a6d493 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101.json @@ -6,66 +6,108 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x2d1de0" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x4fe036b2ec739a881dbe797c3e93226050a9633f40c591c7ca2172db0aebfcfd", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x4fe036b2ec739a881dbe797c3e93226050a9633f40c591c7ca2172db0aebfcfd", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xeed9ad27700e54426a22b3bd8f5c619bc65970ee20bc9a818601961af8d76933", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x5d073e2221bc2918bff24f8557dd5c40a20b6e0b587699d1717eefe312211d41", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x4228a616fcacea1f3a8729197fdbcb94835446fb0ef48d2c8b82d1abb87ca0b1", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (DELEGATECALL 350000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x604060006040600073100000000000000000000000000000000000000162055730f46000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 1 1) (STATICCALL 300000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 31 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60016001526040600060406000731000000000000000000000000000000000000002620493e0fa506001601f52", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 1 1) (DELEGATECALL 250000 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 31 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600160015260406000604060007310000000000000000000000000000000000000036203d090f4506001601f52", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (MSTORE 1 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x6001600152", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -75,14 +117,14 @@ "" ], "gasLimit" : [ - "3000000" + "0x2dc6c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_2.json b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_2.json index 57578ba2c..56b371625 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_2.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_2.json @@ -6,91 +6,165 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : 0, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0xb89fd15286651c620aa01984637e9f605a459703e04fd0c7383f32755b47d7c6", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x2d1cf4" - } - } + { + "hash" : "0xb89fd15286651c620aa01984637e9f605a459703e04fd0c7383f32755b47d7c6", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : 1, - "gas" : -1, - "value" : -1 + ], + "EIP158" : [ + { + "hash" : "0xb89fd15286651c620aa01984637e9f605a459703e04fd0c7383f32755b47d7c6", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x2d02c8" - } - } + { + "hash" : "0xb89fd15286651c620aa01984637e9f605a459703e04fd0c7383f32755b47d7c6", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "Frontier" : [ + { + "hash" : "0xccadb2929842f0f5f70d5469f94b0b540f68be9bab6a0b708b88d33c1d5965bb", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xccadb2929842f0f5f70d5469f94b0b540f68be9bab6a0b708b88d33c1d5965bb", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xccadb2929842f0f5f70d5469f94b0b540f68be9bab6a0b708b88d33c1d5965bb", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xccadb2929842f0f5f70d5469f94b0b540f68be9bab6a0b708b88d33c1d5965bb", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x963fd9ac89d3ecf5896ef7b3d37b66f8c0b9a50ef3ca58df694ca3254ba42afa", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xc1d625b450e52fa94fcc028c427eb8fbcb715034ce0e28d152f4e79332bbcc24", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (CALLCODE 350000 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60003560005260406000604060003473100000000000000000000000000000000000000162055730f26000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "1000000000000000000", - "code" : "{ (STATICCALL 300000 (CALLDATALOAD 0) 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6040600060406000600035620493e0fa", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "1000000000000000000", - "code" : "{ (CALLCODE 250000 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x604060006040600060007310000000000000000000000000000000000000036203d090f2", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (MSTORE 1 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x6001600152", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000002" : { - "balance" : "1000000000000000000", - "code" : "{ (CALLCODE 250000 0x1000000000000000000000000000000000000003 1 0 64 0 64 ) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000002" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x604060006040600060017310000000000000000000000000000000000000036203d090f2", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -101,14 +175,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000002" ], "gasLimit" : [ - "3000000" + "0x2dc6c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGE.json b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGE.json index 27369ac26..fc27ee9f7 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGE.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGE.json @@ -6,66 +6,108 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_OOGEFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x01a903" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x212a9dd305411a02287873d41c49633d733df355c93c0e2ec8e991c74618dddf", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x212a9dd305411a02287873d41c49633d733df355c93c0e2ec8e991c74618dddf", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x212a9dd305411a02287873d41c49633d733df355c93c0e2ec8e991c74618dddf", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x212a9dd305411a02287873d41c49633d733df355c93c0e2ec8e991c74618dddf", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x13a7983bd5d7a459b5c1796b1d8768ba174b99ebfdaa4a68aa04c0a568acac2d", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0f46000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x6040600060406000731000000000000000000000000000000000000002620186a0fa", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (DELEGATECALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x6040600060406000731000000000000000000000000000000000000003614e34f4", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x5b61c35060805110156018576001608051016080526000565b", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -75,14 +117,14 @@ "" ], "gasLimit" : [ - "172000" + "0x029fe0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGE_2.json b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGE_2.json index 044f0bb35..b9307f6f5 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGE_2.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGE_2.json @@ -6,66 +6,108 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_OOGE_2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x01a8fd" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0xc8a50e0d4fd6627da1b11b03bbc148881e71e31f7c1ffadcf35f828014295503", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xc8a50e0d4fd6627da1b11b03bbc148881e71e31f7c1ffadcf35f828014295503", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xc8a50e0d4fd6627da1b11b03bbc148881e71e31f7c1ffadcf35f828014295503", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xc8a50e0d4fd6627da1b11b03bbc148881e71e31f7c1ffadcf35f828014295503", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x63f7feb7c4151032a348fe5d91e5a69a03329526e527328b596ade4cd8551f13", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60406000604060006000731000000000000000000000000000000000000001620249f0f26000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x6040600060406000731000000000000000000000000000000000000002620186a0fa", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (CALLCODE 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x60406000604060006000731000000000000000000000000000000000000003614e34f2", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x5b61c35060805110156018576001608051016080526000565b", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -75,14 +117,14 @@ "" ], "gasLimit" : [ - "172000" + "0x029fe0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGMAfter.json b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGMAfter.json index 7c513e2a2..82aea7f3e 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGMAfter.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGMAfter.json @@ -6,66 +6,108 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_OOGMAfterFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x014c81" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0xa5c69798df4021336e48ef840dc463de8938476a97ba097add384d889bcdb467", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xa5c69798df4021336e48ef840dc463de8938476a97ba097add384d889bcdb467", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x9d39b7a4eedf674f1ec536720219a0e5b81813a4e8b478b18162f9bc688801ae", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x9faa51ed49fd07f2bcd6e2a0fb71ff23aa6e3f65d9ce115a8f09ca0d9958812d", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xa5c69798df4021336e48ef840dc463de8938476a97ba097add384d889bcdb467", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (DELEGATECALL 60150 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x604060006040600073100000000000000000000000000000000000000161eaf6f46000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) (STATICCALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x60016003526040600060406000731000000000000000000000000000000000000002619c90fa505b61c3506080511015603f576001608051016080526027565b", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) (DELEGATECALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x60016003526040600060406000731000000000000000000000000000000000000003614e34f4506001600352", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -75,14 +117,14 @@ "" ], "gasLimit" : [ - "172000" + "0x029fe0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGMAfter2.json b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGMAfter2.json index ab6c65a73..a2478a442 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGMAfter2.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGMAfter2.json @@ -6,66 +6,158 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_OOGMAfter2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : 0 + "post" : { + "EIP150" : [ + { + "hash" : "0x675efbcbe539dc59e7614a0dc4b71190760508501fbfeed34f8d34a5b74ec4b0", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x014c7f" - } - } + { + "hash" : "0xeea01e9e3d0f52f07c4c25587b35a44e3aa6ed33ab4be67adab1ba0f7095b0b6", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x675efbcbe539dc59e7614a0dc4b71190760508501fbfeed34f8d34a5b74ec4b0", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xeea01e9e3d0f52f07c4c25587b35a44e3aa6ed33ab4be67adab1ba0f7095b0b6", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x89f3250aa1e2cdfb5c3ca650f299bfab9087b5ce0ce4d3ef7c45c2fa929380df", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xfd6c8f5a8449ba1f797193c2e58476f8092366956808f8528be449e390a2d558", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x89f3250aa1e2cdfb5c3ca650f299bfab9087b5ce0ce4d3ef7c45c2fa929380df", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xfd6c8f5a8449ba1f797193c2e58476f8092366956808f8528be449e390a2d558", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x675efbcbe539dc59e7614a0dc4b71190760508501fbfeed34f8d34a5b74ec4b0", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xeea01e9e3d0f52f07c4c25587b35a44e3aa6ed33ab4be67adab1ba0f7095b0b6", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (CALLCODE 60150 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60406000604060003473100000000000000000000000000000000000000161eaf6f26000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) (STATICCALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x60016003526040600060406000731000000000000000000000000000000000000002619c90fa505b61c3506080511015603f576001608051016080526027565b", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) (CALLCODE 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x600160035260406000604060006000731000000000000000000000000000000000000003614e34f2", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -75,15 +167,15 @@ "" ], "gasLimit" : [ - "172000" + "0x029fe0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0", - "1" + "0x00", + "0x01" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGMAfter_1.json b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGMAfter_1.json index 3d1a46c0c..08ffb03d4 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGMAfter_1.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGMAfter_1.json @@ -6,119 +6,193 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_OOGMAfter_1Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : 0, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0x77804caf96f8f25a8790a3d5b4d84fffb6640fd3404355049842709fc07169e9", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "a000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x010e48" - } - } + { + "hash" : "0x77804caf96f8f25a8790a3d5b4d84fffb6640fd3404355049842709fc07169e9", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : 1, - "gas" : -1, - "value" : -1 + ], + "EIP158" : [ + { + "hash" : "0x77804caf96f8f25a8790a3d5b4d84fffb6640fd3404355049842709fc07169e9", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "a000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x01a549" - } - } + { + "hash" : "0x77804caf96f8f25a8790a3d5b4d84fffb6640fd3404355049842709fc07169e9", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "Frontier" : [ + { + "hash" : "0x068eaa534d454e864eaac3367b7f65d6159de21ca9a3ef636b017af014c6f832", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x068eaa534d454e864eaac3367b7f65d6159de21ca9a3ef636b017af014c6f832", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x068eaa534d454e864eaac3367b7f65d6159de21ca9a3ef636b017af014c6f832", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x068eaa534d454e864eaac3367b7f65d6159de21ca9a3ef636b017af014c6f832", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x77804caf96f8f25a8790a3d5b4d84fffb6640fd3404355049842709fc07169e9", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xa9658b697f24344632b4352c9ad6476d582d53d5242fe7e1225da9f14474c14f", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ (CALLCODE 60150 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6040600060406000600073100000000000000000000000000000000000000161eaf6f2506001600352", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (STATICCALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x6040600060406000731000000000000000000000000000000000000002619c90fa505b61c3506080511015603a576001608051016080526022565b", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (CALLCODE 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x60406000604060006000731000000000000000000000000000000000000003614e34f2506001600352", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ (CALLCODE 60150 0x2000000000000000000000000000000000000001 0 0 64 0 64 ) (MSTORE 3 1)}", - "nonce" : "0", + "0x2000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6040600060406000600073200000000000000000000000000000000000000161eaf6f2506001600352", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (STATICCALL 40080 0x2000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 3 1) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x6040600060406000732000000000000000000000000000000000000002619c90fa506001600352", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (CALLCODE 20020 0x2000000000000000000000000000000000000003 0 0 64 0 64 ) (MSTORE 3 1) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x60406000604060006000732000000000000000000000000000000000000003614e34f2506001600352", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (SSTORE 3 1) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x6001600355", + "nonce" : "0x00", "storage" : { } }, - "a000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (CALLCODE (GAS) (CALLDATALOAD 0) 0 0 0 0 0) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0xa000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600060006000600060006000355af26000555a600155", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -129,14 +203,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000000" ], "gasLimit" : [ - "172000" + "0x029fe0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "a000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0xa000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGMAfter_3.json b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGMAfter_3.json index 4677d137f..c83e9c91d 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGMAfter_3.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGMAfter_3.json @@ -6,119 +6,193 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_OOGMAfter_3Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : 0, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0x261eeca84466f4c560675a7a2c0eb311ff09056a691ba4608cb922195b8f014e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "a000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0xaca6" - } - } + { + "hash" : "0x261eeca84466f4c560675a7a2c0eb311ff09056a691ba4608cb922195b8f014e", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : 1, - "gas" : -1, - "value" : -1 + ], + "EIP158" : [ + { + "hash" : "0x261eeca84466f4c560675a7a2c0eb311ff09056a691ba4608cb922195b8f014e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "a000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x0143b5" - } - } + { + "hash" : "0x261eeca84466f4c560675a7a2c0eb311ff09056a691ba4608cb922195b8f014e", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "Frontier" : [ + { + "hash" : "0x1b603397fb9f7428bfda3a155a6653c974a1e96a66b5e2fbbb179c1e87297ad7", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x1b603397fb9f7428bfda3a155a6653c974a1e96a66b5e2fbbb179c1e87297ad7", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x1b603397fb9f7428bfda3a155a6653c974a1e96a66b5e2fbbb179c1e87297ad7", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x1b603397fb9f7428bfda3a155a6653c974a1e96a66b5e2fbbb179c1e87297ad7", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x261eeca84466f4c560675a7a2c0eb311ff09056a691ba4608cb922195b8f014e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x06482e19c72ad90aa4b3c4728610308a1aa638bbba44b9ccbe2827c172a2d587", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (DELEGATECALL 60150 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x604060006040600073100000000000000000000000000000000000000161eaf6f46000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (STATICCALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x6040600060406000731000000000000000000000000000000000000002619c90fa505b61c3506080511015603a576001608051016080526022565b", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (DELEGATECALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x6040600060406000731000000000000000000000000000000000000003614e34f4506001600352", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (DELEGATECALL 60150 0x2000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x604060006040600073200000000000000000000000000000000000000161eaf6f46000555a600155", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (STATICCALL 40080 0x2000000000000000000000000000000000000002 0 64 0 64 ) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x6040600060406000732000000000000000000000000000000000000002619c90fa", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (DELEGATECALL 20020 0x2000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 3 1) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x6040600060406000732000000000000000000000000000000000000003614e34f4506001600352", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (SSTORE 3 1) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x6001600355", + "nonce" : "0x00", "storage" : { } }, - "a000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (CALLCODE (GAS) (CALLDATALOAD 0) 0 0 0 0 0) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0xa000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600060006000600060006000355af26000555a600155", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -129,14 +203,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000000" ], "gasLimit" : [ - "172000" + "0x029fe0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "a000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0xa000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGMBefore.json b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGMBefore.json index 2c9008b79..cc86c74c4 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGMBefore.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGMBefore.json @@ -6,66 +6,108 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_OOGMBeforeFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x015d67" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x95042ead2bb4807c26938c07b66bf80895ea394363ed384695c5d00996f887d4", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x95042ead2bb4807c26938c07b66bf80895ea394363ed384695c5d00996f887d4", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x95042ead2bb4807c26938c07b66bf80895ea394363ed384695c5d00996f887d4", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x95042ead2bb4807c26938c07b66bf80895ea394363ed384695c5d00996f887d4", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x48416aa45b428931da1d538ac1e47a0560413c632ba68d6d249a9291e27967a0", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0f46000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) (STATICCALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x60016003526040600060406000731000000000000000000000000000000000000002619c90fa506001600352", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) (DELEGATECALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x5b61c35060805110156018576001608051016080526000565b6040600060406000731000000000000000000000000000000000000003614e34f4", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -75,14 +117,14 @@ "" ], "gasLimit" : [ - "172000" + "0x029fe0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGMBefore2.json b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGMBefore2.json index 1a6463efe..7300de345 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGMBefore2.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGMBefore2.json @@ -6,66 +6,158 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_OOGMBefore2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : 0 + "post" : { + "EIP150" : [ + { + "hash" : "0x8c9985682350161981e444821666c854a924858f38e62878ad64e0a00efa2290", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x015d65" - } - } + { + "hash" : "0x8c9985682350161981e444821666c854a924858f38e62878ad64e0a00efa2290", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x8c9985682350161981e444821666c854a924858f38e62878ad64e0a00efa2290", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x8c9985682350161981e444821666c854a924858f38e62878ad64e0a00efa2290", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x8c9985682350161981e444821666c854a924858f38e62878ad64e0a00efa2290", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x8c9985682350161981e444821666c854a924858f38e62878ad64e0a00efa2290", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x8c9985682350161981e444821666c854a924858f38e62878ad64e0a00efa2290", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x8c9985682350161981e444821666c854a924858f38e62878ad64e0a00efa2290", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x6d50f16107b07efde4cc7da66add1168736be103bab5d91d22ab7fbbc8a23646", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x4f55dca016059f6cb98bfb8f68bc1c43aec19f266725a809c5dbda3a24ee0949", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x604060006040600034731000000000000000000000000000000000000001620249f0f26000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) (STATICCALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x60016003526040600060406000731000000000000000000000000000000000000002619c90fa506001600352", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) (CALLCODE 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x5b61c35060805110156018576001608051016080526000565b60406000604060006000731000000000000000000000000000000000000003614e34f2", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -75,15 +167,15 @@ "" ], "gasLimit" : [ - "172000" + "0x029fe0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0", - "1" + "0x00", + "0x01" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_SuicideEnd.json b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_SuicideEnd.json index bec1cc60a..73b7b9fa6 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_SuicideEnd.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_SuicideEnd.json @@ -6,66 +6,108 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_SuicideEndFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x2b9a37" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x1f3e41433c93878e16396aed9bf49706ecd2517de0a4650fd5811bd323b21861", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x1f3e41433c93878e16396aed9bf49706ecd2517de0a4650fd5811bd323b21861", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x24f4499f3c132840de3796088b172d40b1ff6fd5d76a2e2d06af52e18132766e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x3ea409895f85c5a40dc1a48c700882be1b521e6d11a6e6638f8e37b573bbb1a0", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x96b7eafd6e23d0438dc7dce93fe01fc368afc3d503fce3b7a8b9b806578b75a5", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0f46000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "10000000000", - "code" : "{ (MSTORE 3 1) (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 32 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x02540be400", + "code" : "0x60016003526040600060406000731000000000000000000000000000000000000002620186a0fa506001602052", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "10000000000", - "code" : "{ (DELEGATECALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000001) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x02540be400", + "code" : "0x604060006040600073100000000000000000000000000000000000000361c350f450731000000000000000000000000000000000000001ff", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "10000000000", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x02540be400", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -75,14 +117,14 @@ "" ], "gasLimit" : [ - "3000000" + "0x2dc6c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_SuicideEnd2.json b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_SuicideEnd2.json index 5a304e176..18cc1d327 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_SuicideEnd2.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_SuicideEnd2.json @@ -6,66 +6,158 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_SuicideEnd2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : 0 + "post" : { + "EIP150" : [ + { + "hash" : "0xd8da48810faa7e7d578b700ee43419edaf2f54e10dde4fb39151da88d9b66890", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x2b9a35" - } - } + { + "hash" : "0xe89d6b1f2a3a5293b098abbd4b7a9ab3f0b8f78d7c53765c3c99389480b20383", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xd8da48810faa7e7d578b700ee43419edaf2f54e10dde4fb39151da88d9b66890", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xe89d6b1f2a3a5293b098abbd4b7a9ab3f0b8f78d7c53765c3c99389480b20383", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xb0b3302aa34901ebfc88b87b5ded70d577f2f73d00056b02a3bfd1066766d219", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x020cc9001c5f925cae84ebf8b307680cc8bf329be17ee0689c8ad0a0d07905e8", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xb0b3302aa34901ebfc88b87b5ded70d577f2f73d00056b02a3bfd1066766d219", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x020cc9001c5f925cae84ebf8b307680cc8bf329be17ee0689c8ad0a0d07905e8", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x56dd84c7fe252b3b8787b9a3650ad49120a57b3bea5b269b6139882b838524ce", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x1598afc5253209f51e9f003b9b74ed56536c3370bf5ab01755fa952058cb6151", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x604060006040600034731000000000000000000000000000000000000001620249f0f26000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "10000000000", - "code" : "{ (MSTORE 3 1) (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 32 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x02540be400", + "code" : "0x60016003526040600060406000731000000000000000000000000000000000000002620186a0fa506001602052", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "10000000000", - "code" : "{ (CALLCODE 50000 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000001) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x02540be400", + "code" : "0x6040600060406000600073100000000000000000000000000000000000000361c350f250731000000000000000000000000000000000000001ff", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "10000000000", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x02540be400", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -75,15 +167,15 @@ "" ], "gasLimit" : [ - "3000000" + "0x2dc6c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0", - "1" + "0x00", + "0x01" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_SuicideMiddle.json b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_SuicideMiddle.json index 36ee28059..afbca5b63 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_SuicideMiddle.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_SuicideMiddle.json @@ -6,66 +6,108 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_SuicideMiddleFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x2b9a37" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x40165974086de2646f2d11027dd5f3bbcb914f71af136316fc9a71611679a8b2", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x40165974086de2646f2d11027dd5f3bbcb914f71af136316fc9a71611679a8b2", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x927477316bf74d67e7ef3c7ec3052c4859b577244dc38fe99cbf806f7e6e4cb7", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xe576612682d495ae873a36b85ead4b5f06a429b634444af1b62176d9c5064c70", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x353b93f5c6b28c35a58a4eeb67bc8b070cabf3c6cfc975b298151f5c66968d69", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0f46000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "10000000000", - "code" : "{ (MSTORE 3 1) (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 32 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x02540be400", + "code" : "0x60016003526040600060406000731000000000000000000000000000000000000002620186a0fa506001602052", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "10000000000", - "code" : "{ (SELFDESTRUCT 0x1000000000000000000000000000000000000000) (DELEGATECALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x02540be400", + "code" : "0x731000000000000000000000000000000000000000ff", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "10000000000", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x02540be400", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -75,14 +117,14 @@ "" ], "gasLimit" : [ - "3000000" + "0x2dc6c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_SuicideMiddle2.json b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_SuicideMiddle2.json index 6fe1fcd0b..d318875d2 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_SuicideMiddle2.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_SuicideMiddle2.json @@ -6,66 +6,158 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_SuicideMiddle2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : 0 + "post" : { + "EIP150" : [ + { + "hash" : "0x791de48cd2ec0c9703c05817eb2ed1d8f9d7de135062f7bd3ded6e9e904cd86c", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x2b9a35" - } - } + { + "hash" : "0x52b20597eea82f8043337db4a0bda10dd4e0ef0a684d2298c945e1c0b531dd58", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x791de48cd2ec0c9703c05817eb2ed1d8f9d7de135062f7bd3ded6e9e904cd86c", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x52b20597eea82f8043337db4a0bda10dd4e0ef0a684d2298c945e1c0b531dd58", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x2dfb011f92244dcf8d5485848017db96b9ad4eb27cc894bf5651f0e9a5febaed", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x746a90839c5cfeb7d514cbf0cd94bd8251519879371fc54e43c7fd9bdb8133dd", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x2dfb011f92244dcf8d5485848017db96b9ad4eb27cc894bf5651f0e9a5febaed", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x746a90839c5cfeb7d514cbf0cd94bd8251519879371fc54e43c7fd9bdb8133dd", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x058af314a5cbd9729cb9e359d041140e5555209031d1b5315a0f225f513fc304", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xf28c68e490548f346fbf5d83d7aa5643fdea3f93735a4cbb879253bb7667c0b2", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x604060006040600034731000000000000000000000000000000000000001620249f0f26000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "10000000000", - "code" : "{ (MSTORE 3 1) (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 32 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x02540be400", + "code" : "0x60016003526040600060406000731000000000000000000000000000000000000002620186a0fa506001602052", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "10000000000", - "code" : "{ (SELFDESTRUCT 0x1000000000000000000000000000000000000000) (CALLCODE 50000 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x02540be400", + "code" : "0x731000000000000000000000000000000000000000ff", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "10000000000", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x02540be400", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -75,15 +167,15 @@ "" ], "gasLimit" : [ - "3000000" + "0x2dc6c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0", - "1" + "0x00", + "0x01" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_ABCB_RECURSIVE.json b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_ABCB_RECURSIVE.json index e6d6c03bd..ea1b91271 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_ABCB_RECURSIVE.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_ABCB_RECURSIVE.json @@ -6,59 +6,101 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_ABCB_RECURSIVEFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "3000000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0xb2d05e00", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x01c75d11" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x2f82a1984d76b3650e5432e6ec29336da1aa99cb24add11da410a7ec02f2686c", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x2f82a1984d76b3650e5432e6ec29336da1aa99cb24add11da410a7ec02f2686c", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x66cdd0513e16a6a8f85fba06e9e08a1858057bc30a110d01543241d76d4bc926", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x377f9e9f46fd2bbefb66d74eec6e7fc6404a4a8c0cf225db021d792a0a90fdc4", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x8d1d06ff3be327386643583d001fcd59d28d565a23fa5af188c12811c860c3a0", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (DELEGATECALL 25000000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x604060006040600073100000000000000000000000000000000000000163017d7840f46000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "10000000000", - "code" : "{ (STATICCALL 1000000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x02540be400", + "code" : "0x6040600060406000731000000000000000000000000000000000000002620f4240fa", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "10000000000", - "code" : "{ (DELEGATECALL 500000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x02540be400", + "code" : "0x60406000604060007310000000000000000000000000000000000000016207a120f4", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -68,14 +110,14 @@ "" ], "gasLimit" : [ - "30000000" + "0x01c9c380" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_ABCB_RECURSIVE2.json b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_ABCB_RECURSIVE2.json index c58cfdfe9..f7e9bdc39 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_ABCB_RECURSIVE2.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_ABCB_RECURSIVE2.json @@ -6,91 +6,265 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_ABCB_RECURSIVE2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "3000000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0xb2d05e00", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : 0, - "gas" : -1, - "value" : 0 + "post" : { + "EIP150" : [ + { + "hash" : "0x91122178083d2d74f21f5afe97027a9c7b9b0f47502c6dff880fea64e0b6b404", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x01c75b73" - } - } + { + "hash" : "0xcc438424f1f3d4ae7bee4bd07c6323337e166b56362185be054c3886c388e212", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x91122178083d2d74f21f5afe97027a9c7b9b0f47502c6dff880fea64e0b6b404", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xcc438424f1f3d4ae7bee4bd07c6323337e166b56362185be054c3886c388e212", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : 1, - "gas" : -1, - "value" : 0 + ], + "EIP158" : [ + { + "hash" : "0x91122178083d2d74f21f5afe97027a9c7b9b0f47502c6dff880fea64e0b6b404", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xcc438424f1f3d4ae7bee4bd07c6323337e166b56362185be054c3886c388e212", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x91122178083d2d74f21f5afe97027a9c7b9b0f47502c6dff880fea64e0b6b404", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x01c4b93f" - } - } + { + "hash" : "0xcc438424f1f3d4ae7bee4bd07c6323337e166b56362185be054c3886c388e212", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] } - } - ], + ], + "Frontier" : [ + { + "hash" : "0xfe5b3e9c38034a4af6c171b5706ec085a7bb2180525c7df7dd0f81de1cea8dac", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x04066f0116348d5efec1692daa1a62da33c7cd99ad1e50b6bcdb1c371f3ada6d", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xfe5b3e9c38034a4af6c171b5706ec085a7bb2180525c7df7dd0f81de1cea8dac", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x04066f0116348d5efec1692daa1a62da33c7cd99ad1e50b6bcdb1c371f3ada6d", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xfe5b3e9c38034a4af6c171b5706ec085a7bb2180525c7df7dd0f81de1cea8dac", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x04066f0116348d5efec1692daa1a62da33c7cd99ad1e50b6bcdb1c371f3ada6d", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xfe5b3e9c38034a4af6c171b5706ec085a7bb2180525c7df7dd0f81de1cea8dac", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x04066f0116348d5efec1692daa1a62da33c7cd99ad1e50b6bcdb1c371f3ada6d", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x97c32532084faae6bb76c15f0bef40a5427af42cd4dcf041335697bc99fd3162", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xe29c0ded5a4f56f300fe8ac556dcf48f3080c1cb6002a2d616837d0c953087e6", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xeb2b2adf68aa9db10cf73597f8690ee420d6bb8516ad4ba2281008ea42ca81c4", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x7bd9f9b8d5b66f4c1deccb61c5e090624c5627c08066c8df7caaf99d20df0bd4", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (CALLCODE 25000000 (CALLDATALOAD 0) (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60406000604060003460003563017d7840f26000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "10000000000", - "code" : "{ (STATICCALL 1000000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x02540be400", + "code" : "0x6040600060406000731000000000000000000000000000000000000002620f4240fa", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "10000000000", - "code" : "{ (CALLCODE 500000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x02540be400", + "code" : "0x604060006040600060007310000000000000000000000000000000000000016207a120f2", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000001" : { - "balance" : "10000000000", - "code" : "{ (STATICCALL 1000000 0x2000000000000000000000000000000000000002 0 64 0 64 ) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000001" : { + "balance" : "0x02540be400", + "code" : "0x6040600060406000732000000000000000000000000000000000000002620f4240fa", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000002" : { - "balance" : "10000000000", - "code" : "{ (CALLCODE 500000 0x2000000000000000000000000000000000000001 1 0 64 0 64 ) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000002" : { + "balance" : "0x02540be400", + "code" : "0x604060006040600060017320000000000000000000000000000000000000016207a120f2", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -101,15 +275,15 @@ "0x0000000000000000000000002000000000000000000000000000000000000001" ], "gasLimit" : [ - "30000000" + "0x01c9c380" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0", - "1" + "0x00", + "0x01" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110.json b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110.json index 6ab70f56d..97c5a5b64 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110.json @@ -6,66 +6,108 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x2d1de0" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0xbe9827be92006c9abefd9aeb4945c56798be47969dcac10df6a881b4ff22f485", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xbe9827be92006c9abefd9aeb4945c56798be47969dcac10df6a881b4ff22f485", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x0fff5fd8d1e1efc51e4c524c79334e61c5d692b0dacb94eb75c2e0723efb1863", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xf3559fc5e140ee630b883db45ed11550c7eaee49f4bcabd842e54c1be7bb0c65", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xe24f6ebcdc5d1fe4a712163d38df6fdb61289c3ca1dbb3522fb405e5f1ae2f2f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (DELEGATECALL 350000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x604060006040600073100000000000000000000000000000000000000162055730f46000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 1 1) (DELEGATECALL 300000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 1 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60016001526040600060406000731000000000000000000000000000000000000002620493e0f4506001600152", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 1 1) (STATICCALL 250000 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 1 1)}", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600160015260406000604060007310000000000000000000000000000000000000036203d090fa506001600152", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (MSTORE 1 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x6001600152", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -75,14 +117,14 @@ "" ], "gasLimit" : [ - "3000000" + "0x2dc6c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_1102.json b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_1102.json index 79c06352b..333a1dfec 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_1102.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_1102.json @@ -6,66 +6,208 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_1102Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : 0 + "post" : { + "EIP150" : [ + { + "hash" : "0x1142886feff0a10bbf20a1a0e75440aa81b556c33c90b6a945f9f5de54a8745f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x2d06b5" - } - } + { + "hash" : "0x4a192a81ce68ab3d019acc917ee6b0f220e9f77b641ec4e735d005af8ab2a508", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xdfc2816ab964229c0194cf8f87d9acdf4893a936193ac29ede1bd3ce6860d048", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 2 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x1142886feff0a10bbf20a1a0e75440aa81b556c33c90b6a945f9f5de54a8745f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x4a192a81ce68ab3d019acc917ee6b0f220e9f77b641ec4e735d005af8ab2a508", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xdfc2816ab964229c0194cf8f87d9acdf4893a936193ac29ede1bd3ce6860d048", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 2 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x3764ca53935fa38ab699289d72cd07e3f10406d7730fb3bc84ee59c15b914008", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x8a2169207191f6f72252ccdd3aba931972dcc7540cb40a934d5ff1a56f522735", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x3ecfc2d68ba05e861733c2faf0641c71cb96919bbf276d63b6eb795b343b2ec8", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 2 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x3764ca53935fa38ab699289d72cd07e3f10406d7730fb3bc84ee59c15b914008", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x8a2169207191f6f72252ccdd3aba931972dcc7540cb40a934d5ff1a56f522735", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x3ecfc2d68ba05e861733c2faf0641c71cb96919bbf276d63b6eb795b343b2ec8", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 2 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x1142886feff0a10bbf20a1a0e75440aa81b556c33c90b6a945f9f5de54a8745f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x35918d46d5e94fb0a0c62354b52b3a1b2857f1521379e536af21a26bcdfa85b2", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x2339b7f274e79860b605d7f26675b85e8ed75f94d3d4d46a898e8677683aed0d", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 2 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (CALLCODE 350000 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60406000604060003473100000000000000000000000000000000000000162055730f26000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "1000000000000000000", - "code" : "{ (CALLCODE 300000 0x1000000000000000000000000000000000000002 (- (CALLVALUE) 1) 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x604060006040600060013403731000000000000000000000000000000000000002620493e0f2", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "1000000000000000000", - "code" : "{ (STATICCALL 250000 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60406000604060007310000000000000000000000000000000000000036203d090fa", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (MSTORE 1 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x6001600152", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -75,16 +217,16 @@ "" ], "gasLimit" : [ - "3000000" + "0x2dc6c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0", - "1", - "2" + "0x00", + "0x01", + "0x02" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_2.json b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_2.json index 639391a3f..e4bc17faa 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_2.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_2.json @@ -6,102 +6,208 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : 0 + "post" : { + "EIP150" : [ + { + "hash" : "0x5326815cdcdef4b1abdd14c29d16ae4aeeec663d59887c801d5b4fa36bcf3675", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x2d06a1" - } - } + { + "hash" : "0xfb0b902ebb76fa391208632f43303d92ca5188c75085e02fa84b0d0518eb2e9a", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x909ff59a3fd650f3926cfba8fefc52ac1b5983dcc1436df30b3c1827e34de6d8", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 2 + }, + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : 1 + ], + "EIP158" : [ + { + "hash" : "0x5326815cdcdef4b1abdd14c29d16ae4aeeec663d59887c801d5b4fa36bcf3675", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x2d03aa" - } - } + { + "hash" : "0xfb0b902ebb76fa391208632f43303d92ca5188c75085e02fa84b0d0518eb2e9a", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x909ff59a3fd650f3926cfba8fefc52ac1b5983dcc1436df30b3c1827e34de6d8", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 2 + }, + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : 2 + ], + "Frontier" : [ + { + "hash" : "0x5403204b06ff0eca5ccf43d109b61df4939c0593521b3352d76b30b77c0b174f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x7fb514979212ee78728186db19e54a0f369282d3d4e93ab33e2e9c548e2976c1", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x2ce97e" - } - } + { + "hash" : "0x4bc9fd46a70450fb1ecd0fe518a3cd7489f2ebdcd9f29501502f4fee9c133a76", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 2 + }, + "logs" : [ + ] } - } - ], + ], + "Homestead" : [ + { + "hash" : "0x5403204b06ff0eca5ccf43d109b61df4939c0593521b3352d76b30b77c0b174f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x7fb514979212ee78728186db19e54a0f369282d3d4e93ab33e2e9c548e2976c1", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x4bc9fd46a70450fb1ecd0fe518a3cd7489f2ebdcd9f29501502f4fee9c133a76", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 2 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x5326815cdcdef4b1abdd14c29d16ae4aeeec663d59887c801d5b4fa36bcf3675", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x5dddfe506c6816272c589f08222ece4bfe063c3a04d87cfdda828423387f726b", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xa89a6d73a704a70aaa7d761ad976c768ce25243be0d4f5285d02585e55d49f09", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 2 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (CALLCODE 350000 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60406000604060003473100000000000000000000000000000000000000162055730f26000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 1 1) (CALLCODE 300000 0x1000000000000000000000000000000000000002 ( - (CALLVALUE) 1) 0 64 0 64 ) (MSTORE 31 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6001600152604060006040600060013403731000000000000000000000000000000000000002620493e0f2506001601f52", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 1 1) (STATICCALL 250000 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 31 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600160015260406000604060007310000000000000000000000000000000000000036203d090fa506001601f52", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (MSTORE 1 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x6001600152", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -111,16 +217,16 @@ "" ], "gasLimit" : [ - "3000000" + "0x2dc6c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0", - "1", - "2" + "0x00", + "0x01", + "0x02" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGE.json b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGE.json index f8413ff74..464593006 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGE.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGE.json @@ -6,66 +6,108 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_OOGEFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x01a903" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0xe9545deb7f1262086d64fd26d11db31cece5836773a41b9944f2a981dc41c11e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xe9545deb7f1262086d64fd26d11db31cece5836773a41b9944f2a981dc41c11e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x7ed82c0b75dd683568af708a34f5c9b5faf0f7da38054c664274d0ee148f6834", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xbf7671c9d56403dafeb06c0c9c55776aa15886c70651507de178bb129cc6dfca", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x83aac1b7e18289e3edac8c1129b7b6bff819c9c63ce719065234cc9fab3266af", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0f46000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (DELEGATECALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x6040600060406000731000000000000000000000000000000000000002620186a0f4", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x6040600060406000731000000000000000000000000000000000000003614e34fa", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x5b61c35060805110156018576001608051016080526000565b", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -75,14 +117,14 @@ "" ], "gasLimit" : [ - "172000" + "0x029fe0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGE2.json b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGE2.json index f329eca67..a2a66abd2 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGE2.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGE2.json @@ -6,66 +6,208 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_OOGE2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : 0 + "post" : { + "EIP150" : [ + { + "hash" : "0x129fcac62a3a14da788cc95bd6b31881b7c007f1f3359fe74d3375f0264f972c", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x01dfd5" - } - } + { + "hash" : "0xc8d05b7ec4093023acd5f9e41463ac7b209920771f7f1c7b2e769d724a8fd3e9", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xad3d81a2af7b438496a8c3e4190785d87d4706dd924b4327b8c705a5b85da0c9", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 2 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x129fcac62a3a14da788cc95bd6b31881b7c007f1f3359fe74d3375f0264f972c", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xc8d05b7ec4093023acd5f9e41463ac7b209920771f7f1c7b2e769d724a8fd3e9", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xad3d81a2af7b438496a8c3e4190785d87d4706dd924b4327b8c705a5b85da0c9", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 2 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x01461c4f7c2f4a874d84b115d3aafd2a1384658669d0fee67e5dc7b316bdd265", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xad3d81a2af7b438496a8c3e4190785d87d4706dd924b4327b8c705a5b85da0c9", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xad3d81a2af7b438496a8c3e4190785d87d4706dd924b4327b8c705a5b85da0c9", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 2 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x01461c4f7c2f4a874d84b115d3aafd2a1384658669d0fee67e5dc7b316bdd265", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xad3d81a2af7b438496a8c3e4190785d87d4706dd924b4327b8c705a5b85da0c9", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xad3d81a2af7b438496a8c3e4190785d87d4706dd924b4327b8c705a5b85da0c9", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 2 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x129fcac62a3a14da788cc95bd6b31881b7c007f1f3359fe74d3375f0264f972c", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x82c953ddb30c1f2509e95e09c9d36ef9dbf8e51cdf4184ce57a8e3b33420c256", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x827351548d0f6b0fb079968c256a7f02dd6bd10a29f89f6a3834dcddcb968cbf", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 2 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x604060006040600034731000000000000000000000000000000000000001620249f0f26000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (CALLCODE 100000 0x1000000000000000000000000000000000000002 (- (CALLVALUE) 1) 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x604060006040600060013403731000000000000000000000000000000000000002620186a0f2", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x6040600060406000731000000000000000000000000000000000000003614e34fa", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x5b61c35060805110156018576001608051016080526000565b", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -75,16 +217,16 @@ "" ], "gasLimit" : [ - "172000" + "0x029fe0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0", - "1", - "2" + "0x00", + "0x01", + "0x02" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGMAfter.json b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGMAfter.json index 846dae20e..f02ef43a6 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGMAfter.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGMAfter.json @@ -6,66 +6,108 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_OOGMAfterFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x014c81" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x7fabecc5d5316e1cf649ff86c051855a1ad1912cf86eaa69d63df1eb286fd05e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x7fabecc5d5316e1cf649ff86c051855a1ad1912cf86eaa69d63df1eb286fd05e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xfc0d01a29029ad68f6fd82940192224a99824507ec7015a316c793631088e315", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x50969bc8949f698299526bb1063fa10d84c4d70bddeff39c9641ec0c441c8c39", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x7fabecc5d5316e1cf649ff86c051855a1ad1912cf86eaa69d63df1eb286fd05e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (DELEGATECALL 60150 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x604060006040600073100000000000000000000000000000000000000161eaf6f46000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (DELEGATECALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x6040600060406000731000000000000000000000000000000000000002619c90f4505b61c3506080511015603a576001608051016080526022565b", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x6040600060406000731000000000000000000000000000000000000003614e34fa", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -75,14 +117,14 @@ "" ], "gasLimit" : [ - "172000" + "0x029fe0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGMAfter2.json b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGMAfter2.json index 29dc288e5..3379e5a45 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGMAfter2.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGMAfter2.json @@ -6,87 +6,208 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_OOGMAfter2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : 0 + "post" : { + "EIP150" : [ + { + "hash" : "0xb148e0cdaa90341f1cbaf0a2459b7c28ae65349a5ad46369317a2a2c45b5ca6f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xbd561c70c58b9ad7c537e35048d55b5929024a177a9c394ccd0a1202d615d0f9", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x014c7f" - } - } + { + "hash" : "0x428b51700c05d01812a0b0b49d002ca402fd3c5eceef51e65f24c06a27f69ebc", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 2 + }, + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : [ - 1, - 2 + ], + "EIP158" : [ + { + "hash" : "0xb148e0cdaa90341f1cbaf0a2459b7c28ae65349a5ad46369317a2a2c45b5ca6f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xbd561c70c58b9ad7c537e35048d55b5929024a177a9c394ccd0a1202d615d0f9", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x012957" - } - } + { + "hash" : "0x428b51700c05d01812a0b0b49d002ca402fd3c5eceef51e65f24c06a27f69ebc", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 2 + }, + "logs" : [ + ] } - } - ], + ], + "Frontier" : [ + { + "hash" : "0x8704738bfa5277536fef6409a73fe329ff03a9150ce6f51257b936c8f677ce64", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xc97bc6e6f008d7c922338d28cc68b75ed0ec3528d5c7892750d22c469b4447ba", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x390487b8e191b002bd0077018dad6ef7c0dd8db478f1f8481880094385b7aa77", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 2 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x8704738bfa5277536fef6409a73fe329ff03a9150ce6f51257b936c8f677ce64", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xc97bc6e6f008d7c922338d28cc68b75ed0ec3528d5c7892750d22c469b4447ba", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x390487b8e191b002bd0077018dad6ef7c0dd8db478f1f8481880094385b7aa77", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 2 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xb148e0cdaa90341f1cbaf0a2459b7c28ae65349a5ad46369317a2a2c45b5ca6f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xbd561c70c58b9ad7c537e35048d55b5929024a177a9c394ccd0a1202d615d0f9", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x428b51700c05d01812a0b0b49d002ca402fd3c5eceef51e65f24c06a27f69ebc", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 2 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (CALLCODE 60150 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60406000604060003473100000000000000000000000000000000000000161eaf6f26000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (CALLCODE 40080 0x1000000000000000000000000000000000000002 ( - (CALLVALUE) 1) 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x604060006040600060013403731000000000000000000000000000000000000002619c90f2505b61c3506080511015603e576001608051016080526026565b", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x6040600060406000731000000000000000000000000000000000000003614e34fa", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -96,16 +217,16 @@ "" ], "gasLimit" : [ - "172000" + "0x029fe0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0", - "1", - "2" + "0x00", + "0x01", + "0x02" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGMAfter_2.json b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGMAfter_2.json index c4d7f988f..23f2caeaa 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGMAfter_2.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGMAfter_2.json @@ -6,66 +6,108 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_OOGMAfter_2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x014c81" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x7fabecc5d5316e1cf649ff86c051855a1ad1912cf86eaa69d63df1eb286fd05e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x7fabecc5d5316e1cf649ff86c051855a1ad1912cf86eaa69d63df1eb286fd05e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xfc0d01a29029ad68f6fd82940192224a99824507ec7015a316c793631088e315", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x50969bc8949f698299526bb1063fa10d84c4d70bddeff39c9641ec0c441c8c39", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x7fabecc5d5316e1cf649ff86c051855a1ad1912cf86eaa69d63df1eb286fd05e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (DELEGATECALL 60150 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x604060006040600073100000000000000000000000000000000000000161eaf6f46000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (DELEGATECALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x6040600060406000731000000000000000000000000000000000000002619c90f4505b61c3506080511015603a576001608051016080526022565b", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x6040600060406000731000000000000000000000000000000000000003614e34fa", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -75,14 +117,14 @@ "" ], "gasLimit" : [ - "172000" + "0x029fe0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGMAfter_3.json b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGMAfter_3.json index 24b877b00..39c0e7049 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGMAfter_3.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGMAfter_3.json @@ -6,66 +6,108 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_OOGMAfter_3Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x014c7f" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0xb148e0cdaa90341f1cbaf0a2459b7c28ae65349a5ad46369317a2a2c45b5ca6f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xb148e0cdaa90341f1cbaf0a2459b7c28ae65349a5ad46369317a2a2c45b5ca6f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x8704738bfa5277536fef6409a73fe329ff03a9150ce6f51257b936c8f677ce64", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x8704738bfa5277536fef6409a73fe329ff03a9150ce6f51257b936c8f677ce64", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xb148e0cdaa90341f1cbaf0a2459b7c28ae65349a5ad46369317a2a2c45b5ca6f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (CALLCODE 60150 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60406000604060003473100000000000000000000000000000000000000161eaf6f26000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (CALLCODE 40080 0x1000000000000000000000000000000000000002 (- (CALLVALUE) 1) 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x604060006040600060013403731000000000000000000000000000000000000002619c90f2505b61c3506080511015603e576001608051016080526026565b", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x6040600060406000731000000000000000000000000000000000000003614e34fa", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -75,14 +117,14 @@ "" ], "gasLimit" : [ - "172000" + "0x029fe0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGMBefore.json b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGMBefore.json index 398473b68..4fa4c94d1 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGMBefore.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGMBefore.json @@ -6,66 +6,108 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_OOGMBeforeFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x015d7b" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x236cb2785fc1e2ca2ac212e6639d01dc88f0e04621ab7e0c55144cf262a9020a", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x236cb2785fc1e2ca2ac212e6639d01dc88f0e04621ab7e0c55144cf262a9020a", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x165ebc9c4f104ef9db18f746c919f08e20b66437ad2a04049f40604682f7d6e5", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xfa8ff8ac6b336b6c490fcbddde611fbd498a1f72c83b722466cd0dbb95be22ae", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x236cb2785fc1e2ca2ac212e6639d01dc88f0e04621ab7e0c55144cf262a9020a", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0f46000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (DELEGATECALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x6040600060406000731000000000000000000000000000000000000002619c90f4", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x5b61c35060805110156018576001608051016080526000565b6040600060406000731000000000000000000000000000000000000003614e34fa", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -75,14 +117,14 @@ "" ], "gasLimit" : [ - "172000" + "0x029fe0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGMBefore2.json b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGMBefore2.json index 47820fe3c..900dfed9a 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGMBefore2.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGMBefore2.json @@ -6,66 +6,208 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_OOGMBefore2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : 0 + "post" : { + "EIP150" : [ + { + "hash" : "0xf096c437267232e4430179bd6c642b5bfdefb7d2312c8e65b268fd979d9dda8f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x01dfd5" - } - } + { + "hash" : "0x54f54369e90569e42728a290261a0eec630a37f30482abc67c2bc917421370a6", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xec2bf3574f78ae9aaa87138de1515405be6516594104a7963b658feb67c21829", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 2 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xf096c437267232e4430179bd6c642b5bfdefb7d2312c8e65b268fd979d9dda8f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x54f54369e90569e42728a290261a0eec630a37f30482abc67c2bc917421370a6", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xec2bf3574f78ae9aaa87138de1515405be6516594104a7963b658feb67c21829", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 2 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xfad1a7cdf23050c48fe11a2df98bb355f7f8b320e2b3a60e5ede1fe22f8c8f35", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x0d930889a5fd0bafd5f22d1b956bc78c5704f28efd4d2d24202ceb3bb7f1767c", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x0d930889a5fd0bafd5f22d1b956bc78c5704f28efd4d2d24202ceb3bb7f1767c", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 2 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xfad1a7cdf23050c48fe11a2df98bb355f7f8b320e2b3a60e5ede1fe22f8c8f35", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x0d930889a5fd0bafd5f22d1b956bc78c5704f28efd4d2d24202ceb3bb7f1767c", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0x0d930889a5fd0bafd5f22d1b956bc78c5704f28efd4d2d24202ceb3bb7f1767c", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 2 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xf096c437267232e4430179bd6c642b5bfdefb7d2312c8e65b268fd979d9dda8f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x54f54369e90569e42728a290261a0eec630a37f30482abc67c2bc917421370a6", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + }, + { + "hash" : "0xec2bf3574f78ae9aaa87138de1515405be6516594104a7963b658feb67c21829", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 2 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x604060006040600034731000000000000000000000000000000000000001620249f0f26000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (CALLCODE 40080 0x1000000000000000000000000000000000000002 (- (CALLVALUE) 1) 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x604060006040600060013403731000000000000000000000000000000000000002619c90f2", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x5b61c35060805110156018576001608051016080526000565b6040600060406000731000000000000000000000000000000000000003614e34fa", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "0", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x00", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -75,16 +217,16 @@ "" ], "gasLimit" : [ - "172000" + "0x029fe0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0", - "1", - "2" + "0x00", + "0x01", + "0x02" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_SuicideEnd.json b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_SuicideEnd.json index d0956c726..0654f2b92 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_SuicideEnd.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_SuicideEnd.json @@ -6,63 +6,158 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_SuicideEndFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0x8753ab1ba6682457423f097f6a06d57e6b656cff7fa2fd707f1d2f7ddb16a6ea", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "shouldnotexist" : "1" - } + { + "hash" : "0x0b8702a3626c65ab31cda7293ca9586eda81e19bf57b60728db4cbd2229f5039", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x8753ab1ba6682457423f097f6a06d57e6b656cff7fa2fd707f1d2f7ddb16a6ea", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x0b8702a3626c65ab31cda7293ca9586eda81e19bf57b60728db4cbd2229f5039", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xa6b1577620599d4c3ffe56b00a67d202eed6efad96e1107911bdc4fbb1cd0cad", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xa6b1577620599d4c3ffe56b00a67d202eed6efad96e1107911bdc4fbb1cd0cad", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x98d510c1603535d98072449aa12d5f17a3c8d5ef4fbb873ba710d45e109a3cec", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x4ca16674f4ef77fb5d830f10c048b87acfc71e54e47725415fb26a0389b207ce", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x92fb71043d9b7b509bf1bdcebdde3dca273c85b054a6d7f5a402ab7adaa1673b", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x2f26ffcc4fec7b849abad3ece36535ae6519073bd3a3d1b4b5447d85ef62117c", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0f46000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "10000000000", - "code" : "{ (DELEGATECALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x02540be400", + "code" : "0x6040600060406000731000000000000000000000000000000000000002620186a0f4", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "10000000000", - "code" : "{ (STATICCALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000001) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x02540be400", + "code" : "0x604060006040600073100000000000000000000000000000000000000361c350fa50731000000000000000000000000000000000000001ff", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "10000000000", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x02540be400", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -72,15 +167,15 @@ "" ], "gasLimit" : [ - "3000000" + "0x2dc6c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0", - "1" + "0x00", + "0x01" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_SuicideEnd2.json b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_SuicideEnd2.json index 58ba34346..35d35df3a 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_SuicideEnd2.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_SuicideEnd2.json @@ -6,63 +6,158 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_SuicideEnd2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0x3c05529efb0bdb7c995e3fb99f04cbb3f5a7a87de69d4c1e00ebb8785f34f86d", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "shouldnotexist" : "1" - } + { + "hash" : "0xa6c22628095e9e013c2b4290692b6550674e0704cdb4174e817e4e775f224c36", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x3c05529efb0bdb7c995e3fb99f04cbb3f5a7a87de69d4c1e00ebb8785f34f86d", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xa6c22628095e9e013c2b4290692b6550674e0704cdb4174e817e4e775f224c36", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xa8f74c69852c591d7560057871ad5ed4c73cbadf6ffd2c1885ea63332587b5c1", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x420987557b85268adb954329fc72ea11ad6333f5418959b6c5e953fa7c0fa44c", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xa8f74c69852c591d7560057871ad5ed4c73cbadf6ffd2c1885ea63332587b5c1", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x420987557b85268adb954329fc72ea11ad6333f5418959b6c5e953fa7c0fa44c", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x53650fed8f432df6260dcdc9e3ee394639b376047a2a2384600b39672ef7dd7c", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xe21aaa19eea67e15d57f23f013f8c35592fd0d91d3ce32a4566fdeb78702e417", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x604060006040600034731000000000000000000000000000000000000001620249f0f26000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "10000000000", - "code" : "{ (CALLCODE 100000 0x1000000000000000000000000000000000000002 (CALLVALUE) 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x02540be400", + "code" : "0x604060006040600034731000000000000000000000000000000000000002620186a0f2", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "10000000000", - "code" : "{ (STATICCALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000001) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x02540be400", + "code" : "0x604060006040600073100000000000000000000000000000000000000361c350fa50731000000000000000000000000000000000000001ff", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "10000000000", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x02540be400", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -72,15 +167,15 @@ "" ], "gasLimit" : [ - "3000000" + "0x2dc6c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0", - "1" + "0x00", + "0x01" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_SuicideMiddle.json b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_SuicideMiddle.json index aa57b1568..ac50fd1d5 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_SuicideMiddle.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_SuicideMiddle.json @@ -6,63 +6,108 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_SuicideMiddleFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "shouldnotexist" : "1" - } + "post" : { + "EIP150" : [ + { + "hash" : "0x5f11626bd64771397f4a4ff295eef648b1f16791dd7e0ced9bc03ddd54b923bf", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x5f11626bd64771397f4a4ff295eef648b1f16791dd7e0ced9bc03ddd54b923bf", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xd595ff43858d7d6188fd2c3045ed77aac935b1e51b6f0af8f82bb8fa3c241302", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x29bdca429b1f5189fb25aa3ce06f4b03739e7b75f0f28e11fb47a4efc11344ff", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x5f11626bd64771397f4a4ff295eef648b1f16791dd7e0ced9bc03ddd54b923bf", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0f4600055", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "10000000000", - "code" : "{ (DELEGATECALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x02540be400", + "code" : "0x6040600060406000731000000000000000000000000000000000000002620186a0f4", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "10000000000", - "code" : "{ (SELFDESTRUCT 0x1000000000000000000000000000000000000000) (STATICCALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x02540be400", + "code" : "0x731000000000000000000000000000000000000000ff", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "10000000000", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x02540be400", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -72,14 +117,14 @@ "" ], "gasLimit" : [ - "3000000" + "0x2dc6c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_SuicideMiddle2.json b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_SuicideMiddle2.json index a5a5d2f28..1dfc4df16 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_SuicideMiddle2.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_SuicideMiddle2.json @@ -6,63 +6,108 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_SuicideMiddle2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "shouldnotexist" : "1" - } + "post" : { + "EIP150" : [ + { + "hash" : "0x3b024973af9cf79994e68278f22020737c765df2b82c82a17607351a8d8eda84", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x3b024973af9cf79994e68278f22020737c765df2b82c82a17607351a8d8eda84", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x5a8f9b6bd95bad8bce0095201e86ddb7b8378aa01c2f3cd44b7a55bdfe49fb77", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x5a8f9b6bd95bad8bce0095201e86ddb7b8378aa01c2f3cd44b7a55bdfe49fb77", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x3b024973af9cf79994e68278f22020737c765df2b82c82a17607351a8d8eda84", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x604060006040600034731000000000000000000000000000000000000001620249f0f26000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "10000000000", - "code" : "{ (CALLCODE 100000 0x1000000000000000000000000000000000000002 (CALLVALUE) 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x02540be400", + "code" : "0x604060006040600034731000000000000000000000000000000000000002620186a0f2", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "10000000000", - "code" : "{ (SELFDESTRUCT 0x1000000000000000000000000000000000000000) (STATICCALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x02540be400", + "code" : "0x731000000000000000000000000000000000000000ff", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "10000000000", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x02540be400", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -72,14 +117,14 @@ "" ], "gasLimit" : [ - "3000000" + "0x2dc6c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_ABCB_RECURSIVE.json b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_ABCB_RECURSIVE.json index e7cf64885..bf02baca0 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_ABCB_RECURSIVE.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_ABCB_RECURSIVE.json @@ -6,59 +6,101 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_ABCB_RECURSIVEFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "3000000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0xb2d05e00", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x01c75d11" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0xe39a02833743de8be0d57a58dee6c1ba154a5320b28f2107b04781320f009ccf", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xe39a02833743de8be0d57a58dee6c1ba154a5320b28f2107b04781320f009ccf", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x79f08808882d39dfe8447328aa841fed1aed440c1bdb51a7178c057b2f225f47", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xffce4590bbfee1c8c9ee5bc6e17109274b43b97f4db3827fed17fb9afeb274ac", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xff72c585ba2e5e701e521476e3000ee6a9f2ddd9487de82e1f85690678aeb0f6", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (DELEGATECALL 25000000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x604060006040600073100000000000000000000000000000000000000163017d7840f46000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "10000000000", - "code" : "{ (DELEGATECALL 1000000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x02540be400", + "code" : "0x6040600060406000731000000000000000000000000000000000000002620f4240f4", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "10000000000", - "code" : "{ (STATICCALL 500000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x02540be400", + "code" : "0x60406000604060007310000000000000000000000000000000000000016207a120fa", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -68,14 +110,14 @@ "" ], "gasLimit" : [ - "30000000" + "0x01c9c380" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_ABCB_RECURSIVE2.json b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_ABCB_RECURSIVE2.json index 36b3dfbb0..b3d153ebd 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_ABCB_RECURSIVE2.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_ABCB_RECURSIVE2.json @@ -6,59 +6,151 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_ABCB_RECURSIVE2Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "3000000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0xb2d05e00", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : 0 + "post" : { + "EIP150" : [ + { + "hash" : "0xcfee1a78aa9820d58f756be4320c90462b7bfca2606e65748dd88080c4148c53", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x01c75c76" - } - } + { + "hash" : "0xe96fec0d281152a5c729b002bd56bdbe239c17494d6f439503383f183456a34e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xcfee1a78aa9820d58f756be4320c90462b7bfca2606e65748dd88080c4148c53", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xe96fec0d281152a5c729b002bd56bdbe239c17494d6f439503383f183456a34e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x0f04fac16895ff7d0aba69bc49106636873bad1039a890561021b1118020ea35", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x6a076e401e517a060eea5b60cc39a8f9eb4ea662e1364097724ab94a87ef773b", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x0f04fac16895ff7d0aba69bc49106636873bad1039a890561021b1118020ea35", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x6a076e401e517a060eea5b60cc39a8f9eb4ea662e1364097724ab94a87ef773b", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xed7893e4ecad7da987fbd3cafbe1ff441061ca6d0f10222d0a11e0b4633e3c4f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x04e4ed946e642ab0b121ac824016aba6e5f8ce8d0191c2501603d9ffd67d91e6", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 1 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (CALLCODE 25000000 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60406000604060003473100000000000000000000000000000000000000163017d7840f26000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "10000000000", - "code" : "{ (CALLCODE 1000000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x02540be400", + "code" : "0x60406000604060006000731000000000000000000000000000000000000002620f4240f2", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "10000000000", - "code" : "{ (STATICCALL 500000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x02540be400", + "code" : "0x60406000604060007310000000000000000000000000000000000000016207a120fa", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -68,15 +160,15 @@ "" ], "gasLimit" : [ - "30000000" + "0x01c9c380" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0", - "1" + "0x00", + "0x01" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcodecallcode_111_SuicideEnd.json b/GeneralStateTests/stStaticCall/static_callcodecallcodecallcode_111_SuicideEnd.json index 4e079b430..e267eddec 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcodecallcode_111_SuicideEnd.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcodecallcode_111_SuicideEnd.json @@ -6,66 +6,108 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecallcode_111_SuicideEndFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x2b9a4b" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0xa1d32570da5c5427018ec60f665452d210d09691905e90f304df3e8cc91ab933", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xa1d32570da5c5427018ec60f665452d210d09691905e90f304df3e8cc91ab933", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xf4c111d7ac862af978bc1d0201dff333e523a15b6bbe4b32bf106949eb3c6fbc", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x220381636f7a5aa929bfba5a7c191a36cacafd2847fe90f77ec87f5dcabb4f76", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x7ae8909ec9755868dcb9e0faf1650668d5feb8ebc71c173f438c99e9d1fb1b1c", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0f46000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "10000000000", - "code" : "{ (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x02540be400", + "code" : "0x6040600060406000731000000000000000000000000000000000000002620186a0fa", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "10000000000", - "code" : "{ (CALLCODE 50000 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000001) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x02540be400", + "code" : "0x6040600060406000600073100000000000000000000000000000000000000361c350f250731000000000000000000000000000000000000001ff", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000003" : { - "balance" : "10000000000", - "code" : "{ (MSTORE 3 1) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000003" : { + "balance" : "0x02540be400", + "code" : "0x6001600352", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -75,14 +117,14 @@ "" ], "gasLimit" : [ - "3000000" + "0x2dc6c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_calldelcode_01.json b/GeneralStateTests/stStaticCall/static_calldelcode_01.json index 1663e181d..2804e5ad2 100644 --- a/GeneralStateTests/stStaticCall/static_calldelcode_01.json +++ b/GeneralStateTests/stStaticCall/static_calldelcode_01.json @@ -6,59 +6,101 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_calldelcode_01Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x2d20dc" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x2dee2de86fb5e304e4b70a7805b3b411cbf28b98223b1085e42caba70731c1bf", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x2dee2de86fb5e304e4b70a7805b3b411cbf28b98223b1085e42caba70731c1bf", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x2dee2de86fb5e304e4b70a7805b3b411cbf28b98223b1085e42caba70731c1bf", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x2dee2de86fb5e304e4b70a7805b3b411cbf28b98223b1085e42caba70731c1bf", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x8b446ca3e923e1d0c7c388feb2697a12fc9c2cb3e8c3aafb93e6ad516b488243", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 350000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x604060006040600073100000000000000000000000000000000000000162055730fa6000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (DELEGATECALL 250000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x60406000604060007310000000000000000000000000000000000000026203d090f4", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (MSTORE 1 0x11223344) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x6311223344600152", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -68,14 +110,14 @@ "" ], "gasLimit" : [ - "3000000" + "0x2dc6c0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_calldelcode_01_OOGE.json b/GeneralStateTests/stStaticCall/static_calldelcode_01_OOGE.json index e1df09f72..2414aeeaf 100644 --- a/GeneralStateTests/stStaticCall/static_calldelcode_01_OOGE.json +++ b/GeneralStateTests/stStaticCall/static_calldelcode_01_OOGE.json @@ -6,66 +6,158 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_calldelcode_01_OOGEFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "30000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x01c9c380", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0xd454969b336633f19e5df4375a25f66fb1239b2fceacb246eaa29e42cf8b9a05", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "1000000000000000000000000000000000000000" : { - "storage" : { - "0x00" : "0x01", - "0x01" : "0x01aac8" - } - } + { + "hash" : "0xd454969b336633f19e5df4375a25f66fb1239b2fceacb246eaa29e42cf8b9a05", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xd454969b336633f19e5df4375a25f66fb1239b2fceacb246eaa29e42cf8b9a05", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xd454969b336633f19e5df4375a25f66fb1239b2fceacb246eaa29e42cf8b9a05", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xd454969b336633f19e5df4375a25f66fb1239b2fceacb246eaa29e42cf8b9a05", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xd454969b336633f19e5df4375a25f66fb1239b2fceacb246eaa29e42cf8b9a05", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xd454969b336633f19e5df4375a25f66fb1239b2fceacb246eaa29e42cf8b9a05", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xd454969b336633f19e5df4375a25f66fb1239b2fceacb246eaa29e42cf8b9a05", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x174aa6e932e58328efdac867f6371693251d5999bf3463471dcd11ea9df92add", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x174aa6e932e58328efdac867f6371693251d5999bf3463471dcd11ea9df92add", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000356000526040600060406000731000000000000000000000000000000000000001620249f0fa6000555a600155", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (DELEGATECALL 20020 (CALLDATALOAD 0) 0 64 0 64 ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x6040600060406000600035614e34f4", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (SSTORE 2 1) (MSTORE 2 1)}", - "nonce" : "0", + "0x1000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x60016002556001600252", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000002" : { - "balance" : "0", - "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000002" : { + "balance" : "0x00", + "code" : "0x5b61c35060805110156018576001608051016080526000565b", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -76,14 +168,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000002" ], "gasLimit" : [ - "172000" + "0x029fe0" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "1000000000000000000000000000000000000000", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x1000000000000000000000000000000000000000", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_contractCreationMakeCallThatAskMoreGasThenTransactionProvided.json b/GeneralStateTests/stStaticCall/static_contractCreationMakeCallThatAskMoreGasThenTransactionProvided.json index ed740d5f7..80edb98ca 100644 --- a/GeneralStateTests/stStaticCall/static_contractCreationMakeCallThatAskMoreGasThenTransactionProvided.json +++ b/GeneralStateTests/stStaticCall/static_contractCreationMakeCallThatAskMoreGasThenTransactionProvided.json @@ -6,129 +6,279 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_contractCreationMakeCallThatAskMoreGasThenTransactionProvidedFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : 0, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0x233c1da90828a53adde2c86d53859e611abfc3d7807828f528a42ecc849fdef6", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : { - "nonce" : "1" - } + { + "hash" : "0x233c1da90828a53adde2c86d53859e611abfc3d7807828f528a42ecc849fdef6", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x233c1da90828a53adde2c86d53859e611abfc3d7807828f528a42ecc849fdef6", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x233c1da90828a53adde2c86d53859e611abfc3d7807828f528a42ecc849fdef6", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : 1, - "gas" : -1, - "value" : -1 + ], + "EIP158" : [ + { + "hash" : "0x233c1da90828a53adde2c86d53859e611abfc3d7807828f528a42ecc849fdef6", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x233c1da90828a53adde2c86d53859e611abfc3d7807828f528a42ecc849fdef6", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x233c1da90828a53adde2c86d53859e611abfc3d7807828f528a42ecc849fdef6", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : { - "nonce" : "1" - } + { + "hash" : "0x233c1da90828a53adde2c86d53859e611abfc3d7807828f528a42ecc849fdef6", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : 2, - "gas" : -1, - "value" : -1 + ], + "Frontier" : [ + { + "hash" : "0x233c1da90828a53adde2c86d53859e611abfc3d7807828f528a42ecc849fdef6", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x233c1da90828a53adde2c86d53859e611abfc3d7807828f528a42ecc849fdef6", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : { - "nonce" : "1" - } + { + "hash" : "0x233c1da90828a53adde2c86d53859e611abfc3d7807828f528a42ecc849fdef6", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x233c1da90828a53adde2c86d53859e611abfc3d7807828f528a42ecc849fdef6", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - }, - { - "indexes" : { - "data" : 3, - "gas" : -1, - "value" : -1 + ], + "Homestead" : [ + { + "hash" : "0x233c1da90828a53adde2c86d53859e611abfc3d7807828f528a42ecc849fdef6", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x233c1da90828a53adde2c86d53859e611abfc3d7807828f528a42ecc849fdef6", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x233c1da90828a53adde2c86d53859e611abfc3d7807828f528a42ecc849fdef6", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : { - "nonce" : "1" - } + { + "hash" : "0x233c1da90828a53adde2c86d53859e611abfc3d7807828f528a42ecc849fdef6", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "Metropolis" : [ + { + "hash" : "0x510b6a93c8820120b2a8e8bdf3ae473c41900cf4f722e6f6125d1c6674cd4413", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xdf8d9c168f81a12818f05f337061ae5b03a17c996d3b6b251f118c7cb8e18d3f", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x510b6a93c8820120b2a8e8bdf3ae473c41900cf4f722e6f6125d1c6674cd4413", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xaa09c6f8acf05b087bf49197368fb2edd90377dc93b608bfde9f4407bca116d4", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000001" : { - "balance" : "100000", - "code" : "{(SSTORE 1 1)}", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x0186a0", + "code" : "0x6001600155", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000001" : { - "balance" : "100000", - "code" : "{(MSTORE 1 1)}", - "nonce" : "0", + "0x2000000000000000000000000000000000000001" : { + "balance" : "0x0186a0", + "code" : "0x6001600152", + "nonce" : "0x00", "storage" : { } }, - "3000000000000000000000000000000000000001" : { - "balance" : "100000", - "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", - "nonce" : "0", + "0x3000000000000000000000000000000000000001" : { + "balance" : "0x0186a0", + "code" : "0x5b61c35060805110156018576001608051016080526000565b", + "nonce" : "0x00", "storage" : { } }, - "4000000000000000000000000000000000000001" : { - "balance" : "100000", - "code" : "{ (CALLCODE 1000 0x4000000000000000000000000000000000000004 0 0 0 0 0) }", - "nonce" : "0", + "0x4000000000000000000000000000000000000001" : { + "balance" : "0x0186a0", + "code" : "0x600060006000600060007340000000000000000000000000000000000000046103e8f2", + "nonce" : "0x00", "storage" : { } }, - "4000000000000000000000000000000000000004" : { - "balance" : "100000", - "code" : "{ (MSTORE 1 1) }", - "nonce" : "0", + "0x4000000000000000000000000000000000000004" : { + "balance" : "0x0186a0", + "code" : "0x6001600152", + "nonce" : "0x00", "storage" : { } }, - "5000000000000000000000000000000000000001" : { - "balance" : "100000", - "code" : "{ (CALLCODE 1000000 0x4000000000000000000000000000000000000004 0 0 0 0 0) }", - "nonce" : "0", + "0x5000000000000000000000000000000000000001" : { + "balance" : "0x0186a0", + "code" : "0x60006000600060006000734000000000000000000000000000000000000004620f4240f2", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1100000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x10c8e0", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "100000", - "code" : "{(STATICCALL 50000 0x1000000000000000000000000000000000000001 0 64 0 64)}", - "nonce" : "0", + "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0186a0", + "code" : "0x604060006040600073100000000000000000000000000000000000000161c350fa", + "nonce" : "0x00", "storage" : { } } @@ -141,14 +291,14 @@ "0x604060006040600073400000000000000000000000000000000000000161c350fa" ], "gasLimit" : [ - "96000" + "0x017700" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", "to" : "", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_contractCreationOOGdontLeaveEmptyContractViaTransaction.json b/GeneralStateTests/stStaticCall/static_contractCreationOOGdontLeaveEmptyContractViaTransaction.json index 7316ac30a..8c7206d65 100644 --- a/GeneralStateTests/stStaticCall/static_contractCreationOOGdontLeaveEmptyContractViaTransaction.json +++ b/GeneralStateTests/stStaticCall/static_contractCreationOOGdontLeaveEmptyContractViaTransaction.json @@ -6,56 +6,101 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_contractCreationOOGdontLeaveEmptyContractViaTransactionFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "1000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x0f4240", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : { - "nonce" : "1" - } + "post" : { + "EIP150" : [ + { + "hash" : "0x7ff458b327f4b9dfa06ad60f4b0536abe049b3752ae9336e138c63853be7f0af", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x7ff458b327f4b9dfa06ad60f4b0536abe049b3752ae9336e138c63853be7f0af", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x7ff458b327f4b9dfa06ad60f4b0536abe049b3752ae9336e138c63853be7f0af", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x7ff458b327f4b9dfa06ad60f4b0536abe049b3752ae9336e138c63853be7f0af", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x540e7a4767620ecc87c8117b06a9a73584a643aa065df3ccf7838d579efe1028", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "1000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{(MSTORE 1 1)}", - "nonce" : "0", + "0x1000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x6001600152", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000001" : { - "balance" : "0", - "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000001" : { + "balance" : "0x00", + "code" : "0x5b61c35060805110156018576001608051016080526000565b", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1100000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x10c8e0", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "100000", - "code" : "{(STATICCALL 50000 0x1000000000000000000000000000000000000001 0 64 0 64)}", - "nonce" : "0", + "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0186a0", + "code" : "0x604060006040600073100000000000000000000000000000000000000161c350fa", + "nonce" : "0x00", "storage" : { } } @@ -65,14 +110,14 @@ "0x604060006040600073200000000000000000000000000000000000000161c350fa" ], "gasLimit" : [ - "96000" + "0x017700" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", "to" : "", "value" : [ - "0" + "0x00" ] } } diff --git a/GeneralStateTests/stStaticCall/static_log0_emptyMem.json b/GeneralStateTests/stStaticCall/static_log0_emptyMem.json index dbb0324e4..05825510f 100644 --- a/GeneralStateTests/stStaticCall/static_log0_emptyMem.json +++ b/GeneralStateTests/stStaticCall/static_log0_emptyMem.json @@ -6,52 +6,94 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_log0_emptyMemFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "1000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x0f4240", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x00" : "0x00", - "0x01" : "0x02c805" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x5d629228ea5b19550718a7bc4b882911d8c4363edc14767ca5b224ee7f5c0210", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x5d629228ea5b19550718a7bc4b882911d8c4363edc14767ca5b224ee7f5c0210", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x5d629228ea5b19550718a7bc4b882911d8c4363edc14767ca5b224ee7f5c0210", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x5d629228ea5b19550718a7bc4b882911d8c4363edc14767ca5b224ee7f5c0210", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x8282abb2c67086701b7d5ca88e7bd14a9cd65f7d45e3bf8ee24e4ce7d3799339", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 0 0 0 0) [[ 1 ]] (GAS) }", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000600060006000730f572e5295c57f15886f9b263e2f6d2d6c7b5ec66103e8fa6000555a600155", + "nonce" : "0x00", "storage" : { } }, - "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { - "balance" : "1000000000000000000", - "code" : "{ (LOG0 0 0) }", - "nonce" : "0", + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60006000a0", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -61,14 +103,14 @@ "" ], "gasLimit" : [ - "210000" + "0x033450" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_log0_logMemStartTooHigh.json b/GeneralStateTests/stStaticCall/static_log0_logMemStartTooHigh.json index a6ebb16f8..e5900bcb1 100644 --- a/GeneralStateTests/stStaticCall/static_log0_logMemStartTooHigh.json +++ b/GeneralStateTests/stStaticCall/static_log0_logMemStartTooHigh.json @@ -6,50 +6,94 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_log0_logMemStartTooHighFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "1000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x0f4240", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x7819f6c287abab73927203d6e8d84f632966842a6ca4ce74cd9d9bc9d351bc33", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x7819f6c287abab73927203d6e8d84f632966842a6ca4ce74cd9d9bc9d351bc33", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x7819f6c287abab73927203d6e8d84f632966842a6ca4ce74cd9d9bc9d351bc33", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x7819f6c287abab73927203d6e8d84f632966842a6ca4ce74cd9d9bc9d351bc33", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x9886e0a6a357203e9e51df1ae0d7cecea462370acd721e0edded3d90ee11f104", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 0 0 0 0) }", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000600060006000730f572e5295c57f15886f9b263e2f6d2d6c7b5ec66103e8fa600055", + "nonce" : "0x00", "storage" : { } }, - "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 1) }", - "nonce" : "0", + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x7faabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd60005260017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -59,14 +103,14 @@ "" ], "gasLimit" : [ - "210000" + "0x033450" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_log0_logMemsizeTooHigh.json b/GeneralStateTests/stStaticCall/static_log0_logMemsizeTooHigh.json index 26f4c3bc5..af0e10abe 100644 --- a/GeneralStateTests/stStaticCall/static_log0_logMemsizeTooHigh.json +++ b/GeneralStateTests/stStaticCall/static_log0_logMemsizeTooHigh.json @@ -6,50 +6,94 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_log0_logMemsizeTooHighFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "1000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x0f4240", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x3f72c685696ae003f64cba694cdd8f62c1e99ebd6339932a5cf569bf075f8d17", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x3f72c685696ae003f64cba694cdd8f62c1e99ebd6339932a5cf569bf075f8d17", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x3f72c685696ae003f64cba694cdd8f62c1e99ebd6339932a5cf569bf075f8d17", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x3f72c685696ae003f64cba694cdd8f62c1e99ebd6339932a5cf569bf075f8d17", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x76615dd94d7e2334c0445fd6d694282e05f577e280dc9edbae806b503636abbb", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 0 0 0 0) }", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000600060006000730f572e5295c57f15886f9b263e2f6d2d6c7b5ec66103e8fa600055", + "nonce" : "0x00", "storage" : { } }, - "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG0 1 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) }", - "nonce" : "0", + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x7faabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd6000527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001a0", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -59,14 +103,14 @@ "" ], "gasLimit" : [ - "210000" + "0x033450" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_log0_logMemsizeZero.json b/GeneralStateTests/stStaticCall/static_log0_logMemsizeZero.json index 6bb4dbf23..503fe2702 100644 --- a/GeneralStateTests/stStaticCall/static_log0_logMemsizeZero.json +++ b/GeneralStateTests/stStaticCall/static_log0_logMemsizeZero.json @@ -6,51 +6,94 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_log0_logMemsizeZeroFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "1000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x0f4240", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x" : "0x00" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0xd208df8d66fc2311562c2736f1d4807e342037190c608a0c0b385d0efc6f0948", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xd208df8d66fc2311562c2736f1d4807e342037190c608a0c0b385d0efc6f0948", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xd208df8d66fc2311562c2736f1d4807e342037190c608a0c0b385d0efc6f0948", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xd208df8d66fc2311562c2736f1d4807e342037190c608a0c0b385d0efc6f0948", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x6fdb1b9ade5f511d240223d5d451d84a36e6413cb90d7c65e452446d5f967bd7", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 0 0 0 0) }", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000600060006000730f572e5295c57f15886f9b263e2f6d2d6c7b5ec66103e8fa600055", + "nonce" : "0x00", "storage" : { } }, - "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG0 1 0) }", - "nonce" : "0", + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x7faabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd60005260006001a0", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -60,14 +103,14 @@ "" ], "gasLimit" : [ - "210000" + "0x033450" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_log0_nonEmptyMem.json b/GeneralStateTests/stStaticCall/static_log0_nonEmptyMem.json index c848cc727..e5b46a0d7 100644 --- a/GeneralStateTests/stStaticCall/static_log0_nonEmptyMem.json +++ b/GeneralStateTests/stStaticCall/static_log0_nonEmptyMem.json @@ -6,51 +6,94 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_log0_nonEmptyMemFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "1000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x0f4240", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x" : "0x00" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0xda676d78fe5ec6b2b394d9b8ee35411fd84139a8e84f3f3f1daed064ecaeadd5", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xda676d78fe5ec6b2b394d9b8ee35411fd84139a8e84f3f3f1daed064ecaeadd5", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xda676d78fe5ec6b2b394d9b8ee35411fd84139a8e84f3f3f1daed064ecaeadd5", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xda676d78fe5ec6b2b394d9b8ee35411fd84139a8e84f3f3f1daed064ecaeadd5", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x59be6ad9042c1537064e207cdbfcedea635b2814395c9450de1fe2fb1e184cb0", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 0 0 0 0) }", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000600060006000730f572e5295c57f15886f9b263e2f6d2d6c7b5ec66103e8fa600055", + "nonce" : "0x00", "storage" : { } }, - "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (LOG0 0 32) }", - "nonce" : "0", + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60005260206000a0", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -60,14 +103,14 @@ "" ], "gasLimit" : [ - "210000" + "0x033450" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_log0_nonEmptyMem_logMemSize1.json b/GeneralStateTests/stStaticCall/static_log0_nonEmptyMem_logMemSize1.json index ba87ba305..c6305cde7 100644 --- a/GeneralStateTests/stStaticCall/static_log0_nonEmptyMem_logMemSize1.json +++ b/GeneralStateTests/stStaticCall/static_log0_nonEmptyMem_logMemSize1.json @@ -6,51 +6,94 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_log0_nonEmptyMem_logMemSize1Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "1000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x0f4240", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x" : "0x00" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0xc883e3c934fe5b8389cd7a3ba3580cb0f17f752c16fcbe5395140c848e1624c6", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xc883e3c934fe5b8389cd7a3ba3580cb0f17f752c16fcbe5395140c848e1624c6", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xc883e3c934fe5b8389cd7a3ba3580cb0f17f752c16fcbe5395140c848e1624c6", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xc883e3c934fe5b8389cd7a3ba3580cb0f17f752c16fcbe5395140c848e1624c6", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x22d84ffe44d06344657153c606b1bd85b975f28e2c476d40684f8415cf88e173", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 0 0 0 0) }", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000600060006000730f572e5295c57f15886f9b263e2f6d2d6c7b5ec66103e8fa600055", + "nonce" : "0x00", "storage" : { } }, - "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG0 0 1) }", - "nonce" : "0", + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x7faabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd60005260016000a0", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -60,14 +103,14 @@ "" ], "gasLimit" : [ - "210000" + "0x033450" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "2100000" + "0x200b20" ] } } diff --git a/GeneralStateTests/stStaticCall/static_log0_nonEmptyMem_logMemSize1_logMemStart31.json b/GeneralStateTests/stStaticCall/static_log0_nonEmptyMem_logMemSize1_logMemStart31.json index 7d3458982..4bbbc85dd 100644 --- a/GeneralStateTests/stStaticCall/static_log0_nonEmptyMem_logMemSize1_logMemStart31.json +++ b/GeneralStateTests/stStaticCall/static_log0_nonEmptyMem_logMemSize1_logMemStart31.json @@ -6,51 +6,94 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_log0_nonEmptyMem_logMemSize1_logMemStart31Filler.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "1000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x0f4240", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x" : "0x00" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x55fc3dce8bf8fa68a6b7a1db1c5891c486f28982a7b70717c1cccd1b6662d739", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x55fc3dce8bf8fa68a6b7a1db1c5891c486f28982a7b70717c1cccd1b6662d739", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x55fc3dce8bf8fa68a6b7a1db1c5891c486f28982a7b70717c1cccd1b6662d739", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x55fc3dce8bf8fa68a6b7a1db1c5891c486f28982a7b70717c1cccd1b6662d739", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x12c1fe9729f3788864b51b540d3d655ffecc7ea15e8bffcbf026cf74422d9ec5", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 0 0 0 0) }", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000600060006000730f572e5295c57f15886f9b263e2f6d2d6c7b5ec66103e8fa600055", + "nonce" : "0x00", "storage" : { } }, - "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG0 31 1) }", - "nonce" : "0", + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x7faabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd6000526001601fa0", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -60,14 +103,14 @@ "" ], "gasLimit" : [ - "210000" + "0x033450" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_log1_MaxTopic.json b/GeneralStateTests/stStaticCall/static_log1_MaxTopic.json index aff82b973..a9fed8219 100644 --- a/GeneralStateTests/stStaticCall/static_log1_MaxTopic.json +++ b/GeneralStateTests/stStaticCall/static_log1_MaxTopic.json @@ -6,51 +6,94 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_log1_MaxTopicFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "1000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x0f4240", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x" : "0x00" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0xd23d458d565e00b952c7c42db8a3661f59822ccdc3d344045ab66b8827ca1320", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xd23d458d565e00b952c7c42db8a3661f59822ccdc3d344045ab66b8827ca1320", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xd23d458d565e00b952c7c42db8a3661f59822ccdc3d344045ab66b8827ca1320", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xd23d458d565e00b952c7c42db8a3661f59822ccdc3d344045ab66b8827ca1320", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x50f35b5b17cb5578a7e5d9da53b312a1db3a91d1e4bec7a3213bbbe9ad7ba518", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 0 0 0 0) }", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000600060006000730f572e5295c57f15886f9b263e2f6d2d6c7b5ec66103e8fa600055", + "nonce" : "0x00", "storage" : { } }, - "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG1 0 32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) }", - "nonce" : "0", + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x7faabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd6000527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60206000a1", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -60,14 +103,14 @@ "" ], "gasLimit" : [ - "210000" + "0x033450" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_log1_emptyMem.json b/GeneralStateTests/stStaticCall/static_log1_emptyMem.json index 8e27192d2..b7bd34ec7 100644 --- a/GeneralStateTests/stStaticCall/static_log1_emptyMem.json +++ b/GeneralStateTests/stStaticCall/static_log1_emptyMem.json @@ -6,51 +6,94 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_log1_emptyMemFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "1000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x0f4240", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x" : "0x00" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0xd34acaebeabc4312075ea0390d73bb03c22daaf9123c1d4c91a53572b6d10253", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xd34acaebeabc4312075ea0390d73bb03c22daaf9123c1d4c91a53572b6d10253", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xd34acaebeabc4312075ea0390d73bb03c22daaf9123c1d4c91a53572b6d10253", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xd34acaebeabc4312075ea0390d73bb03c22daaf9123c1d4c91a53572b6d10253", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xef5f9c3620c5eab02f8c5ee6723b72c5340deeb08df0772488cfdd3eba0cb258", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 0 0 0 0) }", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000600060006000730f572e5295c57f15886f9b263e2f6d2d6c7b5ec66103e8fa600055", + "nonce" : "0x00", "storage" : { } }, - "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { - "balance" : "1000000000000000000", - "code" : "{ (LOG1 0 0 0) }", - "nonce" : "0", + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600060006000a1", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -60,14 +103,14 @@ "" ], "gasLimit" : [ - "210000" + "0x033450" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_log1_logMemStartTooHigh.json b/GeneralStateTests/stStaticCall/static_log1_logMemStartTooHigh.json index 0cc6d7d2c..c8e46fcea 100644 --- a/GeneralStateTests/stStaticCall/static_log1_logMemStartTooHigh.json +++ b/GeneralStateTests/stStaticCall/static_log1_logMemStartTooHigh.json @@ -6,50 +6,94 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_log1_logMemStartTooHighFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "1000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x0f4240", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0xe15eed8655a44b31d12dabab0b5c9bbfc8fe0a27a8581d218587a6847843c092", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xe15eed8655a44b31d12dabab0b5c9bbfc8fe0a27a8581d218587a6847843c092", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xe15eed8655a44b31d12dabab0b5c9bbfc8fe0a27a8581d218587a6847843c092", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xe15eed8655a44b31d12dabab0b5c9bbfc8fe0a27a8581d218587a6847843c092", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xfc709d8e1845b24a5f6e54a36bf6b879067f8954be5fa81b1abae3a57693225f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 0 0 0 0) }", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000600060006000730f572e5295c57f15886f9b263e2f6d2d6c7b5ec66103e8fa600055", + "nonce" : "0x00", "storage" : { } }, - "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG1 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 1 0) }", - "nonce" : "0", + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x7faabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd600052600060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -59,14 +103,14 @@ "" ], "gasLimit" : [ - "210000" + "0x033450" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_log1_logMemsizeTooHigh.json b/GeneralStateTests/stStaticCall/static_log1_logMemsizeTooHigh.json index 14c3e041d..b79538a00 100644 --- a/GeneralStateTests/stStaticCall/static_log1_logMemsizeTooHigh.json +++ b/GeneralStateTests/stStaticCall/static_log1_logMemsizeTooHigh.json @@ -6,50 +6,94 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_log1_logMemsizeTooHighFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "1000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x0f4240", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0x503d654b857fd9d12e73b5b0d13c1ea7c7137f4012bf05f88f966460c29d357b", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x503d654b857fd9d12e73b5b0d13c1ea7c7137f4012bf05f88f966460c29d357b", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x503d654b857fd9d12e73b5b0d13c1ea7c7137f4012bf05f88f966460c29d357b", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x503d654b857fd9d12e73b5b0d13c1ea7c7137f4012bf05f88f966460c29d357b", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x8e75710025e2569afc56df11bf4439ee55fd2b36d0ca1f644fac701175080174", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 0 0 0 0) }", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000600060006000730f572e5295c57f15886f9b263e2f6d2d6c7b5ec66103e8fa600055", + "nonce" : "0x00", "storage" : { } }, - "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG1 1 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0) }", - "nonce" : "0", + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x7faabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd60005260007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001a1", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -59,14 +103,14 @@ "" ], "gasLimit" : [ - "210000" + "0x033450" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_log1_logMemsizeZero.json b/GeneralStateTests/stStaticCall/static_log1_logMemsizeZero.json index b08e69d01..e5277135f 100644 --- a/GeneralStateTests/stStaticCall/static_log1_logMemsizeZero.json +++ b/GeneralStateTests/stStaticCall/static_log1_logMemsizeZero.json @@ -6,51 +6,94 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_log1_logMemsizeZeroFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "1000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x0f4240", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x" : "0x00" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0xdc49be1fb0e3e0ce44efa31b4889452694a4749e5d648937efb011ce527a7fec", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xdc49be1fb0e3e0ce44efa31b4889452694a4749e5d648937efb011ce527a7fec", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xdc49be1fb0e3e0ce44efa31b4889452694a4749e5d648937efb011ce527a7fec", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xdc49be1fb0e3e0ce44efa31b4889452694a4749e5d648937efb011ce527a7fec", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xc9e309927462af7fd3c992cfd63df799f75922c963480e8a1e5e9c4ee6ef937e", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 0 0 0 0) }", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000600060006000730f572e5295c57f15886f9b263e2f6d2d6c7b5ec66103e8fa600055", + "nonce" : "0x00", "storage" : { } }, - "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG1 1 0 0) }", - "nonce" : "0", + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x7faabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd600052600060006001a1", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -60,14 +103,14 @@ "" ], "gasLimit" : [ - "210000" + "0x033450" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_log_Caller.json b/GeneralStateTests/stStaticCall/static_log_Caller.json index acc5247cc..3024a44ff 100644 --- a/GeneralStateTests/stStaticCall/static_log_Caller.json +++ b/GeneralStateTests/stStaticCall/static_log_Caller.json @@ -6,79 +6,322 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_log_CallerFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "1000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x0f4240", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "storage" : { - "0x" : "0x00" - } - } + "post" : { + "EIP150" : [ + { + "hash" : "0xa1ab304e4b94ee2cc5fb911d9653f57142ecac55d0f776baf9eb92959d379290", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xa1ab304e4b94ee2cc5fb911d9653f57142ecac55d0f776baf9eb92959d379290", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xa1ab304e4b94ee2cc5fb911d9653f57142ecac55d0f776baf9eb92959d379290", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xa1ab304e4b94ee2cc5fb911d9653f57142ecac55d0f776baf9eb92959d379290", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xa1ab304e4b94ee2cc5fb911d9653f57142ecac55d0f776baf9eb92959d379290", + "indexes" : { + "data" : 4, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xa1ab304e4b94ee2cc5fb911d9653f57142ecac55d0f776baf9eb92959d379290", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xa1ab304e4b94ee2cc5fb911d9653f57142ecac55d0f776baf9eb92959d379290", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xa1ab304e4b94ee2cc5fb911d9653f57142ecac55d0f776baf9eb92959d379290", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xa1ab304e4b94ee2cc5fb911d9653f57142ecac55d0f776baf9eb92959d379290", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xa1ab304e4b94ee2cc5fb911d9653f57142ecac55d0f776baf9eb92959d379290", + "indexes" : { + "data" : 4, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xa1ab304e4b94ee2cc5fb911d9653f57142ecac55d0f776baf9eb92959d379290", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xa1ab304e4b94ee2cc5fb911d9653f57142ecac55d0f776baf9eb92959d379290", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xa1ab304e4b94ee2cc5fb911d9653f57142ecac55d0f776baf9eb92959d379290", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xa1ab304e4b94ee2cc5fb911d9653f57142ecac55d0f776baf9eb92959d379290", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xa1ab304e4b94ee2cc5fb911d9653f57142ecac55d0f776baf9eb92959d379290", + "indexes" : { + "data" : 4, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xa1ab304e4b94ee2cc5fb911d9653f57142ecac55d0f776baf9eb92959d379290", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xa1ab304e4b94ee2cc5fb911d9653f57142ecac55d0f776baf9eb92959d379290", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xa1ab304e4b94ee2cc5fb911d9653f57142ecac55d0f776baf9eb92959d379290", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xa1ab304e4b94ee2cc5fb911d9653f57142ecac55d0f776baf9eb92959d379290", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xa1ab304e4b94ee2cc5fb911d9653f57142ecac55d0f776baf9eb92959d379290", + "indexes" : { + "data" : 4, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x2e70e4e1469ab268f03415c6af5004435325052080a4084bbe5ebd8a3e353abf", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x2e70e4e1469ab268f03415c6af5004435325052080a4084bbe5ebd8a3e353abf", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x2e70e4e1469ab268f03415c6af5004435325052080a4084bbe5ebd8a3e353abf", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x2e70e4e1469ab268f03415c6af5004435325052080a4084bbe5ebd8a3e353abf", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x2e70e4e1469ab268f03415c6af5004435325052080a4084bbe5ebd8a3e353abf", + "indexes" : { + "data" : 4, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 50000 (CALLDATALOAD 0) 0 0 0 0) }", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600060006000600060003561c350fa600055", + "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE8 0 0xff) (LOG1 0 32 (CALLER) ) }", - "nonce" : "0", + "0x1000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60ff6000533360206000a1", + "nonce" : "0x00", "storage" : { } }, - "2000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE8 0 0xff) (LOG2 0 32 0 (CALLER) ) }", - "nonce" : "0", + "0x2000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60ff60005333600060206000a2", + "nonce" : "0x00", "storage" : { } }, - "3000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE8 0 0xff) (LOG3 0 32 0 0 (CALLER) ) }", - "nonce" : "0", + "0x3000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60ff600053336000600060206000a3", + "nonce" : "0x00", "storage" : { } }, - "4000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE8 0 0xff) (LOG4 0 32 0 0 0 (CALLER) )}", - "nonce" : "0", + "0x4000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60ff6000533360006000600060206000a4", + "nonce" : "0x00", "storage" : { } }, - "a000000000000000000000000000000000000000" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE8 0 0xff) (LOG0 0 32 ) }", - "nonce" : "0", + "0xa000000000000000000000000000000000000000" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x60ff60005360206000a0", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -92,14 +335,14 @@ "0x0000000000000000000000004000000000000000000000000000000000000000" ], "gasLimit" : [ - "210000" + "0x033450" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "100000" + "0x0186a0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_makeMoney.json b/GeneralStateTests/stStaticCall/static_makeMoney.json index 86ccae6e7..c13d0b932 100644 --- a/GeneralStateTests/stStaticCall/static_makeMoney.json +++ b/GeneralStateTests/stStaticCall/static_makeMoney.json @@ -6,55 +6,94 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_makeMoneyFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "1000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x0f4240", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "1000000000000000010" + "post" : { + "EIP150" : [ + { + "hash" : "0x2a5401ad5c844bf5c361add2693e2b721443b4124450fe1d23231fcf608337ab", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "774720" + "logs" : [ + ] + } + ], + "EIP158" : [ + { + "hash" : "0x2a5401ad5c844bf5c361add2693e2b721443b4124450fe1d23231fcf608337ab", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "aaaaaaaaace5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000" - } + "logs" : [ + ] } - } - ], + ], + "Frontier" : [ + { + "hash" : "0x2a5401ad5c844bf5c361add2693e2b721443b4124450fe1d23231fcf608337ab", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x2a5401ad5c844bf5c361add2693e2b721443b4124450fe1d23231fcf608337ab", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x9c0b5611d03b78a355a16a6e5e654a2137f539fb7c666e0f16cc2ae9ddfcd56c", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "1000000000000000000", - "code" : "{ (MSTORE 0 0x601080600c6000396000f20060003554156009570060203560003555) (STATICCALL 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec 0xaaaaaaaaace5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) }", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x7b601080600c6000396000f20060003554156009570060203560003555600052600060006000600073aaaaaaaaace5edbc8e2a8697c15331677e6ebf0b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffecfa", + "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0f4240", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "aaaaaaaaace5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "1000000000000000000", + "0xaaaaaaaaace5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0de0b6b3a7640000", "code" : "0x600160015532600255", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } } @@ -64,14 +103,14 @@ "" ], "gasLimit" : [ - "228500" + "0x037c94" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "10" + "0x0a" ] } } diff --git a/GeneralStateTests/stStaticCall/static_refund_CallA.json b/GeneralStateTests/stStaticCall/static_refund_CallA.json index e5d8b17ff..067f090bb 100644 --- a/GeneralStateTests/stStaticCall/static_refund_CallA.json +++ b/GeneralStateTests/stStaticCall/static_refund_CallA.json @@ -6,59 +6,95 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_refund_CallAFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "1000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x0f4240", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 - }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "1000000000000000010", - "storage" : { - "0x00" : "0x00", - "0x01" : "0x01" - } + "post" : { + "EIP150" : [ + { + "hash" : "0xf7eb56ad5688c51787bc5992fc36692cbf593645252ca2d81d3bfdeafaeb6967", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 }, - "aaae7baea6a6c7c4c2dfeb977efac326af552aaa" : { - "storage" : { - "0x01" : "0x01" - } - } + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0xf7eb56ad5688c51787bc5992fc36692cbf593645252ca2d81d3bfdeafaeb6967", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0xf7eb56ad5688c51787bc5992fc36692cbf593645252ca2d81d3bfdeafaeb6967", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0xf7eb56ad5688c51787bc5992fc36692cbf593645252ca2d81d3bfdeafaeb6967", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xb31b77cabaf08d083b906be61e95c9ca0d7dab5d08d705266a97cf509007699f", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL 5500 0xaaae7baea6a6c7c4c2dfeb977efac326af552aaa 0 0 0 0 ) [[ 1 ]] 1}", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600060006000600073aaae7baea6a6c7c4c2dfeb977efac326af552aaa61157cfa6000556001600155", + "nonce" : "0x00", "storage" : { "0x01" : "0x01" } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "2000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x1e8480", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "aaae7baea6a6c7c4c2dfeb977efac326af552aaa" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 1 ]] 0 }", - "nonce" : "0", + "0xaaae7baea6a6c7c4c2dfeb977efac326af552aaa" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x6000600155", + "nonce" : "0x00", "storage" : { "0x01" : "0x01" } @@ -69,14 +105,14 @@ "" ], "gasLimit" : [ - "200000" + "0x030d40" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "10" + "0x0a" ] } } diff --git a/GeneralStateTests/stStaticCall/static_refund_CallToSuicideNoStorage.json b/GeneralStateTests/stStaticCall/static_refund_CallToSuicideNoStorage.json index eb4650c0f..fc3d639ce 100644 --- a/GeneralStateTests/stStaticCall/static_refund_CallToSuicideNoStorage.json +++ b/GeneralStateTests/stStaticCall/static_refund_CallToSuicideNoStorage.json @@ -6,55 +6,145 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_refund_CallToSuicideNoStorageFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : 1, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0x1e695b564ebba34885f0ca2f3de23ed71e601dfe0ed367eee6cea6e759493129", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "1000000000000000010", - "storage" : { - "0x00" : "0x00", - "0x01" : "0x01", - "0x02" : "0x01" - } - } + { + "hash" : "0x1e695b564ebba34885f0ca2f3de23ed71e601dfe0ed367eee6cea6e759493129", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x1e695b564ebba34885f0ca2f3de23ed71e601dfe0ed367eee6cea6e759493129", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x1e695b564ebba34885f0ca2f3de23ed71e601dfe0ed367eee6cea6e759493129", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x1e695b564ebba34885f0ca2f3de23ed71e601dfe0ed367eee6cea6e759493129", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x1e695b564ebba34885f0ca2f3de23ed71e601dfe0ed367eee6cea6e759493129", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x1e695b564ebba34885f0ca2f3de23ed71e601dfe0ed367eee6cea6e759493129", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x1e695b564ebba34885f0ca2f3de23ed71e601dfe0ed367eee6cea6e759493129", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0xbc8e9ee6171837d726f2effd73c74f3dea5aec4f69b70f81f744bdc95c6aa065", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0xf3b02d5bfb693f186dae77bb3a60d776df515ef588181bdbcd5c42a644869fdc", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL (CALLDATALOAD 0) 0xaaae7baea6a6c7c4c2dfeb977efac326af552aaa 0 0 0 0 ) [[ 2 ]] 1 }", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600060006000600073aaae7baea6a6c7c4c2dfeb977efac326af552aaa600035fa6000556001600255", + "nonce" : "0x00", "storage" : { "0x01" : "0x01" } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "100000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x05f5e100", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "aaae7baea6a6c7c4c2dfeb977efac326af552aaa" : { - "balance" : "1000000000000000000", - "code" : "{ (SELFDESTRUCT 0x095e7baea6a6c7c4c2dfeb977efac326af552d87) }", - "nonce" : "0", + "0xaaae7baea6a6c7c4c2dfeb977efac326af552aaa" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x73095e7baea6a6c7c4c2dfeb977efac326af552d87ff", + "nonce" : "0x00", "storage" : { } } @@ -65,14 +155,14 @@ "0x0000000000000000000000000000000000000000000000000000000000010000" ], "gasLimit" : [ - "10000000" + "0x989680" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "10" + "0x0a" ] } } diff --git a/GeneralStateTests/stStaticCall/static_refund_CallToSuicideTwice.json b/GeneralStateTests/stStaticCall/static_refund_CallToSuicideTwice.json index 33aea6e7b..30518539e 100644 --- a/GeneralStateTests/stStaticCall/static_refund_CallToSuicideTwice.json +++ b/GeneralStateTests/stStaticCall/static_refund_CallToSuicideTwice.json @@ -6,57 +6,145 @@ "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_refund_CallToSuicideTwiceFiller.json" }, "env" : { - "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "10000000", - "currentNumber" : "1", - "currentTimestamp" : "1000", - "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "0x989680", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : 1, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0x5df0db2096f81e196a33243c5b778766af2297237a886b1c00da84c1048a3d89", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] }, - "network" : [ - "Metropolis" - ], - "result" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "2000000000000000010", - "storage" : { - "0x00" : "0x00", - "0x01" : "0x01" - } + { + "hash" : "0x5df0db2096f81e196a33243c5b778766af2297237a886b1c00da84c1048a3d89", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 }, - "aaae7baea6a6c7c4c2dfeb977efac326af552aaa" : { - "shouldnotexist" : "1" - } + "logs" : [ + ] } - } - ], + ], + "EIP158" : [ + { + "hash" : "0x5df0db2096f81e196a33243c5b778766af2297237a886b1c00da84c1048a3d89", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x5df0db2096f81e196a33243c5b778766af2297237a886b1c00da84c1048a3d89", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Frontier" : [ + { + "hash" : "0x5df0db2096f81e196a33243c5b778766af2297237a886b1c00da84c1048a3d89", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x5df0db2096f81e196a33243c5b778766af2297237a886b1c00da84c1048a3d89", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Homestead" : [ + { + "hash" : "0x5df0db2096f81e196a33243c5b778766af2297237a886b1c00da84c1048a3d89", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x5df0db2096f81e196a33243c5b778766af2297237a886b1c00da84c1048a3d89", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ], + "Metropolis" : [ + { + "hash" : "0x3d1cc001691484f74e26805d753c0df43a26558badf0ca23678fb28c7db79f02", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + }, + { + "hash" : "0x43cb99ef5e869a13879731ebb5d8a4a6bc16b1ce35ba2cb9712f155f1e813265", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : [ + ] + } + ] + }, "pre" : { - "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "1000000000000000000", - "code" : "{ [[ 0 ]] (STATICCALL (CALLDATALOAD 0) 0xaaae7baea6a6c7c4c2dfeb977efac326af552aaa 0 0 0 0 ) (CALL (CALLDATALOAD 0) 0xaaae7baea6a6c7c4c2dfeb977efac326af552aaa 0 0 0 0 0 )}", - "nonce" : "0", + "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x600060006000600073aaae7baea6a6c7c4c2dfeb977efac326af552aaa600035fa6000556000600060006000600073aaae7baea6a6c7c4c2dfeb977efac326af552aaa600035f1", + "nonce" : "0x00", "storage" : { "0x01" : "0x01" } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "100000000", + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x05f5e100", "code" : "", - "nonce" : "0", + "nonce" : "0x00", "storage" : { } }, - "aaae7baea6a6c7c4c2dfeb977efac326af552aaa" : { - "balance" : "1000000000000000000", - "code" : "{ (SELFDESTRUCT 0x095e7baea6a6c7c4c2dfeb977efac326af552d87) }", - "nonce" : "0", + "0xaaae7baea6a6c7c4c2dfeb977efac326af552aaa" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "0x73095e7baea6a6c7c4c2dfeb977efac326af552d87ff", + "nonce" : "0x00", "storage" : { "0x01" : "0x01" } @@ -68,14 +156,14 @@ "0x0000000000000000000000000000000000000000000000000000000000010000" ], "gasLimit" : [ - "10000000" + "0x989680" ], - "gasPrice" : "1", - "nonce" : "0", - "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "10" + "0x0a" ] } } |